Разное

Настройка хостинга: Hosting Settings | Plesk Onyx documentation

02.01.2023

Содержание

Настройка сервера для хостинга | serveradmin.ru

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

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужно пройти вступительный тест.

Содержание:

  • 1 Цели статьи
  • 2 Введение
  • 3 Гипервизор для своего хостинга
  • 4 Frontend сервер nginx
  • 5 Backend сервер nginx, apache, php
  • 6 Мониторинг сайтов и серверов
  • 7 Хранение логов в ELK Stack
  • 8 Почтовый сервер и шлюз
  • 9 Backup сайтов
  • 10 Управление хостингом
  • 11 Базовые рекомендации по настройке своего хостинга
  • 12 Заключение

Цели статьи

  1. Рассказать о схеме построения приватного хостинга на базе выделенного сервера или серверов.
  2. Подробно описать роль каждой виртуальной машины в составе хостинга.
  3. Поделиться своим реальным опытом на тему настройки и сопровождения веб серверов.
  4. Наполнить статью ссылками на свои материалы по заданной теме, чтобы можно было на практике повторить все описанное ниже.

Введение

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

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

  • Frontend в виде проксирующего nginx.
  • Backend сервер в связке с nginx + php-fpm либо Bitrixenv для сайтов на bitrix.
  • Zabbix сервер для мониторинга.
  • Elk Stack для хранения и анализа логов web сервера.

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

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

Так же, в случае необходимости, я отдельно разворачиваю виртуальные машины с Youtrack, Teamcity, Onlyoffice, Gitlab. Можно компактно разместить все необходимое для работы небольшой команды разработчиков.

Изначально все настраивается на одном гипервизоре, но структура проекта позволяет без проблем его масштабировать на несколько серверов, либо выполнить переезд в облако. Несмотря на то, что сейчас активно развиваются кластеры (Kubernetes) и облачное размещение, предложенная мной схема полностью актуальна и востребована. Основные причины актуальности:

  1. В Kubernetes имеет смысл размещать только те проекты, которые изначально построены на основе микросервисов. WordPress и Bitrix в k8s размещать неудобно.
  2. Размещение на собственных серверах дает прогнозируемую производительность и максимальное выгодное соотношение производительности к стоимости. То есть это банально дешевле облаков раза в 2-3.

Итак, разберем теперь отдельно каждую виртуальную машину. В качестве базовых систем я использую Centos 8, но это не принципиально. Используйте ту систему, что вам больше нравится. Это может быть и Debian, и Ubuntu.

Гипервизор для своего хостинга

В подавляющем большинстве случаев я использую виртуализацию на базе Proxmox. Выделенный сервер арендую у Selectel. В зависимости от бюджета и потребностей, это может быть простенький сервер из двух дисков на десктопном железе, либо полноценный сервер с железным рейд контроллером и постоянной ip-kvm панелью.

Если сервер без рейд контроллера, то используется софтовый рейд mdadm. Установка и настройка proxmox на софтовом рейде у меня подробно описана. У Selectel удобно выполнены базовые шаблоны для установки. Если я заказываю сервер, то сразу выбираю в качестве системы Debian на raid1. Установщик автоматически накатывает систему на mdadm. Остается только установить гипервизор. Самому разбивать диски и собирать mdadm не придется.

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

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

Если у вас только один внешний IP адрес, то на гипервизоре используются 2 сетевых интерфейса:

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

Если используются несколько IP адресов, которые нужно будет назначать разным виртуальным машинам, то сетевых интерфейса будет 3:

  1. Реальная сетевая карта без настроек IP адреса.
  2. Бридж vmbr1, в который будет включен сетевой интерфейс, в который приходит линк с внешними ip адресами. На этом бридже будет настроен реальный IP адрес самого гипервизора, если нет отдельного шлюза. Этот же бридж будет подключен к тем виртуальным машинам, где нужен внешний ip адрес.
  3. Бридж vmbr0 для виртуальной сети виртуальных машин.

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

С гипервизором разобрались, переходим к следующему элементу web хостинга — frontend серверу.

Frontend сервер nginx

В качестве frontend сервера выступает Nginx, работающий в режиме proxy_pass. В контексте данного раздела я рекомендую 2 статьи на тему настройки Nginx — настройка проксирования и базовая настройка nginx.

В данном случае не обязательно использовать именно Nginx. В некоторых ситуациях более актуальным будет взять HAProxy. Но в общем случае подойдет Nginx. На frontend сервер будут поступать все внешние http запросы. На него будут проброшены порты 80 и 443. Расскажу, для чего использовать отдельный frontend сервер. Ведь можно обойтись и без него.

  1. Удобство эксплуатации и обновления. К примеру, я хочу попробовать какую-то новую настройку — изменение ядра, модуля nginx и т. д. Я делаю копию frontend, настраиваю на нем все, что нужно и переключаю на него трафик. Если все в порядке, то оставляю в работе, либо переношу настройки на основной сервер. Если возникают какие-то проблемы, я просто переключаю проброс порта на старый сервер и все сразу начинает работать как прежде. В общем случае, frontend сервер очень маленький (20-30 гб под систему и логи).
  2. На frontend удобно работать с внешними запросами — контролировать, обрабатывать, блокировать, предотвращая доступ к бэкенду с данными. Например, можно настроить ipset и блокировать отдельные страны. Можно выстроить простейшую защиту от ddos. Можно настроить отдельный модуль ModSecurity для Nginx. Когда у вас frontend отдельно, вам проще настраивать и обновлять компоненты, не боясь нарушить работу сайтов.
  3. Frontend сервер аккумулирует все логи с внешних запросов и передает в ELK. Далее я покажу, как их удобно в автоматическом режиме сразу все передавать на хранение, а потом удобно анализировать.
  4. В общем случае с отдельным frontend сервером безопаснее. Все внешние запросы приходят к нему. Многие зловреды (как и легальные компоненты и плагины) не понимают, как работать на бэкенде, который стоит за frontend. Это как плюс так и минус в некоторых случаях, так как усложняется эксплуатация. Особенно хлопотно с битриксом, так как у него много сервисов и проверок, которые напрямую стучатся по внешнему ip домена и не понимают, что делать, когда попадают на фронтенд. Но это все решаемо.

На frontend настраиваются бесплатные сертификаты от Let’s Encrypt. Так как весь трафик от фронта до бэка крутится в рамках одного гипервизора, смысла передавать его в шифрованном виде нет. Так что на backend он идет по http.

С frontend я отправляю в ELK логи запросов только к php скриптам. Именно они представляют для меня полезную информацию, так как позволяют оценить скорость работы сайта. Информация от отдачи статики лично мне не нужна. В общем случае, я ее не собираю, а включаю отдельно по мере необходимости. Это позволяет не раздувать лог файлы.

Чем меньше их объем, тем удобнее и быстрее с ними работать.

Backend сервер nginx, apache, php

Про бэкенд сервер рассказывать особо нечего. Он настраивается в зависимости от потребностей проекта. В общем случае для php сайтов это будет либо настройка nginx + php-fpm, либо apache + php. Как я уже говорил, бэкендов может быть несколько. Если вы web студия или какое-то агенство, которое само хостит сайты клиентов, то у вас может быть как классический web сервер php, так и bitrixenv для размещения битрикс сайтов. А они сейчас очень популярны. Почти все интернет магазины, с которыми я работал, были на битриксе. Плюс коробки с bitrix24 иногда покупают. Если сотрудничаете с малым или среднем бизнесом, без битрикса скорее всего не обойтись. Я его хоть и не люблю, но работать приходится.

В общем случае на backend я не настраиваю ssl, но бывают исключения или различные ошибки. Вот примеры таких ошибок в работе типовых php сайтов:

  • Ошибка WordPress
  • Ошибка phpmyadmin

У Битрикса тоже есть похожие ошибки, но я их не зафиксировал в статьях.

Я каждый сайт размещаю в отдельной директории, например /mnt/web/sites/site.ru. В этой директории уже свои поддиректории www, logs, php_sessions и т.д. Владелец каждого сайта — отдельный системный пользователь. От этого пользователя работает php-fpm пул, который обслуживает только этот сайт. Для каждого пользователя настроен sftp доступ к конкретному сайту. Каждый сайт имеет доступ только к своей базе mysql или postgresql.

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

Мониторинг сайтов и серверов

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

  1. Мониторинг mdadm или железного контроллера. По последним, к сожалению, у меня нет статей, но в целом проблем с настройкой не возникает. У меня всегда гуглились подходящие решения. Если у сервера есть idrac, ilo, ipmi, можно с них брать нужные данные.
  2. Если есть доступ к смарту дисков, то настраиваю мониторинг smart. Очень рекомендую это делать, чтобы в случае выхода из строя какого-то диска, у вас была полная информация о нем, чтобы передать ее в службу технической поддержки для замены.
  3. Мониторинг подключений по ssh. Мне сразу приходит уведомление, если кто-то подключается к серверу по ssh. Если доступ есть не только у меня, то обязательно это настраиваю. Сильно упрощает жизнь и готовит к проблемам 🙂 Если доступ только у меня, то это небольшая защита и возможность быстро среагировать на несанкционированный доступ, хотя в реальности у меня ни разу такого не было.
  4. Мониторинг веб сервера, в данном случае frontend и backend. Иногда мониторинг бэка не делаю. Реально не так уж часто он нужен, хотя кажется, что полезно получать все метрики. Но лично моя практика такова, что они мне на деле чаще всего не нужны.
  5. Мониторинг сайта. Это одна из самых главных метрик, так как напрямую отвечает на вопрос, все ли у нас в порядке. Если сайт не работает или не доступен, то это наивысший приоритет проблемы. Так как мониторинг у нас локальный, он не дает полную картину происходящего, нужен еще один внешний. О нем подробнее расскажу далее. Локальный мониторинг сразу определяет, к примеру, если у нас упал backend и вместо страницы сайта видим 500-ю ошибку nginx. Или что-то еще. В общем, важная штука, рекомендую внимательно отнестись к мониторингу сайта. Рекомендую к нему обращаться напрямую через внутреннюю сеть гипервизора по локальному ip фронта. Для этого надо либо в host файл виртуалки с zabbix добавить все сайты по локальному ip, либо завести свой локальный dns сервер. Обычно я это делаю, если используется отдельная виртуальная машина под шлюз.
  6. Мониторинг делегирования домена и ssl сертификата. Штука не обязательная, настраивается по желанию. Если делегирование не так критично, так как регистраторы завалят напоминаниями на почту, то мониторинг ssl сертификатов рекомендую сделать. Их часто забывают продлить или возникают технические ошибки при работе с автопродлением Let’s Encrypt.
  7. Я всегда настраиваю мониторинг бэкапов в том или ином виде. Он сильно зависит от конкретной ситуации, от данных, от места хранения бэкапов и т.д. Готовых решений нет, приходится импровизировать на месте. Но если не настрою мониторинг бэкапов, не могу спать спокойно. Бэкапы периодически разворачиваю вручную и проверяю. Это сильно ограничивает количество клиентов, с которыми могу сотрудничать, так как труд ручной. Но это меня много раз спасало. Так что не пренебрегаю.
  8. Если есть почтовый сервер, настраиваю мониторинг postfix. За почтовым сервером рекомендую внимательно следить, особенно за очередью и количеством отправленных сообщений. Иногда учетки ящиков утекают в сеть и сервер начинает массово спамить. Если вовремя это не заметить и не остановить, можно залететь в спам листы и надолго там засесть. Это может парализовать работу того же интернет магазина, так как без почты он перестает нормально функционировать.

Основное по мониторингу перечислил. Частенько настраиваю что-то еще, в зависимости от потребностей конкретного заказчика. Если решение не типовое и нишевое, то статью не пишу по нему, хотя шаблоны себе сохраняю. Если есть какие-то критичные службы linux, можно мониторить еще и их.

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

Хранение логов в ELK Stack

Я складываю все логи в elasticsearch. У меня есть статья про установку и настройку ELK Stack. Недавно я обновил инструкцию по установке, но скрины оставил старые. Очень хлопотно их заменять. Сам процесс установки отражен правильно, так как я регулярно пользуюсь своей статьей. У меня есть несколько примеров того, как можно анализировать логи различных сервисов.

В контексте данной статьи по настройке приватного хостинга нас будет интересовать сбор web логов и их анализ:

  • Dashboard для логов Nginx в Kibana+Elasticsearch
  • Мониторинг производительности бэкенда с помощью ELK Stack

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

