- 1 1. परिचय
 - 2 2. Ubuntu की स्थापना और प्रारंभिक सेटअप
 - 3 3. Apache की स्थापना और कॉन्फ़िगरेशन
 - 4 4. वर्चुअल होस्ट्स को कॉन्फ़िगर करना (एकाधिक वेबसाइटों का प्रबंधन)
- 4.1 वर्चुअल होस्ट क्या है?
 - 4.2 वर्चुअल होस्ट्स को कॉन्फ़िगर करने के चरण
- 4.2.1 1. प्रत्येक साइट के लिए डायरेक्टरी बनाएं
 - 4.2.2 2. डायरेक्टरी की स्वामित्व बदलें
 - 4.2.3 3. एक परीक्षण HTML फ़ाइल बनाएं
 - 4.2.4 4. वर्चुअल होस्ट कॉन्फ़िगरेशन फ़ाइलें बनाएं
 - 4.2.5 example.com के लिए कॉन्फ़िगरेशन
 - 4.2.6 test.com के लिए कॉन्फ़िगरेशन
 - 4.2.7 5. वर्चुअल होस्ट्स को सक्षम करें
 - 4.2.8 Apache कॉन्फ़िगरेशन का परीक्षण करें
 
 - 4.3 6. स्थानीय रूप से परीक्षण (hosts फ़ाइल को संपादित करना)
 
 - 5 5. SSL/TLS (HTTPS) को सक्षम करना
 - 6 6. वेब सर्वर सुरक्षा को बढ़ाना
 - 7 7. प्रदर्शन अनुकूलन
 - 8 8. समस्या निवारण
 - 9 9. सारांश
- 9.1 आपने क्या सीखा
 - 9.2 अगले कदम
 - 9.3 अक्सर पूछे जाने वाले प्रश्न (FAQ)
- 9.3.1 प्रश्न 1: क्या मुझे अपने वेब सर्वर के लिए Nginx या Apache चुनना चाहिए?
 - 9.3.2 प्रश्न 2: क्या SSL प्रमाणपत्र स्वचालित रूप से नवीनीकृत किए जा सकते हैं?
 - 9.3.3 प्रश्न 3: मैं अपने सर्वर की सुरक्षा को और कैसे बढ़ा सकता हूँ?
 - 9.3.4 प्रश्न 4: मैं Apache के प्रदर्शन को कैसे सुधार सकता हूँ?
 - 9.3.5 प्रश्न 5: मुझे “403 Forbidden” त्रुटि क्यों मिल रही है?
 
 - 9.4 अंतिम विचार
 
 
1. परिचय
Ubuntu वेब सर्वर क्या है?
वेब सर्वर एक प्रणाली है जो इंटरनेट के माध्यम से वेबसाइटों को वितरित करती है। प्रसिद्ध वेब सर्वर सॉफ़्टवेयर में Apache, Nginx, और LiteSpeed शामिल हैं, लेकिन Ubuntu पर सबसे अधिक उपयोग किया जाने वाला Apache है।
 Ubuntu हल्का, अत्यधिक स्थिर, और ओपन-सोर्स है, जिससे यह व्यक्तियों और व्यवसायों दोनों के लिए एक लोकप्रिय विकल्प बनता है। यह विशेष रूप से LAMP स्टैक (Linux, Apache, MySQL/MariaDB, PHP) बनाने के लिए उपयुक्त है, जिसका आमतौर पर वेबसाइटों और वेब एप्लिकेशन चलाने में उपयोग किया जाता है।
