====== Установка 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;