WordPress — это самая популярная система управления контентом (CMS), основанная на PHP и MySQL. Когда ваш WordPress CMS растет в трафике, и вы перерастаете ваши текущие серверные ресурсы, профессиональным решением является размещение вашей базы данных на отдельном сервере базы данных. С помощью этого решения вы можете самостоятельно оптимизировать свою базу данных и свой веб-сервер, и оба сервера могут вырасти на собственной машине. В этой статье мы расскажем вам, как настроить WordPress для использования удаленной базы данных на CentOS 7 VPS.
Чтобы запустить WordPress на вашем CentOS 7 VPS и настроить его для использования удаленной базы данных, нам необходимо предусмотреть следующие требования:
WordPress требует:
Войдите в систему для каждого VPS через SSH как пользователь root
ssh roo@IP_Address -p Port_number
После входа в систему запустите следующую команду на обоих серверах, чтобы убедиться, что все установленные пакеты RPM обновлены
yum -y update
yum -y mariadb mariadb-server
Как указано в разделе требований учебника, для запуска WordPress на сервере требуется стек LAMP (Apache, MySQL/MariaDB и PHP). Мы начнем с установки веб-сервера Apache:
yum -y install httpd
По завершении установки Apache запустите веб-сервер и включите его при загрузке сервера:
systemctl enable httpd
PHP 5.4 установлен на CentOS 7 по умолчанию.
Чтобы установить и использовать PHP 7.2, нам необходимо установить репозитории EPEL и REMI:
yum install epel-release rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm yum install yum-utils yum-config-manager --enable remi-php72 yum update
Затем установите PHP 7.2 вместе с требуемыми расширениями PHP:
yum -y install php php-cli php-mbstring php-gd php-mysqlnd php-xmlrpc php-xml php-zip php-curl
И, наконец, завершите установку LAMP, установив пакет клиента MariaDB:
yum -y install mariadb mariadb-server
Запустите службу и установите ее для перезагрузки
systemctl start mariadb systemctl enable mariadb
Чтобы принять удаленные подключения, отредактируйте файл конфигурации MariaDB (/etc/my.cnf.d/server.cnf) и измените следующую строку:
bind-address = 127.0.0.1
на:
bind-address = web_server_IP_address
Не забудьте заменить «web_server_IP_address» на общедоступный IP-адрес веб-сервера.
Если вы хотите настроить MariaDB для прослушивания на всех интерфейсах VPS, установите:
bind-address = 0.0.0.0
Перезапустите MariaDB, чтобы изменения вступили в силу:
systemctl restart mariadb.service
Войдите в консоль MariaDB с учетной записью пользователя root:
# mysql -u root -p
Создайте новую базу данных MariaDB для WordPress, используя следующий запрос:
mysql> CREATE DATABASE wpdb;
Создайте нового пользователя MariaDB для WordPress, используя следующий запрос:
mysql> CREATE USER 'wpuser'@'localhost'; mysql> CREATE USER 'wpuser'@'database_VPS_IP';
Затем выполните следующий запрос, чтобы добавить отдельного пользователя для WordPress, который будет взаимодействовать с базой данных MariaDB:
mysql> GRANT ALL PRIVILEGES ON wpdb.* to 'wpuser'@'localhost' IDENTIFIED BY '5tr0ng_Pa55w0rd'; mysql> GRANT ALL PRIVILEGES ON wpdb.* to 'wpuser'@'database_VPS_IP' IDENTIFIED BY '5tr0ng_Pa55w0rd';
Не забудьте заменить database_VPS_IP на фактический IP-адрес базы данных VPS.
Выполните следующую команду, чтобы применить установленные нами привилегии:
mysql> FLUSH PRIVILEGES;
Теперь мы можем выйти из сеанса MariaDB:
mysql> quit
Измените файл конфигурации MariaDB (/etc/my.cnf.d/server.cnf) и измените следующую строку:
bind-address = 127.0.0.1
на:
bind-address = database_server_IP_address
Или, настройте MariaDB для прослушивания на всех интерфейсах в базе данных VPS:
bind-address = 0.0.0.0
Перезапустите MariaDB, чтобы изменения вступили в силу:
systemctl restart mariadb.service
Загрузите последнюю версию WordPress, доступную на https://wordpress.org/download/, и извлеките ее в каталог на своем сервере:
wget https://wordpress.org/latest.zip unzip -d /var/www/html/latest.zip
Установите правильные разрешения для файлов и каталогов WordPress:
chown apache:apache -R /var/www/html/wordpress/
Переименуйте файл конфигурации wp-config-sample.php WordPress в wp-config.php:
mv /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php
Отредактируйте файл wp-config.php и измените следующие строки
vi /var/www/html/wordpress/wp-config.php
/** Имя базы данных для WordPress */ define ('DB_NAME', 'wpdb'); /** Имя пользователя базы данных MySQL */ define ('DB_USER', 'wpuser'); /** Пароль базы данных MySQL */ define ('DB_PASSWORD', '5tr0ng_Pa55w0rd'); /** Имя хоста MySQL */ define ('DB_HOST', 'database_VPS_IP');
Теперь нам нужно будет настроить конфигурацию Apache, чтобы он мог обслуживать каталог WordPress. Добавьте содержимое ниже в файл /etc/httpd/conf.d/wordpress.conf, используя vi или ваш любимый редактор:
# vi /etc/httpd/conf.d/wordpress.conf
Добавьте следующие строки:
<VirtualHost *: 80> ServerAdmin admin@your-domain.ru DocumentRoot/var/www/html/wordpress ServerName your-domain.com ServerAlias www.your-domain.ru Alias /matomo "/var/www/html/wordpress/" <Directory /var/www/html/wordpress/> Опции + FollowSymlinks AllowOverride Все </Directory> ErrorLog /var/log/httpd/wordpress-error_log CustomLog /var/log/httpd/wordpress-access_log common </VirtualHost>
Сохраните изменения и перезапустите Apache, чтобы изменения вступили в силу:
systemctl restart httpd
Откройте http://your-domain.ru в своем любимом веб-браузере и завершите установку WordPress.
Поздравления. Вы успешно настроили WordPress для использования удаленной базы данных на сервере CentOS 7.