По дашборду я сразу получаю актуальную информацию о состоянии сайта — информация о средней скорости ответа на php запросы и карта распределения ответов по шкале. Почти все запросы укладываются в интервалы до 300 мс, что считаю хорошим результатом. Напоминаю, что это информация только о php запросах. На сайте настроено кэширование, так что большинство страниц уходят к посетителю значительно быстрее напрямую через nginx, минуя обработчик php.

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

Я так привык в ELK, что на сервера почти не хожу. Все логи собираю в нем (обязательно системные) и там же просматриваю. Плюс к этому мониторинг и управление через ansible, но об этом позже. Ходить на сервера по ssh практически нет необходимости.

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

На фронте у меня логи всех сайтов складываются в одну директорию /var/log/nginx и оттуда единым шаблоном уходят в filebeat, а с него в logstash и далее в elasticsearch в один общий индекс, который бьется по дням. Раньше я каждый сайт отправлял в отдельный индекс, но со временем понял, что это не удобно. Так приходится для каждого индекса создавать свои визуализации и дашборды. Когда сайтов много это хлопотно, хотя и можно автоматизировать, но большого смысла нет на моих масштабах.

Сейчас я собираю все в один индекс, делаю единый dashboard и в нем уже с помощью фильтров просматриваю данные по разным сайтам. Я вывел в лог nginx информацию об имени виртуального домена. Это удобно и быстро настраивается. Для каждого нового сайта не надо вообще ничего делать. Filebeat автоматом забирает его логи. С помощью фильтра в Kibana просматривается информация в логах.

Почтовый сервер и шлюз

На настройке почтового сервера и шлюза для нужд хостинга подробно останавливаться не хочется. Статья и так очень большая получается. К тому же тут особых нюансов нет. Нужен обычный шлюз и обычный почтовый сервер. Можно взять готовую сборку, к примеру, iredmail или zimbra. Я иногда использую первый. Но чаще всего настраиваю все сам на базе postfix + dovecot + postfixadmin + roundcube. Так же рекомендую свою статью-рассуждение на тему, какой почтовый сервер выбрать.

В качестве шлюза так же можно взять либо готовую сборку, к примеру, на базе pfsense, clearos или чего-то подобного, либо настроить все самому. Я обычно настраиваю сам, так как не люблю зоопарк из систем. Мне нравится единообразие. Так удобнее управлять инфраструктурой, поэтому все собираю сам. Вот пример настройки шлюза на centos 7. Статья давно написана, на полностью актуальна. Ничего принципиально не поменялось.

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

Если используются несколько дедиков в проекте, не объединенных в локальную сеть в рамках ЦОД, я их объединяю с помощью openvpn через интернет.

Backup сайтов

Для бэкапа я предпочитаю арендовать виртуальные машины в ruvds. К ним можно подключить большие диски — от 500 Гб и больше.

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

Если собираетесь делать бэкапы виртуальных машин, то настраивайте nfs сервер, подключайте его по vpn к гипервизору и настраивайте как отдельное хранилище для бэкапов. Штатным средством proxmox делайте регулярные бэкапы. В качестве nfs сервера отлично подходят виртуалки ruvds, так как там полноценная операционная система.

На этой же виртуалке ruvds я настраиваю простенький внешний мониторинг Zabbix для удаленным наблюдением за сайтами и физическими серверами по внешним ip адресам.

Так же я настраиваю дублирование бэкапов на s3 подобные хранилища с помощью rclone. Например, в selectel. Похожие хранилища есть у mail.ru и yandex.cloud. Облачные сервисы mail.ru я в настоящее время тестирую. Возможно будут статьи по этому поводу.

Я обычно делаю 3 контейнера в s3 с именами day, week, month и настраиваю правила хранения в них:

  • day — 14 дней
  • week — 31 день
  • month — бессрочно

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

Управление хостингом

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

Сейчас просто не работаю с панелями вообще. Если кто-то предлагает взять на поддержку сервер с панелью управления хостингом (ispmanager, plex, vestacp), сразу отказываюсь. Я не могу гарантировать стабильную работу сайтов на них.

Раньше я писал bash скрипты для быстрого добавления сайта или настройки системы. Когда сайтов не много, создавал их руками. Сейчас я все стараюсь делать с помощью ansible. В паблик пока не готов выдать свои наработки. Их оформить отдельный труд. Нужно для начала хотя бы обзорную статью про ansible написать. Черновик уже год как написан, но не хватает времени оформить в полноценную статью.

Перечислю основные моменты, которые нужно автоматизировать:

  • При добавлении виртуальной машины базовые настройки системы, подключение к мониторингу.
  • При создании сайта — создание конфига nginx на фронте и бэке, запрос на сертификат, создание директорий и системного пользователя для сайта, создание php-fpm пула, настройка ротации логов, создание базы данных и пользователя, доступ пользователя по sftp.
  • Поправить скрипт создания бэкапов. Создаю их bash скриптом. Есть мысли тоже через ansible делать, но пока не прорабатывал тему.
  • Добавление мониторинга сайта в Zabbix. Пока не реализовал. Надо делать через api заббикса. Руки не дошли. С автоматизацией веб проверок в заббиксе пока все плохо.

Это основное. Может что-то забыл. Первое время все делал топорно единой yaml лапшой файла плейбука. Последнее время все переделываю с использованием шаблонов, ролей, задач, хендлеров, инвентаря и т.д. Стараюсь использовать ansible правильно.

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

Например, при настройке firewall я всегда опасаюсь применять изменения в правилах. Вдруг где-то ошибся и что-то пойдет не так. Отрубится какой-то сервис или еще хуже — потеряю доступ к серверу. А когда у тебя есть шаблон и готовый плейбук по добавлению правил или заливки готового набора правил из шаблона, тебе достаточно проверить только переменные, чтобы в них не было ошибок. Далее прогнать на всякий случай плейбук в режиме check, а потом применить, если все в порядке.

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

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

