Руководство по управлению сервером

Время на прочтение
12 мин

Количество просмотров 38K

Многим из тех, кто сегодня нуждается в веб-хостинге, необходим простейший метод управления серверами. Обычно предполагается, что вместе с хостингом предоставляется и графический интерфейс (GUI). И действительно, нередко хостеры предлагают лучшие панели управления – веб-консоли. Они представляют собой веб-интерфейс, позволяющий администраторам и/или пользователям управлять различными сервисами сервера в комфортной среде веб-браузера.

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

Типовые средства панелей управления

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

  • Управление системой доменных имен (веб-домены, почтовые домены и пр.).
  • Управление системой электронной почты (адреса электронной почты, квоты, предотвращение спама, и др.).
  • Управление FTP (учетные записи пользователей, управление паролями, квотирование файловых систем).
  • Доступ к файловой системе из веб-интерфейса.
  • Управление пользователями/ключами SSH.
  • Управление базами данных (MySQL, PostgreSQL и иногда другими системами баз данных).
  • Управление резервным копированием.
  • Доступ к логам и создание отчетов.
  • Плагины для конфигурирования дополнительных сервисов и инсталляции приложений (например, WordPress).

Корпоративные средства панелей управления

Некоторые проекты предлагают также средства корпоративного класса, например:

  • Управление несколькими серверами с одной панели управления.
  • (Для хостов) позволяют нескольким клиентам параллельно запускать программную панель управления на сервере.
  • Мониторинг сервисов и оповещение.
  • Систему обработки обращений клиентов.
  • Поддержку протокола IPv6.

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

Возможности этих панелей управления разнообразны. Некоторые, возможно, лучше всего подходят для виртуального хостинга (shared), в то время как другие очень популярны среди пользователей облачного хостинга. Тем не менее, работает ли ваш сайт на базе выделенных серверов (dedicated), VPS, или размещается в общей среде, всегда пригодится возможность управлять файлами, электронной почтой, приложениями и пр. из единого интуитивно понятного интерфейса. Подчас это имеет неоценимое значение.

Обзор панелей управления

cPanel

cPanel – наиболее широко применяемая веб-консоль. Владельцы сайтов используют cPanel как панель управления, а хостинг-провайдеры — Web Host Manager (WHM) в качестве инструмента администрирования.

В целом и cPanel, и WHM можно рассматривать как самые полнофункциональные системы. Хотя cPanel поддерживается только в Linux, поддержку Windows можно реализовать с помощью продукта Enkompass или через виртуализацию. Однако пользовательский интерфейс, будучи простым, определенно не является лучшим среди веб-консолей.

  • Средства
  • Демо
  • Цены

Plesk

Plesk — ведущая панель управления в США, ей принадлежит также примерно 75-80% европейского рынка. Поддерживая широкий спектр версий Linux, а также обеспечивая совместимость с Windows, она поставляется в нескольких изданиях, Каждое предназначено специально для конкретного варианта хостинга и сценария использования.

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

» Бесплатная демо-версия

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

Особенности

  • Независимость от хостов/ОС: Plesk можно устанавливать на широкий спектр операционных систем и практически на любой хост. Если вы используете любую разновидность популярной версии Linux (CentOS, Ubuntu, CloudLinux и пр.) или даже Windows, то можно запустить Plesk. В качестве дополнительного бонуса вы даже можете запустить Plesk внутри контейнера Docker, взятого с Docker Hub. Это сильный козырь, отличающий Plesk от cPanel, которая работает только на CentOS.
  • Интеграция с Git: В ответ на жалобы, что многие веб-консоли не поддерживают Git, популярную систему контроля версий, применяемую для отслеживания изменений и обновлений сайтов, в Plesk было добавлено расширение Gitman. Данное расширение доступно в версии Plesk 12.5 и старше, а в будущей версии Plesk в ядро будет встроена полная поддержка Git.
  • Интеграция с Docker: В релизе октября 2016 года ядро Plesk будет включать также поддержку Docker с каталогом из более 200 000 образов Docker. Это даст возможность запускать образы Docker прямо из Plesk, без помощи командной строки.
  • Безопасность SSL: Даже тем, кто не имеет опыта хостинга, следует разбираться в средствах безопасности SSL. К сожалению, настраивать и обновлять их подчас непросто. Благодаря новым сервисам типа Let’s Encrypt оснащение сайта средствами безопасности SSL (TLS) значительно упрощается, а потому нет никаких причин оставлять ваши страницы незащищенными. Plesk будет автоматически обрабатывать получение сертификата и конфигурировать файлы базы данных для доступа по https, что обеспечит защиту и веб-консоли, и размещенных на сервере сайтов. Это включает и такие «вкусности» как обновление вашего сертификата, поддержку HTTP2 и предоставление вам подробной информации по безопасности, когда ваш сервер подвергается атаке.
  • Поддержка WordPress: Будущая расширенная версия позволит пользователям WordPress одним кликом доверить управление безопасностью Plesk. Консоль Plesk возьмет на себя управление обновлениями плагинов, исправление ошибок в ПО и применение обновлений для усиления безопасности.
  • Демо
  • Цены

Для более продвинутых пользователей панель предусматривает поддержку многочисленных версий PHP, а поддержка Ruby, Python и NodeJS реализована через Phusion (в релизе Plesk Onyx она уже встроенная). В числе поддерживаемых популярных Linux-систем — Ubuntu, CentOS, RHEL, Debian и CloudLinux, а для Ubuntu и Debian возможен апгрейд.

DirectAdmin

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

  • Средства
  • Демо
  • Цены

Core-Admin

Core-Admin – панель разрабатывалась как централизованное решение с широкими возможностями подключения, которое позволяет управлять несколькими серверами с одной веб-консоли. Это ПО включает развитую систему назначения полномочий и функции мониторинга. Есть бесплатная версия Free Web Edition на 10 доменов.

  • Средства
  • Демо
  • Цены

InterWorx

InterWorx предлагается в виде двух пакетов: NodeWorx (для управления сервером) и SiteWorx (для управления сайтом). В Interworx хорошая система плагинов, позволяющих быстро устанавливать приложения, что напоминает менеджер веб-пакетов Softaculous. Есть в InterWorx и интерфейс командной строки.

  • Демо
  • Цены

ISPmanager

ISPmanager – гибкая панель управления на базе Linux, предлагаемая ISPsystem, ведущим российским поставщиком решений для автоматизации VPS хостинга. За почти двадцатилетнюю свою историю ISPmanager стала одной из самых популярных веб-консолей в Восточной Европе, растет ее популярность и в других регионах. Эта мощная панель доступна в двух редакциях. Обе можно кастомизировать для работы с неограниченным числом доменов и пользователей и в соответствии с вашим брендингом.

Версия ISPmanager Lite разработана для управления VPS и выделенными серверами.

ISPmanager Business – идеальный вариант для виртуального VDS хостинга (shared) или реселлеров хостинга. ISPmanager – коммерческий продукт с функциями, аналогичными функциям панелей премиум-класса, при относительно низкой цене, поэтому многие пользователи считают данный вариант наиболее выгодным. Сочетание богатых функциональных возможностей ISPmanager и приемлемой стоимости – то качество, благодаря которому мы с удовольствием представляем данный продукт пользователям.

  • Средства
  • Цены
  • Демо и ознакомительная версия на 30 дней

i-MSCP

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

  • Средства
  • Исходники

Froxlor

Froxlor – также веб-консоль из разряда Open-Source с очень понятным интерфейсом. В ней есть поддержка IPv6, система обработки обращений клиентов и встроенная система обмена сообщениями «реселлер-заказчик». Идеальный вариант для интернет-провайдеров и подобных организаций.

  • Средства
  • Демо
  • Исходники

Vesta

Vesta — продукт Open Source, претендующий на звание самой простой и «легкой» веб-консоли. Он не поддерживает средства корпоративного уровня (вроде многосерверных инсталляций), но разработчики постарались сфокусировать свое внимание на производительности, для чего в качестве фронт-энда использовали Nginx, а в роли бек-энда приложения — Apache.

  • Средства
  • Исходники

ZPanel

Zpanel (не обновлялась с марта 2014 и, возможно, уже не поддерживается) – панель управления Open Source «корпоративного класса с поддержкой неограниченного числа реселлеров». Интерфейс продукта компактен и высокофункционален. Zpanel поддерживает многие операционные системы, включая Linux, Windows, MacOS и FreeBSD.

  • Средства
  • Исходники

Sentora

Sentora – ответвление ZPanel. Это разделение произошло после продажи Zpanel компании, базирующейся в США. Sentora считается версией ZPanel, развиваемой сообществом пользователей. Команда Sentora предлагает также премиальную поддержку по модели подписки.

  • Исходники

Webmin

Webmin — панель управления Open Source для системного администрирования в среде Linux/Unix. В ней есть десятки модулей для конфигурирования сервисов сервера. Инструментарий Cloudmin – интерфейс на базе Webmin для управления системами виртуализации, включая Xen, KVM и OpenVZ.

  • Демо
  • Исходники

ISPConfig

ISPConfig – популярная панель управления Open Sourcе с хорошей корпоративной поддержкой. Число ее скачиваний достигает 40 тыс. в месяц, в продукте есть хорошие инструменты для работы с несколькими серверами, поддержка IPv6и виртуализации (OpenVZ). Это идеальный вариант для сервис-провайдеров и корпоративной среды.

  • Демо
  • Средства

Ajenti

Ajenti – веб-консоль на базе Python, что отличает ее от систем управления на PHP. На сайте говорится, что у Ajenti свыше 55 000 активных пользователей. Консоль имеет очень хорошо спроектированный интерфейс. Ajento работает в различных дистрибутивах Linux и FreeBSD.

  • Исходники

BlueOnyx

BlueOnyx – веб-консоль Open Source, которая работает только в дистрибутивах CentOS и Scientific Linux. Ее интерфейс может показаться несколько устаревшим, но в числе многих других средств эта панель управления предлагает хорошую поддержку многопользовательских инсталляций.

  • Средства
  • Демо

CentOS Web Panel

CentOS Web Panel – веб-панель Open Source для CentOS Linux. Она содержит солидный набор функций, аналогичных большинству других веб-панелей, хотя возможность управления несколькими серверами отсутствует.

  • Средства
  • Демо

Virtualmin

Virtualmin – популярная панель управления, в основном Open Source. Предлагается она в трех версиях:

» Virtualmin GPL – базовая веб-консоль с богатым набором средств и приятным интерфейсом. Этот продукт доступен только в виде модуля Webmin. Webmin является одной из популярных в мире Linux / UNIX систем управления пользовательского интерфейса и имеет более трех миллионов загрузок в год.
Панель Virtualmin предлагает четыре метода управления сервером: через веб-интерфейс, с мобильного устройства, из командной строки и через удаленный HTTP API.

» Virtualmin Professional упрощает инсталляцию и обновление многих других приложений (например, WordPress, Joomla, Magento, NodeJS) и предусматривает коммерческую поддержку.

» Cloudmin Professional – панель управления несколькими серверами, реализованная на базе Virtualmin. Она используется компаниями и провайдерами для развертывания облачных сервисов. Cloudmin поддерживает Xen, vserver, Solaris Zones и Amazon EC2.

  • Средства
  • Демо
  • Цены
  • Исходники

Virtualmin Professional имеет более продвинутые средства для инсталляции приложений:

Заключительное замечание

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

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

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

Проприетарные панели управления

Удаленный доступ

Некоторые панели реализуют доступ к базовой ОС  через Java-апплет, при этом клиентская сторона должна использовать ПО Java Virtual Machine. Другие предоставляют прямой доступ через telnet или SSH.


Данная статья является доработанным переводом этой статьи и этой таблицы.

Предприятия получают необходимые им услуги и функции (базы данных, электронная почта, хостинг веб-сайтов, рабочие приложения и пр.) для своих корпоративных ИТ-систем на базе серверов, вернее, т. н. «серверных ферм» (server farm). Они обычно располагаются в дата-центрах, частных (расположенных в самой организации) или публичных (облачных).

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

Что такое управление сервером?

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

Основные цели управления сервером:

  • Минимизация (и по возможности – полное устранение) замедления работы и простоев;
  • Создание среды для безопасной работы серверов;
  • Создание условий для эволюции с целью удовлетворения нужд организации по мере ее роста.

Различные функции управления серверами

Различные функции управления серверами

Виртуальный сервер

Виртуализация – основной тренд в информационных технологиях. Традиционный сервер работает на отдельной физической машине, в то время как виртуальный сервер позволяет работать множеству серверов в виде множества виртуальных машин на одном физическом сервере. Это дает возможность повысить эффективность использования физического оборудования. Например, если в случае одиночных физических серверов в дата-центре средняя величина загрузки процессоров составляет 4 %, то в случае виртуальных машин (серверов) загрузка физического процессора может быть до 80-90 % и более.

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

Основные элементы систем управления серверами

Управление серверами включает следующие элементы:

  • Управление оборудованием. Мониторинг состояния оборудования (процессор, память, и пр.) для обеспечения наилучшей работы сервера.
  • Управление программным обеспечением. Предусматривает регулярное обновление ПО, встроенного ПО (firmware) и операционных систем.
  • Управление безопасностью. Меры безопасности, такие как: антивирусное ПО, фаерволы, управление доступом и шифрование данных.
  • Управление резервированием. Регулярное резервное копирование данных и план восстановления данных в случае аварий.

