Собственный сервер для сайта


Как сделать персональный веб-хостинг. Как из каких комплектующих собрать веб-сервер. Собираем компьютер, устанавливаем веб-панель, размещаем сайты на хостинге.

Если у Вас есть один или несколько достаточно больших сайтов, например интернет-магазин на 10000 товаров, то со временем Вы столкнетесь с тем, что производительности хостингов, предоставляемых в аренду будет не хватать, или цена за аренду такой виртуальной машины будет уже не такая, как была на этапе внедрения Ваших сайтов, когда 1 ядра CPU + 256 МБ ОЗУ + 1 ГБ SSD было достаточно. Особенно будет заметна нехватка машинных ресурсов с сайтами на CMS WordPress и Bitrix.

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

Какими способами можно сделать персональный хостинг для сайтов?

Поэтому со временем Вы захотите покинуть эту коммунальную квартиру и переехать в отдельное свободное жилье. И тут у Вас будет 3 варианта:

Аренда VPS (Virtual Private Server).

В первом случае достоинства такие:

Недостатки у VPS следующие:

Второй случай – переезжаем на отдельный физический сервер

Третий случай самый комфортный из всех.

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

Например у вас на предприятии трудится мощный сервер под управлением Windows Server. Создаем на нем виртуальную машину под Hyper-V, отдаем ей 3 ядра, 8 ГБ ОЗУ, 64 ГБ дискового пространства и радуемся жизни.

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

Какой компьютер подойдет для веб-сервера?

Когда мы выбираем железо для веб-сервера у нас есть по сути три класса устройств:

Селероны типа j1800 не годятся для наших целей, они пригодны лишь для построения небольших NAS.

Производительность процессоров класса Ryzen 3 2200G избыточна для веб-сервера. Убедился в этом на личном опыте и оплачивать лишние 30 Вт/ч пока что желания нет.

Недавно Biostar представили материнскую плату с распаянным на ней ноутбучном процессоре Biostar FX-9830P по цене 120 USD в рознице. Перед покупкой, читая обзоры этой материнки, я видел как народ в комментариях троллит этот шаг Biostar’а. А я увидел в этом золотую середину для решения моей задачи и для своего веб-сервера купил именно FX-9830P.


Собственный сервер для сайта

При этом по данным одного известного сайта мы имеем вот такую условную производительность трех классов процессоров:


Собственный сервер для сайта

После того как собрал и включил в первый раз компьютер расстроился – вентилятор процессора оказался довольно шумным. Настройку регулирования оборотов вентилятора в BIOS (UEFI) нашел не сразу – это отдельная от основного интерфейса БИОСа виртуальная кнопка в верхней части экранного пространства, дублируемая клавишей F5.

Когда установил профиль охлаждения Silent, шум вентилятора процессора стал еле заметен.

Бесплатная веб-панель для хостинга

Перебрав все бесплатные аналоги cPanel, я остановился на хостинг-панели от украинских производителей – BrainyCP. Потому что остальные поделки либо не умеют работать за роутером, либо имеют убогий функционал.


Собственный сервер для сайта

Панель имеет отличный функционал и неплохую тех. поддержку на русском языке. Панель ставится поверх чистой операционной системы Linux CentOS 7 в минимальной ее конфигурации. Это немного грустно, потому что нельзя поставить оконную среду и подключаться к серверу по xRDP. Поэтому нам остается только хардкор, только SSH. Если установите оконную рабочую среду CentOS 7 – будут проблемы с обновлением Linux.

Загрузочную флешку с системой CentOS 7 следует записывать программами, умеющими формировать GPT-структуру диска, такими как balenaEtcher, так как загружаться будем по EFI, а не Legacy.

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

После того, как установили CentOS 7, компьютер можно отправлять в место его постоянной дислокации (в моем случае это антресоль над входной дверью), а все дальнейшие действия будем производить удаленно по SSH.


Собственный сервер для сайта

На всякий случай напомню, что клиент SSH встроен Power Shell Windows 10 и необходимости в программах типа PuTTY больше нет. В macOS и Linux клиенты SSH также встроены в систему.

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

В моем случае я выбрал такую конфигурацию программного обеспечения:

  • Apache 2.4 (практическим перебором вариантов определил, что именно на Апач без NGINX сайты работают быстрее)
  • PHP 7.4
  • MySQL: MariaDB 10.5.
