Как сделать сервер дома

В кругу веб-разработчиков можно часто слышать о VPS-серверах и хостинг-провайдерах, предоставляющих виртуальные машины в аренду. Такие услуги приходят на помощь загруженным сайтам, корпоративным порталам, форекс-трейдерам и другим проектам. Найти подходящий хостинг бывает довольно проблематично: высокая цена, плохая производительность и прочие аспекты, мешающие оптимальному функционалу. Альтернативой VPS может стать создание собственного домашнего сервера. Не сказать, что это лучший вариант, но при грамотном подходе для небольшого сайта хватит ресурсов домашнего ПК. Конечно, это не будет VPS в обычном понимании, лучше это назвать хостингом для сайта.
О создании домашнего сервера сегодня и поговорим.
Создаем сервер с нуля
Прежде чем создавать домашний хостинг, стоит проверить, потянет ли компьютер высокую нагрузку и справится ли интернет с большим потоком данных. Для полного погружения в тему поговорим обо всех нюансах.
При создании собственного сервера можно пойти двумя путями: использовать личный компьютер или арендовать VPS у хостинг-провайдера.
В первом случае потребуется отдать все силы ПК на обработку данных и поддержание высокой производительности хостинга. Обратите внимание, что сервер будет использовать ваше интернет-соединение, поэтому позаботьтесь о бесперебойной сети с мощным тарифным планом.
Если вы уверены в силах своей машины, то следующий шаг — создание статического IP. По умолчанию адрес установлен как динамический, он изменяется каждый раз при выходе в интернет. Статический же напротив устанавливается один раз и всегда остается неизменным. Это позволяет обеспечить точку входа для «белых» сайтов, платежных систем, безопасных соединений и почтовых сервисов.
Когда мы запускаем свой ресурс на стороннем хостинге, от нас требуется лишь оплата услуги, а вот при создании собственного сайта на локальной машине, помимо всего прочего, необходим статический адрес. Их количество ограничено, каждый из них арендуется на определенное время, и в этот период никто другой не может его официально использовать. Проще говоря, когда за организацией закреплен индивидуальный адрес, клиенты смогут легко найти веб-ресурс и приобрести нужные услуги.
Обсудить покупку статического IP вы можете со своим интернет-провайдером. Далее следует установка программного обеспечения, в нашем случае отлично подойдет Open Server, серверная платформа, предназначенная для веб-разработчиков. Благодаря ей мы можем не беспокоиться об установке PHP, Apache, MySQL и прочих средствах. Установив данное ПО, мы сможем запустить сервер дома и загрузить на него сайт.
Рассмотрим краткую инструкцию по работе с Open Server:
- Первым делом установим официальную версию — переходим для этого на страницу разработчика и выбираем один из пакетов программы.

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

- Устанавливаем программу и переходим в ее директорию. Здесь перед нами отобразится набор различных папок и два файла для запуска — выбираем подходящий под разрядность ОС и открываем его. Также для запуска отключаем антивирус.

- В нижнем правом углу будет активирована новая иконка в виде красного флажка — она сигнализирует о том, что программа открылась, но еще не запущена. Оставим ее пока такой, кликнем по значку и перейдем в настройки.

- Переходим во вкладку «Сервер» и обращаем внимание на строку «IP-адрес сервера». По умолчанию он установлен как локальный, то есть доступ открыт только текущему компьютеру. Для запуска сервера в Интернете потребуется указать статический адрес и нажать «Сохранить».

- Теперь можно запускать сервер — для этого достаточно кликнуть по красному флажку и выбрать опцию «Запустить». В некоторых случаях может возникнуть ошибка «Несовместимость конфигурации: домен/алиас localhost можно использовать только с IP-адресом 127.0.0.1». В таких случаях необходимо перейти в директорию ПО, открыть папку domains и переименовать папку localhost в openserver.

Мы провели работу с настройкой локального сервера. Что касается аренды VPS у хостинг-провайдера, нам потребуется подобрать подходящий тариф и активировать его. На готовый сервер мы сможем выгрузить свой веб-ресурс, а затем открыть его всему интернету.
Как создать свой VPS-хостинг с нуля и начать на нем зарабатывать (введение)

