Поиск по сайту:

Как установить WordPress с LAMP и бесплатно Lets Encrypt SSL на Rocky Linux


На этой странице

  1. Предпосылки
  2. Установка веб-сервера Apache/Httpd
  3. Установка пакетов PHP
  4. Установка и настройка сервера MariaDB
  5. Создание базы данных и пользователя для WordPress
  6. Загрузить WordPress
  7. Настройка WordPress
  8. Включить httpd mod_ssl в Rocky Linux.
  9. Создание SSL Letsencrypt в Rocky Linux
  10. Настройка виртуального хоста для WordPress
  11. Установка WordPress
  12. Заключение

WordPress — одна из самых популярных систем управления контентом (CMS) на данный момент, ее используют миллионы людей. Проект WordPress начался в 2003 году как ответвление от CMS «b2/cafelog», поставляется с лицензией GPLv2 и становится бесплатным программным обеспечением с открытым исходным кодом.

На данный момент более 34% веб-сайтов в Интернете используют WordPress. Одна из причин, по которой WordPress так популярен, заключается в том, что он прост, удобен в использовании и гибок. С сотнями/тысячами плагинов WordPress можно использовать по-разному, например, как простой движок для ведения блога, веб-сайты электронной коммерции, простой профиль компании, онлайн-форум и т. д.

В этом руководстве вы узнаете, как установить WordPress CMS на Rocky Linux 8.4. Вы будете устанавливать WordPress под стеком LAMP (Linux, Apache2/httpd, MySQL/MariaDB и PHP).

Предпосылки

  • Сервер Rocky Linux. Убедитесь, что все пакеты обновлены до последней версии.
  • Пользователь с привилегиями root. Этот пользователь получит привилегии root с помощью команды sudo.

Установка веб-сервера Apache/Httpd

Сначала вы будете устанавливать веб-сервер Apache или httpd на сервер Rocky Linux.

1. Выполните приведенную ниже команду dnf, чтобы установить веб-сервер httpd.

sudo dnf install httpd

Введите \y\ и нажмите \Enter\, чтобы подтвердить и установить пакеты httpd.

2. Если установка завершена, включите и запустите службу httpd с помощью следующей команды.

sudo systemctl enable httpd
sudo systemctl start httpd

Команда systemctl enable позволит службе запускаться при каждой загрузке.

3. После этого выполните приведенную ниже команду, чтобы проверить службу httpd.

sudo systemctl status httpd

И вы получите аналогичный результат, как показано ниже.

Как видно на верхнем снимке экрана, httpd активен и работает.

Установка пакетов PHP

На данный момент для установки WordPress CMS требуется PHP 7.4 или выше. Теперь вы будете устанавливать PHP 7.4 из репозитория remi.

1. Выполните следующую команду, чтобы добавить репозиторий epel и remi.

sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Введите \y\ и нажмите \Enter\, чтобы добавить репозиторий epel и remi.

Когда установка будет завершена, проверьте репозиторий epel и Remi, используя следующую команду.

sudo dnf repolist

Вы увидите репозиторий epel и remi в списке репозиториев.

2. Затем сбросьте модуль репозитория PHP по умолчанию. Затем включите модуль для PHP 7.4 из репозитория remi.

Выполните следующую команду, чтобы сбросить репозиторий модуля php по умолчанию.

sudo dnf module reset php

В процессе введите \y\ и нажмите \Enter\, чтобы добавить репозиторий ключей gpg.

После этого выполните приведенную ниже команду, чтобы включить модуль php из репозитория remi.

sudo dnf module enable php:remi-7.4

Введите \y\ для подтверждения и нажмите \Enter\, чтобы продолжить. Теперь вы готовы установить PHP и все расширения для установки WordPress.

3. Выполните следующую команду, чтобы установить php с некоторыми необходимыми расширениями.

sudo dnf install php php-common php-mysqlnd php-gd php-imagick php-bcmath

После завершения установки перейдите к следующему шагу.

Установка и настройка сервера MariaDB

На этом этапе вы будете устанавливать сервер базы данных MariaDB, обеспечивать безопасность развертывания MariaDB и создавать новую базу данных и пользователя для WordPress.

1. Чтобы установить сервер базы данных MariaDB, выполните приведенную ниже команду.

sudo dnf install mariadb mariadb-server

Дождитесь установки mariadb.

2. После завершения установки включите и запустите службу MariaDB с помощью следующей команды.

sudo systemctl enable mariadb
sudo systemctl start mariadb

4. Мариадб будет активна и запущена, выполните следующую команду, чтобы проверить службу MariaDB.

sudo systemctl status mariadb

Если служба mariadb запущена, вы получите результат, аналогичный приведенному ниже.

5. Затем вам необходимо защитить развертывание MariaDB, установив пароль root для MariaDB и удалив некоторые конфигурации по умолчанию. Для этого вы можете использовать инструмент командной строки mysql_secure_installation, который включен в установку MariaDB по умолчанию.

Выполните приведенную ниже команду \mysql_secure_installation\.

mysql_secure_installation

Сначала вам будет предложено установить пароль root для mariadb.

Введите надежный корневой пароль mariadb и повторите, затем нажмите \Enter\, чтобы продолжить.

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!

Теперь введите \Y\ и нажмите \Enter\, чтобы удалить анонимного пользователя по умолчанию с сервера mariadb.

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y
 ... Success!

После этого отключите удаленный вход для пользователя root по умолчанию. Введите \Y\ и нажмите \Enter\, чтобы продолжить.

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
 ... Success!

Введите \Y\ еще раз, чтобы удалить базу данных по умолчанию \test\ и нажмите \Enter\.

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

И последнее, введите \Y\ еще раз, чтобы перезагрузить все привилегии таблиц, чтобы применить новую конфигурацию.

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
 ... Success!

Теперь процесс завершен, и вы увидите следующий вывод.

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Создать базу данных и пользователя для WordPress

1. Войдите в оболочку mariadb, используя приведенную ниже команду mysql.

mysql -u root -p

2. Теперь выполните следующий запрос mysql, чтобы создать новую базу данных \wordpress_db\.

CREATE DATABASE wordpress_db;

3. Выполните следующий запрос, чтобы создать нового пользователя базы данных \wpuser\. Измените \strongpassword\ на свой надежный пароль.

CREATE USER  IDENTIFIED BY 'strongpassword';

4. Позвольте пользователю \wpuser\ получить доступ и написать \wordpress_db\, используя следующий запрос.

GRANT ALL PRIVILEGES ON wordpress_db.* to ;

5. Теперь перезагрузите все права доступа к таблицам, чтобы применить новую конфигурацию базы данных.

FLUSH PRIVILEGES;

Затем вы можете ввести \уход\ и нажать \Ввод\, чтобы выйти из оболочки mariadb.

Скачать WordPress

1. Измените рабочий каталог на \/var/www\ и загрузите исходный код WordPress с помощью команды wget, как показано ниже.

cd /var/www/
wget https://wordpress.org/latest.tar.gz

2. Извлеките исходный код WordPress \latest.tar.gz\, и вы получите новый каталог \wordpress\, затем измените владельца каталога \wordpress\ на пользователя apache.

tar -xzvf latest.tar.gz
sudo chown -R apache:apache wordpress/

Теперь вы готовы настроить установку WordPress.

Настройка WordPress

На этом этапе вы будете редактировать конфигурацию WordPress \wp-config.php\, настраивать детали базы данных и добавлять ключ аутентификации и соли (для дополнительной защиты безопасности).

1. Сначала измените рабочий каталог на \/var/www/wordpress\.

cd /var/www/wordpress/

2. Скопируйте образец конфигурации \wp-config-sample.php\ в \wp-config.php\, затем отредактируйте файл конфигурации с помощью редактора nano.

cp wp-config-sample.php wp-config.php
nano wp-config.php

3. Измените сведения о базе данных (ИМЯ_БД, ПОЛЬЗОВАТЕЛЬ_БД и ПАРОЛЬ_БД) на данные вашей базы данных.

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress_db' );

/** MySQL database username */
define( 'DB_USER', 'wpuser' );

/** MySQL database password */
define( 'DB_PASSWORD', 'strongpassword' );

/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

4. Перейдите по этой ссылке, чтобы сгенерировать ключи аутентификации и соли, а затем вставьте конфигурацию в свой файл \wp-config.php\, как показано ниже.

/**#@+
 * Authentication unique keys and salts.
 *
 * Change these to different unique phrases! You can generate these using
 * the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}.
 *
 * You can change these at any point in time to invalidate all existing cookies.
 * This will force all users to have to log in again.
 *
 * @since 2.6.0
 */
define('AUTH_KEY',         'v$4/xyGF7t!^(-Xr~lUKT,1oBxOpxzXPAs)kPE_C%Oc^~^%JN]C-y(k>~Wj+JZRM');
define('SECURE_AUTH_KEY',  'y<|#/jfYs,Y_l;{[`2uNp9SMNH8zNGK[eb&RYqb-+bd<a,Fi<9z9rj2_#=R(5O&s');
define('LOGGED_IN_KEY',    '&U8Z{I~,xV%D>FDq+Qx{@hmv:~G/<+_8fPvQ(m%oR.A)%ZPtp``sZWK! !G6C%UYPrKU{xQJD.<bd45');
/**#@-*/

Нажмите \Ctrl+x\ и введите \y\, чтобы сохранить и выйти.

Включить httpd mod_ssl в Rocky Linux

В этом руководстве вы будете устанавливать WordPress и обеспечивать безопасность с помощью SSL от Letsencrypt. Поэтому вам нужно включить mod_ssl для сервера httpd в Rocky Linux.

1. Установите пакет mod_ssl с помощью приведенной ниже команды dnf.

sudo dnf install mod_ssl mod_http2

2. после этого сгенерируйте SSL по умолчанию для локального хоста, используя команду openssl ниже.

openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/localhost.key -x509 -days 365 -out /etc/pki/tls/certs/localhost.crt

Вы можете просто нажать Enter для всех вопросов, потому что этот сертификат будет использоваться только для локального хоста, а не доменного имени WordPress.

3. Теперь выполните следующую команду, чтобы убедиться, что mod_ssl доступен на веб-сервере httpd.

apachectl -M | grep ssl

Если у вас есть вывод, например \ssl\, то mod_ssl включен. В противном случае вы получите пустой вывод.

Создание SSL Letsencrypt на Rocky Linux

На этом этапе вы будете устанавливать инструмент cerbot и создавать SSL-сертификаты для установки WordPress. Вы будете генерировать SSL Letsencrypts с плагином webroot.

1. Выполните следующую команду, чтобы установить инструмент certbot для создания SSL Letsencrypt.

sudo dnf install certbot

Дождитесь процесса установки.

2. После завершения установки создайте новый каталог для авторизации letsencrypt, используя следующие команды.

sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp apache /var/lib/letsencrypt
sudo chmod g+s /var/lib/letsencrypt

3. Затем измените рабочий каталог на \/etc/httpd/conf.d/\ и создайте новую конфигурацию \well-known.conf\ с помощью редактора nano.

cd /etc/httpd/conf.d/
nano well-known.conf

Добавьте следующие конфигурации.

Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"
<Directory "/var/lib/letsencrypt/">
    AllowOverride None
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    Require method GET POST OPTIONS
</Directory>

Нажмите \Ctrl+x\ и введите \y\, чтобы сохранить и выйти.

4. Теперь выполните следующие команды, чтобы проверить конфигурацию httpd и перезапустить службу httpd.

apachectl configtest
sudo systemctl restart httpd

Если у вас нет ошибок, вы готовы сгенерировать SSL Letsencrypt с плагином webroot.

5. Перед созданием SSL Letsencrypt убедитесь, что ваше доменное имя разрешается в IP-адрес сервера. После этого вы можете сгенерировать SSL Letsencrypt с плагином webroot, выполнив приведенную ниже команду certbot. Также измените адрес электронной почты и доменное имя на свои.

sudo certbot certonly --agree-tos --email www.domain.com

Когда процесс завершится, ваши SSL-сертификаты будут доступны в каталоге \/etc/letsencrypt/live/domain.com/\.

Настройка виртуального хоста для WordPress

На этом этапе вы добавите новую конфигурацию виртуального хоста apache/httpd для WordPress.

1. Измените рабочий каталог на \/etc/httpd/conf.d\ и создайте новую конфигурацию \wordpress.conf\ с помощью редактора nano.

cd /etc/httpd/conf.d/
nano wordpress.conf

Измените подробное доменное имя и каталог пути SSL на свои собственные и вставьте конфигурацию в файл \wordpress.conf\.

# httpd port 80
<VirtualHost *:80>
  ServerName domain.com
  ServerAlias www.domain.com

  # automatic redirect http to https
  Redirect permanent / https://domain.com/
</VirtualHost>

# httpd port 443/ssl
<VirtualHost *:443>
  ServerName domain.com
  ServerAlias www.domain.com

  # WordPress path directory
  DocumentRoot /var/www/wordpress

  Protocols h2 http:/1.1

  <If "%{HTTP_HOST} == 'www.domain.com'">
    Redirect permanent / https://domain.com/
  </If>
 
  ErrorLog /var/log/httpd/domain.com-error.log
  CustomLog /var/log/httpd/domain.com-access.log combined

  SSLEngine On
  SSLCertificateFile /etc/letsencrypt/live/domain.com/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/domain.com/privkey.pem
 
  SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
  SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
  SSLCompression off

  <Directory /var/www/wordpress/>
       Options FollowSymlinks
       AllowOverride All
       Require all granted
  </Directory>
 
  <Directory /var/www/wordpress/>
       RewriteEngine on
       RewriteBase /
       RewriteCond %{REQUEST_FILENAME} !-f
       RewriteRule ^(.*) index.php [PT,L]
  </Directory>
</VirtualHost>

Нажмите \Ctrl+x\ и введите \Y\, чтобы сохранить конфигурацию и выйти.

3. Затем выполните следующую команду, чтобы проверить конфигурацию httpd.

sudo apachectl configtest

Если у вас нет ошибок, перезапустите службу httpd, используя приведенную ниже команду.

sudo systemctl restart httpd

Теперь вы готовы к установке WordPress через веб-браузер.

Установка WordPress

Если все соответствующие настройки сервера завершены, вы можете получить доступ к своей установке WordPress с помощью веб-браузера.

1. Откройте веб-браузер и введите URL-адрес вашей установки WordPress.

Теперь вы будете перенаправлены на безопасное соединение HTTPS, и вы получите следующую страницу.

Выберите язык для установки WordPress, по умолчанию — «Английский (США)», затем нажмите «Продолжить».

2. Теперь введите \Название сайта\ и введите новое имя пользователя, адрес электронной почты и пароль для вашей установки WordPress.

Затем нажмите кнопку «Установить WordPress», чтобы начать установку.

3. После завершения установки вы получите следующую страницу.

Нажмите кнопку Войти, чтобы продолжить.

4. Теперь вы будете перенаправлены на страницу входа в WordPress.

Введите имя пользователя и пароль, затем нажмите \Войти\.

5. И вы получите индексную страницу WordPress по умолчанию.

6. Переместите курсор в меню «Мой блог» и нажмите «Панель инструментов» или «Темы», и вы получите панель администратора WordPress, как показано ниже.

7. Чтобы установить плагин WordPress, переместите курсор в меню «Плагин» и нажмите «Добавить новый», затем вы будете перенаправлены на страницу плагина.

Выберите плагин, который вы хотите установить, и нажмите «Установить сейчас», затем вы можете нажать кнопку «Активировать», чтобы активировать плагин.

Заключение

Поздравляем! вы успешно установили WordPress CMS со стеком LAMP на сервер Rocky Linux. Ниже приведены материалы, которые вы узнали в этом уроке:

  • Установка стека LAMP
  • Защита развертывания MariaDB
  • Создать базу данных mysql и пользователя из оболочки mysql/mariadb.
  • Настройка веб-сервера apache/httpd для подключаемого модуля certbot webroot
  • Создать SSL Letsencrypt
  • И последнее — это установка WordPress.

На следующем этапе вы можете выбрать или купить темы и установить их на свой WordPress.