Виртуальный хостинг и свой домен на домашнем компьютере. Как сделать бесплатный хостинг на своем компьютере

Здравствуйте, уважаемые читатели хабра. С данного материала мы начинаем серию публикаций о том, как построить VPS-хостинг с нуля на базе RUVDS White Label API .

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

Вам нужен сайт


Чтобы организовать ваш собственный VPS-сервис Вам в первую очередь понадобятся 2 вещи - сайт, на котором вы будете предлагать услуги аренды VPS-серверов и поставщик услуг, предоставляющий Вам для этих целей выгодные партнёрские условия, свою инфраструктуру и надежное API с широкими возможностями. Что же такое API? Это некий интерфейс, используя который вы сможете предоставить Вашим клиентам все те же возможности по управлению серверами, что и предоставляет Ваш поставщик услуг своим клиентам.

Интегрировать сайт с вашим VPS -провайдером посредством API будет намного дешевле и быстрее, чем создавать свою облачную инфраструктуру с нуля, так как он в этом случае «берёт на себя» множество вопросов: не нужно заботиться о наличии достаточного количества ресурсов у провайдера, о том, как организовать широкий и отказоустойчивый канал для доступа в интернет с виртуальных серверов, как собирать и хранить данные об использовании ресурсов серверами и так далее.

Теперь о сайте. Здесь может быть много вариантов, мы перечислим самые распространённые:

  • вы владелец сайта, который предлагает смежные услуги (проверка / регистрация доменов, аренда DNS-сервера, удалённое администрирование серверов).
  • вы создаёте ваш сайт с нуля с использованием популярной CMS и плагинов к ней.
  • вы заказываете сайт у веб-студии
  • впишите свой вариант
Первый - наилучший вариант, так как для того, чтобы добавить новую услугу аренды VPS-серверов, доработок понадобится совсем немного: не придётся писать с нуля многие вещи, которые перечислены ниже. При создании вашего сайта с нуля, сроки запуска могут существенно измениться в худшую сторону. Вам нужно будет самостоятельно реализовать все компоненты из списка ниже (или воспользоваться реализациями сторонних разработчиков, предварительно протестировав и адаптировав их под ваш проект). Воспользоваться третьим вариантом мы рекомендуем только в случае недостатка у Вас необходимых знаний по созданию сайтов или невозможности сделать Ваш сайт таким, каким вы хотите.

Стартуем


Что должно быть реализовано на этом сайте?

Регистрация, аутентификация / авторизация пользователей, восстановление паролей, форма обратной связи.

Это есть у всех без исключения хостинг-провайдеров. Ваш будущий клиент обязан иметь возможность зарегистрироваться, восстановить пароль в случае его утраты, иметь личный кабинет на сайте с актуальной информацией о его балансе, купленных серверах и т.д. Также, ему обязательно нужно предоставить возможность сообщить о возникшей проблеме в технической поддержку. Для того, чтобы избежать массовой регистрации «фэйковых» аккаунтов, мы рекомендуем не пренебрегать средствами дополнительной защиты, вроде капчи на формах, а также сохранять о пользователе максимальное количество доступной информации, которая может помочь в случае выявления каких-либо нарушений с его стороны. В данном случае, есть множество готовых решений, требующих небольших доработок. Если вы планируете создавать ваш сайт на основе CMS, то вышеописанная функциональность в ней или какой-то степени реализована, или же легко подключается с помощью плагинов.

Управление личными данными клиента

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

Управление серверами клиента

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

Возможность использования тестового периода

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

Биллинг

А как клиенты будут пополнять баланс и покупать сервера? Разумеется, нам понадобится ещё один очень важный компонент, это биллинг. Что мы включаем в понятие «биллинг»? Безусловно, в него входит создание / редактирование текущих тарифов, интерфейсы для приема платежей клиентов, внутренние механизмы обработки платежей, создание акций / скидок, средства мониторинга.

