смузихлёбики

Wordpress Alpine

Установка Wordpress на Alpine

Требования:

  • PHP: 8.2+
  • MySQL: 8.0+, 8.4+
  • MariaDB: 10.11+, 11.4+
  • Nginx или Apache
# apk add php84-fpm php84-cgi php84-mysqli php84-curl php84-dom php84-exif php84-fileinfo php84-pecl-imagick php84-mbstring php84-zip php84-gd php84-iconv php84-intl php84-xml pcre nginx certbot certbot-nginx mysql mariadb-client

В /etc/php84/php-fpm.d/www.conf меняем user=nobody и group=nobody на user=nginx и group=nginx Добавить nginx в автозапуск:

rc-update add nginx

Добавить php-fpm84 в автозапуск:

rc-update add php-fpm84

Запуск nginx и php-fpm:

rc-service nginx start
rc-service php-fpm84 start

Создаем файлы базы данных MariaDB:

mariadb-install-db --user=mysql --datadir=/var/lib/mysql

Добавляем MariaDB в автозапуск и запускаем её сервис:

rc-update add mariadb
rc-service mariadb start

Делаем простой конфиг Nginx для Wordpress по пути /etc/nginx/http.d:

server {
        listen 80;
        server_name xn--90aldbalef8bvy9l.xn--p1ai;

        root /var/www/wordpress;

        index index.php;

        location / {
                try_files $uri $uri/ /index.php$args;
        }

        location ~ \.php$ {
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                include fastcgi.conf;
        }
        location ~* /(?:uploads|files)/.*\.php$ {
                deny all;
        }
        location ~ /\. {
                deny all;
        }

        location ~ \.(js|css|png|jp?eg|gif|ico)$ {
                expires 30d;
        }
}

Перечитываем конфиг Nginx:

nginx -s reload

Чтобы проверить, что конфиг работает, можно создать простой index.php файл по пути /var/www/wordpress со следующим содержанием:

<?php
phpinfo()

image После этого переходим в /var/www и скачиваем дистрибутив Wordpress:

wget https://wordpress.org/latest.zip
unzip latest.zip

Меняем пользователя на nginx:

chown -R nginx:nginx /var/www/wordpress

Подключаемся к базе данных:

mariadb

Создаем пользователя:

create user 'wordpress'@'localhost' IDENTIFIED BY 'password';

Создаем базу данных:

create database wordpress;

Даем все разрешения пользователю wordpress:

grant all on wordpress.* to 'wordpress'@'localhost';

После этого переходим по домену и проверяем, что открывается установка Wordpress. Завершаем установку Wordpress Выпускаем сертификат:

certbot --nginx -n -m siberiabread@catgirls.asia --agree-tos -d www.xn--90aldbalef8bvy9l.xn--p1ai -d xn--90aldbalef8bvy9l.xn--p1ai