Хостинг на домашнем компьютере

Хостинг на домашнем компьютере

Те, кто начинает заниматься сайтами, хоть раз задумывались о запуске сайта на домашнем компьютере. Когда-то и я задумывался над этим, но тогда я наткнулся на форум, где все говорили что этого сделать невозможно в ряду объективных причин. На сегодняшний день таких вопросов у меня не возникает, поскольку хостить сайт на домашнем компьютере не самое лучшее решение, особенно если на этом компьютере мы работаем или играем, слушаем музыку. Для таких вещей необходим полноценный сервер, если мы говорим о каком-то серьезном проекте, но для запуска личного блога или сайта какой-либо организации, вполне хватит простого компьютера с серверной ОСью.

Как кто-то грамотно подметил, кому это надо, они не умеют, а тем, кто умеет, не надо. Вот и мне это было не надо когда я мог спокойно поднять веб-сервер дома и дать к нему доступ из вне, но совсем недавно все немного изменилось, мне в работе понадобился веб-ресурс для анализа состояния проектов. Сначала я обходился простым файликом, который запускал из терминала, но в какой-то момент начал расти его функционал и потребовалось сохранять полученные результаты. Я принял решение что мне нужен локальный веб-сервер, на котором можно будет реализовать веб-приложение с необходимым функционалом.

Установка необходимого ПО

Настраивать веб-сервер мы будем на Ubuntu Server 16.04. В рамках этой статьи я не буду рассказывать об установке данной системы, подразумевается что у вас уже есть сервер с установленной операционной системой Ubuntu Server. В моем случае это убитый ноутбук с установленной Ubuntu Server.

Первым делом нам потребуется установить немного приложений, которые потребуются нам для работы веб-сервера и его администрирования. Выполним следующую команду:

sudo apt install nginx phpmyadmin mysql-server php-fpm php-mysql

В какой-то момент нам потребуется указать пароль root для MySQL:

Затем снова повторим ввод пароля:

Тут мы ничего не отмечаем, просто жмем Enter.

После мы увидим приглашение к настройке базы данных для PhpMyAdmin, жмем Enter.

Тут вводим пароль и жмем Enter.

Повторяем пароль и жмем Enter.

На этом установка необходимого ПО завершена. Введя в адресной строке IP-адрес нашего сервера или его имя (у меня это http://192.168.0.37 или http://server) увидим заветное nginxовское:

Настраиваем веб-сервер

Обращаю ваше внимание что приведенные тут настройки веб-сервера не являются профессиональными, поскольку моего опыта недостаточно чтобы оценить насколько эти настройки соответствуют уровню требуемой безопасности. Поскольку я занимаюсь продвижением сайтов, то настройка веб-сервера своими руками это скорее дань прошлому, когда я пытался заниматься разработкой сайтов на самописных движках.

Настройка доступа к сайту из вне

Для доступа к сайту из вне потребуется домен второго (site.ru) или третьего (subd.site.ru) уровня и dns-хостинг. Домен можно зарегистрировать платно или бесплатно в зоне .tk, .ml и т.д. Но прежде необходимо определиться с тем, хотите ли вы подключать выделенный IP. К примеру у меня нет возможности получить доступ к роутеру пока не будет подключен выделенный IP. Но когда у меня был интернет от Ростелеком, то там можно было настроить доступ из вне даже с динамичным IP.

В случае с динамичным IP у вас нет выбора с DNS-хостингом, дорога вам только на https://freedns.afraid.org, а если и домен хочется на халяву, то вам на https://my.freenom.com, там будет куча халявных доменных зон на выбор. Не спешите радоваться, халявный домен дается всего на год, потом придется заплатить за то, чтобы продолжить им пользоваться.

Для тех, кто обладает выделенным IP выбор будет пошире. Можно воспользоваться приведенным выше, а можно воспользоваться сервисом Яндекса или Mail.ru. Как бонус получите почту типа login@vash-domen.ru. Там же сможете в записи A указать свой IP. Через некоторое время домен начнет указывать на ваш роутер, останется только настроить сам роутер.

Почему нет подробной инструкции? Потому что это тема для нескольких отдельных статей, в рамках этой же статьи я хочу рассказать о другом.

Настройка MySQL

Первым делом включаем модуль PHP для работы phpMyAdmin.

sudo phpenmod mcrypt

Теперь нам потребуется настроить MySQL, для этого выполним вот такую команду:

sudo mysql_secure_installation

Программа запросит пароль, который мы указывали для пользователя root для MySQL. После этого программа спросит нас хотим ли мы включить плагин для валидации паролей. Этот плагин по сути будет сильно ругаться, если при создании баз данных вы или кто-то другой укажет слабый пароль, плагин будет выдавать ошибку и требовать усложнения пароля. Я однажды пробовал с ним работать, меня он бесит. По-этому я его не включаю.

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Для включения указываем y или любую другую букву для отключения.

Using existing password for root.
Change the password for root ?

ставим «n». Не будем менять пароль. На все остальные вопросы ставим «y».

Читайте также:  Stone of jordan перевод

Настройка обработчика PHP

Теперь приступим к настройке PHP, для этого откроем файл php.inmi простой командой, но прежде сделаем копию конфига:

sudo cp /etc/php/7.0/fpm/php.ini /etc/php/7.0/fpm/php.ini.back

После чего откроем файл:

sudo nano /etc/php/7.0/fpm/php.ini

Найдем строку «;cgi.fix_pathinfo=1». Сотрем «;» и вместо значения 1 поставим значение 0. Этим самым, по сути, мы устраним уязвимость связанную с выполнением первого попавшегося файла PHP если запрашиваемый файл не был найден.

Поскольку я люблю порядок и простоту, то файлы сайта люблю хранить в домашнем каталоге пользователя. Но поскольку веб-сервер работает от пользователя www-data, то у нас могут возникнуть проблемы в работе сайта, да к тому же это не совсем безопасно. Для этих целей можно даже создать отдельного пользователя и использовать его каталог как корневую папку сайта.

Для того, чтобы файлы сайта запускались из под конкретного пользователя, нам необходимо создать файл для обработчика PHP. Для этого скопируем имеющийся файл, выполнив следующую команду:

sudo cp /etc/php/7.0/fpm/pool.d/www.conf /etc/php/7.0/fpm/pool.d/server.conf

Вместо «server» подставляем свое название. Затем открываем скопированный файл:

sudo nano /etc/php/7.0/fpm/pool.d/server.conf

И редактируем под себя. У меня получился вот такой конфиг:

user = dendi
group = dendi

listen = /run/php/php7.0-dendi.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660

pm.max_children = 10
pm.start_servers = 3
pm.min_spare_servers = 3
pm.max_spare_servers = 6

php_admin_value[session.save_path] = /tmp
php_admin_value[open_basedir] = “/home/dendi/www/”
php_admin_value[post_max_size] = 100M
php_admin_value[cgi.fix_pathinfo] = 0

Для быстрого удаления ненужных строк в редакторе nano есть сочетание клавиш Ctrl+K, с его помощью можно быстро удалять ненужную информацию целыми строками.

Вместо [server] естественно подставляем свое имя сервера, вместо dendi свое имя пользователя. Обратите внимание что необходимо изменить и значение параметра listen, поскольку это значение определяет имя файла сокета, которое должно быть уникальным. У параметра chdir также необходимо изменить значение на свое, в качестве значения указан путь до папки с файлам сайта.

Перезапускаем обработчик PHP выполнив команду:

sudo systemctl restart php7.0-fpm

Настраиваем Nginx

Теперь можно приступить к настройке Nginx. Давайте для начала настроим доступ к phpMyAdmin. Я выбираю не самый простой способ, но он почему-то нравится мне больше чем простое создание симлинка. Откроем конфиг дефолтного хоста и хорошенько над ним поработаем, для этого выполним команду:

sudo nano /etc/nginx/sites-available/default

Давайте для удобства почистим его от комментариев, оставим только нужные строки, к которым добавим следующее:

/phpmyadmin/ <
root /usr/share;
index index.php;
location

/phpmyadmin(/.*.php) <
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /usr/share$fastcgi_script_name;
>
>

В итоге мы получим вот такой конфиг:

server <
listen 80 default_server;
listen [::]:80 default_server;

index index.html index.htm index.nginx-debian.html;

location / <
try_files $uri $uri/ =404;
>
location ^

/phpmyadmin/ <
root /usr/share;
index index.php;
location

/phpmyadmin(/.*.php) <
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /usr/share$fastcgi_script_name;
>
>
>

Сохраняем и перезапускаем сервер командой :

sudo /etc/init.d/nginx restart

Пробуем открыть phpMyAdmin, у меня, к примеру, адрес получился такой http://server/phpmyadmin. В итоге увидим форму авторизации:

И мы даже можем авторизоваться, ведь у нас есть учетная запись root, но я никогда не работал под root’ом в phpMyAdmin, поэтому не пользуюсь этой учеткой.

По сути нам осталось создать хост для нашего сайта и базу данных. Если с созданием базы данных особых проблем нет, там все стандартно, то создание хоста на nginx сугубо индивидуальный момент. Тут настройки зависят от того, что планируется запускать на этом хосте. Поскольку у меня проект создается с нуля, то и конфиг хоста у меня пока простенький. Конечно же он не подойдет для запуска какой-либо CMS, для этого вам потребуется найти в сети настройки nginx именно под требуемую CMS.

Доброго времени суток, уважаемые читатели моего блога. Мы с вами постоянно обсуждаем какой хостинг выбрать, где разместить сайт, кто предоставляет идеальные условия.

А может ну его и превратить свой компьютер в сервер? Куча места за которое никому не придется платить. Ну что, думаете стоит разобраться в этой теме?

Сегодня мы поговорим с вами о том, как сделать на своем компьютере хостинг. Эта возможность доступна каждому.

Условия использования

Вариант нельзя назвать идеальным, но в некоторых случаях он может подойти. В первую очередь у вас должна быть хорошая скорость интернета и свободное место. Если вы хотите создать свой блог и завоевать славу, то метод точно не для вас. Локальный компьютер вряд ли справится. Хотя, кто знает, чудеса случаются.

И тем не менее не забывайте, что вам придется делиться своей скоростью с посетителями вашего сайта. Чем их больше, тем выше их потребности.

В среднем на человека уходит около 50 кб/с. Мой тариф лучшим не назовешь, скорость отдачи около 7 Мб, то есть максимум что я смогу – обеспечить нормальной загрузкой около 140 человек единовременно. Если посетителей больше, то им придется ждать дольше, а значит и процент отказа будет внушительный.

Однако, я понимаю, что оптоволокно творит чудеса, тарифы у провайдеров все меньше бьют по кошельку, а значит и подобная ситуация происходит не со всеми. Кроме того, если вам нужно показать одному единственному заказчику свой сайт или вы только учитесь основам построения сайтов, то зачем платить за хостинг, если все можно сделать бесплатно.

Читайте также:  3 Часа это утро или ночь

Цены на хостинг небольшие, но вы же можете вообще забыть об оплате.

Что вам потребуется

О хорошей скорости интернета я уже сказал. О памяти жесткого диска упомянул. Это не серьезные проблемы или уж точно не фатальные, которые воспрепятствуют всей затее.

Помимо этого вам будет нужно получить данные о своем статическом IP. С его помощью можно не только организовать собственный сервер с неизменным адресом, но и создать удаленный доступ к компу, а также камерам видеонаблюдения. Узнать информацию проще и достовернее всего будет у провайдера.

Ну и последний пункт. Отдельный ПК. Это не обязательно, но учитывайте, что если вы используете свой домашний компьютер в качестве сервера, то его нельзя выключать.

Open Server

Далее все просто. Вам понадобится Open Server . Она бесплатная. При желании вы можете внести пожертвование, разработчики будут рады даже 100 рублям. Кстати, если вы переведете деньги, то сможете загрузить пакет за считанные секунды. Если нет, то придется немного подождать.

Что такое Опен Сервер? Удобная серверная платформа, которую создали специально для веб-мастеров. Если бы не она, то вам бы пришлось вручную устанавливать php, apache, MySql и кучу дополнительных программ. В общем масса геморроя.

Open Servere – это пакет, в котором уже есть все компоненты. Они понадобятся для серверной установки. Останется только распаковать все содержимое и можно заниматься разработкой сайта или написанием скрипта.

Представляете, чтобы использовать свой компьютер в качестве виртуального хостинга вам понадобится нажать только пару кнопок. Если бы не опен сервер, вам бы пришлось скачивать все элементы по отдельности, перенести все по нужным папкам, настроить.

Однако, Open Server – не единственный пакет. Одним из первых появился Denver, чуть позже xampp. Но я бы не назвал их лучшими. Обновляются довольно редко, а потому теряют свою популярность. Кроме того, вы можете управлять отдельными частями. Добавлять что-то свое, удалять или редактировать. Со временем это может пригодиться.

В Open Server есть множество дополнительных инструментов: просмотр логов, планировщик задач и многое другое.

Кстати, эту программу вы можете установить даже на флешку. Это очень удобно, если вы делаете сайт на заказ и не готовы показывать его в интернете. Просто копируете сайт на USB и готово. Можете вставлять съемный диск в любой компьютер. Заказчик увидит его точно также, как если бы портал уже был в интернете.

Но, довольно прелюдий. Давайте посмотрим на программу в деле. Для начала ее нужно скачать. Переходим в одноименный раздел, выбираем подходящую версию (basic, ultimate, premium), вводим цифра с картинки и переходим к скачиванию.

Качать самую полную версию не всегда имеет смысл. Уверены ли вы, что будете пользоваться CamStudio, который позволяет записывать видео, редактор фото PixBuilder или Skype? К примеру, я рассказывал уже про удаленного помощника TeamViewer. Убежден, что если вы не прочитаете мою статью о нем, то ни разу не откроете эту программу.

При желании все это можно будет установить позже. Я рекомендую брать Premium.

Если вы внесете пожертвование, то скорость загрузки увеличится. Если нет, то полностью загрузить пакет вам удастся только через несколько часов.

После того как вы загрузите программу и два раза щелкните на установочный файл вам предложат распаковать архив. Устанавливать его нужно именно в корень, а не какую-либо папку.

После того как процесс завершится вы увидите на диске С папку Open Server. В ней будет расположено несколько папок и 2 установочных файла. В папке domains будут располагаться папки с вашими сайтами. Modul – дополнительные установочные программы: php, mysql и так далее.

Два установочных файла рассчитаны на 32 и 64-битные системы. Вам нужно запустить одну из них, но предварительно советую отключить антивирус. В противном случае он может заблокировать действия программы и она не сможет действовать корректно.

Сразу после запуска вам предложат установить Microsoft Visual C++. Вполне вероятно, что все у вас уже установлено, но во избежание проблем и ошибок можно выполнить загрузку еще раз.

После загрузки в правой нижней части экрана, рядом с часами скроется панель Open Server. Нажав на кнопку «Запуск» вы активируете сервер, кнопка «Перезапустить» нужна после того, как вы сделаете какие-то изменения в папке и хотите, чтобы они вступили в силу, ну и «Остановить» прекращает его работу.

В настройках очень много пунктов. Сейчас я не буду о них рассказывать. Тот кто в этом разбирается и так все поймет, а новичкам будет совершенно непонятно. Не переживайте, со временем вы все освоите, а пока можете обойтись и без этой информации.

Ну вот в принципе и все. Благодаря этой программе вы можете создать из своего компьютера хостинг. В видео инструкции вы можете увидеть больше информации о создании сайтов и работе с программой.

Читайте также:  Уровень шума бытовых приборов

Видео инструкция

Мне очень понравился этот ролик. Это пошаговая инструкция по работе с программой. За 40 минут вы узнаете абсолютно все, что нужно знать для того, чтобы работать о Open Server.

Ну а для тех, кто интересуется этой темой, могу также порекомендовать курс « Продажа информации в интернете от А до Я ». Думаю, что для многих это будет полезным.

Если вам понравилась эта статья – подписывайтесь на рассылку и узнавайте больше о заработке и работе. До новых встреч и удачи в работе.

Есть сайт фотографа, размещенный у хостера свеб. На сайте большое количество фотографий, хостинг начинает заканчиваться (выбран максимальный тариф)

1. Можно ли этот сайт разместить на домашнем компьютере, постоянно подключенном к интернету с выделенным айпи
2. В чем будет разница между размещением сайта но хостинге и на своем компьютере?
3. Какой инструмент выбрать для этого лучше? Denwer? Open Server? На компе Windows, Linux не предлагайте, пожалуйста

  • Вопрос задан более трёх лет назад
  • 8543 просмотра

Просто даже не рассматривайте такой вариант априори. Если действительно хотите понять, почему — создавайте вопрос "Почему нельзя использовать домашний компьютер как сервер", что бы не вводить других в заблуждение.

Файлы (и изображения) нужно хранить в отдельных специальных местах, например Amazon S3 (так же есть много аналогов вплоть до "арендовать другой сервер с минимальным количество CPU/RAM и максимальным HDD диском, но это тоже плохой вариант):
https://aws.amazon.com/ru/s3/pricing/

И, конечно же, вам не нужны фотографии в том же качестве, что и на фотоаппарате, если вы хотите показать работу, а не продаете эти фото.

"вам не нужны фотографии в том же качестве, что и на фотоаппарате,"
само собой.
но
каждая картинка порядка 200 кб? на странице от 25 фотографий и сильно больше

амазон + хостинг для самой цмс получается как минимум в два раза дороже, чем сейчас (да, места там сильно больше, но все равно все упирается в деньги)

если интересно — могу скинуть ссылку на сайт, что бы понять, о чем речь

Григорий: Вы же написали, что у вас 15 гигабайт, верно? Я за S3 плачу от 0,2 до 1 доллара в месяц за хранение 10-15 гигабайт

если проблема в том, что их у вас очень часто запрашивают, то нужно кешировать горячие.

Можете скинуть пример. Но как я понимаю, это просто что-то вроде блога. И если вы заставляете пользователя выкачивать 25 картинок (5 мегабайт по вашим словам), то почему не взять за ту же 1000 хостинг со 100-300 ГБ HDD и забыть на очень долгое время?

Что за хостинг вы используете за 1000 и с 15 гигабайтами?

Григорий: у вас обычный блог — перенести изображения на амазон и можно забыть о них. Вот, попробуйте калькулятор S3:
https://calculator.s3.amazonaws.com/index.html
Конечно, нужно будет еще реализовать на сайте нужный функционал.

Цены шаред хостинга, конечно, грабительские. Вам бы арендовать какой VPS (например, https://calculator.s3.amazonaws.com/index.html) и было б счастье. Но может стать вопрос в администраторе.

Или, в крайнем случае, найти хостинг, где в тарифе будет больше доступного места — есть предложения даже с "безлимитными" пакетами, и вариантов очень много.

Виктор Ablebeam: вопрос как раз в реализации отображения фотографий с другого хранилища

в двух словах — почему для простого сайта с небольшим количеством посетителей размещение на своем компьютере — плохая идея?

Григорий:
Касаемо домашнего сервера вкратцве:
— Вы не можете гарантировать бесперебойность света, интернета
— Вы не будете покупать серверное оборудование, а домашнее послабее будет
— Множество вопросов по безопасности
— Конечно, скорее всего, такие времена уже в прошлом, но провайдеры по-разному могут реагировать на постоянную нагрузку на свои каналы
— Простой сайт с небольшим количеством посетителей имеет тендецию переставать таковым быть

По поводу хранения картинок на сервере:
— Во-первых, рано или поздно местотариф закончится и нужно будет куда-либо мигрировать изображения. Имея десятки гигабайт, это может оказаться не самым веселым занятием. На специализированных сервисах место не закончится и есть услуги бэкапов.
— Чаще всего (особенно дома) у вас канал 100 мегабит в секунду (12 мегабайт) — максимум. Посчитайте, сколько человек сможет одновременно открыть Ваш сайт. Это с учетом того, что вы этим интернетом не пользуетесь, а выделенная линия для вашего домашнего сервера уже сравнима по цене с vps + s3.

Советую в 2016 году просто забыть о такой идее. Во-первых, это отсутствие надежности, сложности при настройке и куча головной боли при поиске человека, который все это разрулит, если взлетит.
Во-вторых, сегодня за 10 долларов в месяц можно создавать системы корпоративного уровня с вычетом 100% гарантии доступности (вместо 100% имеете 99% + несколько часов простоя если все совсем плохо).
Если ваш проект не приносит вам 10 долларов в месяц, это или благотворительность или неверная идея.

Ссылка на основную публикацию
Adblock detector