Управление оборудованием

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

  • Центральное процессорное устройство ЦПУ (Central Processing Unit, CPU), процессор. Процессор – это «мозг» сервера, выполняющий вычисления, которые обеспечивают возможность работы приложений. За загрузкой процессора необходимо постоянно следить, чтобы программы работали корректно и без задержек. Если загрузка процессора приближается к 100 %, то есть большой риск, что при включении какого-то нового процесса процессор перестанет нормально работать, и сервер, как говорят ИТ-инженеры, «зависнет». Если средняя загрузка процессора подходит к критическому пределу, то необходимо либо заменить чип процессора на более мощный, либо остановить работу необязательных программ, занимающих системные ресурсы. Более тонкая настройка может заключаться в регулировке других элементов системы, чтобы снизить нагрузку на процессор.
  • Оперативное запоминающее устройство ОЗУ (Random Access Memory, RAM), память. RAM – это рабочая память сервера. Серверная оперативная память предназначена для временного хранения данных программ и результатов вычислений, работает гораздо быстрее, чем постоянная память – жесткие диски (HDD), твердотельные накопители (SSD) и пр. Чем больше оперативной памяти имеется в сервере, тем лучше его производительность. За использованием RAM необходимо постоянно следить и если средняя по времени величина занятой памяти подходит к ее максимальному объему, то необходимо принимать меры по расширению памяти.
  • Жесткий диск (Hard Disk Drive, HDD). Это постоянная память, накопитель данных сервера. Здесь хранятся программы и данные, которые остаются на жестком диске даже при выключении питания в отличие от ОЗУ, где информация сохраняется только при включенном питании. Если жесткий диск «забит» данными «под завязку», это тоже сильно снижает производительность сервера в целом. Поэтому нужно постоянно следить за наличием свободного места на жестком диске, добавлять новые диски, удалять ненужные данные. Либо стоит рассмотреть вопрос о подключении к облачному хранилищу, где все вышеуказанное будет делаться автоматически.
  • Температура процессора. Серверы при работе обычно выделяют много тепла. Большинство серверов поставляются с проводными термометрами, отслеживающими, находится ли температура процессора в заданных пределах. Если сервер сильно греется, необходимо найти причины повышения температуры. Работа сервера в таком режиме может привести к сбоям в работе приложений и полному выходу процессора из строя. Охлаждающие вентиляторы – это один из необходимых компонентов физического сервера. При выходе из строя вентиляторов (которые еще называют «кулерами») возникает высокий риск перегрева процессора физического сервера и выхода его из строя.
  • Окружающая среда. Кроме контроля за температурой внутри сервера, необходимо постоянно следить за окружающей температурой. В серверной комнате должна поддерживаться соответствующая температура и влажность, должны контролироваться воздушные потоки («горячие и холодные коридоры»). Это не только помогает предотвратить поломки сервера, но и позволяет достичь его оптимальной производительности.

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

Управление программным обеспечением

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

Необходимо также регулярно делать обновления ПО приложений, встроенного firmware и операционных систем. Это повышает как производительность всей ИТ-системы, так и ее безопасность, поскольку плохая производительность сервера тянет за собой другие части системы и потенциально создает уязвимости для кибератак в ИТ-систему. Хорошей практикой также является удаление старого ПО, которое более не используется.

Безопасность

Важный компонент управления сервером – это обеспечение безопасности. Политики безопасности могут различаться в зависимости от типа и нужд бизнеса. Общие решения безопасности серверов могут включать:

  • установку и поддержание актуальности антивирусного ПО;
  • использование фаерволов для отсечения неразрешенного трафика из внешней сети;
  • использование политики установки и создания паролей для доступа персонала к оборудованию и ПО;
  • шифрование важных данных в системе хранения и на внешних соединениях для передачи по сети;
  • использование средств SIEM (Security Information and Event Management) для лучшего понимания потенциальных угроз.

Резервирование данных и оборудования

Для надежной и стабильной работы сервера необходимо делать регулярные резервные копии его данных («бэкап»). Потеря важных данных может быть катастрофой для любого предприятия. По информации американского оператора Verizon, около 70 % потерь данных происходят за счет внешних факторов. А 40 % малых и средних предприятий в 2019 году не смогли восстановить свой бизнес после потери большого количества данных. Тем более удивительно, что по данным исследовательской организации Ponemon Institute, 39 % малых и средних предприятий не имеют никакого плана восстановления важной корпоративной информации в случае аварий и потерь данных.

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

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

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

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

Управлять серверами самому или использовать аутсорсинг?

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

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

Выбор системы управления серверами

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

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

Данное руководство предназначено для развертывания и настройки VDS сервера на примере Ubuntu 20.04 с установкой веб-сервера nginx, php 7 и сервера базы данных MySQL.

Автор материала

Артем. Веб-разработчик, создатель проекта Лектория, эксперт MODX Revolution, директор веб-студии OpenColour. Youtube-канал OpenModx.

Для чего?

Вы уже получили навыки в создании web приложений и хотите разместить созданный сайт в интернете, но как это сделать? Все просто! Есть хостинг провайдеры, которые, как раз и предоставляют услуги, по размещению сайтов в сети. Заходя на страничку к провайдеру, вы видите, что можно взять в аренду виртуальный хостинг или VDS.

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

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

  1. размер дискового пространства;
  2. количество месячного трафика;
  3. количество сайтов, которые можно разместить в рамках хостинга как одной услуги;
  4. количество баз данных и количество места под базы данных;
  5. количество почтовых ящиков и FTP-аккаунтов;
  6. ресурсы CPU;
  7. количество оперативной памяти.
Примеры тарифов (хостинг timeweb)
Примеры тарифов (хостинг timeweb)

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

Альтернативой виртуального хостинга является использование VDSVPS (Virtual DedicatedPrivate Server) — это, виртуальный выделенный или приватный сервер, который предоставляется хостинг провайдером в аренду заказчику.Чтобы не вводить в заблуждение, сразу отмечу, что разницы между аббревиатурами VPS и VDS нет никакой. Дело в том, что два этих понятия появились практически одновременно и параллельно развивались.

Что же такое VDS? Говоря простым языком, поставщик услуг на своем оборудовании, с помощью средств виртуализации разворачивает несколько виртуальных (программных) серверов. С точки зрения функциональности такой сервер ничем не отличается от физического, на него также устанавливаются операционная система и программное обеспечение, он также расположен в сети и управляется, как и остальные ПК, средствами удаленного администрирования. При этом данный сервер находится на удаленной площадке провайдера, которая защищена от сбоев и оптимизирована под работу 24/7/365. В свою очередь хостинг провайдер берет на себя все обязательства по обслуживанию и сопровождению оборудования и системы виртуализации. Но соответственно цену на эту услугу несколько выше чем на виртуальный хостинг.

Примеры тарифов VDS
Примеры тарифов VDS

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

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

Что бы исправить возникшую несправедливость и обучить настройке и азам администрирования VDS и создано это руководство.

Исходные данные