यह गाइड किसके लिए है?
यह लेख उन शुरुआती लोगों के लिए बनाया गया है जो पहली बार वेब सर्वर सेटअप कर रहे हैं। यह Ubuntu पर Apache स्थापित करने, वर्चुअल होस्ट कॉन्फ़िगर करने, SSL प्रमाणपत्र सेट करने, प्रदर्शन को अनुकूलित करने और सुरक्षा बढ़ाने के बारे में चरण-दर-चरण मार्गदर्शन प्रदान करता है।
आप क्या सीखेंगे
- Ubuntu पर वेब सर्वर सेटअप करना (Apache को स्थापित और कॉन्फ़िगर करना)
 - कई वेबसाइटों को प्रबंधित करने के लिए वर्चुअल होस्ट सेट करना
 - Let’s Encrypt के साथ मुफ्त SSL प्रमाणपत्र स्थापित करना
 - सुरक्षा को बढ़ाना और सर्वर प्रदर्शन को अनुकूलित करना
 - सामान्य वेब सर्वर समस्याओं का निवारण
 
2. Ubuntu की स्थापना और प्रारंभिक सेटअप
सिस्टम आवश्यकताएँ
Ubuntu को वेब सर्वर के रूप में चलाने के लिए, निम्नलिखित न्यूनतम सिस्टम विनिर्देश की सिफारिश की जाती है:
| Component | Minimum Requirements | Recommended Requirements | 
|---|---|---|
| OS | Ubuntu 22.04 LTS | Ubuntu 22.04 LTS | 
| CPU | 1GHz or higher | 2GHz or higher | 
| Memory | 512MB | 2GB or higher | 
| Storage | 10GB or more | 20GB or more | 
| Network | Internet connection | High-speed connection recommended | 
Ubuntu डाउनलोड और इंस्टॉल करना
आप आधिकारिक वेबसाइट से Ubuntu डाउनलोड कर सकते हैं: https://ubuntu.com/download/server। एक बार जब आप ISO फ़ाइल प्राप्त कर लेते हैं, तो आप इसे VirtualBox या VMware का उपयोग करके वर्चुअल वातावरण में, या समर्पित सर्वर या VPS पर स्थापित कर सकते हैं।
स्थापना चरण:
- स्थापना मीडिया बनाएं
 
- Rufus जैसे टूल्स के साथ USB ड्राइव का उपयोग करें
 - वर्चुअल मशीन में ISO फ़ाइल को माउंट करें
 
- स्थापना विज़ार्ड का पालन करें
 
- भाषा को अंग्रेज़ी सेट करें
 - नेटवर्क कनेक्टिविटी जांचें
 - उपयोगकर्ता नाम और पासवर्ड कॉन्फ़िगर करें
 - SSH सर्वर स्थापित करें (वैकल्पिक, बाद में किया जा सकता है)
 
OS सेटअप पूरा करें और पुनः आरंभ करें
लॉग इन करें और प्रारंभिक कॉन्फ़िगरेशन शुरू करें
बुनियादी प्रारंभिक सेटअप
स्थापना के बाद, निम्नलिखित प्रारंभिक सेटअप चरणों को पूरा करें:
- सिस्टम पैकेज अपडेट करें
 
sudo apt update && sudo apt upgrade -y
→ यह सुनिश्चित करता है कि सुरक्षा पैच और सॉफ़्टवेयर अपडेट लागू हो जाएँ।
- समय क्षेत्र सेट करें
 
sudo timedatectl set-timezone America/New_York
→ अपने सर्वर स्थान के अनुसार समय क्षेत्र सेट करें।
- फ़ायरवॉल सक्षम करें
 
sudo ufw enable
→ यह सर्वर को अनधिकृत पहुंच से बचाता है।
- SSH कॉन्फ़िगर करें (रिमोट प्रबंधन के लिए)
 
