यह गाइड बताती है कि Linux VPS पर WordPress कैसे इंस्टॉल करें। WordPress दुनिया का सबसे लोकप्रिय CMS है, जिसे लाखों वेबसाइटें उपयोग करती हैं।
⚠️ महत्वपूर्ण चेतावनी
महत्वपूर्ण: WordPress साइटों के लिए Infrawire वेब होस्टिंग विशेष रूप से अनुशंसित है। शेयर्ड या डेडिकेटेड होस्टिंग के फायदे:
- इष्टतम स्थिरता — WordPress के लिए अनुकूलित वातावरण
- स्वचालित बैकअप — नियमित डेटा बैकअप
- विशेष सहायता — WordPress के लिए तकनीकी सहायता
- प्रबंधित अपडेट — सुरक्षा और प्रदर्शन अपडेट
- बेहतर सुरक्षा — सामान्य हमलों से सुरक्षा
- अनुकूलित प्रदर्शन — WordPress के लिए सर्वर कॉन्फ़िगरेशन
हालाँकि, यदि आप गैर-शेयर्ड, डेडिकेटेड वातावरण और सर्वर पर पूर्ण नियंत्रण चाहते हैं, तो Infrawire VPS पर WordPress इंस्टॉल कर सकते हैं। यह गाइड उसी की व्याख्या करती है।
📋 पूर्वापेक्षाएँ
- root या sudo एक्सेस वाला Linux VPS
- कम से कम 1 GB RAM (WordPress के लिए 2 GB अनुशंसित)
- कम से कम 10 GB खाली डिस्क
- VPS IP की ओर इशारा करता डोमेन नाम
- फ़ायरवॉल में पोर्ट 80 (HTTP) और 443 (HTTPS) खुले
💡 इन्फ्रास्ट्रक्चर सिफारिश
WordPress के लिए मध्यम ट्रैफ़िक पर NVMe VPS, उच्च CPU आवश्यकता वाली साइटों के लिए VPS High Performance अनुशंसित है। NVMe ड्राइव पेज लोडिंग और डेटाबेस ऑपरेशन तेज़ करती हैं।
🔧 विधि 1: LAMP (Apache) के साथ इंस्टॉलेशन
चरण 1: सिस्टम अपडेट करें
Bash# Update package list sudo apt update # Update installed packages sudo apt upgrade -y
चरण 2: Apache इंस्टॉल करें
Bash# Install Apache sudo apt install -y apache2 # Start Apache sudo systemctl start apache2 # Enable Apache on boot sudo systemctl enable apache2 # Check status sudo systemctl status apache2
चरण 3: MySQL इंस्टॉल करें
Bash# Install MySQL Server sudo apt install -y mysql-server # Start MySQL sudo systemctl start mysql # Enable MySQL on boot sudo systemctl enable mysql # Secure MySQL installation sudo mysql_secure_installation
सुरक्षा सेटअप के दौरान:
- MySQL root पासवर्ड सेट करें
- अनाम उपयोगकर्ता हटाएँ
- दूरस्थ root लॉगिन अक्षम करें
- टेस्ट डेटाबेस हटाएँ
- विशेषाधिकार पुनः लोड करें
चरण 4: WordPress डेटाबेस बनाएँ
Bash# Connect to MySQL sudo mysql -u root -p
MySQL में निम्नलिखित कमांड चलाएँ:
SQL1-- Create database 2CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 3 4-- Create user for WordPress 5CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'YourSecurePassword123!'; 6 7-- Grant all privileges to user 8GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wordpress_user'@'localhost'; 9 10-- Apply changes 11FLUSH PRIVILEGES; 12 13-- Exit MySQL 14EXIT;
महत्वपूर्ण:
YourSecurePassword123!को मजबूत, अद्वितीय पासवर्ड से बदलें।
चरण 5: PHP और आवश्यक एक्सटेंशन इंस्टॉल करें
Bash# Install PHP and extensions required for WordPress 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 # Check PHP version php -v
WordPress के लिए PHP 7.4 या उच्चतर आवश्यक है। विशिष्ट संस्करण:
Bash# For PHP 8.1 (recommended) sudo apt install -y php8.1 php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-xmlrpc php8.1-soap php8.1-intl php8.1-zip libapache2-mod-php8.1
चरण 6: WordPress डाउनलोड करें
Bash# Go to temporary directory cd /tmp # Download latest WordPress version curl -O https://wordpress.org/latest.tar.gz # Extract archive tar xzf latest.tar.gz # Copy WordPress to web directory sudo cp -r wordpress/* /var/www/html/ # Set correct permissions sudo chown -R www-data:www-data /var/www/html sudo chmod -R 755 /var/www/html
चरण 7: WordPress कॉन्फ़िगर करें
Bash# Create configuration file cd /var/www/html sudo cp wp-config-sample.php wp-config.php # Edit configuration file sudo nano wp-config.php
डेटाबेस जानकारी के साथ निम्न पंक्तियाँ संशोधित करें:
PHPdefine( 'DB_NAME', 'wordpress_db' ); define( 'DB_USER', 'wordpress_user' ); define( 'DB_PASSWORD', 'YourSecurePassword123!' ); define( 'DB_HOST', 'localhost' );
सुरक्षा कुंजियाँ (अद्वितीय) जोड़ें:
PHP1define('AUTH_KEY', 'generate-unique-key-here'); 2define('SECURE_AUTH_KEY', 'generate-unique-key-here'); 3define('LOGGED_IN_KEY', 'generate-unique-key-here'); 4define('NONCE_KEY', 'generate-unique-key-here'); 5define('AUTH_SALT', 'generate-unique-key-here'); 6define('SECURE_AUTH_SALT', 'generate-unique-key-here'); 7define('LOGGED_IN_SALT', 'generate-unique-key-here'); 8define('NONCE_SALT', 'generate-unique-key-here');
अद्वितीय कुंजियाँ यहाँ जनरेट करें: https://api.wordpress.org/secret-key/1.1/salt/
चरण 8: Apache को WordPress के लिए कॉन्फ़िगर करें
Bash# Enable rewrite module sudo a2enmod rewrite # Edit Apache configuration sudo nano /etc/apache2/sites-available/000-default.conf
<Directory /var/www/html> अनुभाग जोड़ें या संशोधित करें:
Apache1<Directory /var/www/html> 2 Options Indexes FollowSymLinks 3 AllowOverride All 4 Require all granted 5</Directory>
Apache पुनः प्रारंभ करें:
Bashsudo systemctl restart apache2
चरण 9: वेब इंटरफ़ेस से इंस्टॉलेशन पूर्ण करें
- ब्राउज़र खोलें
- जाएँ:
http://YOUR_IPयाhttp://yourdomain.com - WordPress इंस्टॉलेशन विज़ार का पालन करें:
- भाषा चुनें
- साइट जानकारी भरें (शीर्षक, एडमिन उपयोगकर्ता, ईमेल, पासवर्ड)
- Install WordPress पर क्लिक करें
🔧 विधि 2: LEMP (Nginx) के साथ इंस्टॉलेशन
चरण 1: Nginx इंस्टॉल करें
Bash# Install Nginx sudo apt install -y nginx # Start Nginx sudo systemctl start nginx # Enable Nginx on boot sudo systemctl enable nginx
चरण 2: MySQL इंस्टॉल करें (LAMP विधि जैसा)
LAMP विधि के चरण 3 और 4 का पालन कर MySQL इंस्टॉल करें और डेटाबेस बनाएँ।
चरण 3: PHP-FPM इंस्टॉल करें
Bash# Install PHP-FPM and extensions sudo apt install -y php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip # For PHP 8.1 sudo apt install -y php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-xmlrpc php8.1-soap php8.1-intl php8.1-zip
चरण 4: WordPress डाउनलोड करें
LAMP विधि के चरण 6 का पालन कर WordPress डाउनलोड और इंस्टॉल करें।
चरण 5: Nginx को WordPress के लिए कॉन्फ़िगर करें
Bash# Create configuration file for your site sudo nano /etc/nginx/sites-available/wordpress
निम्न कॉन्फ़िगरेशन जोड़ें (yourdomain.com अपने डोमेन से बदलें):
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 index.htm; 7 8 location / { 9 try_files $uri $uri/ /index.php?$args; 10 } 11 12 location ~ \.php$ { 13 include snippets/fastcgi-php.conf; 14 fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; 15 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 16 include fastcgi_params; 17 } 18 19 location ~ /\.ht { 20 deny all; 21 } 22}
साइट सक्षम करें:
Bash# Create symbolic link sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/ # Test configuration sudo nginx -t # Restart Nginx sudo systemctl restart nginx
चरण 6: WordPress कॉन्फ़िगर करें
LAMP विधि के चरण 7 और 9 का पालन कर WordPress कॉन्फ़िगर करें।
🔒 WordPress सुरक्षा
फ़ाइल अनुमतियाँ
Bash# Permissions for files sudo find /var/www/html -type f -exec chmod 644 {} \; # Permissions for directories sudo find /var/www/html -type d -exec chmod 755 {} \; # Special permissions for wp-config.php sudo chmod 600 /var/www/html/wp-config.php
Let's Encrypt SSL
Bash# Install Certbot sudo apt install -y certbot python3-certbot-apache # For Nginx: sudo apt install -y certbot python3-certbot-nginx # Get SSL certificate sudo certbot --apache -d yourdomain.com -d www.yourdomain.com # For Nginx: sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com # Automatic renewal sudo certbot renew --dry-run
फ़ायरवॉल
Bash# Allow HTTP and HTTPS sudo ufw allow 'Apache Full' # For Nginx: sudo ufw allow 'Nginx Full' # Or manually sudo ufw allow 80/tcp sudo ufw allow 443/tcp
अन्य सुझाव
- Wordfence, iThemes Security या Sucuri जैसा सुरक्षा प्लगइन इंस्टॉल करें
wp-config.phpमेंdefine('DISALLOW_FILE_EDIT', true);जोड़कर इंटरफ़ेस से फ़ाइल संपादन अक्षम करें
🔄 अपडेट
वेब इंटरफ़ेस: Dashboard → Updates → Update Now
WP-CLI:
Bash# Install WP-CLI curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar chmod +x wp-cli.phar sudo mv wp-cli.phar /usr/local/bin/wp # Update WordPress cd /var/www/html sudo -u www-data wp core update sudo -u www-data wp plugin update --all sudo -u www-data wp theme update --all
❓ सामान्य समस्याएँ
"Error establishing a database connection"
wp-config.phpमें क्रेडेंशियल जाँचें- MySQL चालू है:
sudo systemctl status mysql - कनेक्शन परीक्षण:
mysql -u wordpress_user -p wordpress_db
Permalinks पर 404 (Apache):
Bash# Check mod_rewrite is enabled sudo a2enmod rewrite sudo systemctl restart apache2
Permalinks पर 404 (Nginx): try_files कॉन्फ़िगरेशन सत्यापित करें।
अनुमति समस्याएँ:
Bash# Fix permissions sudo chown -R www-data:www-data /var/www/html sudo find /var/www/html -type d -exec chmod 755 {} \; sudo find /var/www/html -type f -exec chmod 644 {} \;
📝 उपयोगी कमांड
Bash# Check service status sudo systemctl status apache2 # or nginx sudo systemctl status mysql # Restart services sudo systemctl restart apache2 # or nginx sudo systemctl restart mysql # View Apache logs sudo tail -f /var/log/apache2/error.log # View Nginx logs sudo tail -f /var/log/nginx/error.log # View PHP-FPM logs sudo tail -f /var/log/php8.1-fpm.log
📞 सहायता चाहिए?
WordPress इंस्टॉलेशन में कठिनाई हो तो Infrawire सहायता से संपर्क करें।
नोट: डेडिकेटेड सहायता, स्वचालित बैकअप और पूर्व-कॉन्फ़िगर अनुकूलन के लिए हमारी WordPress वेब होस्टिंग देखें।