Читайте также:  Бесплатный хостинг — 30 дней тестового периода

Устанавливаем сервис мониторинга состояния сервера Cockpit, благодаря которому можно отслеживать нагрузку на сервер в визуально понятном веб-интерфейсе. Репозиторий CentOS содержит эту программу, поэтому достаточно ее установить с помощью Yum:


Собственный сервер для сайта

Из графиков Cockpit видно, что процессор AMD FX-9830P справляется со своей задачей, а менее 8 ГБ оперативной памяти в веб-сервер лучше не ставить.

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

Почта – Сервер исходящей почты – Управление через пакетный менеджер – Настроить – qualify_domain.

qualify_domain – это любой из Ваших доменов, имеющий в DNS-записях ключ DKIM. Без этой настройки почта, отправленная из контактных форм на сайтах, не будет доходить до получателя и будет помечена Exim как Frozen.

Последним шагом под Root прописываем нужные параметры веб-сервера и PHP, убеждаемся, что хост-аккаунт пользователя не в Jail и переходим в хост-аккаунт созданного нами пользователя.

В хост-аккаунте добавляем домены сайтов, генерируем Let’s Encrypt сертификаты доменов сайтов и восстанавливаем сайты из бекапов или устанавливаем новые CMS из установщика CMS.

Так как я сделал свой основной сайт бесплатно сам, то в моем случае устанавливаю WordPress, устанавливаю в панели администратора сайта плагин Updraft Backup, по FTP копирую файлы бекапа на веб-сервер и восстанавливаю бекап.

Проверяем корректность настройки почтового сервера с помощью сервиса mail.tester.com.

Когда всё заработало, отключаем сервер от интернета, загружаемся с загрузочной флешки с Macrium Reflect и делаем полный бекап SSD веб-сервера на внешний жесткий диск. Далее в BIOS (UEFI) веб-сервера устанавливаем настройку:

при потере питания всегда включать

Всё, пользуемся. И не забываем делать бекапы сайта по мере надобности.

Устанавливаем многопользовательскую операционную систему Unix. К примеру, Apple Mac OS X или Линукс (кстати говоря, в этом вопросе и Виндовс не так уж плох, но я бы настоятельно рекомендовал установить все-таки Unix-систему).

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

Заходим в настройки программы (конфигурация Apache) и прописываем в разделе listen 80: ваш айпи-адресс.

Открываем порт №80 и вуаля — пользуемся сервером дома.

! Не забудьте о том, что теперь ваш ПК (сервер) нельзя выключать. Если это сделать, ваши сайты в Глобальной сети станут недоступными для пользователей.

Я думаю, данного материала вполне достаточно, чтобы решить для себя: хотите ли вы по-прежнему сделать из своего ПК сервер или нет.

C уважением! Абдуллин Руслан

Понравился блог? Подпишись, чтобы получать новые статьи на почту и быть в курсе всех событий!

Установка ArchLinux

уществует множество операционных систем, разработанных на основе Linux. Это и всем известная Ubuntu, и openSUSE, и многие другие. Одним из завоевавших популярность дистрибутивов является ArchLinux. С ним-то мы и будем знакомиться.

Почему именно ArchLinux?

одробнее об Arclinux можно почитать здесь. О философии Arch — здесь.

еперь я подробно опишу процесс установки ArchLinux на будущий сервер.

Установка ArchLinux на компьютер

случае обычного домашнего компьютера, из которого мы планируем сделать сервер, подойдёт дистрибутив Core ISOs i686, торрент-ссылку на который можно получить на этой странице.

анный дистрибутив представляет собой 32-битную версию с присутствующими в скачиваемом образе необходимыми файлами установки (короче говоря, это то, что нам нужно).

качиваем торрент-ссылку и загружаем ISO-образ диска любимым торрент-клиентом.

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

ля начала запускаю из TCUP Torrent-клиент и, примерно через час, дистрибутив у меня на жёстком диске.


Собственный сервер для сайта

Собственный сервер для сайта

еперь, как вы, наверное, догадались, нужно «нарезать» дистрибутив на диск. Идеальным окажется обычный CD, но где его в наше прогрессивное время взять? Поэтому я использую чистую DVD (ради такого дела не жаль).

арезать» будем плагином всё того же TCUP.


Собственный сервер для сайта

