Вы не задавались вопросом, как тяжело создать собственный хостинг. Вы спросите, для чего? Во-первых, для интереса, во-вторых, чтобы понять, как выбирать правильный хостинг у хостинг компаний. В-третьих, коммерческую привлекательность на собственном хостинге никто не отменял. Конечно, создать свой хостинг задача не простая, но интересная, а просматривая варианты предложений по аренде хостинга, понимаешь, что приходит в голову многим.
Не буду долго останавливаться, на этической стороне создания коммерческого хостинга. Создавая продукт на продажу нужно понимать, что это не развлечение, а серьезная работа, от которой зависят незнакомые люди. Изначально не нужно пытаться создать мусорные проекты и наживать врагов и сети. Есть желание поработать с созданием хостингов, начните с мини проекта «для своих», потом двигайтесь дальше. Итак, 4 способа создать свой хостинг.
Использование VDS сервера на с разбиением его на хостинг куски, идея, лежащая на поверхности. Привлекательность использования VDS сервера, в дешевизне и возможностью постепенного наращивания ресурсов. Но это на первый взгляд.
Эволюция создания хостинга на VDS проста:
Вариант, на первый взгляд недорогой. Но уже при средних нагрузках на сайтах, придется докупать трафик и тратиться на хранение резервных копий.
Второй вариант своего хостинга, и он самый распространенный, это покупка выделенного сервера. Механизм создания таков:
Как видите по ценам, создание хостинга дело затратное. Создавая хостинг мы понимаем, что можем не справится с различными проблемами, которые будут на хостинге, можем не потянуть настройки и защиту, вообще можем не найти клиентов и отбить затраты. Поэтому, арендуем VDS с минимальными затратами, панель и биллинг арендуем помесячно и в случае неудачи, аккуратненько сворачиваемся с минимальными потерями.
Есть компании с BillManager Corporate, которые позволяют продавать свои услуги, реселер аккаунтам, по типу биллинг-биллинг. Схема работает так:
Можно начинать перепродажи:
На внешнем биллинге есть услуга хостинга за 150 рублей, клиент заходит на ваш биллинг на вашем сервере и делает заказ. На вашем реселлер аккаунте есть счет, и когда клиент делает заказ, он переводится на внешний биллинг, а вы получаете данные по заказу.
Реальный доход, при большом количестве проектов.
Как это работает, лучше посмотреть в программе реселлинга, например, тут: https://firstvds.ru/partner/reseller.
Это только самые общие шаги создания своего хостинга. Есть масса других задач: создание правильного домена для хостинга, работа с DNS клиентов, защита от DDoS атак. Несмотря на все проблемы, свой хостинг это такой же бизнес, как и любой другой, с проблемами, задачами и их решениями.
Знакомьтесь - Демьян. Начинающий русский блогер, которому надоело постить свои записки на Тамблере и он хочет свой сайт. Вот только Демьян - жадный. Настолько жадный, что ему жалко $3 в месяц за хостинг.
Однажды, Демьяну сказали, что можно сделать хостинг прямо на своем компьютере. Да не просто хостинг, а целый выделенный сервер, который потянет не только блог, но и интернет-магазин, где Демьян будет продавать свои футболки, шапки и прочий мерч.
В этой статье, мы расскажем о том, как Демьян делал себе хостинг. А также о том, почему скупой платит дважды.
Превратить компьютер в хостинг Демьян сможет где-то за час. Но сначала ему нужно подготовиться.
Компьютера у Демьяна нет - есть только ноутбук, с которого он сидит ВК и листает фоточки в Инстаграме. Даже Демьян понимает, что делать хостинг на старом ноутбуке, который он везде таскает за собой - как-то некомильфо.
Покупать компьютер в местных магазинах Демьян не хочет - все знают, что местные цены выше! Поэтому он заходит на буржуйский http://pcpartpicker.com и, оплакивая свои кровные, собирает себе системный блок. Останавливается Демьян на двухъядерном Pentium G4560 и 4 ГБ ОЗУ, что обходится ему в $250. Еще $50 он тратит на доставку.
Увидев цены на Виндоус, Демьян падает в обморок. Но с Линукс Демьян вообще не дружит и знакомиться не хочет. Он скачивает пиратскую Виндоус и устанавливает её, обещая купить лицензию потом - с первой прибыли.
Без хорошего интернета Демьяну не обойтись - как же еще к нему будут заходить толпы восторженных читателей? А нынешние 10 Мбит/с даже YouTube ему нормально посмотреть не дают.
Тоскливо вздыхая, Демьян ходит по провайдерам в поисках дешевых 100 Мбит/с. Узнав, зачем ему такой канал, все провайдеры тут же тыкают пальцем в Соглашение Пользователя и предлагают только специальные тарифы для хостинга - в 5 раз дороже. А некоторые вообще хостинг не разрешают. Наконец, Демьян находит нового провайдера, который готов подключить его хостинг за 500 рублей в месяц - но только на первое время.
Там же Демьян подключает выделенный IP-адрес. Это обходится еще в 100 рублей в месяц.
Собрав свою машину и подключив к ней найденный на барахолке монитор, Демьян наконец приступает к работе. Почитав форумы, он узнаёт - чтобы его хостинг работал с современными CMS, нужны специальные программы - сервер Apache, PHP, MySQL, PHPMyAdmin и т.д.
Можно скачать их и установить по одной - но это долго, сложно и может привести к конфликту версий. К счастью, Демьяну показывают набор программ, который всё установит и настроит за него - Wampserver .
Полчаса спустя Демьян разбирается в том, как правильно установить Wampserver, регистрирует домены, подключает их к серверу, и довольно потирая руки начинает устанавливать WordPress.
Давайте посчитаем, сколько денег Демьян умудрился сэкономить:
Отсюда получаем, что выделенный сервер обходится Демьяну в 2950 рублей в месяц.
При этом:
А Unihost предлагает примерно такой же сервер всего за 2500 рублей в месяц, без всех вышеперечисленных проблем. То есть Демьян «обул» себя сам на 450 рублей в месяц, а также получил проблемы с законом.
Сегодня, уважаемый читатель, мы поговорим о том, как же можно соорудить сервер из домашнего компьютера.
Как не странно, но если вы читали статью о , то вы уже умете хостить сайты на своем домашнем компьютере. Оказывается, все что нужно для того, чтобы сайт грузился не с какого-то сервера хостинг-провайдера, а со своего знакомого родного домашнего компьютера – это описанным в статье образом настроить связку apache+php+mysql и связать доменное имя с IP-адресом вашего домашнего компьютера.
Повторюсь:
Так что вы вполне вооружены знаниями, остается лишь правильно их применить.
Замечательно, если компьютер подключен напрямую к провайдеру сетевым проводом и в настройках сети задан внешний статический IP-адрес. Именно этот IP и нужно будет указать в настройках доменного имени.
Но, обычное дело, когда компьютер, который будет выполнять роль сервера, расположен либо в локальной подсети, либо перед ним стоит какой-нибудь АДСЛ-модем и внешний IP-адрес (который вы можете узнать воспользовавшись сервисом myip.ru) – это адрес роутера либо адрес АДСЛ-модема. IP-адрес компьютера имеет при этом локальный вид (либо 192.168.0.ХХХ, либо 10.0.0.Х). Здесь уже сложнее, но все равно можно реализовать поставленную цель и сделать у себя дома филиал хостинг-провайдера.
Необходимо реализовать так называемый проброс портов . Т.е. настроить роутер или АДСЛ-модем следующим образом:
Но с пробросом портов мы разберемся чуть позже. Пока поковыряем сам компьютер-сервер.
Здесь очень сложно говорить о каких-либо точных параметрах.
Если вы собираетесь поиграть в хостинг-провайдера, то сервер должен быть четырехъядерным компьютером с 4-мя Гигабайтами оперативки, и несколькими жесткими дисками, объединенными в RAID-массив . Такой компьютер делится на несколько виртуальных серверов, управление которыми дается клиентам.
Если вы собрались подхостить пару сайтов, типа сайт, то вполне хватит обычного современного компьютера. А там уже нужно экспериментировать для достижения оптимального результата.
Направлю ваше внимание на следующую особенность: важно количество оперативной памяти на сервере. Т.к. процесс загрузки посетителем одной и той же страницы сайта можно ускорить путем хранения данных в оперативной памяти. Чем больше оперативки, тем лучше.
Скорость чтения с жесткого диска и его надежность можно повысить все теми же RAID-массивами .
Но неоспоримым оказывается тот факт, что ОС Windows, из-за огромного количества дыр в безопасности, множества вирусов, нестабильности работы – на сервере не место.
Поэтому на серверах бал правят операционные системы семейства Linux. Но не пугайтесь, принципы работы в Linux не так и сложны, как кажется, а настройка Apache + PHP + MySQL практически ничем не отличается от настройки в Windows.
Давайте-ка, уважаемый читатель, я познакомлю вас с установкой операционной системы ArchLinux.
Существует множество операционных систем, разработанных на основе Linux . Это и всем известная Ubuntu и openSUSE и многие другие. Одним из завоевавших популярность дистрибутивов является ArchLinux. С ним-то мы и будем знакомиться.
Почему именно ArchLinux:
Теперь я подробно опишу процесс установки ArchLinux на будущий сервер.
В случае обычного домашнего компьютера, из которого мы планируем сделать сервер, подойдет дистрибутив Core ISOs: i686 , Torrent-ссылку на который можно получить на этой странице .
Данный дистрибутив представляет собой 32-х битную версию с присутствующими в скачиваемом образе необходимыми файлами установки (короче говоря, это то, что нам нужно).
Как я уже писал в статье о моих программах, я буду использовать инструментарий .
Для начала запускаю из TCUP Torrent-клиент и примерно через час дистрибутив у меня на жестком диске.
Теперь, как вы, наверное, догадались, нужно нарезать дистрибутив на диск. Идеальным окажется обычный CD, но где его в наше прогрессивное время взять, поэтому я использую чистую DVD (ради такого дела не жаль).
Нарезать будем плагином все того же TCUP.
Запускаем плагин Прожиг CD/DVD . Далее выбираем пункт Проект: Образ ISO/CUE и, прямо в открывшееся содержимое пункта, копируем скачанный дистрибутив ArcLinux-а (при помощи всем знакомой кнопки F5).
Запись начинаем, естественно, кликом на пункт Запись диска .
Выбираю низкую скорость записи, спешить нам некуда. И поехали трансформировать образ диска в загрузочно-устновочный диск ArcLinux.
После завершения всех этих нехитрых операций мы имеем диск с дистрибутивом, который нужно вставить в подопытный компьютер и загрузиться с него.
Считается, что дойдя до понимания необходимости установки Linux, пользователь знает где именно в BIOS подопытного компьютера можно включить загрузку с CD.
Грузимся с CD.
Выбираем пункт Boot Arch Linux Live CD . После чего наблюдаем процесс загрузки операционной системы.
Хозяйке на заметку root – это логин суперпользователя, обладающего самыми широкими правами по настройке системы.
В установочном режиме учетная запись root-пользователя не имеет пароля. Пароль мы создадим на одном из последних шагов установки ОС Arch Linux.
Если обратить внимание на появившуюся, после авторизации, красиво оформленную надпись, то станет понятно – установку нужно начитать с ввода команды / arc/ setup и подтверждаю ввод нажатием, вы не поверите, Enter.
Все, приступаем непосредственно к установке.
Последовательно будем выполнять каждый из пунктов установочного меню.
1. Select Source
На данном этапе нам предлагается выбрать между установкой с CD или из интернета. Т.к. мы скачали полный дистрибутив, то выбираем пункт CD-ROM or OTHER SOURCE и нажимаем Enter.
2. Set clock
Select region and timezone. Здесь необходимо выбрать временной регион. Я выбираю Europe и после Kiev (т.к. территориально я нахожусь в Украине).
Set time and date Здесь без лишних пояснений выбираю UTC. В режиме manuale редактирую дату. После корректировки возвращаюсь в подменю установки даты и времени, выбрав пункт return.
Настройку времени и даты я закончил, выбираю 3-й пункт Return to Main Menu.
Теперь самая интересная и сложная часть – разбивка жесткого диска. Но мы эту науку быстро одолеем.
Выбираю пункт
3. Prepare Hard Drive(s)
Разбивать будем в ручном режиме. Поэтому в подменю выбираем пункт 2. Manually Partition Hard Drives.
Я имею диск в 18 Гбайт, о чем с радостью меня информирует программа разбивки диска.
На данном этапе хочу пояснить принципы работы с оборудованием и файловой иерархией Arch Linux:
В Linux нет дисков С:, D: и т.д., как мы привыкли видеть в Windows. Здесь вся иерархия начинается от корня, обозначаемого / Все находится внутри этого слеша и распределено по папкам.
Удивительно для пользователя Windows, но все оборудование хранится в папке /dev. Мой единственный жесткий диск обозначается как sda. Именно поэтому я вижу надпись /dev/sda: 18GiB, которая говорит о том, что на компьютере есть одно устройство, распознанное как жесткий диск размером в 18 ГигаБайт и оно, как и все устройства, засунуто в папку dev.
А теперь мы приступим непосредственно к созданию разделов на жестком диске.
Выбираю диск /dev/sda и нажимаю Enter. После этого запускается программа cfdisk, при помощи которой мы и будем делить диск на разделы. Убираем приветственное окно программы cfdisk, нажав Enter и наблюдаем интерфейс программы cfdisk.
Для чистоты эксперимента я удаляю все имеющиеся разделы, выбирая внизу пункт Delete (нижнее меню, перемещаюсь при помощи курсорной клавиши вправо).
В итоге имею кучу свободного места, которую я сейчас переразмечу на ваших глазах, уважаемый читатель.
Создадим три раздела:
Итак, выбираю пункт New и создаю загрузочный раздел. На следующей развилке я вбираю пункт Primary. Далее выбираю размер раздела, в моем случае достаточно 50 МегаБайт. Выбор подтверждаю пунктом Beginning.
После создания раздела указываю его тип (пункт Type) как 83 (Linux).
Первый раздел создан. Теперь я перемещаюсь на пункт, символизирующий оставшееся свободное место на диске и снова нажимаю New.
Теперь я буду создавать раздел подкачки swap.
Используем вышеописанный алгоритм. Размер данного раздела будет равен 512 Мегабайт.
В качестве типа данного раздела (Type) необходимо указать 82.
Все остальное помечаем как sda3, туда мы будем монтировать корень /.
Размеченный жесткий диск sda имеет следующий вид:
Настал этап указать один из дисков, как загрузочный. Для этого мы перемещаемся на sda1 и помечаем его пунктом Bootable.
Все, уважаемый читатель, с разметкой диска покончено. Выбираем в интерфейсе cfdisk пункт write (в нижнем меню) и сохраняем внесенные изменения.
После сохранения можно выйти (пункт Quit).
Мы снова попадаем в знакомое нам меню установки Arch, где выбираем пункт DONE.
После выбора DONE, мы окажемся в подменю работы с диском, где будет заботливо выбран пункт 3. Manually Configure block devices, filesystems and mounpoints
Нажимаем Enter и переходим к монтированию разделов жесткого диска.
Перейдя в соответствующий раздел меню мы сможем указать файловые системы и точки монтирования (что именно должно располагаться в выбранном разделе жесткого диска).
Итак, начинаем с sda1. Этот раздел загрузочный. Для него оптимальной окажется файловая система ext3, поддерживающая восстановление после сбоя.
Как и договаривались, монтируем на sda1 загрузочный раздел /boot.
Никаких дополнительных опций указывать не будем, нажимаем Enter.
Аналогично вышеописанному создаем файловую систему и точку монтирования для sda2. Файловая система – swap. Это собственно все, что нужно было указать для sda2.
Sda3 будет иметь файловую систему ext3 монтировать туда будем, как и договаривались, все остальное, т.е. /.
Вот результат:
Остается лишь выбрать done и все, что мы наворотили, применится.
Вот теперь уж с настройкой жесткого диска действительно все. Arch заботливо выбирает пятый пункт в меню установки 5 Return to Main Menu.
Продолжаем устанавливать наш замечательный Linux.
В главном меню установки выбран пункт 4. Select Packages . В нем нам нужно выбрать ничто иное как base.
После выбора base появится перечень входящих в установку пакетов. Не парим себе лишний раз мозг, жмем OK.
Попадаем на 5-й пункт меню Install Packages , которым запускается установка пакетов. Если вы видите вот это
и CD старательно шуршит, значит все нормально, ждите окончания установки.
Все, уважаемый читатель, процесс установки Arch Linux закончен, приступаем к конфигурированию. Все, что мы сейчас наконфигурируем, можно будет поправить в любой удобный момент.
6. Configure System
На следующем экране нам предложат выбрать редактор для изменения текстовых файлов конфигурации. Выбираем nano и не парим мозг.
После выбора редактора текстовых файлов мы видим список всех файлов конфигурации. Но не пугайтесь, править нужно лишь часть из них.
Основной конфигурационный файл – /etc/rc.conf
Выбираем соответствующий пункт и нажимаем Enter.
Редактор nano загружает содержимое текстового файла rc.conf, расположенного в папке файлов конфигурации etc.
Для начала мы настроим сеть. Переходим к разделу NETWORKING в файле и внимательно впиваемся взглядом в строчки
#eth0="eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255" eth0="dhcp" INTERFACES=(eth0) gateway="default gw 192.168.0.1" ROUTES=(!gateway)Значит так, если мы настраиваем сервер, то речи о динамической раздаче IP-адресов быть не может. Поэтому мы убираем комментирующую решетку перед первой строкой и ставим ее на вторую строчку. Получается вот что:
Eth0="eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255" #eth0="dhcp"
Теперь развлекаемся с первой строкой. Вместо 192.168.0.2 прописываем IP-адрес сервера. Мой сервак находится в локальной сети и имеет адрес 192.168.0.200 (именно его я и указываю).
netmask 255.255.255.0 Это нас устраивает. Данный формат маски говорит о том, что в подсети могут находится 254 компьютера (первые три составляющие IP-адреса у них фиксированы, а последняя изменяется от 1 до 254). Ну и ладно.
broadcast 192.168.0.255 – это IP-адрес для широковещательных пакетов. Если на данный IP будет отправлен пакет, то его получат все компьютеры подсети. Ну и хорошо, нас это устраивает.
В результате имеем следующее вместо первой строки:
Eth0="eth0 192.168.0.200 netmask 255.255.255.0 broadcast 192.168.0.255"
Крутим ниже, к строке
Gateway="default gw 192.168.0.1" ROUTES=(!gateway)
Первая строка указывает шлюз. Моя локальная сеть организована таким образом, что перед сервером расположен роутер, имеющий адрес 192.168.0.1, его я и указываю в качестве шлюза. Если в вашем случае, никакого роутера нет, то администратор сети должен сообщить вам IP-адрес шлюза, его здесь и укажете.
Во второй строке нам нужно, всего на всего, убрать восклицательный знак:
ROUTES=(gateway)
С этим файлов все. Жмем ctrl+o для записи и ctrl+x для выхода.
Следующим конфигурационным файлом, к которому мы проявим интерес, будет /etc/resolv.conf
Здесь все очень просто. В формате nameserver ip необходимо указать DNS.
Прямо под строкой #nameserver
nameserver 192.168.0.1
nameserver 8.8.8.8
Кто такой 192.168.0.1 вы, уважаемый читатель, уже знаете.
8.8.8.8 – это DNS от Google. Указываю его, в качестве альтернативного.
Следующий интересный файл – /etc/hosts.deny
По умолчанию в этом файле запрещаются все соединения. Поправить это можно закомментировав строку ALL: ALL: DENY, т.е. поставить # перед фразой решетку, вот так:
# ALL: ALL: DENY
Сохраняем файл и выходим.
Следующим шагом мы подкорректируем зеркала для обновления, содержащиеся в файле /etc/pacman.d/mirrirlist
Прокручиваем файл к разделу Russia и раскомметируем строчки с адресом yandex.ru
Сохраняем, закрываем.
Последняя операция – установка пароля для супермощного пользователя root. Задайте его, и не забудьте.
Вводя пароль знайте, что в Linux символы паролей не закрываются звездочками, они просто вообще не показываются (чтобы нельзя было подсмотреть даже количества знаков в пароле и потом как-то их подобрать).
Жмем Done в самом конце.
Изменения применяются.
Последнее, что нам нужно будет сделать – это выбрать загрузчика. Пункт 7 Install Bootloader .
Здесь все просто, не парим мозг, выбираем Grub. После его выбора мы увидим содержимое файла конфигурации загрузчика. Он нас не интересует, сразу выходим оттуда.
Теперь нам нужно выбрать, куда устанавливать загрузчик. Выбираем пункт /dev/sda
Все, уважаемый читатель, 8 Exit Install .
Поздравляю, Arch Linux стоит, вводите команду reboot и не забудьте вынуть загрузочный диск из СДРОМА. Кстати, СДРОМ не откроется, пока не начнется перезагрузка, потому что диск примонтирован, вот такие особенности Linux.
Все, Linux загрузился и приглашает начать работу с ввода логина и пароля. А вы что ожидали?
Логинимся как root (пароль от рута вы сами завали, так что вводите, если не забыли).
Поздравляю, вы залогинились как root (по крайней мере, я точно залогинился).
Теперь проверим работоспособность сетевого соединения. Я надеюсь, вы подключили компьютер к локальной сети обычным сетевым проводом.
Тогда все должно работать, пишем команду ping google. com и наблюдаем веселую картину удачных пингов.
Когда картина пинга наскучит, нажмите ctrl+c.
Если ping у вас не проходит, то убедитесь в том, что вы получали в детстве достаточно витаминов.
Наконец-то теперь мы можем установить программу для удаленного SSH доступа через Putty. Помните я об этом ?
Теперь мы узнаем как это все настраивается на стороне сервера.
Установив SSH-доступ я смогу удаленно управлять сервером и записывать видеоуроки, делать обычные скрины а не сидеть перед монитором с фотоаппаратом.
У Arch есть такая замечательная штуковина, как менеджер пакетов. Называется он pacman. Назначение pacman-а – установка необходимых программ, их обновление, обновление всех имеющихся программ, установка необходимых компонентов для вновь устанавливаемых программ. В общем, замечательная вещь. Подробнее о pacman можно читать .
А пока введем команду pacman - Syu , которая синхронизует данные о пакетах на серверах Яндекса.
После завершения синхронизации мы установим программу для SSH доступа. Называется она openssh. Установка происходит командой pacman -Sv openssh
Pacman скачает и установит программу и все недостающие компоненты. Почему-то с первого раза у меня обновился только лишь pacman, а openssh не установился. Поэтому я повторяю команду pacman -Sv openssh
На этот раз попытка увенчалась удачной установкой программы.
Вот где расположен файл запуска /etc/rc.d/sshd
Для того, чтобы запустить openssh, необходимо ввести следующую команду:
/ etc/ rc. d/ sshd start
После чего будет возможен SSH-доступ к серверу.
Для доступа к серверу мы будем использовать программу Putty. Скачать ее можно либо с официального сайта , либо с Deposit Files (*.zip, 243 КБайта).
Вводим IP-адрес сервера (в моем случае 192.168.0.200) и подключаемся по SSH.
После соединения, в окошке Putty мы видим все тоже самое, что и на мониторе сервера. Клавиатуру и монитор сервера можно отодвинуть подальше, в ближайшее время они нам не понадобятся.
Напоследок мы обновим нашу систему замечательной командой pacman – Syu
В моем случае потребовалось загрузить обновлений на 100 Мбайт, так что мужайтесь, дело это не быстрое.
Пока на этом все. До следующей встречи предлагаю вам, уважаемый читатель, потыкать в google вопросами типа «основные команды linux» много всего забавного найдете.