Базовые рекомендации по настройке своего хостинга

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

  1. Закрывайте с помощью firewall все не публичные доступы — ssh, панель управления proxmox, phpmyadmin и т.д. Я долгое время не делал этого, так как боялся не получить доступ в экстренной ситуации, когда я не смогу зайти через доверенный ip адрес. На практике это не было никогда проблемой. Обычно разрешаю к подключению свой статический ip адрес и 2 vpn сервера тоже со статичными внешними адресами.
  2. Настраивайте мониторинг всех критичных вещей — состояние рейда, актуальность бэкапов, подключения по ssh к  серверам и т.д. Не делайте много уведомлений — только реально важные вещи. Если будет спам от мониторинга, толку от него становится мало. Делайте повторяющиеся уведомления для некритичных событий, которые часто откладываешь и забываешь исправить.
  3. Если занимаетесь работами по ускорению работы сайтов, можно в отдельной виртуальной машине настроить локальную версию сервиса webpagetest для объективной оценки скорости сайта без внешних сетевых задержек.
  4. Когда обновляете систему на виртуальной машине, сделайте ее snapshot. После установки, если все в порядке, не забудьте его удалить. Это простое правило может очень сильно выручить в случае нештатной ситуации. Кстати, обновления я всегда делаю вручную, не через ansible или какие-то еще средства автоматизации. Если нет полного дублирования функционала с автоматическим переключением на работающий сервис, предпочитаю вручную контролировать установку обновлений. К сожалению, не такая уж и редкость, когда обновление что-то ломает. Пример — elk stack или bitrixenv. Если обновление прошло без ошибок — это удача. Обычно что-то ломается.

Заключение

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

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

Онлайн курcы по Mikrotik

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую пройти курcы по программе, основанной на информации из официального курcа MikroTik Certified Network Associate. Помимо официальной программы, в курcах будут лабораторные работы, в которых вы на практике сможете проверить и закрепить полученные знания. Все подробности на сайте Курcы по ИТ. Стоимость обучения весьма демократична, хорошая возможность получить новые знания в актуальной на сегодняшний день предметной области. Особенности курcов:

  • Знания, ориентированные на практику;
  • Реальные ситуации и задачи;
  • Лучшее из международных программ.
Помогла статья? Подписывайся на telegram канал автора

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

Скачать pdf

Как настроить собственный хостинг? — Хабр Q&A

Неужто за 5 лет никогда не брали себе VPS?
Как у меня:
Взял VPS у VDsina,
Поставил CentOS 6 + VestaCP.
Домены делегирую яндексу, от яндекса идут на мой VPS
Под каждого клиента свой аккаунт в панели управления

Ответ написан

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

Ответ написан

Комментировать

Технически:
Во первых вам надо решить где вы будете рулить почту и ДНС.
Вариантов два:
У сторонних провайдеров (тот же упомянутый Яндекс предоставляет бесплатно и услуги почты, и управление ДНС).
Это даст вам меньше морок с настройками и снизит нагрузку на сервер.
На своём сервере — надо будет всё настроить и будут использоваться дополнительные ресурсы, но зато вы будете полноценным провайдером — все услуги одним пакетом.
Во вторых вам нужна панель для управления хостингом.
В принципе, можно использовать любую. Некоторые из них: ISPmanager, Plesk, cPanel, VistaCP, Virtualmin, Zpanel, ISPConfig, DirectAdmin. Есть платные, есть бесплатные.
При установке, панели автоматически устанавливают и настраивают большинство нужных служб и дополнений.
По моим ощущениям, ISPmanager один из самых простых, Virtualmin ближе чем другие к нативным настройкам компонентов (то есть меньше изменяет их под себя).
Также, большинство панелей имеют встроенный функционал для резервного копирования, мониторинга системы, управления обновлениями и других системных задач.
В третьих, вам надо рассчитать количество нужных ресурсов для сервера, и в соответствии с этим выбрать выделенный или виртуальный сервер.

Организационно:
Если вы хотите иметь возможность не только управлять автоматически хостингом, но и клиентами, пакетами услуг и оплатами — вам нужна ещё и панель для биллинга. Например: BILLmanager, WHMCS.
Для неё лучше использовать отдельный сервер, но это не принципиально.

Интеграцию панелей биллинга и хостинга в сайт надо будет делать отдельно (WHMCS имеет некоторые базовые настройки для этого).

Если есть ещё вопросы, пишите в Skype: olegburcamd

Ответ написан

Комментировать

По своему горькому опыту скажу, у меня вроде и чуть больше практики чем просто поставить на Linux стандартный LAMP, но мой VDS взломали через месяц! Хостер отключил мой VDS, в общем та еще морока была, благо там пару не серьезных сайтов было. А мораль этой басни такова: лучше бы я посидел эти пару ночей за изучением в своей сфере WEB разработки, чем занимался не своим делом, потратил зря врямя и нервы себе и техподдержке…

Ответ написан

Комментировать

Как настроить учетную запись хостинга — Hosting Server

Как настроить учетную запись хостинга — Хостинг-сервер — Namecheap.com

Как настроить, использовать и создать свой веб-сайт

Краткое руководство по виртуальному хостингу

Начало работы

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

  • Шаг 1. Подключите доменное имя к пакету хостинга
  • Шаг 2. Выберите инструмент для создания веб-сайта
  • Шаг 3. Обеспечьте безопасность своего веб-сайта
  • Шаг 2
  • Шаг 3

Шаг 1

Подключите ваше доменное имя к пакету хостинга

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

Перейдите к шагу 2 →

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

    Настройки доменного имени должны соответствовать следующим параметрам:
  • Сторона хостинга , где он автоматически появляется после покупки пакета хостинга и
  • сторона домена , где вам нужно будет переключиться на наш DNS.
Важно

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

Нужна помощь перед переключением DNS?

Свяжитесь с нашей круглосуточной службой поддержки клиентов

Где зарегистрировано ваше доменное имя?

  • Namecheap
  • Другой регистратор
  • Войдите в свою учетную запись и перейдите на вкладку Домены . Это покажет домены, которые вы в настоящее время зарегистрировали в Namecheap.

  • Выберите Управление рядом с доменным именем, по которому вы хотите перейти на свой сайт.

  • Прокрутите до раздела Nameservers и выберите Namecheap Web Hosting DNS в раскрывающемся меню. Пожалуйста, убедитесь, что вы сохранили все изменения, которые вы сделали, выбрав значок галочки.

Обратите внимание

После настройки серверов имен обновление всего может занять до 24–48 часов. Однако не беспокойтесь — вы можете начать создавать свой веб-сайт до завершения этого процесса.

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

