php7.3 + mariadb10.3 +vestacp на ubuntu 18.04

Заставить работать весту на данной связке оказалось не тривиальной задачей. Мануалов в сети не нашел. Сразу оговорюсь, речь идёт об установке на чистую систему. Заставить всё это работать простым обновлением у меня не получилось. Прежде всего нужно помнить, что добавлять репозиторий php следует ДО установки vesta, а репозиторий mariadb ПОСЛЕ. Поехали.

Прежде всего обновим систему:

apt update & apt upgrade

Добавляем php и nginx:

add-apt-repository ppa:ondrej/php
add-apt-repository ppa:ondrej/nginx
(по желанию)

Скачиваем установочный файл весты:

curl -O http://vestacp.com/pub/vst-install.sh

Выбираем нужное и устанавливаем:

bash vst-install.sh --nginx yes --phpfpm yes --apache no --named no --remi yes --vsftpd no --proftpd yes --iptables yes --fail2ban no --quota no --exim no --dovecot no --spamassassin no --clamav no --softaculous no --mysql yes --postgresql no --hostname myhostname.ru --email you@mail.com --password mysuperpassword

Проверяем, что панель работает. Сайты создаются, phpinfo показывает 7.3
Добавляем ключ и репозиторий mariadb:

apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
add-apt-repository 'deb [arch=amd64] http://mirror.timeweb.ru/mariadb/repo/10.3/ubuntu bionic main'

Открываем /usr/local/vesta/conf/.mysql.localhost и копируем пароль root

Устанавливаем:
apt install mariadb-server mariadb-client libclone-perl libmldbm-perl libnet-daemon-perl libsql-statement-perl
В процессе установки вставляем скопированный пароль (да, пишут, что если ничего не вводить, то пароль не будет изменён, но тем не менее)

После установки веста откажется работать с базами данных, а вход в mysql из консоли будет невозможен (“ERROR 1524 (HY000): Plugin ‘auth_socket’ is not loaded”) Лечим:

systemctl stop mysql
mysqld_safe --skip-grant-tables &
mysql -uroot
use mysql;
update user set plugin="mysql_native_password";
flush privileges;
CTRL + D

kill -9 $(pgrep mysql)
systemctl start mysql

Если получаем другую ошибку (1045 access denied for user root localhost) Лечим:

systemctl stop mysql
mysqld_safe --skip-grant-tables &
UPDATE mysql.user SET Host='%' WHERE Host='localhost' AND User='root';
UPDATE mysql.db SET Host='%' WHERE Host='localhost' AND User='root';
FLUSH PRIVILEGES;
CTRL + D
systemctl start mysql

Если пароль root, который мы копипастили в процессе установки, не был применен, то:
mysqld --skip-grant-tables
mysql
USE mysql;
UPDATE user SET Password=PASSWORD('ваш_пароль') where USER='root';
FLUSH PRIVILEGES;

После перезагрузки mariadb не запустится, а при запуске вручную будет падать через несколько минут. Виновник apparmor. Исправляем:

aa-complain /usr/sbin/mysqld
aa-disable /usr/sbin/mysqld
reboot

После перезагрузки сайты работают на php7.3 и mariadb10.3, цель достигнута. Добавлю, что nginx веста ставит не из подключенного в начале ppa, а из реп nginx.org, но можно безболезненно поменять его.

php7.3 + mariadb10.3 +vestacp на ubuntu 18.04

Читайте также:

avatar
890
  Подписаться  
Уведомление о