Определим, что у нас есть некоторый сайт, работающий на php+MySQL под управлением некой CMS (в нашем случае это будет MODX Revolution, но на процесс настройки VDS это не влияет), а это значит, что помимо развертывания CMS необходимо установить и настроить основные модули php, nginx, mysql. Для этого определим следующую последовательность наших действий:

  1. Регистрация на хостинге и конфигурация VDS;
  2. Создание VDS из панели управления;
  3. Подключение по SSH;
  4. Обновление и установка пакетов системы;
  5. Установка nginx + php;
  6. Установка mariadb (mysql);
  7. Создание нового пользователя системы;
  8. Конфигурирование php-fpm;
  9. Конфигурация nginx;
  10. Конфигурация mysql;
  11. Создание пароля для root пользователя mysql;
  12. Создание нового пользователя и базы данных для сайта;
  13. Создание недостающих каталогов и перезапуск сервисов;
  14. Установка MODX.

Регистрация на хостинге и конфигурация VDS

В руководстве будем пользоваться услугами компании timeweb. Переходим на вкладку VPS / VDS, из предлагаемых тарифов выбираем тот, который нам подходит по характеристикам и нажимаем кнопку заказать. После этого попадаем в окно регистрации и выбора параметров виртуального сервера.

В текстовые поля вводим свою фамилию, имя и отчество, и адрес электронной почты. В выпадающем списке меняем операционную систему на Ubuntu 20.04

Форма регистрации
Форма регистрации

Далее жмем кнопку «ЗАКАЗАТЬ» и переходим к оплате. После окончания регистрации на электрону почту придет письмо, содержащее данные для подключения к виртуальному серверу (ip адрес сервера, пароль root пользователя).

Root – это суперпользователь в системах *nix. С помощью этой учетной записи можно осуществлять административные операции над важными файлами ОС.

Создание VDS из панели управления

Если вы уже зарегистрированы на этом хостинге, то заходим панель управления, нажимаем кнопку «СОЗДАТЬ СЕРВЕР» (1), вводим имя сервера (2), выбираем операционную систему «Ubuntu 20.04» (3), указываем конфигурацию сервера (выбираем тариф) (4). Чтобы создать виртуальный сервер в верхней части окна, нажимаем на кнопку «СОЗДАТЬ СЕРВЕР».

Панель управления при создании нового сервера
Панель управления при создании нового сервера

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

Подключение по SSH

Для подключения к серверу мы будем использовать встроенный терминал macOS или, если вы работаете в операционной системе windows, то программой Putty.

SSH — (Secure Shell) — это протокол удаленного управления компьютером с операционной системой Linux. В основном ssh используется для удаленного управления серверами через терминал.

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

Откройте окно терминала и введите следующую команду

где ssh — означает подключиться к удаленному компьютеру по протоколу ssh, в записи «root@193.168.3.225» — обозначает имя пользователя (root), @ — разделитель, 193.168.3.225 — ip адрес удаленного компьютера (смените на полученный в письме)

Нажмите клавишу «Enter», введите пароль и нажмите еще раз «Enter». Приглашение терминала изменится и это является свидетельством подключения к серверу.

Вид терминала после успешного подключения по SSH
Вид терминала после успешного подключения по SSH

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

root@343158-artprog157:~#

Такая запись называется приглашением терминала (командной строки), состоит из:

  1. root — имя подключенного пользователя;
  2. @ — разделитель;
  3. 343158-artprog157 — имя компьютера
  4. знак «#» на конце строки означает, что пользователь имеет права суперпользователя, у обычного пользователя знак «$».

Обновление и установка пакетов системы

Обновление пакетов системы является неотъемлемой частью перед установкой программного обеспечения и настройкой сервера. В Ubuntu используется пакетный менеджер APT (Advanced Package Tool, Улучшенный инструмент для работы с пакетами), который умеет работать с репозиториями, разрешать зависимости и взаимодействовать с dpkg, которая, собственно, и занимается установкой пакетов. APT всегда работает с локальным кешем списков, поэтому перед любыми действиями с пакетным менеджером следует обновить списки в кэше. Это можно сделать следующей командой

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

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

Установка nginx + php

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

apt-get install {имя пакета}

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

apt-get install nginx php-common php-cli php-curl php-json php-gd php-mysql php-xml php-zip php-fpm php-mbstring php-bcmath php-pear

И так, мы выполнили установку nginx и php с библиотеками. Проверим, как установились пакеты. Для этого откройте браузер и в адресную строку впишите ip адрес виртуального сервера. У Вас должно отобразится приветственное окно nginx.

Страница приветствия nginx по-умолчанию
Страница приветствия nginx по-умолчанию
apt-get install mariadb-server-10.3

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

Создание нового пользователя системы

Теперь перейдем к созданию пользователя, от имени которого мы будем в дальнейшем работать с удаленным сервером. Так же использование root пользователя, в качестве основного создает предпосылки к нарушению системы безопасности. Определим следующую логику создания пользователей: один сайт — один пользователь с соответствующими настройками nginx, php, mariadb и правами на каталоги своего сайта. Таким образом, если один сайт взломают, то другие будут защищены благодаря нашей настройки.
Создадим пользователя с именем test, который входит в группу www-data командой:

useradd -d /home/test -g www-data -m -s /bin/bash test

-d — определяет домашний каталог (в нашем случае /home/test)
-g — задает группу создаваемого пользователя (www-data)
-m — создает домашний каталог если он не существует
-s — устанавливает командную оболочку

Чтобы в дальнейшем мы могли выполнять какие-либо административные действия добавим созданного пользователя в группу sudo

Осталось задать пароль пользователю, выполним команду

После этого необходимо ввести пароль и повторить его (при вводе пароль не отображается)

Проверим этот путем подключения к удаленному серверу под созданным пользователем, для этого повторим шаг «Подключение по SSH»

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

Конфигурирование php-fpm

Начнем настройку php-fpm — это программный пакет, позволяющий выполнить обработку скриптов, написанных на языке PHP.
Настройка в операционной системе Linux, в большинстве случаев, сводится к правке конфигурационных файлов. Соответсвенно, для настройки php-fpm, необходимо перейти в каталог с этими файлами. Введите команду которая сменит каталог

cd /etc/php/7.4/fpm/pool.d/

Посмотрите какие файлы есть в этом каталоге

ls -al

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

Новый файл будет состоять из следующих строк

[test.site]
listen = /run/php/php-test.sock //сокет
listen.mode = 0666 //права на запуск
user = test //пользователь от имени которого будет запущен php
group = www-data //принадлежность к группе