апускаем плагин «Прожиг CD/DVD». Далее выбираем пункт «Проект: Образ ISO/CUE» и, прямо в открывшееся содержимое пункта, копируем скачанный дистрибутив ArcLinux (при помощи всем знакомой кнопки F5).


Собственный сервер для сайта

апись начинаем, естественно, кликом на пункт «Запись диска».

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


Собственный сервер для сайта

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

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

рузимся» с CD.


Собственный сервер для сайта

ыбираем пункт «Boot Arch Linux Live CD». После чего наблюдаем процесс загрузки операционной системы.

ожидаемся появления приглашения к авторизации.


Собственный сервер для сайта

установочном режиме, учётная запись root-пользователя не имеет пароля. Пароль мы создадим на одном из последних шагов установки ОС ArchLinux.

сли обратить внимание на появившуюся после авторизации красиво оформленную надпись, то станет понятно: установку нужно начитать с ввода команды «/arc/setup» и подтверждать ввод нажатием, вы не поверите, «Enter».


Собственный сервер для сайта

сё, приступаем непосредственно к установке.

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

Select Source

а данном этапе, нам предлагается выбрать между установкой с CD или из Интернета. Т. к. мы скачали полный дистрибутив, то выбираем пункт «CD-ROM or OTHER SOURCE» и нажимаем «Enter».

Читайте также:  Партнёрская


Собственный сервер для сайта

Set clock


Собственный сервер для сайта

«Select region and timezone». Здесь необходимо выбрать временной регион. Я выбираю «Europe» и после «Kiev» (т. к. территориально я нахожусь на Украине).

«Set time and date». Здесь без лишних пояснений выбираю UTC. В режиме «manuale» редактирую дату. После корректировки, возвращаюсь в подменю установки даты и времени, выбрав пункт «return».

астройку времени и даты я закончил, выбираю 3-й пункт «Return to Main Menu».

еперь самая интересная и сложная часть — «разбивка» жёсткого диска. Но мы эту науку быстро одолеем.

Prepare Hard Drive(s)

азбивать» будем в ручном режиме. Поэтому в подменю выбираем пункт «2. Manually Partition Hard Drives».


Собственный сервер для сайта

имею диск в 18 Гбайт, о чём с радостью меня информирует программа «разбивки» диска.


Собственный сервер для сайта

а данном этапе, хочу пояснить принципы работы с оборудованием и файловой иерархией ArchLinux.

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».

осле сохранения можно выйти (пункт «Quit»).

ы снова попадаем в знакомое нам меню установки Arch, где выбираем пункт «DONE».

ажимаем «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 старательно шуршит, значит — всё нормально: ждите окончания установки.

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″

gateway=»default gw 192.168.0.1″

результате, имеем следующее (вместо первой строки):

eth0=»eth0 192.168.0.200 netmask 255.255.255.0 broadcast 192.168.0.255″

рутим ниже, к строке

о второй строке, нам нужно, всего-навсего, убрать восклицательный знак:

этим файлом всё. Жмём «ctrl+o» для записи и «ctrl+x» для выхода.

ледующим конфигурационным файлом, к которому мы проявим интерес, будет «/etc/resolv.conf».

десь всё очень просто. В формате «nameserver ip» необходимо указать «DNS».

вот «8.8.8.8» — это DNS от Google. Указываю его в качестве альтернативного.

ледующий интересный файл — «/etc/hosts.deny».

Читайте также:  #7 Best Tomcat Hosting (2022) - [and Free Java Providers]

о умолчанию, в этом файле запрещаются все соединения. Поправить это можно закомментировав строку «ALL: ALL: DENY». Т. е. поставить перед фразой «решётку», вот так:

# ALL: ALL: DENY

охраняем файл и выходим.

ледующим шагом мы подкорректируем «зеркала» для обновления, содержащиеся в файле «/etc/pacman.d/mirrirlist».

рокрутим файл к разделу «Russia» и раскомментируем строчки с адресом «yandex.ru».

оследняя операция: установка пароля для супермощного пользователя «root». Задайте его и не забудьте.

водя пароль, знайте, что в Linux символы паролей не закрываются звёздочками: они просто вообще не показываются (чтобы нельзя было подсмотреть даже количество знаков в пароле и потом как-то их подобрать).

мём «Done» в самом конце.

оследнее, что нам нужно будет сделать — выбрать загрузчик. Пункт «7. Install Bootloader».