Знаете ли вы?

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

  • Если ваше доменное имя зарегистрировано у другого регистратора, , пожалуйста, обновите DNS в соответствующем инструменте управления до следующего:

    • dns1.namecheaphosting.com
    • 09comadhosting.

Обратите внимание

После настройки серверов имен обновление всего может занять до 48 часов. Однако не беспокойтесь — вы можете начать создавать свой веб-сайт до завершения этого процесса.

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

Знаете ли вы?

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

Шаг 2

Выберите инструмент для создания своего веб-сайта

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

Для этого выберите «Список доменов» в представлении «Все продукты», наведите указатель мыши на значок «Хостинг», выберите «Управление» в раскрывающемся меню и нажмите «Перейти в cPanel».

Внимание

Активация новой учетной записи хостинга может занять до 30 минут. Поэтому не беспокойтесь, если вы видите «Предупреждение» рядом со значком вашего хостинг-плана в вашей учетной записи Namecheap; он должен быть активирован в ближайшее время.

После того, как вы вошли в свою cPanel , не стесняйтесь исследовать различные инструменты, которые включены в ваш план виртуального хостинга:

Конструктор веб-сайтов

Дает вам возможность создать свой веб-сайт без каких-либо технических знаний . Благодаря интерфейсу визуального редактирования с простыми решениями перетаскивания легко добавлять такие элементы, как изображения, текст и видео. Результат? Эстетически привлекательный, простой в использовании веб-сайт (или даже интернет-магазин ), который можно опубликовать за минут .

Покажи мне, как Скрыть, как

Как использовать:

Конструктор сайтов

  • Войдите в cPanel с панели учетной записи Namecheap. Затем найдите значок Конструктора веб-сайтов в своем выборе cPanel.

  • После перехода по ссылке вы должны увидеть доменное имя, связанное с вашим пакетом хостинга. Нажмите здесь.

  • Здесь вы сможете выбрать один из множества полностью оборудованных шаблонов и приступить к созданию своего веб-сайта.

Нужна дополнительная помощь по Конструктору веб-сайтов?

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

Hide Как

Softcovery

предоставляет вам доступ к таким приложениям, как WordPress для блогов , Magento и Opencart для E-Commerce , а также другие приложения для , на , на Фору. и т. д. Идеально подходит для тех, у кого есть некоторые технические знания , этот инструмент поможет вам начать работу всего несколькими щелчками мыши, не беспокоясь об установке, резервном копировании или восстановлении приложений.

Покажи мне, как Скрыть, как

Как использовать:

Softaculous

  • Войдите в cPanel из панели учетной записи Namecheap. Нажмите на иконку Softaculous из вашего выбора cPanel.

  • Используя установку WordPress в качестве примера, выберите значок WordPress и нажмите «Установить сейчас».

  • Вам будет предложено ввести некоторые данные. Наша рекомендация? Заполните раздел «Настройки сайта » и учетные данные панели администратора WordPress.

    Для повышения безопасности задайте пользовательский префикс таблицы и имя базы данных в процессе установки в расширенном разделе «Дополнительные параметры».

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

Нужна дополнительная помощь по Softaculous?

Проверьте все системы управления контентом (CMS), доступные с Softaculous. Работать с этим инструментом станет еще проще, если вы посетите нашу полезную статью.

Скрыть как

FTP/SFTP

Сокращение от File Transfer Protocol, это позволяет вам загружать существующих файлов в вашу учетную запись общего хостинга. Идеально подходит для тех, кто имеет сильные технические навыки и может код сайта с нуля. Войдите в систему, используя информацию, указанную в приветственном письме с темой «Данные вашей учетной записи хостинга для yourdomain.com», которое было отправлено вам при первой покупке пакета виртуального хостинга.

Покажи мне, как Скрыть, как

Как использовать:

FTP/SFTP

  • Войдите в cPanel из панели учетной записи Namecheap.

  • Получите доступ к FTP/SFTP через 1) файловый менеджер или 2) FTP-клиент (например, FileZilla). Ознакомьтесь с нашим иллюстрированным руководством по использованию FileZilla.

Нужна дополнительная помощь по FTP?

Чтобы предоставить доступ выбранным пользователям, вы также можете создать новые учетные записи FTP (не сообщая им свои данные для входа). Для каждой дополнительной учетной записи FTP, которую вы создаете, вы можете предоставить каждому пользователю разные уровни доступа, назначив этого пользователя определенному каталогу. Узнайте, как создавать новые учетные записи FTP. Если ваш веб-сайт содержит базу данных, вы можете предоставить доступ к отдельной базе данных, следуя этому руководству.

Скрыть как

Шаг 3

Обеспечьте безопасность вашего веб-сайта

Включите SSL

SSL-сертификаты, известные как стандартная форма шифрования для веб-сайтов, защищают ваши данные между серверами и даже помогают вашему рейтингу Google SEO. Все наши клиенты виртуального хостинга получают до 50 бесплатных сертификатов PositiveSSL в течение всего года для своего основного домена, субдоменов и дополнительных доменов. Узнайте больше о SSL для cPanel.

Выбирайте пароль с умом

Чтобы защитить свою учетную запись cPanel и ее данные, очень важно выбрать надежный пароль. Узнайте, как изменить пароль cPanel.

Рассмотрите возможность двухфакторной авторизации (2FA)

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

Исследуйте свой
Учетная запись общего хостинга

Настройка имени пользователя cPanel

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

Создание учетной записи электронной почты в cPanel

Знаете ли вы, что ваш пакет виртуального хостинга также включает службы электронной почты? Начните создавать несколько учетных записей электронной почты, которыми легко управлять через интерфейс веб-почты или другие почтовые клиенты. Узнайте, как настроить электронную почту с помощью Outlook, Thunderbird, Mac Mail или мобильного устройства.

Оптимизация вашего веб-сайта для целей SEO

Хотели бы вы получить более высокий рейтинг в Google? Узнайте, как сделать ваш сайт более узнаваемым для поисковых систем.

Близкий

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

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

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