- जाँचें कि SSH सक्षम है या नहीं: 
sudo systemctl status ssh - यदि नहीं है, तो इसे शुरू करें: 
sudo systemctl enable --now ssh 
इन प्रारंभिक सेटिंग्स को लागू करने के बाद, Ubuntu सर्वर वेब सर्वर के रूप में कॉन्फ़िगर करने के लिए तैयार है।
3. Apache की स्थापना और कॉन्फ़िगरेशन
Apache क्या है?
Apache (आधिकारिक रूप से Apache HTTP Server) एक ओपन-सोर्स वेब सर्वर सॉफ़्टवेयर है जो अपनी स्थिरता, स्केलेबिलिटी और सुरक्षा के लिए जाना जाता है। विश्व स्तर पर लगभग 30% वेब सर्वर Apache का उपयोग करते हैं।
प्रमुख विशेषताएँ:
- मुफ़्त और ओपन-सोर्स
 - आसान अनुकूलन के लिए मॉड्यूलर आर्किटेक्चर
 - सुरक्षित HTTPS कनेक्शन के लिए SSL/TLS का समर्थन
 - कई वेबसाइटों को प्रबंधित करने के लिए वर्चुअल होस्ट समर्थन
 
Apache की स्थापना
Ubuntu पर, apt पैकेज मैनेजर का उपयोग करके Apache को आसानी से स्थापित किया जा सकता है।
Apache स्थापित करें
Apache स्थापित करने के लिए निम्नलिखित कमांड चलाएँ:
sudo apt update
sudo apt install apache2 -y
स्थापना की पुष्टि करें
स्थापना के बाद, Apache संस्करण जाँचें:
apache2 -v
उदाहरण आउटपुट:
Server version: Apache/2.4.52 (Ubuntu)
Server built:   2023-07-01T12:34:56
यदि आप यह संदेश देखते हैं, तो Apache सफलतापूर्वक स्थापित हो गया है।
Apache को शुरू करना, रोकना और पुनः आरंभ करना
Apache को systemctl कमांड के माध्यम से प्रबंधित किया जाता है।
Apache शुरू करें
sudo systemctl start apache2
बूट पर Apache को शुरू करने के लिए सक्षम करें
sudo systemctl enable apache2
Apache स्थिति जाँचें
यह पुष्टि करने के लिए कि Apache चल रहा है:
sudo systemctl status apache2
यदि Apache चल रहा है, तो आप “active (running)” स्थिति देखेंगे।
Apache को पुनः आरंभ या रोकें
यदि आपको कॉन्फ़िगरेशन परिवर्तन करने के बाद Apache को पुनः आरंभ करने की आवश्यकता है:
sudo systemctl restart apache2
Apache को अस्थायी रूप से रोकने के लिए:
sudo systemctl stop apache2
4. वर्चुअल होस्ट्स को कॉन्फ़िगर करना (एकाधिक वेबसाइटों का प्रबंधन)
वर्चुअल होस्ट क्या है?
वर्चुअल होस्ट एक ऐसी सुविधा है जो एक ही Apache सर्वर को कई डोमेनों (या सबडोमेनों) की मेजबानी करने की अनुमति देती है।
 उदाहरण के लिए, एक ही सर्वर example.com और test.com दोनों की मेजबानी कर सकता है।
वर्चुअल होस्ट के दो प्रकार होते हैं:
- नाम-आधारित वर्चुअल होस्ट
 
- एक ही IP पते पर कई साइटों की मेजबानी करता है
 - एकाधिक वेबसाइटों का प्रबंधन करने का सबसे सामान्य तरीका
 
- IP-आधारित वर्चुअल होस्ट
 
- प्रत्येक साइट को विभिन्न IP पते सौंपा जाता है
 - सर्वर पर कई नेटवर्क इंटरफ़ेस की आवश्यकता होती है
 
