====== Установка WordPress ====== ---- ===== Установка Веб-сервер Apache ===== Устанавливаем Apache: sudo apt install apache2 Добавляем Apache в автозагрузку: sudo systemctl enable apache2 Запускаем Apache: sudo systemctl start apache2 Смотрим статус: sudo systemctl status apache2 ===== Установка PHP из Официального репозитория Debian ===== Устанавливаем PHP: sudo apt install php8.4 php8.4-common php8.4-curl php8.4-gd php8.4-gmp php8.4-imap php8.4-igbinary php8.4-imagick php8.4-intl php8.4-mbstring php8.4-xml php8.4-zip libapache2-mod-php8.4 php8.4-fpm php-json php8.4-mysql ===== Настройка php.ini ===== Проверяем текущие значения: grep -E "upload_max_filesize|post_max_size|memory_limit|max_execution_time" /etc/php/8.4/apache2/php.ini Увеличиваем лимит: 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 ===== Установка MariaDB из Официального репозитория Debian ===== Устанавливаем MariaDB: sudo apt install mariadb-server mariadb-client ===== Первоначальная настройка MariaDB ===== Делаем первоначальную настройку базы данных MariaBD: sudo mariadb-secure-installation Отвечаем 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**: sudo chmod -R 775 /var/www sudo chown -R $USER:$USER /var/www Добавляем нашего пользователя в группу **www-data**: sudo usermod -aG www-data $USER Добавляем пользователя **www-data** в группу нашего пользователя: sudo usermod -aG $USER www-data ===== Создаём новый виртуальный хост ===== Сначала отключим хост по умолчанию: sudo a2dissite 000-default Переходим в каталог **/var/www**: cd /var/www Создаём новый каталог **WordPress**: mkdir WordPress Переходим в созданный каталог: cd WordPress Скачиваем WordPress: wget https://ru.wordpress.org/latest-ru_RU.zip Распаковываем архив с WordPress: unzip latest-ru_RU.zip Удаляем скаченный архив **latest-ru_RU.zip**, он нам больше не понадобиться: rm -v latest-ru_RU.zip Переименовываем каталог **wordpress** в **public_html**: mv wordpress public_html Меняем владельца на **www-data**: sudo chown -R www-data:www-data public_html Вернуться обратно в **Домашний каталог**, используем команду **cd ~**: cd ~ Создаём конфигурационный файл нового хоста: sudo nano /etc/apache2/sites-available/wordpress.conf Приводим его содержимое к следующему виду: ServerName ваш_домен.ru ServerAlias www.ваш_домен.ru ServerAdmin admin@localhost DocumentRoot /var/www/wordpress/public_html AllowOverride All Require all granted #Redirect permanent / https://ваш_домен.ru/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined Далее включаем хост следующей командой: sudo a2ensite wordpress И перезагружаем Apache: sudo systemctl restart apache2 Выключить хост можно следующей командой: sudo a2dissite wordpress sudo a2dissite wordpress-le-ssl sudo systemctl restart apache2 ===== Создаём базу данных для WordPress ===== Подключаемся к MariaDB: sudo mariadb -u root -p Создаём новую базу данных: CREATE DATABASE wp; Создаём пользователя базы данных и назначаем все права доступа: GRANT ALL ON mediawiki.* TO 'wp_user'@'localhost' IDENTIFIED BY 'pass'; Сохраняем изменения: FLUSH PRIVILEGES; Выходим из базы данных: EXIT;