Содержание

  • Убедитесь, что ваше соединение подходит для веб-хостинга
  • Выберите оборудование
  • Выберите операционную систему (ОС) и установите ее
    • Linux
    • Windows
  • 3
  • 3 Дома
  • Настройка виртуальных сетевых вычислений (VNC)
  • Установка протокола передачи файлов (FTP)
  • Установка HTTP
  • Настройка записей DNS
    • Предварительные требования для настройки DNS
    • Настройка зоны DNS
  • Установка DNS
    • DNS Lookup Upward Zone A Настройка DNS
        3
      • Изменение DNS-сервера для сетевых интерфейсов
      • Очистка кэша преобразователя DNS
      • Создание записи DNS для веб-серверов
    • Получите доменное имя и убедитесь, что оно работает
    • Проверка сервера
    • Часто задаваемые вопросы
      • Есть ли способ создать свой собственный сервер?
      • Как я могу создать свой собственный онлайн-сервер?
      • Как создать частный сервер?
      • Какие у меня недостатки при настройке собственного веб-хостинга?
      • Является ли самостоятельный хостинг обычным явлением?
      • Смогу ли я самостоятельно разместить сайт WordPress?
    • Заключение

    Убедитесь, что ваше соединение подходит для веб-хостинга

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

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

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

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

    Вот почему некоторые веб-хостинги гордятся тем, что они отлично подходят для SEO.

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

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

    Многие интернет-провайдеры обеспечивают жителям хорошую загрузку, но низкую скорость загрузки. Вам потребуется скорость загрузки не менее 25 Мбит/с и скорость загрузки 40 Мбит/с для запуска одного или двух веб-сайтов.

    Если вы хотите транслировать видео очень высокого качества, вам потребуется скорость загрузки не менее 100 Мбит/с и скорость загрузки около 10 Мбит/с. Убедитесь, что у вашего интернет-провайдера также не установлены ограничения на передачу данных в вашем интернет-соединении.

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

    Выберите оборудование

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

    Главное, что вам понадобится, это выделенный ПК. Хотя вы можете использовать либо старый ПК, либо ноутбук, ПК работает лучше всего, так как вам нужно подключить к нему дополнительные кабели (например, коаксиальный кабель, кабели с витой парой, оптоволокно) и коммутаторы (5-портовый или 8-портовый гигабитный коммутатор).

    Компьютер, который вы используете, должен иметь достаточно места для хранения жесткого диска емкостью 60 ГБ с не менее 25 ГБ свободного места, двухъядерного процессора с тактовой частотой не менее 2 ГГц и 2 ГБ оперативной памяти, порта USB и DVD-привод.

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

    Чтобы определить, какой тип ПК вам нужен, спросите себя:

    • Сколько у вас будет пользователей?
    • Вам нужно много места для хранения?
    • Вам потребуется много вычислительной мощности?

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

    Выберите операционную систему (ОС) и установите ее

    Это важный шаг в процессе настройки домашнего сервера.

    Тщательно обдумайте, какую операционную систему вы хотите использовать: серверную версию Windows или Linux.

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

    Linux

    Приблизительно 70% всех серверов в сети работают на Linux-машине. Это потому, что он бесплатный и простой в использовании и настройке. Серверы Linux также более безопасны, поскольку хакеры могут использовать гораздо меньше вредоносных программ.

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

    Есть также некоторые программы, с которыми Linux не будет работать, но большинство программ Windows будут работать на нем через программу под названием WineHQ.

    Windows

    Чтобы создать сервер дома с помощью Windows, вам необходимо приобрести лицензию. Это гарантирует, что вы получите долгосрочную поддержку по любым вопросам, с которыми вы столкнетесь.

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

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

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

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

    Установка и настройка сервера дома

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

    То, как это делается, зависит от того, какую операционную систему вы используете. В Windows вам нужно установить Internet Information Services (IIS), которая является надстройкой веб-сервера.

    С Линусом вам нужно будет установить Apache, Lighttpd или NGINX. Apache является наиболее известным. Вы также можете установить Apache на веб-сервер Windows.

    Если вы все еще не уверены, какой из них использовать, ознакомьтесь с нашим руководством по Nginx и Apache.

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

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

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

    Настройка виртуальных сетевых вычислений (VNC)

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

    Все ресурсы (например, принтеры, диски) будут доступны вам так же, как если бы вы сидели за компьютером.

    Итак, если вы хотите получить удаленный доступ к компьютеру или предоставить удаленную техническую поддержку, вам необходимо настроить VNC.

    Настроить VNC несложно. Вам нужно будет знать либо IP-адрес компьютера, либо его полное бесплатное доменное имя и пароль.

    Когда у вас есть эта информация, вот шаги, которые вы должны предпринять для ее настройки в системе Windows:

    • Перейдите в RealVNC и подпишитесь на бесплатную учетную запись «домашней подписки».
    • Загрузите и установите RealVNC на удаленный компьютер. Не забудьте сохранить параметры по умолчанию.
    • Войдите в приложение VNC и создайте для него пароль. Вы можете использовать команду vncpasswd, чтобы изменить свой пароль в любое время.
    • Настройте параметры маршрутизатора для переадресации портов (также известной как трансляция).
    • Сопоставьте свой динамический IP-адрес с именем хоста, чтобы ваш сервер не зависал, когда ваш интернет-провайдер (ISP) меняет ваш IP-адрес (что они часто делают). Вы можете получить бесплатный динамический DNS от Dynu.
    • Загрузите клиентское программное обеспечение на компьютер, на котором у вас есть лицензия Windows, чтобы убедиться, что ваше имя хоста остается сопоставленным.
    • Загрузите и установите VNC Viewer на свой локальный компьютер. Если вы используете Mac OS или браузер Safari, вы можете пропустить этот шаг.
    • Используйте программу просмотра VNC для доступа к удаленному компьютеру.

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

    Установка протокола передачи файлов (FTP)

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

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

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

    • FTP — это базовая зашифрованная форма, которую принимает большинство веб-браузеров
    • FTPS — это зашифрованное SSL/TLS, которое широко используется, но не поддерживается многими основными веб-браузерами.
    • FTPES — это обновленная версия шифрования TLS/SSL. Хотя он более совместим с брандмауэрами, он не поддерживается большинством основных браузеров, но все же предпочтительнее.

    Настроить домашний сервер с FTP несложно. На самом деле процесс установки довольно прост. Вам необходимо:

    • Откройте панель управления и нажмите Система и безопасность.
    • Нажмите на инструменты администрирования.
    • Дважды щелкните ярлык диспетчера информационной службы Интернета (IIS).
    • Перейдите на панель подключений и щелкните правой кнопкой мыши сайты.
    • Выберите добавить FTP-сайт.
    • Найдите там, где написано имя FTP-сайта, и назначьте своему серверу короткое имя.
    • Перейдите в свой управляющий каталог и найдите там, где указан физический путь.
    • Щелкните папку, в которой вы хотите хранить файлы FTP.

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

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

    • Перейти в раздел сайты.
    • Дважды щелкните параметр правил авторизации.
    • Щелкните добавить разрешающее правило.
    • Выберите либо всех пользователей, либо определенных пользователей. Это позволит вам указать, сколько пользователей могут получить доступ к вашему FTP-серверу.

    После всего этого вам все равно нужно настроить и активировать FTP-сервер в соответствии с вашими потребностями.

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

    Установите HTTP

    После того, как у вас есть оборудование и FTP-сервер, пришло время настроить программное обеспечение веб-хостинга для вашего собственного домашнего сервера. Чтобы иметь полностью работающее программное обеспечение, вам необходимо установить правильный программный стек LAMP.

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

    После установки Apache, MySQL и PHP у вас будет сервер HTTP (протокол передачи гипертекста), который является мощным инструментом для производственного использования. Его также достаточно просто использовать для локальной разработки, обучения и тестирования.

    Существует четыре версии HTTP (HTTP/0.9, HTTP/1.0, HTTP/1.1, HTTP/2.0). Вы захотите выбрать тот, который наиболее подходит для другого оборудования и программного обеспечения, которое вы установили на своем домашнем веб-сервере, и найти для него установочный пакет.

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

    Настройка записей DNS

    Система доменных имен (DNS) — это служба каталогов, обеспечивающая сопоставление узла сети с его числовым адресом. Прежде чем вы сможете начать использовать систему доменных имен на своем собственном сервере, вы должны установить и настроить ее.

    Предварительные требования для настройки DNS

    Перед настройкой DNS вам потребуется некоторая основная информация. Эта информация не нужна, если вы настраиваете сервер только для внутреннего использования.

    В противном случае вам потребуется следующее:

    • Ваше доменное имя
    • Имя хоста и IP-адрес каждого сервера (включая WWW-серверы, почтовые серверы, FTP-серверы, серверы общего доступа и т. д.), которые вы хотите разрешение имени для

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

    • Ваша операционная система настроена правильно, поскольку служба DNS для Windows зависит от правильной конфигурации операционной системы и ее службы (например, TCP/IP). )
    • Убедитесь, что вы выделили достаточно места на диске
    • Убедитесь, что все тома вашего диска используют файловую систему NTFS

    Настройка зоны DNS

    Чтобы создать зону DNS, вам необходимо:

    • Войдите в Диспетчер серверов и щелкните IPAM.
    • Появится консоль клиента IPAM, и вам нужно перейти в «Мониторинг и управление» (на панели навигации).
    • Щелкните Серверы DNS и DHCP.
    • Щелкните Тип сервера.
    • Щелкните DNS. Это вызовет список всех DNS-серверов, которыми управляет IPAM.
    • Найдите и щелкните правой кнопкой мыши сервер, на который вы хотите добавить зону.
    • Щелкните Создать зону DNS, чтобы открыть диалоговое окно.
    • Перейдите в Общие свойства, затем выберите категорию и тип зоны.
    • Введите имя в названии зоны.
    • Перейдите в Дополнительные свойства и выберите соответствующие значения для вашего развертывания.
    • Нажмите OK.

    Установка DNS

    После создания зон DNS вы готовы установить DNS на свой домашний сервер. Для этого:

    • Найдите и откройте Мастер компонентов Windows (нажмите «Пуск», затем «Панель управления»)
    • Нажмите «Установка и удаление программ».
    • Нажмите «Добавить или удалить компоненты Windows».
    • Установите флажок Сетевые службы.
    • Щелкните Подробности.
    • Перейдите в Подкомпоненты сетевых служб и выберите систему доменных имен (DNS).
    • При появлении запроса в поле Копировать файлы из введите полный путь к файлам дистрибутива.

    После завершения этого процесса начнется установка DNS.

    Настройка DNS

    Для настройки DNS-сервера необходимо выполнить 5 действий:

    • Откройте мастер настройки сервера.
    • Щелкните DNS-сервер.
    • Просмотрите и подтвердите параметры, выбранные на странице «Сводка вариантов».
    • Убедитесь, что вы видите два варианта: Установить DNS и Запустить мастер настройки DNS для настройки DNS. Если это так, нажмите «Далее». Если нет, нажмите «Назад», чтобы вернуться на страницу роли сервера, нажмите «DNS», затем нажмите «Далее».

    После того, как ваша служба DNS будет установлена, она определит, есть ли у вас статический IP-адрес или он был настроен автоматически.

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

    • Перейти к диалоговому окну свойств подключения по локальной сети
    • Щелкните Протокол Интернета (TCP/IP)
    • Щелкните Свойства
    • Щелкните Использовать следующий IP-адрес
    • Введите информацию о статическом IP-адресе сервера, маске подсети и шлюзе по умолчанию
    • Перейдите в предпочтительное поле DNS и введите IP-адрес сервера
    1 в поле «Альтернативный DNS» и введите IP-адрес другого внутреннего DNS-сервера или оставьте это поле пустым
  • Нажмите «ОК» и закройте программу

