KirMol Wiki

Добро пожаловать в KirMol Wiki

Инструменты пользователя

Инструменты сайта


linux:debian:wordpress

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
linux:debian:wordpress [2026/10/03 10:49] – создано Кирилл Молчановlinux:debian:wordpress [2026/10/17 13:37] (текущий) – Кирилл Молчанов
Строка 1: Строка 1:
 +====== Установка WordPress ======
 +
 +----
 +
 +===== Установка Веб-сервер Apache =====
 +
 +Устанавливаем Apache:
 +<code bash>
 +sudo apt install apache2
 +</code>
 +
 +Добавляем Apache в автозагрузку:
 +<code bash>
 +sudo systemctl enable apache2
 +</code>
 +
 +Запускаем Apache:
 +<code bash>
 +sudo systemctl start apache2
 +</code>
 +
 +Смотрим статус:
 +<code bash>
 +sudo systemctl status apache2
 +</code>
 +
 +===== Установка PHP из Официального репозитория Debian =====
 +
 +Устанавливаем PHP:
 +<code bash>
 +sudo apt install php8.4 php8.4-common php8.4-curl php8.4-gd php8.4-gmp php8.4-igbinary php8.4-imagick php8.4-intl php8.4-mbstring php8.4-xml php8.4-zip libapache2-mod-php8.4 php-json php8.4-mysql
 +</code>
 +
 +===== Настройка php.ini =====
 +
 +Проверяем текущие значения:
 +<code bash>
 +grep -E "upload_max_filesize|post_max_size|memory_limit|max_execution_time" /etc/php/8.4/apache2/php.ini
 +</code>
 +
 +Увеличиваем лимит:
 +<code bash>
 +sudo sed -i 's/^upload_max_filesize.*/upload_max_filesize = 768M/; s/^post_max_size.*/post_max_size = 768M/; s/^memory_limit.*/memory_limit = 512M/' /etc/php/8.4/apache2/php.ini
 +</code>
 +
 +Проверяем включён ли кэш:
 +<code bash>
 +grep -E "opcache.enable|opcache.memory_consumption|opcache.interned_strings_buffer|opcache.max_accelerated_files|opcache.revalidate_freq" /etc/php/8.4/apache2/php.ini
 +</code>
 +
 +Включаем кэш:
 +<code bash>
 +sudo sed -i 's/^;opcache.enable.*/opcache.enable=1/; s/^;opcache.memory_consumption.*/opcache.memory_consumption=256/; s/^;opcache.interned_strings_buffer.*/opcache.interned_strings_buffer=8/; s/^;opcache.max_accelerated_files.*/opcache.max_accelerated_files=10000/; s/^;opcache.revalidate_freq.*/opcache.revalidate_freq=2/' /etc/php/8.4/apache2/php.ini
 +</code>
 +
 +===== Установка MariaDB из Официального репозитория Debian =====
 +
 +Устанавливаем MariaDB:
 +<code bash>
 +sudo apt install mariadb-server mariadb-client
 +</code>
 +
 +===== Первоначальная настройка MariaDB =====
 +
 +Делаем первоначальную настройку базы данных MariaBD:
 +<code bash>
 +sudo mariadb-secure-installation
 +</code>
 +
 +Отвечаем yes / y на следующие вопросы безопасности:
 +
 +^  Вопрос                                                 ^  Ответ Да/Нет                                            ^
 +|  Введите текущий пароль для пользователя root?          |  Ничего не вводим, нажимаем Enter                        |
 +|  Переключиться на аутентификацию unix_socket?           |  Y / n: y                                                |
 +|  Установить пароль root?                                |  Y / n: y                                                |
 +|  Удалить анонимных пользователей?                       |  (Нажмите y - Y для Yes, любой другой символ для No): y  |
 +|  Запретить вход в систему удаленно?                     |  (Нажмите y - Y для Yes, любой другой символ для No): y  |
 +|  Удалить тестовую базу данных и получить доступ к ней?  |  (Нажмите y - Y для Yes, любой другой символ для No): y  |
 +|  Обновить таблицы привилегий сейчас?                    |  (Нажмите y - Y для Yes, любой другой символ для No): y  |
 +
 +===== Настраиваем Apache =====
 +
 +Установите права доступа на директорию **www**:
 +<code bash>
 +sudo chmod -R 775 /var/www
 +</code>
 +
 +<code bash>
 +sudo chown -R $USER:$USER /var/www
 +</code>
 +
 +Добавляем нашего пользователя в группу **www-data**:
 +<code bash>
 +sudo usermod -aG www-data $USER
 +</code>
 +
 +Добавляем пользователя **www-data** в группу нашего пользователя:
 +<code bash>
 +sudo usermod -aG $USER www-data
 +</code>
 +
 +===== Создаём новый виртуальный хост =====
 +
 +Сначала отключим хост по умолчанию:
 +<code bash>
 +sudo a2dissite 000-default
 +</code>
 +
 +Переходим в каталог **/var/www**:
 +<code bash>
 +cd /var/www
 +</code>
 +
 +Создаём новый каталог **WordPress**:
 +<code bash>
 +mkdir WordPress
 +</code>
 +
 +Переходим в созданный каталог:
 +<code bash>
 +cd WordPress
 +</code>
 +
 +Скачиваем WordPress:
 +<code bash>
 +wget https://ru.wordpress.org/latest-ru_RU.zip
 +</code>
 +
 +Распаковываем архив с WordPress:
 +<code bash>
 +unzip latest-ru_RU.zip
 +</code>
 +
 +Удаляем скаченный архив **latest-ru_RU.zip**, он нам больше не понадобиться:
 +<code bash>
 +rm -v latest-ru_RU.zip
 +</code>
 +
 +Переименовываем каталог **wordpress** в **public_html**:
 +<code bash>
 +mv wordpress public_html
 +</code>
 +
 +Меняем владельца на **www-data**:
 +<code bash>
 +sudo chown -R www-data:www-data public_html
 +</code>
 +
 +Вернуться обратно в **Домашний каталог**, используем команду **cd ~**:
 +<code bash>
 +cd ~
 +</code>
 +
 +Создаём конфигурационный файл нового хоста:
 +<code bash>
 +sudo nano /etc/apache2/sites-available/wordpress.conf
 +</code>
 +
 +Приводим его содержимое к следующему виду:
 +<code apache>
 +<VirtualHost *:80>
 +ServerName ваш_домен.ru
 +ServerAlias www.ваш_домен.ru
 +ServerAdmin admin@localhost
 +DocumentRoot /var/www/wordpress/public_html
 +<Directory /var/www/wordpress/public_html>
 +AllowOverride All
 +Require all granted
 +#Redirect permanent / https://ваш_домен.ru/
 +</Directory>
 +ErrorLog ${APACHE_LOG_DIR}/error.log
 +CustomLog ${APACHE_LOG_DIR}/access.log combined
 +</VirtualHost>
 +</code>
 +
 +Далее включаем хост следующей командой:
 +<code bash>
 +sudo a2ensite wordpress
 +</code>
 +
 +И перезагружаем Apache:
 +<code bash>
 +sudo systemctl restart apache2
 +</code>
 +
 +Выключить хост можно следующей командой:
 +<code bash>
 +sudo a2dissite wordpress
 +</code>
 +
 +<code bash>
 +sudo a2dissite wordpress-le-ssl
 +</code>
 +
 +<code bash>
 +sudo systemctl restart apache2
 +</code>
 +
 +===== Создаём базу данных для WordPress =====
 +
 +Подключаемся к MariaDB:
 +<code bash>
 +sudo mariadb -u root -p
 +</code>
 +
 +Создаём новую базу данных:
 +<code mysql>
 +CREATE DATABASE wp;
 +</code>
 +
 +Создаём пользователя базы данных и назначаем все права доступа:
 +<code mysql>
 +GRANT ALL ON wp.* TO 'wp_user'@'localhost' IDENTIFIED BY 'pass';
 +</code>
 +
 +Сохраняем изменения:
 +<code mysql>
 +FLUSH PRIVILEGES;
 +</code>
 +
 +Выходим из базы данных:
 +<code mysql>
 +EXIT;
 +</code>
 +