Здравствуйте, уважаемые читатели хабра. С данного материала мы начинаем серию публикаций о том, как построить VPS-хостинг с нуля на базе RUVDS White Label API.
В данной вводной публикации мы расскажем, что нужно сделать в первую очередь, чтобы как можно скорее начать получать первую прибыль от вашего собственного VPS-хостинга, как сделать относительно быстро и насколько это целесообразно и выгодно. Если вы решили создать свой VPS-хостинг с нуля, но у Вас нет своей инфраструктуры или нет средств и времени для её создания, добро пожаловать под кат.
Вам нужен сайт
Чтобы организовать ваш собственный VPS-сервис Вам в первую очередь понадобятся 2 вещи — сайт, на котором вы будете предлагать услуги аренды VPS-серверов и поставщик услуг, предоставляющий Вам для этих целей выгодные партнёрские условия, свою инфраструктуру и надежное API с широкими возможностями. Что же такое API? Это некий интерфейс, используя который вы сможете предоставить Вашим клиентам все те же возможности по управлению серверами, что и предоставляет Ваш поставщик услуг своим клиентам.
Интегрировать сайт с вашим VPS-провайдером посредством API будет намного дешевле и быстрее, чем создавать свою облачную инфраструктуру с нуля, так как он в этом случае «берёт на себя» множество вопросов: не нужно заботиться о наличии достаточного количества ресурсов у провайдера, о том, как организовать широкий и отказоустойчивый канал для доступа в интернет с виртуальных серверов, как собирать и хранить данные об использовании ресурсов серверами и так далее.
- вы владелец сайта, который предлагает смежные услуги (проверка / регистрация доменов, аренда DNS-сервера, удалённое администрирование серверов).
- вы создаёте ваш сайт с нуля с использованием популярной CMS и плагинов к ней.
- вы заказываете сайт у веб-студии
- впишите свой вариант
Стартуем
Что должно быть реализовано на этом сайте?
Регистрация, аутентификация / авторизация пользователей, восстановление паролей, форма обратной связи. 
Это есть у всех без исключения хостинг-провайдеров. Ваш будущий клиент обязан иметь возможность зарегистрироваться, восстановить пароль в случае его утраты, иметь личный кабинет на сайте с актуальной информацией о его балансе, купленных серверах и т.д. Также, ему обязательно нужно предоставить возможность сообщить о возникшей проблеме в технической поддержку. Для того, чтобы избежать массовой регистрации «фэйковых» аккаунтов, мы рекомендуем не пренебрегать средствами дополнительной защиты, вроде капчи на формах, а также сохранять о пользователе максимальное количество доступной информации, которая может помочь в случае выявления каких-либо нарушений с его стороны. В данном случае, есть множество готовых решений, требующих небольших доработок. Если вы планируете создавать ваш сайт на основе 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 р. |
Для того, чтобы оценить ваш потенциальный заработок, приводим выигрыш по цене конфигураций перед усреднённой ценой конкурентов:
| 1 | 2 | 3 | 4 | 5 | |
| При оплате сервера на месяц | 474.14 р. | 759.13 р. | 794.40 р. | 1160.24 р. | 3444.85 р. |
| При оплате сервера на год | 328.61 р. | 601.23 р. | 621.31 р. | 966.30 р. | 3160.57 р. |
Также, не забываем, что у нас есть расходы на выплату комиссии за перевод и вывод платёжным системам.
| 1 | 2 | 3 | 4 | 5 | |
| При оплате сервера на месяц | 40 р. | 120 р. | 240 р. | 472 р. | 624 р. |
| При оплате сервера на год | 36 р. | 108 р. | 216 р. | 424.8 р. | 561.6 р. |
Текущая скидка на создание серверов с помощью API составляет 10%.
Как оценить потенциальный заработок с одного сервера заданной конфигурации, купленного на месяц? Можно воспользоваться следующей формулой:
Заработок = Тек. цена RUVDS * 10% + Разница с усреднённой конфигурацией — Расходы на выплату комиссий.
Пример расчета для конфигурации 3:
Заработок = 1400 * 0.1 + 794 (округляем в меньшую сторону) -240 = 694 рубля.
Это заработок с одного сервера. При покупке вашими клиентами 25-30 серверов такой конфигурации, вы выходите на сумму заработка уже в 20 тысяч рублей в месяц.
В следующих статьях мы расскажем в деталях о возможностях RUVDS White Label API, обсудим как подобрать оптимальные тарифы на ваш VPS-хостинг и на каких условиях можно заработать.
Создаем свой собственный хостинг не потратив и копейки
Хотели бы вы узнать, что такое веб сервер? Или же впервые в жизни «потрогать» виртуальную машину? А может вам просто интересно, как выглядит хостинг? С любовью для пикабушников постараюсь рассказать обо всем по немножко.