десь всё просто: не парим мозг, выбираем Grub. После его выбора, мы увидим содержимое файла конфигурации загрузчика. Он нас не интересует, сразу выходим оттуда.

еперь нам нужно выбрать, куда устанавливать загрузчик. Выбираем пункт «/dev/sda»:


Собственный сервер для сайта

оздравляю, ArchLinux «стоит». Вводите команду «reboot» и не забудьте вынуть загрузочный диск из «сидирома». Кстати, «сидиром» не откроется, пока не начнётся перезагрузка. Потому что диск примонтирован. Вот такие особенности Linux.

еперь проверим работоспособность сетевого соединения. Я надеюсь, вы подключили компьютер к локальной сети обычным сетевым проводом?

огда всё должно работать. Пишем команду «ping google.com» и наблюдаем весёлую картину удачных пингов.

огда картина пинга наскучит, нажмите «ctrl+c».


Собственный сервер для сайта

сли ping у вас не проходит, то убедитесь в том, что вы получали в детстве достаточно витаминов.

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

еперь мы узнаем, как это всё настраивается на стороне сервера.

становив SSH-доступ, я смогу удалённо управлять сервером и записывать видеоуроки, делать обычные «скрины», а не сидеть перед монитором с фотоаппаратом.

Arch есть такая замечательная штуковина, как менеджер пакетов. Называется он pacman. Назначение pacman — установка необходимых программ, их обновление, обновление всех имеющихся программ, установка необходимых компонентов для вновь устанавливаемых программ. В общем, замечательная вещь. Подробнее о pacman можно читать тут.

пока введём команду «pacman -Syu», которая синхронизует данные о пакетах на серверах «Яндекса».

осле завершения синхронизации мы установим программу для SSH-доступа. Называется она Openssh. Установка происходит командой «pacman -Sv openssh».

acman скачает и установит программу и все недостающие компоненты. Почему-то с первого раза у меня обновился только лишь pacman, а openssh не установился. Поэтому я повторяю команду «pacman -Sv openssh».

а этот раз попытка увенчалась удачной установкой программы.

от, где расположен файл запуска «/etc/rc.d/sshd».

ля того, чтобы запустить openssh, необходимо ввести следующую команду: «/etc/rc.d/sshd start».

осле чего будет возможен SSH-доступ к серверу.


Собственный сервер для сайта

осле соединения, в окошке Putty, мы видим всё то же самое, что и на мониторе сервера. Клавиатуру и монитор сервера можно отодвинуть подальше: в ближайшее время они нам не понадобятся.


Собственный сервер для сайта

апоследок, мы обновим нашу систему замечательной командой «pacman –Syu».

моём случае, потребовалось загрузить обновлений на 100 Мбайт. Так что мужайтесь: дело это не быстрое.

Как сделать хостинг на домашнем компьютере, или Сервер для сайта своими руками

Эксперт — это человек, который совершил все возможные ошибки в очень узкой специальности.


Собственный сервер для сайта

ак что вы вполне вооружены знаниями. Остаётся лишь правильно их применить.

еобходимо реализовать так называемый проброс портов. Т. е. настроить роутер или АДСЛ-модем следующим образом:

о с пробросом портов мы разберёмся чуть позже. Пока поковыряем сам компьютер-сервер.

Что представляет собой домашний сервер?

Локальный сервер – это специализированное программное обеспечение, позволяющее управлять (создавать и размещать) персональными сайтами на домашнем оборудовании (локальном компьютере).

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

Характеристики компьютера-сервера

десь очень сложно говорить о каких-либо точных параметрах.

сли вы собираетесь поиграть в хостинг-провайдера, то сервер должен быть четырёхъядерным компьютером с 4 гигабайтами «оперативки» и несколькими жёсткими дисками, объединёнными в RAID-массив. Такой компьютер делится на несколько виртуальных серверов, управление которыми даётся клиентам.

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

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

корость чтения с жёсткого диска и его надёжность можно повысить все теми же RAID-массивами.

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

оэтому на серверах бал правят операционные системы семейства Linux. Но не пугайтесь: принципы работы в Linux не так и сложны, как кажется, а настройка Apache + PHP + MySQL, практически, ничем не отличается от настройки в Windows.

Что делать?

Кроме того, вам нужен:

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

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

Оцените статью
Хостинги