Как настроить сайт WordPress на своих серверах (с Ubuntu и NGINX) — CloudSavvy IT

Темный режим логотипа WordPress
WordPress

Хотя вы всегда можете заплатить кому-то еще ежемесячную плату за управление своим экземпляром WordPress, самостоятельный хостинг имеет большой смысл для многих людей, у которых есть существующее оборудование, которым можно воспользоваться, или просто желающих создать интересный проект для своего блога. Мы покажем, как установить и настроить базовый сайт WordPress в Ubuntu Linux с помощью NGINX.

Установка зависимостей

Во-первых, нам нужно установить NGINX. Обновить apt и установите его:

sudo apt update
sudo apt install nginx

Если у вас включен брандмауэр, например UFW, вам нужно его открыть:

sudo ufw allow 'Nginx HTTP'

Мы настроим NGINX после установки WordPress. А пока нам нужно создать базу данных MySQL для использования WordPress.

Если у вас не установлен MySQL, вы можете получить его из apt. Обязательно бежать mysql_secure_installation после его установки, чтобы заблокировать его. Вы можете прочитать наше руководство по общей безопасности базы данных для получения дополнительной информации, но пока MySQL работает на localhost, все должно быть в порядке.

sudo apt install mysql-server
sudo mysql_secure_installation

Создайте базу данных для использования WordPress. Вам не нужно настраивать таблицы или что-то еще, достаточно пустой базы данных:

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Затем создайте пользователя с именем wordpressuser, и предоставьте ему доступ к базе данных. Обязательно смените пароль.

CREATE USER 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO 'wordpressuser'@'localhost';
FLUSH PRIVILEGES;

WordPress работает на PHP, поэтому для его работы потребуется установленный PHP. Установите его вместе со следующими расширениями:

sudo apt install php-fpm php-mysql
sudo apt install php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip

И перезапустите службу PHP, чтобы убедиться, что она актуальна с новыми расширениями. Обратите внимание, что здесь может потребоваться изменить номер версии.

sudo systemctl restart php7.4-fpm.service

Установка WordPress

Загрузите последнюю сборку WordPress с их сайта:

cd /tmp
curl -LO https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz

Затем скопируйте образец конфигурации в то место, откуда WordPress фактически читает:

cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

Переместите временный каталог в правильное место для установки и chown данные:

sudo cp -a /tmp/wordpress/. /var/www/wordpress
sudo chown -R www-data:www-data /var/www/wordpress

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

curl -s https://api.wordpress.org/secret-key/1.1/salt/

Затем откройте файл конфигурации WordPress и вставьте значения в:

sudo nano /var/www/wordpress/wp-config.php

Пока вы находитесь в этом файле, вам необходимо настроить параметры базы данных.

define('DB_NAME', 'wordpress');

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

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

define('FS_METHOD', 'direct');

Как только это будет сделано, WordPress должен быть настроен, и нам нужно будет настроить NGINX для обслуживания контента.

Настройка NGINX

NGINX использует файлы конфигурации в /etc/nginx/sites-available/ для настройки разных конечных точек. Создайте новый для своего сайта в этой папке и вставьте следующее:

# Upstream to abstract backend connection(s) for php
upstream php {
        server unix:/var/run/php/php7.4-fpm.sock;
        server 127.0.0.1:9000;
}

server {
        ## Your website name goes here.
        server_name domain.tld;
        ## Your only path reference.
        root /var/www/wordpress;
        ## This should be in your http block and if it is, it's not needed here.
        index index.php;

        location = /favicon.ico {
                log_not_found off;
                access_log off;
        }

        location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
        }

        location / {
                # This is cool because no php is touched for static content.
                # include the "?$args" part so non-default permalinks doesn't break when using query string
                try_files $uri $uri/ /index.php?$args;
        }

        location ~ .php$ {
                #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
                include fastcgi_params;
                fastcgi_intercept_errors on;
                fastcgi_pass php;
                #The following parameter can be also included in fastcgi_params file
                fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }

        location ~* .(js|css|png|jpg|jpeg|gif|ico)$ {
                expires max;
                log_not_found off;
        }
}

Обратите внимание, что вам нужно будет ввести свою информацию для имени хоста и других настроек, а также обновить версию PHP, если вы используете более новую. Вам нужно будет сохранить это в sites-available, а затем сделать символьную ссылку на sites-enabled включить это.

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

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

sudo service nginx restart

Теперь вы сможете просматривать свою панель управления в любое время в https://example.com/wp-admin/.

Затем вам нужно настроить SSL для безопасных соединений на вашем сайте. Вы можете сделать это бесплатно, используя certbot, интерфейс командной строки для бесплатных сертификатов LetsEncrypt.

sudo apt-get install certbot

sudo apt install python3-certbot-nginx

Затем запустите certbot:

sudo certbot nginx -certonly

После этого вам нужно будет перезапустить NGINX.

sudo service nginx перезапуск

Настройка вашего сайта

Поздравляю! У вас есть работающий сайт WordPress. Наверное, с темой по умолчанию это выглядит ужасно. Первое, что вам нужно сделать, это изменить тему, что вы можете сделать на панели инструментов:

Какую бы тему вы ни выбрали, вам нужно будет активировать ее на вкладке внешнего вида.

Затем вы можете настроить параметры и стиль, посетив сайт и нажав «Настроить» в заголовке. Одна из лучших вещей, которую вы можете сделать, — это добавить на сайт полностью настраиваемый CSS, который может изменить любой элемент на странице.

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

cd /var/www/wordpress/wp-content/themes/dark-press/
sudo nano index.php

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован.