WordPress — популярная CMS. Здесь — установка на собственный VPS (полный контроль).
⚠️ Замечание
📋 Требования
- Linux VPS, sudo
- 1+ ГБ RAM (лучше 2 ГБ), 10+ ГБ диска
- Домен на IP VPS
- Порты 80/443 открыты
💡 Рекомендация
NVMe VPS для умеренного трафика; Performance VPS при высокой нагрузке.
🔧 Метод 1: LAMP (Apache)
Bash1sudo 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:
Bashsudo mysql -u root -p
SQL1CREATE 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):
Bashsudo 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:
Bash1cd /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/
Bashsudo a2enmod rewrite sudo nano /etc/apache2/sites-available/000-default.conf
В <Directory /var/www/html>:
ApacheAllowOverride All
Bashsudo systemctl restart apache2
Мастер в браузере: http://IP или http://домен.
🔧 Метод 2: LEMP (Nginx)
Bashsudo apt install -y nginx sudo systemctl start nginx && sudo systemctl enable nginx
MySQL и БД — как в LAMP. PHP-FPM:
Bashsudo 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:
Nginx1server { 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 и т.д.).
Bashsudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/ sudo nginx -t && sudo systemctl restart nginx
Файлы WordPress и wp-config.php — как в LAMP.
🔒 Защита
Bashsudo 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:
Bashsudo 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:
PHPdefine('DISALLOW_FILE_EDIT', true);
🔄 Обновления
Через админку Консоль → Обновления или WP-CLI:
Bash1curl -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.