К реализации своего или интеграции в Ваш проект стороннего биллинга стоит подойти особенно ответственно, ведь от работоспособности этого компонента напрямую зависит возможность покупки VPS сервера на вашем сайте (читай ваши первые деньги). Чтобы быстро начать принимать деньги от самых популярных платёжных систем, мы рекомендуем Вам использовать платёжные агрегаторы. Почему? Во-первых, интегрироваться с одним агрегатором значительно быстрее и проще, чем с каждой из предоставляемых им платёжных систем. Это связано с тем, что у каждой платёжной системы свой протокол взаимодействия, который нужно корректно реализовать и унифицировать работу с ним внутри вашей системы, что крайне трудоемко. Во-вторых, у Вас есть один интрефейс, предоставляющий большую часть необходимой функциональности для работы с платежами клиентов - это личный кабинет агрегатора. Разумеется, за все это придётся заплатить дополнительную комиссию, но на наш взгляд, это решение оптимально при создании своего VPS-сервиса.

Разумеется, до интеграции с платёжным агрегатором, Ваш сайт должен удовлетворять определённым требованиям. В качестве примера можно привести требования у платёжного агрегатора paymaster:

  • сайт должен быть полностью заполнен информацией, функционировать;
  • сайт должен состоять более чем из одной страницы;
  • на сайте должна быть размещена информация о реализуемых товарах и услугах, а также о стоимости этих товаров и услуг;
  • сайт не должен быть размещен на бесплатном хостинге;
  • товары и услуги, предлагаемые на сайте, не должны противоречить действующему законодательству РФ и международному праву;

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

Финансовый аспект


Мы подошли к одному из самых важных аспектов (если не самому важному) - финансовому. Работать с Вашим поставщиком VPS-услуг должно быть выгодно. Давайте, посчитаем, почему организовывать сервис аренды VPS-серверов, выбрав в качестве поставщика услуг провайдера RUVDS выгодно.

Возьмем наиболее популярные конфигурации VPS на базе операционной системы Windows Server 2012 R2 и приведём некоторые данные, которые мы получили при анализе рынка VPS-услуг в России по состоянию на февраль 2016:


Конфигурация

1

2

3

4

5

Количество процессоров

1

2

4

6

8

Объем оперативной памяти, Гб

1

2

4

8

16

Объем диска, Гб, HDD

20

40

120

300

600

Количество адресов IPv4

1

1

1

1

1

Текущая цена конфигурации

При оплате за месяц

300 р.

600 р.

1400 р.

2980 р.

5720 р.

При оплате за год

2880 р.

5760 р.

13440 р.

28608 р.

54912 р.

Для того, чтобы оценить ваш потенциальный заработок, приводим выигрыш по цене конфигураций перед усреднённой ценой конкурентов:

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

Текущая скидка на создание серверов с помощью API составляет 10% .
Как оценить потенциальный заработок с одного сервера заданной конфигурации, купленного на месяц? Можно воспользоваться следующей формулой:
Заработок = Тек. цена RUVDS * 10% + Разница с усреднённой конфигурацией - Расходы на выплату комиссий.

Пример расчета для конфигурации 3:

Заработок = 1400 * 0.1 + 794 (округляем в меньшую сторону) -240 = 694 рубля .

Это заработок с одного сервера. При покупке вашими клиентами 25-30 серверов такой конфигурации, вы выходите на сумму заработка уже в 20 тысяч рублей в месяц .

В следующих статьях мы расскажем в деталях о возможностях

5 голосов

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

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

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

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

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

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

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

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

Небольшие, но вы же можете вообще забыть об оплате.

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

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

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

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

Open Server

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

Создать и запустить сайт в интернет можно несколькими способами :

  1. Найти веб-студию или фрилансера который займется созданием вашего сайта и последующим запуском его в сеть.
  2. Использовать бесплатные конструкторы сайтов такие как: ru.jimdo.com, ru.wix.com. Здесь Вы сможете зарегистрировать бесплатно доменное имя, выбрать шаблон и все остальное. Сайт будет хранится на серверах конструктора.
  3. Попробовать создать и разместить сайт самому в интернете. В сети есть множество шаблонов и наработок которые, можно использовать для своего проекта.

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

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

