Чтобы упростить рутинные операции по управлению и администрированию VDS были придуманы панели управления. Мы не взяли какое-то готовое решение, а выбрали более сложный путь — разработали собственную панель управления.
В отличие от большинства других коммерческих панелей управления VDS, наше решение предоставляется бесплатно. Вы оплачиваете только ресурсы созданных вами серверов по факту их использования.
Также вы получаете все возможности облачной архитектуры – удобное увеличение памяти, процессорной мощности и объема диска.
Образ позволяет создавать изолированные друг от друга аккаунты с отдельными настройками PHP и размещать на них произвольное количество сайтов. Можно управлять FTP и SSH доступом и CRON-заданиями.
Поддерживаются все стабильные версии PHP от 5.6 и до 8.3. Можно одновременно установить несколько разных версий PHP, а так же создавать индивидуальные настройки PHP для любого сайта.
В форме создания облачного VDS в списке дистрибутивов выберите “NetAngels”.
Для работы панели управления подойдет любой тарифный план выше “Start-2”. При выборе тарифа опирайтесь на объем вашего сайта и количество одновременных посетителей. Вы сможете изменить выбранный тариф и объем диска в любой момент после создания VDS, если возникнет необходимость.
После добавления облачного VDS с панелью управления NetAngels в разделе “VDS / Виртуальные машины” кликните на только что созданный сервер.
В левом меню с помощью кнопки “Управление VDS” вы сможете перейти в панель управления.
На открывшейся странице в левом меню будет список аккаунтов. Аккаунты – это отдельные пользователи на VDS со своими настройками PHP, FTP-аккаунтами и CRON-заданиями.
По умолчанию будет создан аккаунт с именем “web” с PHP 7.3. Вы можете изменять настройки PHP для этого аккаунта и размещать ваши сайты на нем, либо создать дополнительные аккаунты для этих целей.
Мы предоставляем для наших клиентов свой собственный репозиторий Debian для тех пакетов, в которые мы внесли какие-либо
изменения. Внесенные изменения включают в себя все, что необходимо для корректной работы панели управления (в частности
то, как устанавливается и работает PHP). Настройки, необходимые для работы с нашими репозиториями, хранятся в файлах
/etc/apt/sources.list.d/netangels-*.list
.
Основные сервисы на вашем сервере запущены с помощью супервайзера systemd. Если вы захотите перезапустить apache2, то можно сделать это любым из трех способов:
systemctl restart apache2
service apache2 restart
/etc/init.d/apache2 restart
Чтобы после перезапуска посмотреть статус, в любой из команд измените слово restart
на status
У нас существует два варианта серверов с панелью управления NetAngels:
На серверах, созданных после 1 января 2018, используется apache2 и nginx.
На серверах, созданных до 1 января 2018, используется только apache2.
В составе нашего образа предоставляется Apache 2.4 с MPM worker и измененным suexec. Все создаваемые через панель управления
сайты размещаются в директориях /home/login/sitename.ru/www
. Логи access.log
каждого сайта хранятся в директориях
/var/log/apache2/user-sites/sitename.ru
. При этом в папке с сайтом, рядом с папкой www
, есть символьная ссылка
(symlink) на папку с логами этого сайта.
Внесенные нами в suexec изменения сводятся к тому, что wrapper’ы, которые может запускать suexec, можно размещать не
только в /var/www
, как в стандартном suexec, а вообще в любом месте системы. В нашем случае это означает, что можно
совершенно прозрачно использовать такие wrapper’ы, как /usr/bin/php
на любом аккаунте, не задумываясь о том, как при
этом устроена система изнутри (о запуске PHP ниже). PHP всегда будет запущен правильной версии, настроенной в панели
управления, и с правильными настройками, созданными через панель. При запуске wrapper’a /usr/bin/php
, он сам узнает какая версия
PHP и какие настройки требуются для того аккаунта, из-под которого он запускается в данный момент.
Nginx:
jpg|gif|png|svg|js|css|html|txt|woff
В отличие от стандартного Debian, мы предоставляем образ, в котором одновременно может быть установлено несколько разных версий PHP. По умолчанию подразумевается, что у каждого заведенного через панель управления аккаунта своя собственная версия PHP со своими индивидуальными настройками.
Поэтому, если вам требуется, чтобы на VDS работало два разных сайта, один из которых работал, например, на PHP 5.6, а другой на PHP 7.4, то мы рекомендуем завести для этого два разных аккаунта и запускать сайты от имени разных аккаунтов.
Мы так же не рекомендуем запускать много разных сайтов на одном аккаунте, не смотря на то, что они используют одинаковые настройки PHP. В первую очередь это связано с безопасностью: если злоумышленник через уязвимость в ПО вашего сайта получит доступ в систему, он получит доступ ко всем сайтам, размещенным на одном аккаунте со взломанным.
PHP запускается с помощью двух wrapper’ов: CLI-версия через /usr/bin/php
, FastCGI-версия через /usr/bin/php-cgi
. Это
значит, что запуская /usr/bin/php
от имени любого аккаунта, созданного через панель управления, вы запустите
правильную версию PHP для этого аккаунта с правильными настройками. Побочным эффектом от такой системы является то, что
/usr/bin/php
, запущенный от имени root, будет иметь версию и настройки отличные от любого другого аккаунта. Нужно
учесть это при добавлении различных команд в CRON. Задания в CRON, которые требуют PHP для своего выполнения, должны
добавляться в CRON тому пользователю, от которого работает соответствующий сайт, к которому относятся эти задания, а не
root’у.
Чтобы выяснить, какие версии PHP установлены на вашем сервере, необходимо выполнить в консоли команду
dpkg -l | grep php
Чтобы посмотреть какие пакеты доступны (например, для PHP версии 7.4) нужно выполнить команду
apt-cache search php7.4
Установить PHP нужной версии (либо какие-то расширения к нему, если они не установлены), можно обычной командой
apt-get install package
Например, если у вас отсутствует PHP 7.4 и вы хотите его установить, а вместе с ним еще установить поддержку memcached и расширение imagick, последовательность действий будет следующей:
root@vm-xxx:~# apt-cache search php7.4
php7.4.33 - server-side, HTML-embedded scripting language
php7.4.33-apcu - APC User Caching
php7.4.33-geoip - Map IP address to geographic places
php7.4.33-igbinary - Igbinary module for PHP
php7.4.33-imagick - Imagick module for PHP
php7.4.33-memcache - memcache module for PHP
php7.4.33-memcached - memcache module for PHP
php7.4.33-mongodb - MongoDB driver for PHP
php7.4.33-redis - Redis module for PHP
php7.4.33-xdebug - Xdebug module for PHP
php7.4.33-yaml - Support for YAML
Здесь мы видим полный перечень доступных пакетов для PHP 7.4. Теперь установим нужные. В связи с особенностями образа установку следует выполнить с дополнительными опциями:
root@vm-XXXXX:~# apt-get -o Dpkg::Options::='--force-overwrite' --no-install-recommends --yes install php7.4.33 php7.4.33-imagick php7.4.33-memcached
Заключительным шагом будет выполнение команды:
root@vm-XXXXX:~# update-php
Данная команда сформирует и добавит wrapper для новой версии PHP. После этого в панели управления у любого аккаунта можно будет установить версию PHP 7.4.33.
Обратите внимание, наши пакеты PHP не могут быть установлены одновременно с пакетами PHP из стандартного Debian. Установка метапакета php7.0 или пакетов расширений php7.0-* приведет к тому, что система будет сломана и окажется в нерабочем состоянии. Не устанавливайте пакеты, относящиеся к работе PHP, из стандартного репозитория Debian на ваш VDS с нашей панелью управления. Если вы обнаружите, что вам чего-то не хватает в вашей системе, вы всегда можете обратиться в нашу тех.поддержку за консультацией, как правильно добавить то или иное ПО на ваш сервер.
PhpMyAdmin ставится из пакета с именем phpmyadmin-lite
и по-умолчанию он уже установлен. PhpMyAdmin по умолчанию доступен по адресу
http://любой-ваш-сайт/mysql/
Вместо стандартного MySQL мы предоставляем альтернативную реализацию под названием MariaDB. Разработкой MariaDB
занимается автор MySQL, который продал права на оригинальную реализацию и имя MySQL компании Oracle. MariaDB
обеспечивает практически полную совместимость с MySQL, обладая при этом заметно более высокой производительностью. На
практике, за много лет предоставления MariaDB на тарифах виртуального хостинга, мы не сталкивались со случаями, когда
у кого-то встречались проблемы с несовместимостью между MySQL и MariaDB. Тем не менее, всегда можно удалить MariaDB и
поставить обычный MySQL из стандартного репозитория Debian командой apt-get install mysql-server mysql-client
если вы
этого хотите.
Сервер MySQL доступен через unix-сокет /var/run/mysqld/mysqld.sock
или по имени localhost
. Для подключения к MySQL
из ваших скриптов, просто используйте имя localhost
в качестве имени сервера.
По-умолчанию MySQL запущен на IP-адресе 127.0.0.1
и не доступен извне вашего сервера. Чтобы изменить эту настройку,
необходимо внести правку в /etc/sv/mysql/conf/my.cnf
, заменив в строке bind-address = 127.0.0.1
адрес 127.0.0.1
на
внешний ip-адрес вашего сервера. После этого перезапустить mysql командой service mysql restart
. Мы не рекомендуем оставлять
открытым для внешних подключений порт MySQL, поскольку это открывает широкие возможности для атаки на ваш сервер со
стороны злоумышленников, поэтому, если вам требуется подключаться к вашему MySQL со сторонних серверов, ограничивайте
список ip адресов, которым доступно такое подключение, с помощью firewall. Вы всегда можете обратиться в нашу
тех.поддержку в случае, если вам требуется консультация или помощь в такой настройке.
На свеженастроенном сервере пользователь root может заходить в консоль MySQL без пароля. Для этого создан файл
/root/.my.cnf
, в котором прописан логин и пароль для подключения к MySQL. Если вы решите поменять пароль root в MySQL,
рекомендуем внести соответствующие изменения и в этот файл.