OKВсе сервисы работают штатно
InfrawireЛоготип InfrawireДокументация

WordPress на Linux VPS

WordPress — популярная CMS. Здесь — установка на собственный VPS (полный контроль).

⚠️ Замечание

📋 Требования

  • Linux VPS, sudo
  • 1+ ГБ RAM (лучше 2 ГБ), 10+ ГБ диска
  • Домен на IP VPS
  • Порты 80/443 открыты

💡 Рекомендация

NVMe VPS для умеренного трафика; Performance VPS при высокой нагрузке.

🔧 Метод 1: LAMP (Apache)

Bash
1sudo apt update && sudo apt upgrade -y 2sudo apt install -y apache2 3sudo systemctl start apache2 && sudo systemctl enable apache2 4sudo apt install -y mysql-server 5sudo systemctl start mysql && sudo systemctl enable mysql 6sudo mysql_secure_installation

MySQL:

Bash
sudo mysql -u root -p
SQL
1CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 2CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'НадёжныйПароль!'; 3GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost'; 4FLUSH PRIVILEGES; 5EXIT;

PHP (пример для 8.1):

Bash
sudo apt install -y php php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip libapache2-mod-php # или php8.* пакеты по аналогии php -v

WordPress:

Bash
1cd /tmp 2curl -O https://wordpress.org/latest.tar.gz 3tar xzf latest.tar.gz 4sudo cp -r wordpress/* /var/www/html/ 5sudo chown -R www-data:www-data /var/www/html 6sudo chmod -R 755 /var/www/html 7cd /var/www/html 8sudo cp wp-config-sample.php wp-config.php 9sudo nano wp-config.php

Укажите DB_NAME, DB_USER, DB_PASSWORD, DB_HOST. Сгенерируйте соли: https://api.wordpress.org/secret-key/1.1/salt/

Bash
sudo a2enmod rewrite sudo nano /etc/apache2/sites-available/000-default.conf

В <Directory /var/www/html>:

Apache
AllowOverride All
Bash
sudo systemctl restart apache2

Мастер в браузере: http://IP или http://домен.

🔧 Метод 2: LEMP (Nginx)

Bash
sudo apt install -y nginx sudo systemctl start nginx && sudo systemctl enable nginx

MySQL и БД — как в LAMP. PHP-FPM:

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

Конфиг /etc/nginx/sites-available/wordpress:

Nginx
1server { 2 listen 80; 3 listen [::]:80; 4 server_name yourdomain.com www.yourdomain.com; 5 root /var/www/html; 6 index index.php index.html; 7 location / { 8 try_files $uri $uri/ /index.php?$args; 9 } 10 location ~ \.php$ { 11 include snippets/fastcgi-php.conf; 12 fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; 13 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 14 include fastcgi_params; 15 } 16 location ~ /\.ht { deny all; } 17}

Замените домен и сокет PHP (php8.2-fpm.sock и т.д.).

Bash
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/ sudo nginx -t && sudo systemctl restart nginx

Файлы WordPress и wp-config.php — как в LAMP.

🔒 Защита

Bash
sudo find /var/www/html -type f -exec chmod 644 {} \; sudo find /var/www/html -type d -exec chmod 755 {} \; sudo chmod 600 /var/www/html/wp-config.php

SSL:

Bash
sudo apt install -y certbot python3-certbot-apache # или python3-certbot-nginx sudo certbot --apache -d yourdomain.com -d www.yourdomain.com sudo certbot renew --dry-run

UFW: sudo ufw allow 'Apache Full' или Nginx Full / 80,443.

Плагины: Wordfence, iThemes Security и т.д. В wp-config.php:

PHP
define('DISALLOW_FILE_EDIT', true);

🔄 Обновления

Через админку Консоль → Обновления или WP-CLI:

Bash
1curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar 2chmod +x wp-cli.phar && sudo mv wp-cli.phar /usr/local/bin/wp 3cd /var/www/html 4sudo -u www-data wp core update 5sudo -u www-data wp plugin update --all

❓ Проблемы

Ошибка БД — данные в wp-config.php, systemctl status mysql.
404 на постоянных ссылкахa2enmod rewrite, конфиг Nginx try_files.
Праваchown -R www-data:www-data /var/www/html, chmod как выше.

📞 Поддержка

Infrawire при сложностях.


Оптимизированный хостинг: веб-хостинг WordPress.