. Вам нужно будет выполнить следующие шаги здесь:

  • Перейдите на страницу «Выбор действия конфигурации»
  • Установите флажок «Создать зону прямого просмотра»
  • Нажмите «Далее»
  • Перейти на страницу расположения основного сервера
  • Нажмите Этот сервер поддерживает зону
  • Нажмите Далее
  • Перейдите на страницу «Имя зоны»
  • Укажите сетевое имя зоны DNS в поле «Имя зоны» (это имя должно совпадать с вашим именем DNS.)
  • Нажмите «Далее» Страница обновления
  • Нажмите «Разрешить как небезопасные, так и безопасные динамические обновления»
  • Нажмите «Далее». (Это гарантирует автоматическое обновление записей DNS-ресурсов вашей сети.)
  • Перейти на страницу серверов пересылки
  • Нажмите «Да» (это должно перенаправлять любые запросы на ваши DNS-серверы, у которых есть ваши IP-адреса)
  • Нажмите «Далее». Когда вы выбираете эту конфигурацию, вы перенаправляете все DNS-запросы для DNS-имен вне вашей сети в DNS вашего интернет-провайдера или центрального офиса.
  • Введите один или несколько IP-адресов, которые использует ваш интернет-провайдер или DNS-серверы центрального офиса.
  • Перейдите на страницу Завершение настройки мастера DNS мастера настройки DNS.
  • Нажмите Готово, чтобы применить выбранные настройки.

После завершения работы мастера настройки DNS мастер настройки сервера отобразит сообщение о том, что «Этот сервер теперь является страницей DNS-сервера».

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

Этот журнал можно найти по адресу: %systemroot%\Debug\

 

Настройте журнал сервера. Когда вы закончите, вам нужно закрыть мастер настройки сервера. Для этого нужно просто нажать Finish.

Настройка зоны прямого просмотра DNS

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

Однако, если вам все же нужно настроить зону прямого просмотра, вот что вам нужно сделать:

  • Перейдите в меню «Пуск», затем в инструменты администрирования, чтобы открыть DNS.
    • Первичный: Это исходная зона и основной источник информации для этой зоны.
    • Вторичная: Это доступная только для чтения копия основной зоны, которая может получать только обновления из нее.
    • Интеграция с Active Directory: Это основная зона DNS, которая хранится в Active Directory, поэтому она может использовать как репликацию с несколькими мастерами, так и функции безопасности Active Directory.
    • Заглушка: Это копия зоны DNS, которая содержит только записи ресурсов, идентифицирующие DNS-серверы этой зоны.
    • Обратный поиск: Эта зона DNS используется в основном для преобразования IP-адресов в имена сетевых ресурсов.
  • Выберите метод, который вы хотите использовать для репликации данных зоны по всей сети (это зависит от типа создаваемой зоны).
  • Введите имя зоны.
  • Решите, какой тип обновлений вы хотите разрешить.
  • Нажмите «Далее».
  • Нажмите «Готово».

Изменение DNS-сервера для сетевых интерфейсов

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

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

Если вы хотите изменить DNS-сервер для своих сетевых интерфейсов, вам необходимо:

  • Перейти к сетевым подключениям
  • Щелкните правой кнопкой мыши подключение по локальной сети. Свойства подключения по локальной сети
  • Выберите Интернет-протокол (TCP/IP)
  • Нажмите «Свойства»
  • Нажмите «Использовать следующие адреса DNS-серверов» кнопку Дополнительно, чтобы сделать это.

    Очистить Кэш преобразователя DNS

    Кэш преобразователя DNS — это временная база данных, которую сервер создает для хранения данных о ваших последних запросах DNS. Этот кеш помогает ускорить процесс поиска возвращаемых IP-адресов.

    Чтобы увидеть, какие записи в данный момент там хранятся, введите следующую команду: ipconfig /displaydns

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

    Для этого вам потребуется ввести следующую команду: ipconfig /flushdns

     

    Вы узнаете, что это было выполнено успешно, когда получите сообщение о том, что «Конфигурация IP-адресов Windows успешно сбросила кэш преобразователя DNS.

    Создайте запись DNS для веб-серверов

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

    Для этого вам нужно создать каноническое имя (CNAME) для DNS-сервера, а затем Internet Information Services (IIS).

    Это важный шаг, поскольку он гарантирует, что вы сможете подключаться к внешним компьютерам веб-хостинга к вашему веб-серверу через ваше имя хоста «www». Чтобы создать эту новую запись DNS, вам необходимо:

    • Откройте оснастку DNS: Пуск > Администрирование > DNS
    • Разверните «Имя хоста» («Имя хоста» — это имя веб-хостинга DNS-сервера)
    • Разверните зоны прямого просмотра
    • Щелкните правой кнопкой мыши нужную зону
    • Щелкните Новый псевдоним (CNAME)
    • Введите «www» в поле «Псевдоним» установлен в целевом хосте
    • Нажмите OK, чтобы завершить изменения. .

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

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

      Если не хотите платить за это, можете зайти на сервис типа No-IP и зарегистрировать бесплатный субдомен.

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

      Для этого вам необходимо создать запись A (запись адреса домена, которая является частью системы DNS, сопоставляющая доменное имя с IP-адресом).

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

      • Войти в панель управления
      • Нажмите на настройки DNS
      • Перейдите к своим записям DNS
      • Нажмите A
    • Если имя хоста не заполнено вы вводите субдомен
    • Введите IP-адрес
    • Оставьте TTL пустым
    • Нажмите создать запись и сохраните настройки

    Ваш сервер будет готов через несколько часов.

    Тестирование сервера

    Единственное, что осталось сделать с вашим собственным сервером дома, это протестировать его.

    Вам просто нужно открыть браузер и ввести http://<ваш домен без IP>.com

     

    Вы увидите страницу, которая запрашивает ваше имя пользователя и пароль FTP.

    Если это не работает, введите http://<ваш ЛОКАЛЬНЫЙ IP>

     

    Если ни один из этих способов не работает, это означает, что ваш сервер не работает, и вам нужно начать заново. Убедитесь, что вы также протестировали FTP.

    Часто задаваемые вопросы

    Есть ли способ создать свой собственный сервер?

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

    Если вы все еще хотите это сделать, первое, что вам нужно сделать, это получить подходящее оборудование (компьютер с жестким диском на 60 ГБ, не менее 25 ГБ свободного места, двухъядерный процессор с тактовой частотой 2+ ГГц). , 2 ГБ оперативной памяти, USB-порт, DVD-привод). Как только вы это сделаете, вам нужно будет пройти через простой процесс.

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

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

    Убедитесь, что вы установили порт 80 как для частного (это ваша локальная сеть, также известная как LAN), так и для общедоступной (это ваша глобальная сеть, также известная как WAN).

    Как создать частный сервер?

    Создать приватный сервер не так сложно, как может показаться.

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

    Какие у меня недостатки при настройке собственного веб-хостинга?

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

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

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

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

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

    Например, Netflix и Reddit платят Amazon за услуги веб-хостинга. Единственный способ, которым вы можете убедительно обосновать самостоятельный хостинг, — это иметь огромный сайт, такой как Google. Однако большинство веб-сайтов никогда не будут такими большими.

    Смогу ли я самостоятельно разместить сайт WordPress?

    Большинство программ WAMP (Windows, Apache, MySQL и PHP) позволяют устанавливать системы управления контентом (CMS).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *