HELPER VPS

VPS पर WordPress इंस्टॉल, WordPress, LEMP और Docker इमेज के हिसाब से तरीके

WordPress को अपने सर्वर पर खुद इंस्टॉल करें, तो प्लगइन, थीम और सर्वर सेटिंग तक सब अपनी मर्ज़ी से तय करें। सर्वर बनाते समय चुनी गई इमेज के हिसाब से सबसे सही इंस्टॉल तरीका चुनकर फ़ॉलो करें।

तीन तरीकों में से चुनें

HELPER VPS पर सर्वर बनाते समय सिर्फ़ इमेज चुनने से WordPress की तैयारी के स्टेप काफ़ी कम हो जाते हैं। अपनी स्थिति के हिसाब से एक तरीका चुनें।

  • WordPress इमेज: Ubuntu 24.04 पर Nginx, MySQL, PHP और WordPress इंस्टॉल होते हैं। बस ब्राउज़र में इंस्टॉल स्क्रीन पूरी करें, इसलिए एक ब्लॉग सबसे जल्दी खोलने का तरीका है।
  • LEMP इमेज: Nginx, MySQL, PHP के साथ तैयार सर्वर पर WordPress खुद चलाएँ। एक सर्वर पर कई साइट रखनी हों या फ़ोल्डर स्ट्रक्चर और सेटिंग खुद तय करनी हों, तो अच्छा है।
  • Docker इमेज: WordPress और डेटाबेस कंटेनर में चलाएँ। साइट को दूसरे सर्वर पर ले जाना हो या वही माहौल कई बार बनाना हो, तो आसान है।

एक छोटा ब्लॉग सबसे छोटे 12GB जनरल प्लान से शुरू करने के लिए ठीक है, जबकि ऑनलाइन स्टोर या व्यस्त साइट्स तेज़ डिस्क वाले हाई-परफ़ॉर्मेंस NVMe सर्वर पर पेज हल्के से खोलती हैं। साइज़ के सुझाव WordPress VPS पेज पर हैं।

पहले डोमेन जोड़ें

डोमेन इस्तेमाल करना है, तो इंस्टॉल से पहले जोड़ दें, HTTPS सर्टिफ़िकेट भी एक बार में मिल जाता है। जहाँ से डोमेन खरीदा है, उसकी DNS मैनेजमेंट स्क्रीन में नीचे के दो रिकॉर्ड बनाएँ।

  • A रिकॉर्ड: नाम @ (और www), वैल्यू सर्वर का IPv4 एड्रेस
  • AAAA रिकॉर्ड: नाम @ (और www), वैल्यू सर्वर का IPv6 एड्रेस

रिकॉर्ड फैलने में आमतौर पर कुछ मिनट से कुछ घंटे लगते हैं। सर्वर पर ping -c 3 example.com चलाएँ और आपके सर्वर का IP दिखे, तो तैयारी पूरी है। नीचे की कमांड में example.com को अपने डोमेन से बदलकर लिखें।

तरीका 1. WordPress इमेज से तुरंत शुरू करें

  • सर्वर बनाने की स्क्रीन पर क्षेत्र और साइज़ चुनें, और इमेज सूची से WordPress चुनें।
  • सर्वर की स्थिति चालू में बदले, तो ब्राउज़र में http://YOUR_SERVER_IP खोलें।
  • भाषा चुनें और साइट का नाम, एडमिन यूज़रनेम, पासवर्ड और ईमेल तय करें, इंस्टॉल पूरा हो जाता है।
  • http://YOUR_SERVER_IP/wp-admin से एडमिन स्क्रीन में जाएँ।

एडमिन पासवर्ड लंबा और जटिल रखें, और यूज़रनेम admin की जगह ऐसा नाम रखें जो सिर्फ़ आपको पता हो, तो लॉग इन की कोशिशों से सुरक्षा बढ़ती है। डोमेन और HTTPS के लिए नीचे का HTTPS स्टेप वैसा ही फ़ॉलो करें।