И третий способ , попробовать найти шаблон и запустить сайт в интернет.

Вот здесь мы поговорив более детально.

Так ка Вы новичок в этом деле, то понятно, что с нуля не сможете создать сайт, так как для этого необходимы знания основ html, css и языков программирования javascript и php. Для этого предлагаю найти подходящий шаблон. Но перед тем как выбирать шаблон нужна идея.

Идея для сайта

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

Как выбирать шаблон для сайта

Что вообще такое шаблон Вы спросите? Шаблон — это НЕ готовый сайт, как многие думают, а оболочка на базе которой можно сделать полноценный сайт.

В сети множество шаблонов для разных CMS (систем управления контентом, движков для сайта). Что такое CMS, как ее выбрать и для чего оно вообще нужна, можете почитать в статье “ ”.

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

Регистрация домена

После того как выбрали CMS, можете приступать к регистрации домена, что это такое можете посмотреть в статье “ ”. Домен, можно зарегистрировать у регистратора доменных имен. Как правило сами хостинги могут предоставить эту услугу. Я рекомендую Вам как раз так и делать, покупать имя у хостеров.


Вот несколько регистраторов для России и Украины:

http://www.ukraine.com.ua/domains/

http://www.imena.ua/site/domains

https://www.nic.ru/

https://www.reg.ru/

Выбор и покупка хостинга

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


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

Установка CMS и шаблона

После того как сообщили, что доменное имя активировалось и хостинг работает, необходимо приступать к установке CMS и шаблона.

Как устанавливать CMS можете почитать статьи в интернете или документацию. А так же можете отписать в службу поддержки и попросить хостинг установить на ваш сайт движок. Как правило большая часть Вам поможет в этом вопросе и решит проблему в короткие сроки.

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

Если необходимо пишите в комментарии скину вам документацию по установке шаблона или помогу установить.

Знакомьтесь - Демьян. Начинающий русский блогер, которому надоело постить свои записки на Тамблере и он хочет свой сайт. Вот только Демьян - жадный. Настолько жадный, что ему жалко $3 в месяц за хостинг.

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

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

Подготовка

Превратить компьютер в хостинг Демьян сможет где-то за час. Но сначала ему нужно подготовиться.

Компьютер

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

Покупать компьютер в местных магазинах Демьян не хочет - все знают, что местные цены выше! Поэтому он заходит на буржуйский http://pcpartpicker.com и, оплакивая свои кровные, собирает себе системный блок. Останавливается Демьян на двухъядерном Pentium G4560 и 4 ГБ ОЗУ, что обходится ему в $250. Еще $50 он тратит на доставку.

Увидев цены на Виндоус, Демьян падает в обморок. Но с Линукс Демьян вообще не дружит и знакомиться не хочет. Он скачивает пиратскую Виндоус и устанавливает её, обещая купить лицензию потом - с первой прибыли.

Интернет

Без хорошего интернета Демьяну не обойтись - как же еще к нему будут заходить толпы восторженных читателей? А нынешние 10 Мбит/с даже YouTube ему нормально посмотреть не дают.

Тоскливо вздыхая, Демьян ходит по провайдерам в поисках дешевых 100 Мбит/с. Узнав, зачем ему такой канал, все провайдеры тут же тыкают пальцем в Соглашение Пользователя и предлагают только специальные тарифы для хостинга - в 5 раз дороже. А некоторые вообще хостинг не разрешают. Наконец, Демьян находит нового провайдера, который готов подключить его хостинг за 500 рублей в месяц - но только на первое время.

Там же Демьян подключает выделенный IP-адрес. Это обходится еще в 100 рублей в месяц.

Установка серверного ПО

Собрав свою машину и подключив к ней найденный на барахолке монитор, Демьян наконец приступает к работе. Почитав форумы, он узнаёт - чтобы его хостинг работал с современными CMS, нужны специальные программы - сервер Apache, PHP, MySQL, PHPMyAdmin и т.д.

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

Полчаса спустя Демьян разбирается в том, как правильно установить Wampserver, регистрирует домены, подключает их к серверу, и довольно потирая руки начинает устанавливать WordPress.

Рентабельность

Давайте посчитаем, сколько денег Демьян умудрился сэкономить:

  1. Электроэнергия . Средний тариф на электроэнергию по России - 5,31 р/кВт*ч. Средний компьютер потребляет около 600 Вт*ч. Это значит, что только за электричество Демьян платит 2300 рублей в месяц.
  2. Интернет. 100 Мбит/с стоят Демьяну 500 рублей в месяц + 100 за IP. И ему еще очень сильно повезло с щедрым провайдером.

Отсюда получаем, что выделенный сервер обходится Демьяну в 2950 рублей в месяц.

При этом:

  1. Нет техподдержки. Все проблемы решает сам Демьян, пользуясь инструкциями и форумами.
  2. Демьяну снятся кошмары о счетах за электроэнергию. Хорошо еще, что у него однотарифная система и ему не приходится платить за перерасход.
  3. Наличие блога в интернете зависит от городской электросети.
  4. Нелицензионная Windows на сервере вынуждает Демьяна дергаться при каждом дверном звонке.

А Unihost предлагает примерно такой же сервер всего за 2500 рублей в месяц, без всех вышеперечисленных проблем. То есть Демьян «обул» себя сам на 450 рублей в месяц, а также получил проблемы с законом.

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

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

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

Настраивать веб-сервер мы будем на Ubuntu Server 16.04 . В рамках этой статьи я не буду рассказывать об установке данной системы, подразумевается что у вас уже есть сервер с установленной операционной системой 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 . Как бонус получите почту типа Там же сможете в записи 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».

Настройка обработчика 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

chdir = /home/dendi/www

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

php_admin_value = /tmp
php_admin_value = «/home/dendi/www/»
php_admin_value = 100M
php_admin_value = 0

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

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

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

sudo systemctl restart php7.0-fpm

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

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

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

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

location ^~ /phpmyadmin/ {
root /usr/share;
index index.php;


include fastcgi_params;

}
}

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

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

root /var/www/html;

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;
}
}
}

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

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

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

Создаем сайт

Создаем для сайта папку:

mkdir www

Затем создаем файл index.php

nano www/index.php

и добавляем туда вот такой код:

phpinfo();

Сохраняем.

Первый файл нашего сайта готов, теперь надо создать файл хоста.

Откроем файл, выполнив следующую команду:

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

Вместо example указываем свое название. Вставляем в файл следующий код:

server {
listen 80;
listen [::]:80;
root /home/dendi/web/www;
index index.php index.html index.htm;
server_name site.local;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location = /favicon.ico { log_not_found off; access_log off; }
location = /robots.txt { log_not_found off; access_log off; allow all; }
location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
expires max;
log_not_found off;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-dendi.sock;
}
}

Обратите внимание на значение параметра fastcgi_pass, там мы указываем файл сокета, который создавали в настройках обработчика PHP. Само собой это значение надо поменять на свое. Так же необходимо заменить значение параметра server_name на свое, тут мы указываем адрес нашего сайта(домена). Все сделали? Сохраняем и закрываем.

Выполняем команду, которая создаст симлинк на наш хост и тем самым активирует его:

sudo ln -s /etc/nginx/sites-available/example /etc/nginx/sites-enabled/

Перезапускаем Nginx^

sudo /etc/init.d/nginx restart

Теперь попробуем открыть наш сайт, в моем случае он находится по адресу http://index.local, мы должны увидеть вот такую страницу:

Если вместо этого вы увидели что-то другое, значит где-то закралась какая-то ошибка.

Обратите внимание на то, что предварительно вам необходимо направить домен на наш сервер. Для этого необходимо прописать его в файле hosts операционной системы, либо в специальном разделе роутера. Я, например, создал на роутере правило чтобы все домены.local направлялись на мой сервер. Для этого надо в качестве домена указать *.local



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: