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

Как установить WordPress с Nginx на AlmaLinux 8


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

  1. Предпосылки
  2. Установить сервер LAMP
  3. Настройка базы данных MariaDB
  4. Загрузить WordPress
  5. Настройка Apache для WordPress
  6. Защитите WordPress с помощью Lets Encrypt SSL
  7. Настройка брандмауэра
  8. Доступ к панели инструментов WordPress
  9. Заключение

WordPress — это бесплатная, самая популярная в мире CMS с открытым исходным кодом, полностью построенная на PHP. Он используется тысячами людей по всему миру для ведения блогов, бизнес-сайтов и магазинов электронной коммерции. Он имеет несколько замечательных функций, в том числе простую и удобную в использовании панель администратора, тысячи плагинов, огромное сообщество, подробные темы, настройку и многое другое.

В этом руководстве мы покажем вам, как установить WordPress с Apache и Lets Encrypt SSL на AlmaLinux 8.

Предпосылки

  • Сервер с AlmaLinux 8.
  • Действительное доменное имя, указанное с IP-адресом вашего сервера.
  • На сервере настроен пароль root.

Установить LAMP-сервер

WordPress требует, чтобы сервер LAMP был установлен на вашем сервере. Вы можете установить его с помощью следующей команды:

dnf install httpd mariadb-server php php-mysqlnd php-dom php-simplexml php-xml php-xmlreader php-curl php-exif php-ftp php-gd php-iconv php-json php-mbstring php-posix php-sockets php-tokenizer unzip -y

После установки сервера LAMP запустите службы Apache и MariaDB и включите их запуск при перезагрузке системы:

systemctl start mariadb
systemctl start httpd
systemctl enable mariadb
systemctl enable httpd

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

Настроить базу данных MariaDB

Во-первых, вам нужно будет установить корневой пароль MariaDB и защитить установку MariaDB. Вы можете сделать это с помощью следующей команды:

mysql_secure_installation

Ответьте на все вопросы, как показано ниже:

Enter current password for root (enter for none): 
Set root password? [Y/n] Y
New password: 
Re-enter new password: 
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Когда вы закончите, войдите в MariaDB с помощью следующей команды:

mysql -u root -p

После входа в систему создайте базу данных и пользователя для WordPress:

MariaDB [(none)]> CREATE DATABASE wordpress;
MariaDB [(none)]> CREATE USER `wordpress`@`localhost` IDENTIFIED BY 'password';

Затем предоставьте все привилегии базе данных WordPress, используя команду ниже:

MariaDB [(none)]> GRANT ALL ON wordpress.* TO `wordpress`@`localhost`;

Затем сбросьте привилегии и выйдите из оболочки MariaDB с помощью следующей команды:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

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

Скачать WordPress

Затем измените каталог на корневой веб-сайт Apache и загрузите последнюю версию WordPress, используя следующую команду:

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

После завершения загрузки извлеките загруженный файл с помощью следующей команды:

tar -xvzf latest.tar.gz

Затем измените каталог на wordpress и переименуйте образец файла конфигурации:

cd wordpress
mv wp-config-sample.php wp-config.php

Затем отредактируйте файл конфигурации с помощью следующей команды:

nano wp-config.php

Определите конфигурацию вашей базы данных, как показано ниже:

/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress' );

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

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

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

Сохраните и закройте файл, когда закончите, затем установите соответствующие права доступа к каталогу WordPress:

chown -R apache:apache /var/www/html/wordpress

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

Настроить Apache для WordPress

Далее вам нужно будет создать файл конфигурации виртуального хоста Apache для WordPress. Вы можете создать его с помощью следующей команды:

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

Добавьте следующие строки:

<VirtualHost *:80>
   ServerAdmin 
   DocumentRoot "/var/www/html/wordpress"
   ServerName wordpress.example.com
   ErrorLog "/var/log/httpd/example.com-error_log"
   CustomLog "/var/log/httpd/example.com-access_log" combined

<Directory "/var/www/html/wordpress">
   DirectoryIndex index.html index.php
   Options FollowSymLinks
   AllowOverride All
   Require all granted
</Directory>
</VirtualHost>

Сохраните и закройте файл, затем перезапустите службу Apache, чтобы изменения вступили в силу:

systemctl restart httpd

Вы можете проверить статус Apache с помощью следующей команды:

systemctl status httpd

Вы должны получить следующий результат:

? httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2021-07-09 03:30:47 EDT; 3s ago
     Docs: man:httpd.service(8)
 Main PID: 4153 (httpd)
   Status: "Started, listening on: port 80"
    Tasks: 213 (limit: 12524)
   Memory: 24.5M
   CGroup: /system.slice/httpd.service
           ??4153 /usr/sbin/httpd -DFOREGROUND
           ??4155 /usr/sbin/httpd -DFOREGROUND
           ??4156 /usr/sbin/httpd -DFOREGROUND
           ??4157 /usr/sbin/httpd -DFOREGROUND
           ??4158 /usr/sbin/httpd -DFOREGROUND

Jul 09 03:30:47 AlmaLinux systemd[1]: Stopped The Apache HTTP Server.
Jul 09 03:30:47 AlmaLinux systemd[1]: Starting The Apache HTTP Server...

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

Защитите WordPress с помощью Lets Encrypt SSL

Затем вам нужно будет установить клиент Certbot, чтобы установить Lets Encrypt SSL для WordPress. Вы можете установить его с помощью следующей команды:

dnf install epel-release -y 
dnf install certbot python3-certbot-apache

Затем получите и установите SSL-сертификат для вашего домена lets с помощью следующей команды:

certbot --apache -d wordpress.example.com

Вам будет предложено указать свой адрес электронной почты и принять условия обслуживания:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices)
 (Enter 'c' to cancel): 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Account registered.
Requesting a certificate for wordpress.example.com
Performing the following challenges:
http-01 challenge for wordpress.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/httpd/conf.d/wordpress.conf
Redirecting all traffic on port 80 to ssl in /etc/httpd/conf.d/wordpress.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://wordpress.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Subscribe to the EFF mailing list (email: ).


IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/wordpress.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/wordpress.example.com/privkey.pem
   Your certificate will expire on 2022-02-09. To obtain a new or
   tweaked version of this certificate in the future, simply run
   certbot again with the "certonly" option. To non-interactively
   renew *all* of your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Настроить брандмауэр

Далее вам нужно разрешить порты 80 и 443 через firewalld. Вы можете разрешить их с помощью следующей команды:

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https

Затем перезагрузите firewalld, чтобы применить изменения:

firewall-cmd --reload

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

Доступ к панели инструментов WordPress

Затем откройте веб-браузер и войдите в панель администратора WordPress, используя URL-адрес https://wordpress.example.com. Вы будете перенаправлены на следующую страницу:

Выберите свой язык и нажмите «Продолжить». Вы должны увидеть страницу конфигурации сайта WordPress:

Укажите информацию о своем сайте и нажмите кнопку «Установить WordPress». После завершения установки вы должны увидеть следующую страницу:

Нажмите кнопку «Войти». Вы будете перенаправлены на страницу входа в WordPress:

Укажите имя пользователя и пароль администратора и нажмите кнопку «Войти». Вы должны увидеть панель инструментов WordPress на следующей странице:

Заключение

Поздравляем! вы успешно установили WordPress с Apache и Lets Encrypt SSL на AlmaLinux 8. Теперь вы можете легко создать свой собственный веб-сайт с помощью WordPress. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.