В данной статье рассмотрены специально подготовленные LAMP-образы для установки на Облачных VDS и возможности быстрого запуска хостинга.
1. Общее описание готовых образов
2. Добавление сайтов
3. Работа с MySQL (MariaDB)
4. Настройка PHP и установка расширений
Стек LAMP (Linux/apache/mysql/php) является наиболее полулярным среди разработчиков набором технологий для создания сайтов. Исходя из имеющегося у нас опыта мы разработали несколько готовых образов VDS, где установка LAMP происходит автоматически.
Общим принципом при разработке этих образов было обеспечение однотипности настроек, чтобы сайты, размещенные на одном VDS легко перемещались на другой VDS, даже базирующийся на другом образе (другом наборе базового ПО) и все основные задачи по администрированию любого из VDS на базе любого из предлагаемых образов выполнялись однотипно. Мы так же решили, что крайне важно, чтобы добавление новых сайтов на сервер было не сложнее, чем просто создание папки с именем сайта.
У нас есть готовые LAMP образы для Ubuntu 16.04, 18.04, 20.04, 22.04. Также LAMP образы есть для Debian 8, 9, 10, 11 и 12. Самыми актуальными на данный момент является образы Ubuntu 22.04 со следующим набором ПО:
Все образы построены исходя из того, чтобы главным и единственным пользователем в системе, от имени которого работают
скрипты и выполняются все остальные действия, был пользователь web
. Аналогично принятому в Ubuntu порядку вещей, в
образах на базе Debian прямая работа от имени root не приветствуется (заблокирована) и вместо этого пользователю web
через sudo
предоставлена возможность выполнять любые команды с привилегиями суперпользователя. Таким образом, для
входа на вновь созданный VDS по ssh необходимо выполнить команду:
$ ssh web@ip-address-of-vds
Кроме входа по ssh так же поддерживается протокол sftp. Подключение производится с тем же логином web
и либо паролем,
который был сгенерирован при создании VDS, либо с помощью ключа, так же указанного при создании VDS.
После входа в систему вы окажетесь в папке /var/www/web
, которая является основной для наших образов VDS. Здесь вы
найдете папку sites
- это папка, в которой будут размещаться ваши сайты. Чтобы добавить новый сайт, достаточно внутри
папки sites
создать подпапку с именем нового сайта без префикса www.
. Подробнее об этом ниже.
Логи посещения размещенных у вас сайтов apache будет писать в папку /var/log/apache2
, а nginx, если установлен, в
папку /var/log/nginx
. В случае, если у PHP-скриптов возникнут ошибки в работе, информация о них будет писаться в файл
/var/www/web/php-errors.log
Добавление сайтов - наиболее часто востребованная операция для массового виртуального хостинга, поэтому мы постарались
максимально ее упростить. Для добавления нового сайта mycompany.ru
на ваш сервер вам потребуется сделать два простых
действия:
/var/www/web/sites
нужно создать подпапку с именем mycompany.ru
, то есть с именем размещаемого домена без
www.
. Внутрь этой папки в дальнейшем нужно будет выкладывать скрипты, относящиеся к этому сайту.mycompany.ru
, другую для www.mycompany.ru
.Добавление алиаса (альтернативного имени для вашего сайта) является не менее простой операцией. Если к сайту
mycompany.ru
нужно добавить алиас www.mycompany.ru
, то потребуется всего два действия:
cd /var/www/web/sites && ln -s mycompany.ru www.mycompany.ru
www.
и без www.
Напоминаем вам, что сервис парковки доменов в dns мы предоставляем для всех наших клиентов бесплатно и без ограничений. Инструкции по делегированию доменов на наши ns-сервера приведены по ссылке.
Для вновь созданных VDS пароль доступа пользователем root в MySQL генерируется случайным образом. Узнать пароль можно командой
sudo cat /root/.my.cnf
Если же вы хотите поработать с MySQL из консоли, то достаточно будет запустить
команду sudo -H mysql
без параметров и вы сразу попадете в консоль MySQL без необходимости вводить пароль. Если такая
настройка системы вас не устраивает, смело можете удалить файл .my.cnf
, предварительно сохранив себе записанный в нем
пароль.
phpMyAdmin доступен на вашем сервере по ссылке http://mycompany.ru/mysql
, где mycompany.ru - адрес любого вашего
сайта, размещенного на этом сервере.
Файл настроек MySQL расположен в стандартном месте, но для его редактирования вам потребуются права суперпользователя:
sudo nano /etc/mysql/my.cnf
Чтобы изменения вступили в силу, необходимо перезапустить MySQL:
sudo service mysql restart
Поскольку в системе установлен стандартный PHP из репозиториев Debian/Ubuntu, настройка PHP и установка расширений
производится стандартным для debian based дистрибутивов образом. Файл php.ini
собирается из нескольких составных
частей: из основного php.ini
и из содержимого директории conf.d
. Для FastCGI версии PHP настройки берутся из
папки /etc/php/8.1/cgi
, для mod_php - из папки /etc/php/8.1/apache2
, для CLI версии (это /usr/bin/php
, то есть та версия
php, которая используется для заданий cron и других задач, выполняемых в консоли) - /etc/php/8.1/cli
. Версия php-fpm,
соответственно, использует php.ini
из папки /etc/php/8.1/fpm
.
Вы можете легко посмотреть какие расширения php установлены в вашей системе, выполнив в консоли сервера команду:
$ dpkg -l | grep php
Посмотреть список доступных расширений php вы можете по команде:
$ apt-cache search php8.1
Перед самым первым вызовом команд apt-cache/apt-get
на свежеустановленной системе не забудьте выполнить sudo apt-get
update
.
Установить требуемое расширение из списка очень просто. Допустим, мы хотим добавить в систему акселератор XCache.
Соответствующий пакет будет называться php8.1-memcache
, а команда по его установке, требующая привелегий
суперпользователя, будет такая:
$ sudo apt-get install php8.1-memcache
Поскольку php начиная с версии 5.4 требует явного указания временной зоны в настройках (date.timezone
), по-умолчанию
устанавливается временная зона UTC
. Эта настройка задается в файле /etc/php/8.1/apache2/conf.d/local.ini
. Вам
необходимо изменить ее в соответствии со своими предпочтениями.
В любом случае, если у вас возникают вопросы по работе вашей системы на базе наших готовых образов, вы всегда можете обратиться в нашу тех.поддержку.