Disclamer: Данный материал является ознакомительным и рассчитан на людей, которые только начинают свой путь в мире IT технологий. Технические подробности всего раскрываться не будут(но на вопросы отвечу). Следующий материал является прямым скриптом, как сделать веб хостинг. И небольшая просьба, если вы добавляете в сохранки, оцените пост, тем самым вы даете мне понять, следует ли делать подобные гайды.
Что нам потребуется?
1. Виртуальная машина (далее ВМ) — VMWare
2. Любой компьютер, на который мы установим ВМ
3. Дистрибутив Ubuntu 18.04 LTS. Что бы не пугать вас, лучше скачайте Desktop image, она имеет графическую оболочку, а не только консоль.
Первым делом устанавливаем нашу программу виртуализации — VMWare. Запускаем ее и нажимаем «Создать новую ВМ». Выбираем скачанный дистрибутив

Full name и user name — по вашему желанию. Жмем далее, «Имя ВМ» и путь хранения ВМ — по вашему усмотрению. Размер выделяемой памяти оставляем по умолчанию(можно снизить до 10 гб), жмем далее.
В последнем пункте жмем Customize Hardware. Т.к. вы будете работать в самой ВМ и ее виртуальной оболочке, стоит увеличить значения пункта Processors до 4.

В пункте Network Adapter выбрать значение Bridged и установить галочку Replicate.

Жмем Close > Finish. Дожидаемся окончания установки ОС. Когда ОС установилась, открываем терминал комбинацией клавиш Alt+Crtl+T или же в нижнем левом углу жмем на Show Application и пишем в поиске — Terminal.

Далее нам следует получить права супер пользователя, в терминале вводим команду sudo su и вводим пароль, который вы указывали при установке системы.
Сначала мы обновим ОС до актуальной версии. Вводим в терминал команду:
Вы превосходны! Теперь вы имеете готовую машину, для создания веб сервера. Далее мы и установим наш веб сервер Nginx.
После установки вы можете посмотреть его статус с помощью команды

Примечание: Пример управления процессами в ubuntu — systemctl stop\start\status\reload
Собственно, веб сервер уже находится в активном состоянии и вы даже можете зайти на свой «сайт». Для этого вам стоит узнать локальный адрес своей виртуальной машины. Что бы его узнать, вводим в терминал:

127.0.0.1 — это localhost, адрес вашего компьютера по умолчанию, если так можно выразиться. Нам нужен тот, который начинается(в большинстве случаев), с 192.168.*.*
Копируем наш адрес, вставляем в браузер виртуальной машины или своего компьютера, без разницы. и мы увидим автоматически сгенерированную страничку HTML при установке Nginx

Файлик этот лежит в /var/www/html/
Что бы его отредактировать, введите

При вводе пути каталогов вы можете нажимать Tab, что бы автоматически заполнялось существующее имя. Например /var/ww *жмем таб* выводится /var/www/. Так же если вы не знаете, что находится в данном каталоге, но если хотели бы узнать, нажмите таб дважды, например /var/ *2-x tab*:

Примечание: перемещение по каталогам осуществляется с помощью утилиты cd. Если вы не работали с терминалом — краткое пособие
Выйти из редактора можно комбинацией клавиш Crtl+X. nano — это текстовый редактор, аля блокнот в винде, только этот в терминале.
Теперь нам нужно показать наш «сайт» всему миру, верно? И еще бы денег не потратить, ведь их и так нет. В этом нам поможет сервис с бесплатными динамическими DNS серверами. Он выдаст нам бесплатно доменное имя на 30 дней, его потом можно так же вручную продлевать на 30 дней.
Сперва нам следует выяснить одну вещь. Как вы подключены к интернету. Кабель идет на прямую в компьютер или в роутер. На этом этапе нам придется заниматься сложными, для новичка, вещами — port mapping или проброс портов.
1. Кабель в компьютер на прямую(или через свитч).
Открываем yandex.ru/internet. Копируем графу IP V4. На своем компьютере запускаете консоль от имени администратора и вводите команду:
Эта команда перенаправляет весь трафик поступающий конкретно на ваш компьютер из интернета, на порт nginx-a, который находится в ВМ. Более подробно про проброс — тут
2. Если у нас кабель идет из роутера в компьютер.
Сначала нам следует залогиниться в веб интерфейс вашего роутера, для каждого роутера это индивидуальный процесс, придется погуглить. Внутри роутера, обычно на главное странице, есть его собственный IP адрес. Он то нам и нужен, его скопируйте и отложите не на долго. Далее нам следует найти «Переадресацию«. В условиях переадресации нужно добавить следующее правило:
Перенаправлять весь трафик с порта 8080 на порт 80, IP адрес вашей ВМ. В моем случае IP адрес 192.168.0.102, протокол TCP.

