WordPress Hosting Installation and Setup
WordPress ranks 43% of CMS market. Installation via Softaculous takes 5 minutes — but production-ready setup requires proper server configuration, database, basic security settings.
Hosting Requirements
Minimum: PHP 8.1+, MySQL 8.0+ or MariaDB 10.6+, HTTPS, 512 MB RAM. Recommended: PHP 8.2–8.3, dedicated MySQL, 2+ GB RAM for high-traffic sites.
On shared hosting (Beget, Timeweb, Reg.ru) installation via panel takes 10 minutes. On VPS (DigitalOcean, Hetzner) — need to configure LEMP/LAMP stack.
VPS Installation (Ubuntu 22.04 + Nginx + PHP-FPM)
# Nginx + PHP 8.3 + MySQL
apt install nginx php8.3-fpm php8.3-mysql php8.3-curl php8.3-gd \
php8.3-mbstring php8.3-xml php8.3-zip php8.3-intl mysql-server
# Create database
mysql -u root -e "
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'strong-password-here';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;"
# Download WordPress
cd /var/www
wget https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz
mv wordpress yourdomain.com
chown -R www-data:www-data yourdomain.com
wp-config.php
define('DB_NAME', 'wordpress');
define('DB_USER', 'wp_user');
define('DB_PASSWORD', 'strong-password-here');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8mb4');
// Unique keys from https://api.wordpress.org/secret-key/1.1/salt/
define('AUTH_KEY', '...');
// ...
// Force HTTPS
define('FORCE_SSL_ADMIN', true);
// Limit file editing from admin
define('DISALLOW_FILE_EDIT', true);
// Revision limit
define('WP_POST_REVISIONS', 5);
// Autosave interval
define('AUTOSAVE_INTERVAL', 120);
Nginx Configuration
server {
listen 443 ssl http2;
server_name yourdomain.com www.yourdomain.com;
root /var/www/yourdomain.com;
index index.php;
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
client_max_body_size 64M;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff2)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}
location ~ /\.(htaccess|git) { deny all; }
location = /wp-config.php { deny all; }
}
Basic Setup After Installation
- Permalinks: Settings → Permalinks →
/%postname%/ - Timezone: Settings → General → Moscow
- Disable comments if not needed: Settings → Discussion
- Update all components
- Delete default themes (except backup)
- Remove Hello Dolly, Akismet plugins
Minimal Plugin Set
- Wordfence — firewall and malware scanner
- UpdraftPlus — automatic cloud backups
- WP Rocket or LiteSpeed Cache — caching
Don't install "just in case" — each plugin is potential vulnerability and slowdown.
Timeline
WordPress installation on ready VPS with Nginx, SSL and basic plugins — 3–4 hours.