//задание директив php
php_admin_value[upload_tmp_dir] = /home/test/tmp  //каталог для загружаемых файлов
php_admin_value[date.timezone] = Europe/Moscow //временная зона
php_admin_value[open_basedir] = /home/test  //корневой каталог сайта
php_admin_value[post_max_size] = 512M  // максимальной размер POST
php_admin_value[upload_max_filesize] = 512M //максимальный размер загружаемого файла
php_admin_value[cgi.fix_pathinfo] = 0
php_admin_value[short_open_tag] = On //использовать короткую запись php
php_admin_value[memory_limit] = 512M //лимит оперативной памяти
php_admin_value[session.gc_probability] = 1 //настройки сессий
php_admin_value[session.gc_divisor] = 100 //настройки сессий
php_admin_value[session.gc_maxlifetime] = 28800; //максимальное время жизни сессии
php_admin_value[error_log] = /home/test/logs/php_errors.log; //файл записи лога ошибок

//задание динамических параметров
pm = dynamic
pm.max_children = 10
pm.start_servers = 2
pm.min_spare_servers = 2
pm.max_spare_servers = 4

Создадим файл конфигурации test.conf, с помощью встроенного редактора nano вставим строки кода приведеные выше, и сохраним файл.

На этом настройка php-fpm закончена, переходим далее.

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

NGINX – это мощный веб-сервер, использующий не потоковую, управляемую событиями архитектуру, которая позволяет ему превосходить Apache. Приступим к его конфигурированию.
Перейдите в каталог веб-сервера

В этой папке нас интересует два каталога, которые хранят настройки сайтов — sites-available, sites-enabled. Перейдем в первый каталог sites-available

Здесь находится файл default, который содержит установки по умолчанию. Удалите его командой

С помощью редактора nano создадим файл конфигураций 00-default. (00 в начале имени файла необходим для того, файл был первым в каталоге т.к. в своей работе nginx обращается сначала к первому файлу)

Внутрь файла поместите следующий код

 server {
    listen [::]:80;
    listen      80;
    server_name "";
    return      444; # закрытие соединения без ответа
}

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

Внутрь файла поместите следующий код, потом сохраните его

upstream backend-test {
  server unix:/run/php/php-test.sock;
}

server {
	listen [::]:80;
	listen 80;
	server_name test.site; # имя нашего сайта
	access_log /home/test/logs/nginx_access.log;
	error_log /home/test/logs/nginx_error.log;
	
	gzip on;
	# Минимальная длина ответа, при которой модуль будет жать, в байтах
	gzip_min_length 1000;
	# Разрешить сжатие для всех проксированных запросов
	gzip_proxied any;
	# MIME-типы которые необходимо жать
	gzip_types text/plain application/xml application/x-javascript text/javascript text/css text/json;
	# Запрещает сжатие ответа методом gzip для IE6 (старый вариант gzip_disable "msie6";)
	gzip_disable "MSIE [1-6].(?!.*SV1)";
	# Уровень gzip-компрессии
	gzip_comp_level 6;
	
	# корневой каталог сайта
	root /home/test/test.site/www;
	index index.php;
	
	# запрет для всех для при обращению к ядру MODx из браузера
	location ~ ^/core/.* {
	  deny all;
	  return 403;
	}
	# переадресация запросов на адрес index.php
	location / {
	  try_files $uri $uri/ @rewrite;
	}
	location @rewrite {
	  rewrite ^/(.*)$ /index.php?q=$1;
	}
	
	# При обращении к файлам php будет происходить запуск сокета php который мы настраивали на предыдущем шаге (Конфигурирование php-fpm)
	location ~ .php$ {
	  try_files  $uri =404;
	  include fastcgi_params;
	  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	  fastcgi_pass backend-test;
	}
  
	# кэширование файлов с указанными расширениями
	location ~* .(jpg|jpeg|gif|png|css|js|woff|woff2|ttf|eot|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|docx|xlsx)$ {
	  try_files $uri @rewrite;
	  access_log off;
	  expires 10d;
	  break;
	}

	location ~ /.ht {
	  deny all;
	}
}

Продолжаем настройку nginx. Перейдите в каталог sites-enabled

В этом каталоге удалите ссылку на уже не существующую конфигурацию

Создайте две ссылки на конфигурационные файлы созданные выше

ln -s ../sites-available/00-default.conf
ln -s ../sites-available/01-test.sites.conf

На этом конфигурация сервера nginx завершена. Двигаемся дальше!

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

Переходим в каталог mysql.

В этом каталоге находится файл my.cnf, в котором содержатся настройки нашей системы управления базами данных. Откройте этот файл в редакторе nano и отредактируйте

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

[mysqld]
sql_mode=NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Теперь настроим парольный доступ root пользователя к базе данных. Для этого подключимся к СУБД

Подключение к базе сопровождается выводом ее приветствия (смотри изображение), после этого подключитесь к базе mysql. Обратите внимание, что при работе с базой данных каждая строка должна завершаться точкой с запятой, в случае ее отсутствия СУБД будет воспринимать следующую строку как продолжение предыдущей.

USE mysql;

UPDATE user SET plugin='mysql_native_password' WHERE User='root';

Такую строку можно прочитать следующим образом:»Обнови в таблице user столбец plugin на mysql_native_password для строк где в колонке User значение root». Таким образом, мы разрешили пользователю root авторизироваться в СУБД через пароль БД. Однако сам пароль мы не задали, исправим это

ALTER USER 'root'@'localhost' IDENTIFIED BY 'testtest';

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

Как проверить правильность выполненных действий? Нужно войти в операционную систему под пользователем test (его мы создали немного выше) и подключиться к СУБД как root. Делаем следующие шаги — подключаемся как test

У вас должно измениться приглашение системы на пользователя test. Теперь настала очередь подключиться к СУБД

В приведенной команде -u — определяет что следующим идет имя пользователя, -р — использовать нативный пароль mysql (именно тот что мы и настраивали). После отправки команды СУБД попросит ввести пароль (нами был задан пароль testtest). Если у Вас все получилось, то шаги, проделанные выше, выполнены правильно. Далее выйдите из СУБД, подключитесь к операционной системе как root, и от имени этого же пользователя подключитесь к СУБД. Переходим дальше.

CREATE DATABASE IF NOT EXIST test;

Создадим пользователя в базе данных с именем test и паролем testtest. В дальнейшем этот пользователь будет использоваться системой MODx для работы с базой данных.

CREATE USER 'test'@'localhost' IDENTIFIED BY 'testtest';

Определим для созданного пользователя права при подключении к СУБД

GRANT USAGE ON *.* TO 'test'@'localhost' IDENTIFIED BY 'testtest' REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

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

GRANT ALL PRIVILEGES ON test.* TO 'test'@'localhost' WITH GRANT OPTION;

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

Проверьте правильность выполненных шагов следующим образом: подключитесь к СУБД под пользователем test.

Создание недостающих каталогов и перезапуск сервисов

На данном этапе мы выполним следующие шаги:

  1. Подготовка каталогов, которые мы использовали в настройках;
  2. Перезапуск сервисов.

Для правильной установки и функционирования MODx осталось создать недостающие каталоги. Выполните следующие команды

sudo -u test mkdir /home/test/tmp
sudo -u test mkdir /home/test/logs
sudo -u test mkdir /home/test/test.site
sudo -u test mkdir /home/test/test.site/www

В приведенных командах, как Вы заметили, операции по созданию каталогов (mkdir) выполняются с правами супер пользователя (sudo), от имени пользователя test (-u test). Это сделано с целью, чтобы пользователь test был владельцем этих каталогов и имел, по отношению к ним, полные права. После выполнения команд проверьте структуру каталога, там должны были появиться созданные нами папки.

Практически все готово к установке MODx, осталось перезапустить службы php, nginx, mysql. Это связано с тем, что настройки всех сервисов содержаться в текстовых файлах и считываются только при запуске служб. Выполните команды

sudo service php7.4-fpm restart
sudo service nginx restart
sudo service mysql restart

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

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

Если обратитесь по имени сайта, то ошибка должна следующей

Это является свидетельством, что все настроено правильно на данном этапе инструкции.

Установка MODX

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

На официальном сайте MODx скопируйте ссылку на дистрибутив (в моем случае она имеет вид https://modx.com/download/direct?id=modx-2.7.3-pl.zip&0=abs). Теперь с помощью программы wget сохраним его в каталоге /home/test/test.site/www/ командой

wget -P home/test/test.site/www/ https://modx.com/download/direct?id=modx-2.7.3-pl.zip&0=abs  

После скачивания проверьте, что в каталоге www присутствуют следующие файлы и папки (для разных версий MODx состав может незначительно отличаться)

Приступим к установке MODx. В адресную строку строку браузера введите

Откроется окно выбора языка, оставьте русский и нажимайте «ДАЛЕЕ»

Выберите пункт «НОВАЯ УСТАНОВКА», нажмите «ДАЛЕЕ»

В этом окне установите базу данных mysql, сервер — localhost, имя пользователя — test, укажите его пароль (testtest), имя базы данных — test, кодировка подключения — utf8, сопоставление — utf8_general_ci.

Теперь придумайте логин и пароль администратора сайта

Удостоверьтесь, что в отчете об установке все компоненты установлены и работают

Нажмите войти и введите регистрационные данные администратора сайта

На этом установка MODx закончена.

Заключение

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

Другие статьи

Узнавайте первым о новых курсах и лекциях

Настройка VDS с нуля

Содержание:

  • Общая информация
  • Выбор тарифа и покупка
  • Регистрация и вход в биллинг-панель
  • Управление VDS в VMmanager
  • Подключение к серверу
  • Размещение сайтов
  • Безопасность
  • Тестовый переод
  • Другие варианты использования

Общая информация

Что такое VPS/VDS сервер

Virtual Dedicated Server (VDS, «виртуальный выделенный сервер») или Virtual Private Server (VPS, «виртуальный частный сервер») – это услуга, в рамках которой клиенту предоставляется в аренду виртуальный сервер с правами доступа суперпользователя (root права). Более подробно о VPS/VDS и принципе его работы можно прочитать в нашем блоге.

Для чего он нужен

Виртуальные выделенные серверы могут применяться для различных задач. К примеру, для размещения сайтов, VPN, игровых или почтовых серверов, создания удаленных рабочих столов, хранения данных и многого другого. Наиболее популярные варианты применения VPS/VDS рассмотрены в этой статье.

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

Тарифы

На Eternalhost клиент может выбрать из четырех различных тарифов:

  • Начальный: 1 x 2.8 ГГц CPU, 1 ГБ DDR4, 16 ГБ NVMe.
  • Базовый: 2 x 2.8 ГГц CPU, 2 ГБ DDR4, 32 ГБ NVMe.
  • Премиум: 3 x 2.8 ГГц CPU, 4 ГБ DDR4, 64 ГБ NVMe.
  • Свободная конфигурация: здесь клиент может сам настроить параметры сервера самостоятельно.

На странице VPS/VDS можно подробнее ознакомиться с конфигурациями и посмотреть тарифы VPS.

тарифы VPS

Выбор тарифного плана полностью зависит от задач, которые клиент планирует выполнять в рамках своего сервера. Следует отметить, что работа с Windows Server 2012, 2016, 2019 невозможна на начальном тарифе.

Дополнительные услуги

В случае необходимости, клиент может дополнительно приобрести SSL-сертификат (от 650 ₽/год), ISPmanager Lite (240 ₽/мес) или доменное имя.  Для использования доменного имени пользователю понадобится настройка DNS-хостинга. В Eternalhost эта услуга предоставляется бесплатно — при размещении до 10 доменов. Если требуется разместить больше, цена DNS-хостинга — 50 рублей за каждые 10 штук.

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

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

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

Вход с VMmanager

Войти в VMmanager можно двумя способами.

  1. Нужно перейти по ссылке и ввести логин и пароль присланные на почту при покупке услуги.
    Вход с VMmanagerЕсли пароль забыт, его можно посмотреть  в биллинг-панели, перейдя по пути «Товары/Услуги» → «Виртуальные серверы». После чего, выбрать нужный сервер и нажать «Инструкция» в верхней панели.
    Вход с VMmanager
  2. Второй вариант входа в VMmanager не требует ввода пароля. В разделе «Товары/Услуги» нужно перейти в «Виртуальные серверы», выбрать нужный сервер и нажать кнопку «Перейти». После этого, система выполнит вход автоматически.
    Вход с VMmanager

После перехода VMmanager откроется основная информация об имеющихся VDS/VPS.

Вход с VMmanager

Управление виртуальными серверами в VMmanager

Для управления серверами в разделе «Управление» нужно перейти в раздел «Виртуальные машины». Откроется панель, в которой можно управлять VDS. Здесь отображаются все купленные виртуальные серверы.

Управление виртуальными серверами в VMmanager

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

 Управление виртуальными серверами в VMmanager

Функция «Изменить»

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

Функция «Изменить»

«Доменное имя» никак не влияет на работу сервера и является технической информацией, необходимой для запуска услуги. Что бы изменить его, следует нажать «Изменить», отредактировать графу «Домен» и кликнуть «Ok».

Функция «Старт»

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

Функция «Старт»

В этом случае его можно запустить с помощью кнопки «Старт».

Функция «Стоп»

Если сервер активен, у него отображается статус «Виртуальная машина включена». Остановить VPS можно с помощью кнопки «Стоп».

Функция «Стоп»

Функция «Перезапуск»

Также активный сервер можно перезапустить, сначала система его остановит, затем сразу же выполнить запуск.

Функция «Переустановить»

С помощью кнопки «Переустановить» можно выполнить переустановку операционной системы. Подробнее о том, как поменять ОС через панель VMmanager можно почитать здесь.

Функция «Пароль»

С помощью этой опции можно изменить пароль для подключения к серверу. При нажатии «Пароль» пользователь перейдет на страницу ввода нового пароля.

Далее нужно задать новый пароль, повторить его в графе подтверждение и нажать «Ok».

Также можно применить альтернативные способы восстановления пароля, воспользовавшись инструкциями отдельно для каждой версии Linux на Centos 6, Centos 7, Ubuntu и Debian.

Функция «Диски»

Если нажать на «Диски», получим информацию о виртуальных дисках.

Функция «Диски»

Функция «Интерфейсы»

Позволяет получить информацию о сетевых интерфейсах VDS:

  • адрес;
  • связанную сеть;
  • модель эмулируемого сетевого устройства.

Функция «IP-адреса»

Нажав на «IP-адреса», можно вывести следующую информацию о сети:

  • IP-адрес;
  • домен;
  • адрес шлюза;
  • маска сети.

Функция «IP-адреса»

Функция «Снимки»

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

Функция «Информация»

Нажав «Информация», в новом вкладке можно получить информацию о виртуальной машине.

Функция «Информация»

Функция «Нагрузка»

Нажав «Нагрузка», можно увидеть загруженность ресурсов виртуального сервера за выбранный период.

 Функция «Нагрузка»

Функция «Использование канала»

Перейдя во вкладку «Использование канала» нам будет выведена информация об использование интернет-канала за выбранный период — от одного дня до всего времени использования.

Функция «Использование канала»

Функция «VNC»

VNC (Virtual Network Computing) – система удалённого управления виртуальным сервером. Она работает через встроенную в панель управления VMmanager программу-клиент VNC viewer. Подробнее о подключении к серверу по VNC можно узнать здесь.

Подключение к серверу

Основой работы с VPS сервером на Linux является SSH подключение. Подключение по SSH осуществляется с помощью SSH клиентов. Одним из самых популярных является PuTTY. Работа с программой подробней рассмотрена в этой статье. Информацию о других способах подключения по SSH протоколу можно найти здесь. В данном руководстве приведен алгоритм обеспечения безопасности SSH подключения.

Работа с серверами на Windows осуществляется с помощью протокола удалённого рабочего стола RDP (Remote Desktop Protocol). Он позволяет обеспечить удалённую работу пользователя с сервером, на котором запущен сервис терминальных подключений. Подробнее тема подключения к удаленному рабочему столу по RDP рассмотрена в данной статье.

Размещение сайтов на VDS/VPS

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

Размещение вручную

lamp stack

Чтобы разместить сайт на Linux-сервере в ручном режиме, потребуется установить комплект инструментов (стек) LEMP (Linux, Nginx, MySQL, PHP) или LAMP (Linux, Apache, MySQL, PHP).

Для размещения на VDS популярных приложений для разработчиков — Ruby, Python, Node.js, Perl, дополнительная настройка не потребуется. Это же относится и к сайтам, созданным на основе этих веб-сервисов. Их развертывание можно производить прямо на «голую» виртуальную машину, без использования каких-либо плагинов.

На Windows установка сайтов возможна с помощью WEB-сервера IIS. Подробнее об установке и настройке IIS узнать из этой статьи.

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

Для установленных веб-серверов Apache и Nginx выгрузку файлов сайта следует осуществлять в папку корневого каталога «www». Ее расположение будет зависеть от ПО, установленного на предыдущих этапах. Например, для Apache путь к директории сайта по умолчанию будет следующим:

/var/www/html

Если сайт использует базу данных, далее можно перенести ее на сервер или создать новую. Сделать это можно через специальное веб-приложение для администрирования СУБД phpMyAdmin или через прямое SSH-подключение.

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

Через панель управления

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

Из последних по соотношению цены и качества стоит выделить панель ISPmanager 5 Lite, DirectAdmin и cPanel. Из бесплатных панелей можно рекомендовать BrainyCP и VestaCP.

Ниже рассмотрим процесс размещения сайта на виртуальном сервере через панель управления хостингом по шагам. В качестве практического примера будет взят VPS с панелью ISPmanager 5 Lite.

Вход в панель

панель ISPmanager 5 Lite

После установки ISPmanager 5 Lite нужно открыть панель. Она обладает простым и интуитивно понятным интерфейсом. Дополнительную информацию по использованию можно легко найти в официальной документации.

Добавление домена

Для добавления домена, в ресурсной DNS-записи типа A должен  быть указан IP-адрес текущего виртуального сервера. Сделать привязку можно с помощью услуги DNS-хостинга, которую Eternalhost предоставляет своим клиентам бесплатно.

Для добавления сайта нужно перейти в раздел «Домены» → «WWW-домены» и нажать «Создать».

Добавление домена в ISPmanager 5 Lite

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

Добавление домена в ISPmanager 5 Lite

Добавленный домен появится во вкладке «WWW-домены».

Загрузка файлов сайта

Теперь можно перейти к загрузке файлов сайта. Для этого — выделить доменное имя одним кликом и нажать «Войти» в верхней панели.

Загрузка файлов сайта ISPmanager 5 Lite

В открывшейся панели нужно перейти по пути «Главная» → «Менеджер файлов» → папка «www» → доменное имя.

Загрузка файлов сайта ISPmanager 5 Lite

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

Загрузка файлов сайта ISPmanager 5 Lite

Добавление базы данных и почтового домена

При необходимости пользователь может создать базу данных. Для этого нужно пройти из раздела «Главное» в подраздел «Базы данных» и нажать «Создать».

Добавление базы данных ISPmanager 5 Lite

Далее следует заполнить поля формы «Новая база данных» и нажать «Ok».

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

Добавление базы данных ISPmanager 5 Lite

Аналогичным образом добавляются и почтовые домены сайта. Для этого нужно перейти по пути «Главное» → «Почтовые домены» и нажать «Создать».

Добавлениепочтового домена ISPmanager 5 Lite

Перенос сайтов

Для новых клиентов Eternalhost, которые использовали ISPmanager 5 Lite на старом хостинге и хотят сохранить эту панель на новом, возможен бесплатный перенос до 5 сайтов. Для этого, после приобретения услуги нужно составить соответствующее обращение (тикет) в техническую поддержку.

Безопасность

Обеспечение безопасности виртуального сервера — важнейший аспект для каждого владельца VPS. Настройки безопасности всегда индивидуальны и должны подстраиваться под конкретную задачу.

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

На хостинге Еternalhost  реализована возможность подключения системы надежной защиты сайтов от DDoS-атак. Услуга предоставляется клиентам бесплатно. Нужно только обратиться в техническую поддержку — специалисты сами настроят фильтры под индивидуальные нужды ресурса.

Тестовый период

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

Для чего еще можно использовать виртуальный сервер

Ниже можно найти ссылки на полезные статьи, раскрывающие важные аспекты работы с VPS/VDS.

  • Настройка и запуск cron на веб-сервере
  • Работа с архивами через SSH-подключение
  • Установка и защита phpMyAdmin на VPS в Debian
  • Установка и защита phpMyAdmin на VPS в Ubuntu
  • Оптимизация производительности MySQL сервера
  • Защита VPS от взлома
  • Как проверить и снизить нагрузку на VPS
  • Управление снимками виртуальной машины на VPS

Сайты

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

Файловый менеджер SPRUT.io

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

Домены и поддомены

В разделе «Домены и поддомены» Вы можете зарегистрировать новый домен,
добавить уже зарегистрированный домен и поддомен,
управлять имеющимися доменами на аккаунте,
управлять доменами .RU и .РФ под обслуживанием регистратора Beget,
управлять SSL-сертификатами для доменов.

Почта

В разделе «Почта» Вы можете создавать и удалять почтовые ящики для всех доменов на аккаунте, задать почту домена, выставить параметры фильтрации спама отдельно для каждого почтового ящика, настроить перенаправление.

DNS-записи

В данном разделе Вы можете управлять DNS-записями.

Резервное копирование (BackUp)

В разделе «BackUp» Вы можете произвести восстановление данных за доступную дату или же создать архив из текущих данных или данных из бэкапа.

Оплата

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

Настройки аккаунта

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

VPS

В рамках услуги VPS (Virtual Private Server) мы предоставляем пользователям возможность создать виртуальный выделенный сервер (один или несколько) с таким же полным доступом к его контролю и управлению, как и в случае с обычным физическим выделенным сервером.

Базы данных MySQL

В разделе «MySQL» Вы можете управлять базами данных MySQL. Количество баз данных на всех тарифах виртуального и VIP-хостинга не ограничено.

FTP-аккаунты

В разделе «FTP» Вы можете создавать дополнительные FTP-аккаунты и управлять ими. Они используются для разграничения доступа к различным разделам сайта или различным сайтам.

Настройка CronTab

Раздел «CronTab» служит для настройки выполнения команд по расписанию или в строго назначенное время. С помощью CronTab Вы можете задать определенное время, и точно в это время выполнится указанная Вами команда.

Управление услугами

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

Помощь и поддержка

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

CMS

Данный раздел позволит быстро установить любую из более чем 30 популярных CMS (Content Managment System — Система Управления Контентом), а также заказать покупку платных версий некоторых из них.

Статистика

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

Партнерство

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

Мультиаккаунты

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

Резервное копирование VPS

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

Журналы

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

Документы

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

Сервер

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

Сервисы

В данном разделе Вы можете пользоваться различными сервисами, такими как Sphinx, Memcached, Redis, Tarantool, Ai-Bolit, антивирус ImunifyAV+ и Sitemap.

Обратная связь

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

Облачные серверы MySQL

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

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

Ещё одним минусом работы в консоли можно считать ограниченные возможности визуализации.

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

В этой инструкции мы установим Webmin на наш сервер под управлением Ubuntu и познакомимся с основными возможностями его работы.

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

# Установка Webmin

Устанавливать Webmin будем из официального репозитория разработчика. Чтобы добавить его в список поддерживаемых apt репозиториев, пропишем его напрямую:

В открывшийся список репозиториев добавим следующую строку:

Теперь добавим PGP-ключ, чтобы система доверяла новому репозиторию:

После этого останется только обновить список доступных пакетов, и можно будет переходить непосредственно к установке:

В конце установки на экран будет выведено сообщение:

Webmin установился, запустился и предлагает совершить первый вход от имени root-пользователя или от имени любого другого пользователя, добавленного в группу sudo.

По умолчанию Webmin работает на порту 10000. Не забудьте добавить его в список исключений фаервола, если он у вас запущен:

# Настройка подключения

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

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

Откроем для этого конфигурационный файл Webmin:

В открывшемся файле найдём строку ssl=1 и укажем в значении параметра 0.

После этого перезапустим Webmin:

Теперь можно заходить в панель управления вашим сервером через браузер по адресу yor_server_ip:10000.

«webmin_start»

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

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

# SSL-сертификат

Сначала подключим безопасное соединение.

В разделе Webmin — Webmin configuration выберите пункт «SSL Encryption»:

«webmin_ssl»

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

# Создание нового пользователя

Новые пользователи и группы пользователей создаются в разделе System — Users and Groups.
На вкладке «Local users» представлены все пользователи, имеющие доступ к серверу, указаны их ID, группы, к которым они принадлежат, их домашние директории и права на SSH-подключение.

Создать нового пользователя можно кнопкой Create a new user:

«webmin_user»

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

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

«webmin_group»

# Обновление пакетов

Webmin позволяет в оперативном порядке отслеживать приложения, для которых доступна более поздняя версия. Список доступных для обновления пакетов представлен на вкладке с общей информацией о сервере «Dashboard»:

«webmin_dash»

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

«webmin_upd»

# Ротация логов

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

В разделе System — Log File Rotation представлены все лог-файлы, которые ведёт сервер.

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

«webmin_logs»

# Мониторинг состояния сервера

С помощью Webmin можно легко и просто следить за нагрузкой на сервер. На вкладке «Dashboard» представлены общие сведения о нагрузке на сервер, используемых ресурсах и т.д.

Более детальные сведения об использовании ресурсов сервера приведены в разделе System. Здесь на вкладке «Running Processes» представлена детальная информация о том, какие процессы запущены, от имени какого пользователя, сколько системных ресурсов они потребляют и прочее:

«webmin_res»

# Работа с серверами

Помимо стандартных возможностей сервера под управлением Ubuntu, Webmin поддерживает работу и настройку приложений, установленных на сервере. Например, в разделе Servers представлены инструменты для полноценного управления любыми серверами, запущенными на нашей машине.

Это может быть Apache:

«webmin_apache»

А также почтовый сервер на Postfix:

«webmin_post»

Или встроенный SSH-сервер:

«webmin_ssh»

Каждый из них будет полностью функционален.

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

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

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

# Фаервол

Настройки безопасности и ограничения доступа представлены в разделе Networking:

«webmin_fire»

Здесь представлены сведения о сетевых интерфейсах, правилах iptables и даже фильтрах и jail’ах Fail2ban.

В этом разделе можно посмотреть и исправить или настроить не только фильтры и jail’ы, но и правила iptables, на которые эти фильтры будут ссылаться.

# Командная строка

Те, кому всё же понадобится командная строка для выполнения определённых команд, смогут найти её в разделе Tools — Command Shell:

«webmin_shell»

В большинстве случаев универсальный инструмент Webmin способен служить полноценной заменой классическому управлению сервером через SSH-подключение и работу в командной строке.

Понравилась статья? Поделить с друзьями:
  • Герметик u seal 501 инструкция по применению
  • Ккт aqs15 ф инструкция по применению
  • Инструкция по эксплуатации душевой кабины ниагара
  • Мануалы на мотоциклы ктм
  • Телефон panasonic kx tg2511ru инструкция на русском языке