VPS Ubuntu / Ubuntu VPS सेटअप

Ubuntu VPS वर पहिली HTTPS वेबसाइट सुरू करा

नवीन Ubuntu 24.04 LTS VPS वर Nginx वापरून छोटी static वेबसाइट HTTPS सह सुरू करा. SSH key, स्वतंत्र प्रशासक, प्रमाणपत्राचे नूतनीकरण आणि reboot नंतरची तपासणी या प्रक्रियेत आहेत. आधीपासून चालू असलेल्या सर्व्हरवर ही उदाहरणे तशीच वापरण्यापूर्वी त्याची मांडणी तपासा.

· अद्ययावत: · वाचनासाठी सुमारे 6 मिनिटे

मार्गदर्शिकेतील विभाग

सर्व्हर, domain आणि पुनर्प्राप्तीचा प्रवेश तयार ठेवा

सार्वजनिक IPv4, port 22 वरील SSH, sudo वापरू शकणारे सुरुवातीचे खाते आणि तुमच्या नियंत्रणातील domain असलेला नवीन Ubuntu 24.04 VPS वापरा. सर्व्हर तयार करण्याआधी पुढील टप्प्यात key तयार करा. रिकामा VPS आधीच असल्यास चालू प्रवेशातून key जोडण्याची पर्यायी पद्धत वापरा. Client commands तुमच्या Linux, macOS किंवा WSL मधील Bash मध्ये; server commands SSH session मध्ये चालतात. नमुन्यातील paths वर आधीचे deployment असल्यास थांबा.

203.0.113.10 ऐवजी सर्व्हरचा पत्ता आणि app.example.com ऐवजी तुमचा hostname वापरा. हे दोन्ही उदाहरणांसाठी राखीव आहेत. ubuntu ऐवजी प्रदात्याने दिलेले खाते वापरा. Firewall किंवा प्रवेश बदलण्यापूर्वी recovery console उघडा. Oracle Ubuntu image साठी खालील UFW पद्धत लागू नाही.

SSH key तयार करा आणि स्वतंत्र नवीन कनेक्शन तपासा

तुमच्या संगणकावर स्वतंत्र key तयार करा आणि passphrase द्या. त्याच नावाची फाइल असल्यास संपूर्ण प्रक्रियेत दुसरे नाव वापरा. फक्त .pub फाइल सार्वजनिक आहे; private key संगणकावर सुरक्षित ठेवा.

mkdir -p ~/.ssh
ssh-keygen -t ed25519 -f ~/.ssh/ubuntu_vps
cat ~/.ssh/ubuntu_vps.pub

नवीन VPS: आता Ubuntu 24.04 सर्व्हर तयार करताना ही public key प्रदात्याच्या SSH-key field मध्ये द्या. सुरुवातीचे username तपासा; विद्यमान सर्व्हरसाठीच्या पुढील दोन command blocks वगळून host fingerprint तपासण्याकडे जा.

आधी तयार केलेला रिकामा VPS: चालू SSH session उघडे ठेवा. दुसऱ्या स्थानिक terminal मधून सध्या चालणाऱ्या authentication ने public key पाठवा. existing_vps_key ऐवजी विद्यमान private key चे नाव द्या. Password किंवा SSH agent वापरत असाल तर -i ~/.ssh/existing_vps_key वगळा; सर्व्हरची authentication policy बदलू नका.

scp -i ~/.ssh/existing_vps_key ~/.ssh/ubuntu_vps.pub ubuntu@203.0.113.10:ubuntu-vps-admin.pub

चालू server session मध्ये पाठवलेली public key पडताळून स्वतःच्या सुरुवातीच्या खात्याच्या authorized_keys मध्ये जोडा. Append मुळे आधीच्या नोंदी जपल्या जातात; अतिरिक्त newline मुळे शेवटच्या ओळीचीही योग्य विभागणी होते. कार्यरत प्रवेशच नसेल तर आधी प्रदात्याची recovery प्रक्रिया वापरा.

if ssh-keygen -lf ~/ubuntu-vps-admin.pub; then
    mkdir -p ~/.ssh
    chmod 700 ~/.ssh
    printf '\n' >> ~/.ssh/authorized_keys
    cat ~/ubuntu-vps-admin.pub >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys
fi

कोणतीही पद्धत वापरली तरी पहिल्या SSH prompt आधी trusted recovery console मधून सर्व्हरच्या host key चा fingerprint तपासा. Ed25519 key साठी console मध्ये:

sudo ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub

तुमच्या संगणकावर नवीन key वापरून नवीन कनेक्शन उघडा. ते यशस्वी होईपर्यंत जुना प्रवेश उघडा ठेवा.

ssh -i ~/.ssh/ubuntu_vps ubuntu@203.0.113.10

पुढे तयार होणाऱ्या प्रशासकासाठी public key दुसऱ्या स्थानिक terminal मधून पाठवा. तात्पुरती public-key फाइल आधी पाठवली असल्यास पुन्हा पाठवणे चालते.

scp -i ~/.ssh/ubuntu_vps ~/.ssh/ubuntu_vps.pub ubuntu@203.0.113.10:ubuntu-vps-admin.pub

स्वतंत्र प्रशासक तयार करून sudo तपासा

सर्व्हरवर आधी getent passwd deploy तपासा. खाते मिळाल्यास दुसरे न वापरलेले नाव निवडून home paths व group names सहित सर्व उदाहरणांत बदला. दुसऱ्या वापरकर्त्याची key फाइल बदलू नका. Image व संसाधने तपासा, upgrades पाहा आणि प्रशासक तयार करा. Sudo prompts साठी मजबूत password ठेवा. Install commands key फाइलची मालकी व मर्यादित permissions सेट करतात.

cat /etc/os-release
free -h
df -h /
sudo apt update
sudo apt upgrade
sudo adduser deploy
sudo usermod -aG sudo deploy
sudo install -d -m 700 -o deploy -g deploy /home/deploy/.ssh
sudo install -m 600 -o deploy -g deploy ~/ubuntu-vps-admin.pub /home/deploy/.ssh/authorized_keys

तुमच्या संगणकावर आणखी एक terminal उघडून नवीन प्रशासक म्हणून जोडा:

ssh -i ~/.ssh/ubuntu_vps deploy@203.0.113.10

या नवीन server session मध्ये sudo तपासा. Deploy खात्याचा password स्वीकारल्यानंतर root दिसले पाहिजे. दोन्ही तपासण्या यशस्वी झाल्यावर याच session मध्ये पुढे जा; मूळ प्रवेश जपा.

sudo whoami

Nginx आणि image ला अनुरूप firewall वापरा

सर्व्हरवर Nginx स्थापित करा. Guest firewall आणि प्रदात्याचे network rules दोन्ही प्रवेशावर परिणाम करतात. बदल करताना recovery console व चालू SSH session उपलब्ध ठेवा.

sudo apt install nginx
sudo systemctl enable --now nginx

Provider firewall मध्ये प्रशासनाच्या पत्त्यावरून TCP 22 आणि वेबसाइटसाठी TCP 80/443 परवानगी द्या. SSH चा port वेगळा असल्यास त्याचा नियम जपा. Network rule मुळे guest firewall मधील बंद port आपोआप उघडत नाही.

Oracle Cloud Ubuntu: पुढील UFW block पूर्णपणे वगळा. Image मधील आवश्यक iptables आणि iSCSI boot/block-volume नियम जपा. UFW मुळे या नियमांशी संघर्ष होऊन boot अयशस्वी होऊ शकतो. OCI security lists/NSG आणि दस्तऐवजी guest rules मधून HTTP/HTTPS परवानगी द्या. विद्यमान नियम flush करू नका किंवा firewall packages बदलू नका.

इतर नवीन Ubuntu images: प्रदाता UFW समर्थित करतो आणि वेगळी managed firewall पद्धत आवश्यक नाही, तेव्हाच खालील block वापरा. Enable करण्याआधी प्रत्यक्ष SSH port ला परवानगी द्या; उदाहरणात port 22 आहे.

sudo apt install ufw
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status verbose

दोन्हीपैकी योग्य पद्धतीनंतर नवीन SSH login तपासा. उघडे असलेले जुने session हा नवीन कनेक्शनचा पुरावा नाही. Certificate मागण्याआधी पुढील external HTTP चाचणी यशस्वी हवी.

स्वतंत्र Nginx site मध्ये पान प्रकाशित करा

सर्व्हरवर नवीन document root आणि configuration तयार करा; block मध्ये तुमचा hostname द्या. Quoted EOF बदलू नका: त्यांमुळे shell $uri सारखे Nginx variables expand करत नाही.

sudo install -d -m 755 /var/www/first-site
printf '%s\n' '<!doctype html><html lang="en"><title>First deployment</title><h1>Ubuntu VPS is serving this page</h1></html>' | sudo tee /var/www/first-site/index.html
sudo tee /etc/nginx/sites-available/first-site >/dev/null <<'EOF'
server {
    listen 80;
    listen [::]:80;
    server_name app.example.com;
    root /var/www/first-site;
    index index.html;
    location / {
        try_files $uri $uri/ =404;
    }
}
EOF
sudo ln -s /etc/nginx/sites-available/first-site /etc/nginx/sites-enabled/first-site
sudo nginx -t

Configuration test यशस्वी झाल्यावरच सर्व्हरवर reload करा:

sudo systemctl reload nginx

DNS बदलण्याआधी तुमच्या संगणकावर hostname सर्व्हरच्या पत्त्याकडे निर्देशित करून तपासा. Default Nginx page ऐवजी तुमचे heading दिसले पाहिजे.

curl --resolve app.example.com:80:203.0.113.10 http://app.example.com/

DNS जोडा आणि HTTPS प्रमाणपत्र मिळवा

Hostname चा DNS A record VPS च्या IPv4 कडे द्या. IPv6 चालत असल्यासच AAAA प्रकाशित करा; चुकीचा AAAA visitors आणि certificate validation दुसरीकडे नेऊ शकतो. हे उदाहरण proxy शिवाय थेट VPS कडे जाणाऱ्या DNS साठी आहे.

स्थानिक संगणकावर --resolve न वापरता http://app.example.com/ मागवा. योग्य पान मिळाल्यावर server वर Ubuntu archive मधील Certbot व Nginx plugin स्थापित करा. Universe repository लागते; package न सापडल्यास आधी ते कारण सोडवा.

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d app.example.com --redirect
sudo nginx -t
sudo certbot renew --dry-run
systemctl list-timers --all certbot.timer

Email व अटींचे prompts पूर्ण करा. Certbot या site चे configuration बदलून HTTP ते HTTPS redirect करतो. Renewal timer scheduled असल्याची खात्री करा; inactive असल्यास sudo systemctl enable --now certbot.timer वापरा. HTTP validation व renewal साठी port 80 उपलब्ध ठेवा.

बाहेरून आणि reboot नंतर परिणाम तपासा

तुमच्या संगणकावर redirect, certificate आणि मजकूर तपासा. HTTP चे HTTPS कडे redirect आणि HTTPS वरील योग्य heading अपेक्षित आहे. Curl ला -k देऊ नका; त्यामुळे certificate त्रुटी लपतात.

curl -I http://app.example.com/
curl -I https://app.example.com/
curl -fsS https://app.example.com/

हे test deployment असतानाच सर्व्हरवर sudo reboot करा. Deploy म्हणून पुन्हा जोडा, systemctl is-active nginx आणि बाह्य HTTPS request पुन्हा तपासा. Reboot मुळे SSH बंद होतो; मशीन परत न आल्यास console वापरा.

अयशस्वी तपासणीचे निदान आणि पुनर्प्राप्ती

लहान स्क्रीनवर सर्व स्तंभ पाहण्यासाठी तक्ता बाजूला सरकवा.

लक्षणपहिली तपासणी
SSH timeoutपत्ता, provider/guest firewall आणि console
Permission denied (publickey)Username, private key, authorized_keys permissions
Default Nginx पानDNS, server_name आणि enabled site
Certificate validation अयशस्वीसार्वजनिक A/AAAA आणि port 80
बदलानंतर Nginx बंदsudo nginx -t आणि sudo journalctl -u nginx -n 50 --no-pager

Login अयशस्वी असल्यास SSH त्रुटींचे निदान करा. Site files, Nginx configuration, DNS records आणि rebuild पद्धत VPS बाहेर ठेवा. वेगळ्या फोल्डरमध्ये बॅकअप परत मिळवून तपासा. Certificate private keys साठवल्यास संरक्षित storage वापरा. Availability व certificate-expiry alerts ठेवा; एक यशस्वी तपासणी उद्याच्या renewal वर लक्ष ठेवत नाही.

ही static-files वेबसाइट आहे. Database/runtime साठी स्वतंत्र service configuration आणि consistent backup लागतो. संसाधनांची मोजणी करून पुढील घटक जोडा. पूर्ण recovery मध्ये उरलेले assets, certificates आणि service settings देखील येतात.

प्रश्नोत्तरे

या commands चालू वेबसाइटवर वापरू शकतो का?

आधी वेगळ्या test VPS वर वापरा. Commands फाइल तयार करतात, firewall बदलू शकतात आणि Certbot Nginx संपादित करतो. विद्यमान sites, प्रवेश व recovery तपासणे आवश्यक आहे.

WordPress, Node.js किंवा database तयार होतो का?

नाही. ही static HTTPS वेबसाइट आहे. हा कार्यरत पाया जपून runtime जोडा आणि startup, health checks व data recovery स्वतंत्रपणे तपासा.

दस्तऐवज आणि संदर्भ

नवीन Ubuntu 24.04, थेट DNS आणि SSH port 22 साठी दस्तऐवजांवर आधारित उदाहरण. प्रदात्याला अनुरूप firewall पद्धत वापरा; Oracle Ubuntu वर UFW वगळा. प्रत्येक provider image वर संपूर्ण प्रक्रिया चाचणी केल्याचा दावा नाही.

संबंधित मार्गदर्शिका

Ubuntu VPS: तुमच्या कामाला योग्य सर्व्हर निवडा

Ubuntu VPS साठी CPU, RAM आणि स्टोरेजचे नियोजन करा. होस्टिंगच्या अटी, Ubuntu ची सुसंगतता आणि पहिली वेबसाइट सुरू करण्याचे पुढचे टप्पे समजून घ्या.

मार्गदर्शिका वाचा →

Linux VPS ची प्रत्यक्ष काम आणि एकूण खर्चावर तुलना करा

Linux VPS निवडताना CPU, उपलब्ध RAM, डिस्क आणि प्रतिसादाचा वेळ मोजा. समान ॲपवर योजनांची चाचणी करून बॅकअपसह संपूर्ण मासिक खर्चाची तुलना करा.

मार्गदर्शिका वाचा →

मोफत VPS च्या अटी आणि पूर्ण खर्च समजून घ्या

मोफत VPS साठी Oracle व Google च्या मर्यादा तपासा. ट्रायल क्रेडिट आणि चालू मोफत कोटा वेगळे समजून डिस्क, IP, ट्रॅफिक व बॅकअपचा खर्च मोजा.

मार्गदर्शिका वाचा →

मोफत Ubuntu VPS तयार करून SSH ने जोडा

Oracle च्या पात्र AMD micro instance वर Ubuntu VPS तयार करा. सार्वजनिक subnet, SSH key, host fingerprint आणि पुनर्प्राप्ती तपासून संसाधनांची नोंद ठेवा.

मार्गदर्शिका वाचा →