आमतौर पर, नाम-आधारित वर्चुअल होस्टिंग का उपयोग किया जाता है।
वर्चुअल होस्ट्स को कॉन्फ़िगर करने के चरण
1. प्रत्येक साइट के लिए डायरेक्टरी बनाएं
प्रत्येक वर्चुअल होस्ट को अपनी वेबसाइट फ़ाइलों को संग्रहीत करने के लिए समर्पित डायरेक्टरी की आवश्यकता होती है।
sudo mkdir -p /var/www/example.com/public_html
sudo mkdir -p /var/www/test.com/public_html
2. डायरेक्टरी की स्वामित्व बदलें
यह सुनिश्चित करने के लिए कि Apache फ़ाइलों तक पहुंच सके, मालिक को www-data पर सेट करें।
sudo chown -R www-data:www-data /var/www/example.com/public_html
sudo chown -R www-data:www-data /var/www/test.com/public_html
3. एक परीक्षण HTML फ़ाइल बनाएं
सत्यापन के लिए, प्रत्येक साइट के लिए एक index.html फ़ाइल बनाएं।
echo "<h1>Welcome to example.com</h1>" | sudo tee /var/www/example.com/public_html/index.html
echo "<h1>Welcome to test.com</h1>" | sudo tee /var/www/test.com/public_html/index.html
4. वर्चुअल होस्ट कॉन्फ़िगरेशन फ़ाइलें बनाएं
वर्चुअल होस्ट कॉन्फ़िगरेशन /etc/apache2/sites-available/ में संग्रहीत होते हैं।
example.com के लिए कॉन्फ़िगरेशन
एक कॉन्फ़िगरेशन फ़ाइल बनाएं और संपादित करें:
sudo nano /etc/apache2/sites-available/example.com.conf
निम्नलिखित कॉन्फ़िगरेशन जोड़ें:
<VirtualHost *:80>
    ServerAdmin admin@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html
    <Directory /var/www/example.com/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
    CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>
test.com के लिए कॉन्फ़िगरेशन
sudo nano /etc/apache2/sites-available/test.com.conf
निम्नलिखित सामग्री जोड़ें:
<VirtualHost *:80>
    ServerAdmin admin@test.com
    ServerName test.com
    ServerAlias www.test.com
    DocumentRoot /var/www/test.com/public_html
    <Directory /var/www/test.com/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/test.com_error.log
    CustomLog ${APACHE_LOG_DIR}/test.com_access.log combined
</VirtualHost>
5. वर्चुअल होस्ट्स को सक्षम करें
एक बार कॉन्फ़िगरेशन फ़ाइलें बन जाने पर, उन्हें a2ensite के साथ सक्षम करें।
sudo a2ensite example.com.conf
sudo a2ensite test.com.conf
Apache कॉन्फ़िगरेशन का परीक्षण करें
सिंटैक्स त्रुटियों की जाँच करें:
sudo apachectl configtest
यदि आउटपुट इस प्रकार है:
Syntax OK
परिवर्तनों को लागू करने के लिए Apache को पुनः आरंभ करें:
sudo systemctl restart apache2
6. स्थानीय रूप से परीक्षण (hosts फ़ाइल को संपादित करना)
यह सत्यापित करने के लिए कि वर्चुअल होस्ट सही ढंग से काम कर रहे हैं, अपनी स्थानीय hosts फ़ाइल को संपादित करें।
sudo nano /etc/hosts
निम्नलिखित पंक्तियाँ जोड़ें:
127.0.0.1 example.com
127.0.0.1 test.com
सहेजने के बाद, ब्राउज़र खोलें और दर्ज करें:
http://example.com/
यदि आप “Welcome to example.com” देखते हैं, तो सेटअप सफल है।
5. SSL/TLS (HTTPS) को सक्षम करना
SSL/TLS क्या है?
SSL (सिक्योर सॉकेट लेयर) और TLS (ट्रांसपोर्ट लेयर सिक्योरिटी) एन्क्रिप्शन तकनीकें हैं जो इंटरनेट पर संचार को सुरक्षित बनाती हैं।
SSL/TLS के लाभ:
✅ संचार को एन्क्रिप्ट करता है (डेटा चोरी और छेड़छाड़ के जोखिम को कम करता है)
 ✅ SEO रैंकिंग बढ़ाता है (गूगल सर्च परिणामों में HTTPS साइटों को प्राथमिकता देता है)
 ✅ ब्राउज़र चेतावनियों को रोकता है (HTTP साइटों पर “Not Secure” दिख सकता है)
 ✅ ऑनलाइन भुगतान और लॉगिन क्रेडेंशियल्स को सुरक्षित करता है
फ़्री SSL के लिए Let’s Encrypt का उपयोग
Let’s Encrypt एक प्रमाणन प्राधिकरण है जो मुफ्त SSL प्रमाणपत्र प्रदान करता है। हम इसे आसानी से सेट करने के लिए certbot का उपयोग करते हैं।
Certbot स्थापित करें
sudo apt update
sudo apt install certbot python3-certbot-apache -y
Apache के लिए SSL को स्वचालित रूप से कॉन्फ़िगर करें
sudo certbot --apache -d example.com -d www.example.com
HTTPS काम कर रहा है, यह सत्यापित करें
स्थापना के बाद, जांचें:
https://example.com/
यदि आप ब्राउज़र में ताला आइकन देखते हैं, तो SSL काम कर रहा है।
6. वेब सर्वर सुरक्षा को बढ़ाना
फ़ायरवॉल सेटअप (UFW)
फ़ायरवॉल सक्षम करें और आवश्यक पोर्ट खोलें
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp   # SSH
sudo ufw allow 80/tcp   # HTTP
sudo ufw allow 443/tcp  # HTTPS
sudo ufw enable
SSH की सुरक्षा
SSH पोर्ट बदलें
sudo nano /etc/ssh/sshd_config
बदलें:
Port 2222  # Change 22 to a custom port
SSH पुनः शुरू करें:
sudo systemctl restart ssh
7. प्रदर्शन अनुकूलन
Apache ट्यूनिंग
डिफ़ॉल्ट रूप से, Apache हमेशा उच्च ट्रैफ़िक को कुशलता से संभालने के लिए अनुकूलित नहीं होता।
 आप निम्नलिखित सेटिंग्स को प्रदर्शन सुधारने के लिए समायोजित कर सकते हैं।
MPM (मल्टी-प्रोसेसिंग मॉड्यूल) का अनुकूलन
MPM (मल्टी-प्रोसेसिंग मॉड्यूल) यह निर्धारित करता है कि Apache अनुरोधों को कैसे प्रोसेस करता है।
वर्तमान MPM कॉन्फ़िगरेशन जांचें:
apachectl -M | grep mpm
उदाहरण आउटपुट:
mpm_prefork_module (shared)
यदि आप mpm_prefork_module देखते हैं, तो बेहतर प्रदर्शन के लिए mpm_event पर स्विच करने पर विचार करें।
MPM इवेंट में बदलें:
sudo a2dismod mpm_prefork
sudo a2enmod mpm_event
sudo systemctl restart apache2
KeepAlive सक्षम करना
KeepAlive स्थायी कनेक्शन की अनुमति देता है, जिससे नए अनुरोधों की संख्या कम होती है।
Apache कॉन्फ़िगरेशन फ़ाइल संपादित करें:
sudo nano /etc/apache2/apache2.conf
निम्नलिखित सेटिंग्स जोड़ें या संशोधित करें:
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
Apache पुनः शुरू करें:
sudo systemctl restart apache2
कैशिंग का उपयोग
ब्राउज़र और सर्वर-साइड कैशिंग का उपयोग अनावश्यक अनुरोधों को कम करता है, जिससे प्रतिक्रिया समय सुधरता है।
ब्राउज़र कैशिंग के लिए mod_expires सक्षम करें
sudo a2enmod expires
sudo systemctl restart apache2
अपने वर्चुअल होस्ट कॉन्फ़िगरेशन फ़ाइल को संपादित करें:
sudo nano /etc/apache2/sites-available/example.com.conf
जोड़ें:
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 1 month"
    ExpiresByType image/jpg "access plus 1 year"
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"
</IfModule>
Apache पुनः शुरू करें:
sudo systemctl restart apache2
Gzip संपीड़न सक्षम करें
फ़ाइल आकार कम करने और लोडिंग गति सुधारने के लिए संपीड़न सक्षम करें।
mod_deflate सक्षम करें
sudo a2enmod deflate
sudo systemctl restart apache2
वर्चुअल होस्ट कॉन्फ़िगरेशन फ़ाइल संपादित करें:
sudo nano /etc/apache2/sites-available/example.com.conf
जोड़ें:
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>
Apache पुनः शुरू करें:
sudo systemctl restart apache2
संसाधनों की सीमा निर्धारित करना
अधिक संसाधन उपयोग को रोकने के लिए, प्रति IP कनेक्शन की संख्या सीमित करें।
mod_ratelimit सक्षम करें
sudo a2enmod ratelimit
sudo systemctl restart apache2
वर्चुअल होस्ट कॉन्फ़िगरेशन फ़ाइल को संपादित करें:
sudo nano /etc/apache2/sites-available/example.com.conf
जोड़ें:
<Location />
    SetOutputFilter RATE_LIMIT
    SetEnv rate-limit 200
</Location>
Apache को पुनः आरंभ करें:
sudo systemctl restart apache2
8. समस्या निवारण
Apache शुरू नहीं हो रहा है या अचानक बंद हो जाता है
Apache स्थिति जाँचें
sudo systemctl status apache2
यदि आउटपुट में शामिल है:
Active: failed
तो एक त्रुटि हुई है।
त्रुटि लॉग जाँचें
sudo journalctl -xe
sudo tail -f /var/log/apache2/error.log
पोर्ट टकराव जाँचें
sudo netstat -tulnp | grep ':80'
या:
sudo lsof -i:80
SSL प्रमाणपत्र समस्याएँ
SSL प्रमाणपत्र समाप्त हो गया है
sudo certbot renew --force-renewal
Apache SSL कॉन्फ़िगरेशन त्रुटि
Apache SSL कॉन्फ़िगरेशन फ़ाइल को संपादित करें:
sudo nano /etc/apache2/sites-available/example.com-le-ssl.conf
सत्यापित करें:
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
Apache को पुनः आरंभ करें:
sudo systemctl restart apache2
वेबसाइट लोड नहीं रही (403, 404, 500 त्रुटियाँ)
403 प्रतिबंधित
sudo chown -R www-data:www-data /var/www/example.com/public_html
sudo chmod -R 755 /var/www/example.com/public_html
404 नहीं मिला
वर्चुअल होस्ट कॉन्फ़िगरेशन जाँचें:
DocumentRoot /var/www/example.com/public_html
यदि आवश्यक हो तो mod_rewrite सक्षम करें:
sudo a2enmod rewrite
sudo systemctl restart apache2
500 आंतरिक सर्वर त्रुटि
त्रुटि लॉग जाँचें:
sudo tail -f /var/log/apache2/error.log
.htaccess का नाम बदलने का प्रयास करें:
mv /var/www/example.com/public_html/.htaccess /var/www/example.com/public_html/.htaccess.bak
9. सारांश
आपने क्या सीखा
आइए इस गाइड में कवर किए गए मुख्य विषयों की समीक्षा करें।
| Section | Key Points | 
|---|---|
| 1. Introduction | Overview of Ubuntu Web Server and the purpose of this guide | 
| 2. Installing and Initial Setup of Ubuntu | Setting up Ubuntu, updating packages, and configuring the firewall | 
| 3. Installing and Configuring Apache | Installing Apache, starting the service, and verifying functionality | 
| 4. Configuring Virtual Hosts | Hosting multiple websites on a single Apache server | 
| 5. Enabling SSL/TLS | Using Let’s Encrypt for HTTPS setup | 
| 6. Enhancing Web Server Security | Firewall setup, SSH security, and Apache hardening | 
| 7. Performance Optimization | Using caching, compression, and tuning Apache settings | 
| 8. Troubleshooting | Fixing Apache errors, SSL issues, and common website errors | 
अगले कदम
अब आपका Ubuntu वेब सर्वर चल रहा है, अपने सर्वर की क्षमताओं को बढ़ाने के लिए अधिक उन्नत विषयों को सीखने पर विचार करें:
✅ WordPress या PHP अनुप्रयोगों को तैनात करना
 ✅ डेटाबेस सर्वर (MySQL / MariaDB) सेट अप करना
 ✅ Apache के लिए रिवर्स प्रॉक्सी के रूप में Nginx को कॉन्फ़िगर करना
 ✅ क्लाउड प्लेटफ़ॉर्म (AWS, GCP, Azure) के साथ ऑटो‑स्केलिंग लागू करना
 ✅ उन्नत लॉगिंग और मॉनिटरिंग (Fail2Ban, Logwatch, Prometheus)
अक्सर पूछे जाने वाले प्रश्न (FAQ)
प्रश्न 1: क्या मुझे अपने वेब सर्वर के लिए Nginx या Apache चुनना चाहिए?
उत्तर 1: यदि आपकी वेबसाइट मुख्यतः स्थैतिक सामग्री सर्व करती है, तो Nginx की सिफ़ारिश की जाती है। यदि आपको गतिशील सामग्री प्रोसेसिंग (जैसे PHP) की आवश्यकता है, तो Apache बेहतर विकल्प है। आप Apache के सामने रिवर्स प्रॉक्सी के रूप में Nginx भी उपयोग कर सकते हैं।
प्रश्न 2: क्या SSL प्रमाणपत्र स्वचालित रूप से नवीनीकृत किए जा सकते हैं?
उत्तर 2: हाँ, Certbot स्वचालित नवीनीकरण का समर्थन करता है। आप नवीनीकरण स्थिति जाँच सकते हैं:
sudo certbot renew --dry-run
पूरी तरह स्वचालित नवीनीकरण के लिए, एक क्रॉन जॉब सेट अप करने की सिफ़ारिश की जाती है।
प्रश्न 3: मैं अपने सर्वर की सुरक्षा को और कैसे बढ़ा सकता हूँ?
उत्तर 3: Fail2Ban को लागू करें ताकि ब्रूट‑फ़ोर्स हमलों को रोका जा सके, Apache संस्करण विवरण छिपाएँ, अप्रयुक्त मॉड्यूल निष्क्रिय करें, और मजबूत SSH सुरक्षा प्रथाओं को लागू करें।
प्रश्न 4: मैं Apache के प्रदर्शन को कैसे सुधार सकता हूँ?
उत्तर 4: MPM Event पर स्विच करें, कैशिंग (mod_cache) सक्षम करें, gzip संपीड़न (mod_deflate) उपयोग करें, और KeepAlive सेटिंग्स को अनुकूलित करें।
प्रश्न 5: मुझे “403 Forbidden” त्रुटि क्यों मिल रही है?
उत्तर 5: सुनिश्चित करें कि डायरेक्टरी का स्वामित्व www-data पर सेट है और फ़ाइल अनुमतियों को समायोजित करें:
sudo chown -R www-data:www-data /var/www/example.com/public_html
sudo chmod -R 755 /var/www/example.com/public_html
अंतिम विचार
Ubuntu वेब सर्वर सेट अप करने में कई चरण शामिल होते हैं, स्थापना और कॉन्फ़िगरेशन से लेकर अनुकूलन और समस्या निवारण तक। हालांकि, प्रक्रिया को समझने के बाद, आप एक शक्तिशाली वेब होस्टिंग वातावरण बना और प्रबंधित कर सकते हैं।
🚀 इस गाइड का पालन करके एक सुरक्षित, तेज़ और भरोसेमंद वेब सर्वर बनाएं, और एक सर्वर प्रशासक के रूप में अपनी कौशल को निरंतर सुधारें! 🚀

 
![Ubuntu पर पासवर्ड दर्ज नहीं कर पा रहे हैं या लॉग इन नहीं हो पा रहे हैं: कारण और समाधान [पूर्ण शुरुआती गाइड]](https://www.linux.digibeatrix.com/wp-content/uploads/2025/01/222e1410df4982d8e85d09bb3e3389af-375x214.webp)