तरीका 2. LEMP सर्वर पर खुद इंस्टॉल करें

LEMP इमेज में Nginx, MySQL और PHP-FPM पहले से इंस्टॉल हैं। बस WordPress के लिए ज़रूरी PHP एक्सटेंशन, डेटाबेस और साइट सेटिंग जोड़ें। यह Ubuntu 24.04 के हिसाब से है, और दूसरे Ubuntu और Debian पर भी क्रम यही है।

स्टेप 1. PHP एक्सटेंशन इंस्टॉल करें

टर्मिनल
apt update
apt install -y php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl php-imagick
php -v
ls /run/php/

php -v PHP वर्ज़न, और ls /run/php/ PHP-FPM सॉकेट का नाम दिखाता है। Ubuntu 24.04 में PHP 8.3 है, इसलिए php8.3-fpm.sock, और Debian 13 में PHP 8.4 है, इसलिए php8.4-fpm.sock दिखता है। नीचे की Nginx सेटिंग में यही नाम वैसा ही लिखें।

स्टेप 2. डेटाबेस और यूज़र बनाएँ

root से कनेक्ट होकर mysql चलाएँ, तो बिना पासवर्ड MySQL में पहुँच जाते हैं। नीचे की चार लाइनों से WordPress के लिए अलग डेटाबेस और यूज़र बनाएँ। पासवर्ड लंबा करके डालें और नोट कर लें।

mysql
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'change_this_long_password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

स्टेप 3. WordPress डाउनलोड करें

टर्मिनल
cd /var/www
curl -O https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz && rm latest.tar.gz
chown -R www-data:www-data /var/www/wordpress

फ़ोल्डर का मालिक वेब सर्वर यूज़र (www-data) कर दें, तो ब्राउज़र इंस्टॉल स्क्रीन सेटिंग फ़ाइल खुद बना लेती है, और प्लगइन व थीम भी एडमिन स्क्रीन से तुरंत इंस्टॉल होते हैं।

स्टेप 4. Nginx साइट सेटिंग

/etc/nginx/sites-available/wordpress
server {
    listen 80;
    listen [::]:80;
    server_name example.com www.example.com;
    root /var/www/wordpress;
    index index.php;
    client_max_body_size 64m;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    }
    location ~ /\.ht {
        deny all;
    }
}
टर्मिनल
ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

nginx -t में syntax is ok, test is successful दिखे, तो सेटिंग सही है। अभी डोमेन नहीं है, तो server_name में _ लिखें और डिफ़ॉल्ट साइट (/etc/nginx/sites-enabled/default) का लिंक हटा दें, IP एड्रेस से साइट खुलेगी।

स्टेप 5. ब्राउज़र में इंस्टॉल पूरा करें

http://example.com खोलें, इंस्टॉल स्क्रीन दिखेगी। डेटाबेस नाम wordpress, यूज़र wpuser, स्टेप 2 में तय किया पासवर्ड और होस्ट localhost डालें, फिर साइट का नाम और एडमिन अकाउंट तय करें, बस।

तरीका 3. Docker Compose से इंस्टॉल करें

Docker इमेज से बना सर्वर हो या Docker खुद इंस्टॉल किया सर्वर, एक फ़ाइल से WordPress और MariaDB साथ चलाएँ। दोनों पासवर्ड लंबे करके डालें।

टर्मिनल
mkdir -p /opt/wordpress && cd /opt/wordpress
cat > compose.yaml <<'EOF'
services:
  db:
    image: mariadb:11
    restart: unless-stopped
    environment:
      MARIADB_DATABASE: wordpress
      MARIADB_USER: wpuser
      MARIADB_PASSWORD: change_this_long_password
      MARIADB_ROOT_PASSWORD: change_this_other_password
    volumes:
      - db:/var/lib/mysql
  wordpress:
    image: wordpress:latest
    restart: unless-stopped
    depends_on:
      - db
    ports:
      - "80:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wpuser
      WORDPRESS_DB_PASSWORD: change_this_long_password
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wp:/var/www/html
volumes:
  db:
  wp:
EOF
docker compose up -d

http://YOUR_SERVER_IP खोलें, इंस्टॉल स्क्रीन दिखेगी। डेटाबेस जानकारी फ़ाइल में पहले से है, इसलिए बस साइट का नाम और एडमिन अकाउंट तय करें। पोस्ट और अपलोड फ़ाइलें wp वॉल्यूम में, और डेटाबेस db वॉल्यूम में रहता है, इसलिए कंटेनर नए वर्ज़न पर बदलने पर भी सब बना रहता है।

Docker से चलाई साइट पर HTTPS लगाने के लिए आगे रिवर्स प्रॉक्सी रखना साफ़ तरीका है। स्क्रीन पर सिर्फ़ डोमेन डालने पर सर्टिफ़िकेट तक अपने आप लगाने वाली Coolify या Dokploy इमेज इस्तेमाल करें, तो और आसान है।

HTTPS सर्टिफ़िकेट लगाएँ

WordPress इमेज और LEMP सर्वर पर Certbot से Let's Encrypt का मुफ़्त सर्टिफ़िकेट लेकर सीधे Nginx में लगाएँ। डोमेन का सर्वर IP पर पॉइंट होना ज़रूरी है।

टर्मिनल
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com

ईमेल डालें और शर्तें मानें, सर्टिफ़िकेट जारी होता है और Nginx सेटिंग में HTTPS जुड़ जाता है। सर्टिफ़िकेट को Certbot अपने आप रिन्यू करता है। इसके बाद WordPress एडमिन स्क्रीन में Settings > General में WordPress Address और Site Address को https में बदलें। फ़ायरवॉल इस्तेमाल करते हैं, तो ufw allow 80,443/tcp से दोनों पोर्ट खोल दें।

इंस्टॉल के बाद करने लायक सेटिंग

  • परमालिंक: Settings > Permalinks में Post name चुनें, तो एड्रेस पढ़ने में आसान हो जाते हैं। ऊपर की Nginx सेटिंग की try_files लाइन इन एड्रेस को संभालती है।
  • अपलोड साइज़: बड़ी इमेज या थीम फ़ाइल अपलोड करने के लिए Nginx के client_max_body_size के साथ /etc/php/8.3/fpm/php.ini में upload_max_filesize और post_max_size को एक जैसे साइज़ तक बढ़ाएँ और systemctl restart php8.3-fpm चलाएँ।
  • ईमेल भेजना: साइन अप, पासवर्ड रीसेट और ऑर्डर नोटिफ़िकेशन ईमेल के लिए SMTP प्लगइन से ईमेल भेजने की सर्विस के पोर्ट 587 या 465 से जोड़ें। तरीका ईमेल भेजने की गाइड में है।
  • अपडेट: WordPress कोर, प्लगइन और थीम एडमिन स्क्रीन से, और सर्वर को apt update && apt upgrade -y से नियमित रूप से अपडेट रखें।
  • बैकअप: पोस्ट और डेटाबेस दोबारा न बन सकने वाली संपत्ति हैं। सर्वर बनाते समय ऑटो बैकअप चालू करें, या बैकअप और स्नैपशॉट गाइड के तरीके से कॉपी रखें।

शुरू से दोबारा इंस्टॉल करना हो, तो सर्वर पेज के री-इंस्टॉल में WordPress इमेज फिर से चुनें, सब साफ़ हालत में लौट आता है। डिस्क पर नया इंस्टॉल होता है, इसलिए ज़रूरी पोस्ट Tools > Export से पहले ले लें, और क्रम के लिए री-इंस्टॉल गाइड देखें।

साथ में देखने लायक गाइड

इस गाइड के बाद करने लायक सेटिंग।

सभी गाइड देखें