...особенно на фоне моих безуспешных попыток получить тестовый VDS хотя бы на одном из отечественных хостингов. Возможно, где-то это и возможно, но вот у меня навскидку не получилось: предприняв три или четыре безуспешные попытки, в ходе которых мне под надуманными предлогами отказывали в тестовом периоде, предложенным обычно на красочной главной странице хостинга... я плюнул и зарегистрировал на Амазоне еще один аккаунт (бесплатный тестовый период в течение 12 месяцев, и это без никакой переписки с мальчиками/девочками из полуграмотного саппорта - почувствуйте разницу). Итак:
Выбираем Red Hat Enterprise Linux version 7.3 (HVM), EBS General Purpose (SSD) Volume Type и далее проходим шаг за шагом Choose Instance Type, Configure Instance, Add Storage, Add Tags, Configure Security Group, Review. Как правило, все, что от вас требуется - это нажимать на Next, ну еще открыть как минимум 80 порт (уж коли web-сервер) и скачать key.pem, которым будете заходить на сервер по ssh/scp. Седьмой PHP поставим из webtatic:
sudo yum update
sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install php71w-fpm php71w-opcache php71w-mysql
sudo yum install nginx
sudo yum install mariadb-server mariadb
Про конфигурирование mariadb можно почитать, скажем, в материале по ссылке, все то же самое. Сразу после запуска mysql_secure_installation скрипта - заходим уже под только что установленным паролем, создаем базу данных и привилегированного пользователя:
$ sudo mysql -u root -p
CREATE DATABASE 'first';
CREATE USER first@localhost IDENTIFIED BY 'здесь_вводим_произвольный_пароль';
GRANT ALL PRIVILEGES ON first.* TO first@localhost;
Стартуем сервисы:
sudo systemctl start nginx
sudo systemctl start php-fpm
sudo systemctl start mariadb
Внимание; если, после конфига /etc/my.cnf и перезапуска mariadb вы получаете ошибку - Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details - ничего страшного; возможно, вы просто забыли добавить еще одну пустую линию после !includedir /etc/my.cnf.d ?
Включаем в автозапуск:
$ sudo systemctl enable nginx
$ sudo systemctl enable php-fpm
$ sudo systemctl enable mariadb
либо так:
$ sudo chkconfig nginx on
$ sudo chkconfig php-fpm on
$ sudo chkconfig mariadb on
Собственно, "чтоб заработало", нам потребуется отредактировать всего лишь два конфига, остальное - уже в процессе, на любителя, ну и в зависимости от ресурсов сервера, конечно. Карандаши на вкус - все, как известно, разные (да, и не забудьте установить mc):
$ sudo mcedit /etc/php-fpm.d/www.conf
$ sudo mcedit /etc/nginx/conf.d/default.conf
В первом обязаны присутствовать следующие директивы:
Listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0600
user = nginx
group = nginx
Второй конфиг "спецом под Joomla" способен выглядеть, например, следующим образом (опубликован на форуме, welcome по ссылке); и теперь можно распаковывать ваш Joomla-сайт. Что еще? - пожалуй, получится очень неплохо, если подарите публичный каталог nginx:
$ sudo chown -R nginx:nginx /var/www
Все ведь уже работает, правда?