Идем на сайт noip.com , регистрируемся, заходим в раздел DynamicDNS.
Жмем кнопку Create Hostname.
Вводим имя нашего хоста и выбираем любой Free Domain. В IPv4 вводите адрес либо своего ПК, если подключены на прямую, либо своего роутера, если подключены через роутер.

После создания домена информация на серверах noip может обновляться до суток, но обычно в течении 5 минут все заводится.
Остается финальный штрих, ввести наш новосозданный адрес, и убедиться, что все работает 🙂
Вводить следует так: ИмяВашегоСайта:8080
Как создать свой хостинг
Поиск подходящего хостинга иногда отнимает силы и время. Если у клиента много требований, которые не всегда можно найти и объединить в одном месте, на помощь приходит самое удобное решение — создание домашнего сервера своими силами. Это альтернативное решение взамен VPS. При правильной подготовке и минимальных навыках, можно создать собственный сервер, на котором будет располагаться ваш сайт. Конечно, это не полностью заменяет VPS , однако создание домашнего хостинга для сайта будет учитывать именно индивидуальные требования и условия функционирования сайта.
Как создать сервер с нуля
Существует два способа создания собственного сервера: с помощью использования персонального компьютера или арендовать VPS у хостинг-провайдера .
Выбирая первый способ, необходимо убедиться в том, что ваш компьютер может справиться с высокой нагрузкой и сможет ли интернет обработать большой поток данных. Если да, то первым делом необходимо перейти на статический IP, поскольку выходя в интернет каждый раз IP меняется (по умолчанию стоит динамический IP). Делается это для того, чтобы IP был постоянным, что позволяет обеспечивать вход для сайтов с «белыми» IP, платежных систем, безопасных соединений и почтовых сервисов.
Статические адреса лимитированы в количестве, поскольку арендуются на ограниченный период, в который он никому не доступен. Получается адрес закреплен за определенным клиентом, что облегает поиск веб-ресурса и приобретение нужных услуг. По приобретению статического IP можно обсудить с вашим интернет-провайдером.
Следующий этап — установить программное обеспечение (ПО). Наиболее популярными являются Open Server, Denwer, XAMPP. Это такие серверные платформы, с которыми работают веб-разработчики.
Например, Open Server уже включает в себя PHP, Apache, MySQL и прочие утилиты. С помощью нее запускается сервер дома и загружается сайт. На примере Open server можем проследить как осуществляется установка:
1. Заходим на официальный сайт и скачиваем одну из версий программы.
2. Появится два варианта: поддержать проект и скачать файл на максимальной скорости или отказаться и просто скачать. Первый предполагает некоторую оплату, за которую возрастает скорость загрузки.
3. После скачивания необходимо установить программу и перейти в ее директорию, в которой отобразятся файлы для запуска. Необходимо выбрать тот, который подходит под разрядность ОС и открыть его, предварительно отключив антивирус.
4. После открытия программы появится флажок красного цвета, кликнув по которому переходим в настройки.
5. Нажимаем на пункт «Сервер» и меняем локальный IP-адрес на статический, далее сохраняем.
6. Приступаем к запуску сервера нажатием на красный флажок и выбираем пункт «Запустить». Иногда может появляться ошибка о несовместимости конфигурации. Для устранении ошибки переименовываем папку localhost в openserver, которая находится в директории ПО в папке domains.
Это все этапы, которые необходимы для настройки локального сервера. Если выбор пал арендовать VPS у хостинг-провайдера, необходимо выбрать соответствующий тариф. После его активации на готовый сервер выгружается свой веб-ресурс и открывается всему интернету.