Home Knowledge base Skyline Cloud Ubuntu पर LAMP स्टैक कैसे इंस्टॉल करें KNOWLEDGE BASE

Ubuntu पर LAMP स्टैक कैसे इंस्टॉल करें

Ubuntu 24.04 LTS पर LAMP स्टैक (Linux, Apache, MySQL, PHP) इंस्टॉल और सुरक्षित करने की पूरी, चरण-दर-चरण गाइड — फ़ायरवॉल, हार्डन किए गए MySQL सेटअप, PHP, और मिनटों में टेस्ट किए जा सकने वाले Apache वर्चुअल होस्ट को कवर करते हुए।

Ubuntu पर LAMP स्टैक कैसे इंस्टॉल करें

Ubuntu 24.04 LTS पर LAMP स्टैक (Linux, Apache, MySQL, PHP) इंस्टॉल और सुरक्षित करने की एक पूरी, चरण-दर-चरण गाइड — फ़ायरवॉल, हार्डन किए गए MySQL सेटअप, PHP, और मिनटों में टेस्ट किए जा सकने वाले एक कार्यशील Apache वर्चुअल होस्ट को कवर करते हुए।

LAMP स्टैक क्या है?

LAMP स्टैक डायनेमिक वेबसाइटों और वेब एप्लिकेशन को सर्व करने के लिए क्लासिक ओपन-सोर्स प्लेटफ़ॉर्म है। यह संक्षिप्त नाम चार परतों को दर्शाता है जो एक साथ काम करती हैं:

  • Linux — ऑपरेटिंग सिस्टम (इस गाइड में, Ubuntu)
  • Apache — वह वेब सर्वर जो HTTP अनुरोधों को संभालता है
  • MySQL — वह रिलेशनल डेटाबेस जो आपके डेटा को संग्रहीत करता है
  • PHP — वह भाषा जो डायनेमिक पेज जनरेट करती है

यह ट्यूटोरियल आपको Ubuntu 24.04 LTS पर एक पूर्ण, हार्डन की गई इंस्टॉलेशन के चरणों से गुज़ारता है (ये चरण 22.04 LTS और नए 26.04 LTS पर भी स्पष्ट रूप से लागू होते हैं)। अंत तक आपके पास एक टेस्ट किए गए वर्चुअल होस्ट वाला कार्यशील वेब सर्वर, एक सुरक्षित डेटाबेस, और पेजों को प्रोसेस करता हुआ PHP होगा।

यदि आप इसे किंगडम में किसी VPS या क्लाउड सर्वर पर चला रहे हैं, तो अपने डेटा को किंगडम के भीतर रखने से PDPL डेटा-रेज़िडेंसी आवश्यकताओं में मदद मिलती है, साथ ही रियाद, जेद्दा और दम्माम के उपयोगकर्ताओं को कम लेटेंसी प्रदान होती है।

पूर्वापेक्षाएँ

  • एक Ubuntu 24.04 सर्वर (एक Skyline Cloud VPS अच्छी तरह काम करता है)।
  • sudo विशेषाधिकारों वाला एक नॉन-रूट उपयोगकर्ता।
  • सर्वर तक SSH एक्सेस।

पैकेज इंडेक्स को रिफ़्रेश करके शुरू करें:

sudo apt update
sudo apt upgrade -y

चरण 1 — Apache इंस्टॉल करें और फ़ायरवॉल कॉन्फ़िगर करें

Apache वेब सर्वर इंस्टॉल करें:

sudo apt install apache2 -y

Ubuntu UFW फ़ायरवॉल के साथ आता है, और Apache इंस्टॉल होने पर इसके साथ एप्लिकेशन प्रोफ़ाइल पंजीकृत करता है। उन्हें सूचीबद्ध करें:

sudo ufw app list

आपको Apache, Apache Full, और Apache Secure दिखाई देंगे। HTTP (80) और HTTPS (443) दोनों को खोलने के लिए Apache Full की अनुमति दें। यदि UFW अभी तक सक्रिय नहीं है, तो पहले SSH की अनुमति दें ताकि आप खुद को बाहर लॉक न कर लें:

sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'
sudo ufw enable

पुष्टि करें कि Apache चल रहा है:

sudo systemctl status apache2

अब किसी ब्राउज़र में http://your_server_ip पर जाएँ। आपको डिफ़ॉल्ट Apache लैंडिंग पेज दिखाई देना चाहिए।

चरण 2 — MySQL इंस्टॉल करें और इसे सुरक्षित करें

MySQL डेटाबेस सर्वर इंस्टॉल करें:

sudo apt install mysql-server -y

सेवा स्वचालित रूप से शुरू हो जाती है। इसके बाद, बिल्ट-इन हार्डनिंग स्क्रिप्ट चलाएँ, जो असुरक्षित डिफ़ॉल्ट्स को हटाती है:

sudo mysql_secure_installation

स्क्रिप्ट आपको यह करने के लिए प्रॉम्प्ट करती है:

  1. वैकल्पिक रूप से VALIDATE PASSWORD कंपोनेंट सक्षम करें (यदि आप पासवर्ड जटिलता को लागू करना चाहते हैं तो एक पॉलिसी स्तर चुनें)।
  2. एनॉनिमस उपयोगकर्ताओं को हटाएँ — Y के साथ उत्तर दें।
  3. रिमोट रूट लॉगिन को अस्वीकार करें — Y के साथ उत्तर दें।
  4. टेस्ट डेटाबेस हटाएँ — Y के साथ उत्तर दें।
  5. विशेषाधिकार टेबलों को पुनः लोड करें — Y के साथ उत्तर दें।

एक नई इंस्टॉल पर रूट अकाउंट auth_socket का उपयोग करता है, इसलिए आप बिना पासवर्ड के शेल से लॉग इन करते हैं:

sudo mysql

एप्लिकेशन के लिए, कभी भी रूट का उपयोग न करें। इसके बजाय एक समर्पित उपयोगकर्ता और डेटाबेस बनाएँ:

CREATE DATABASE app_db;
CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'a_strong_password';
GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

चरण 3 — PHP इंस्टॉल करें

PHP, Apache PHP मॉड्यूल, और MySQL कनेक्टर इंस्टॉल करें:

sudo apt install php libapache2-mod-php php-mysql -y

अधिकांश एप्लिकेशन को कुछ सामान्य एक्सटेंशन की भी आवश्यकता होती है:

sudo apt install php-cli php-curl php-gd php-mbstring php-xml php-zip -y

इंस्टॉल किए गए संस्करण की जाँच करें:

php -v

चरण 4 — Apache को PHP फ़ाइलों को प्राथमिकता देने के लिए कहें

डिफ़ॉल्ट रूप से Apache index.php से पहले index.html को सर्व करता है। PHP एप्लिकेशन को अपेक्षा के अनुसार काम कराने के लिए, index.php की प्राथमिकता बढ़ाएँ। डायरेक्टरी-इंडेक्स कॉन्फ़िग खोलें:

sudo nano /etc/apache2/mods-enabled/dir.conf

index.php को सूची के सबसे आगे ले जाएँ:

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

सहेजें, फिर Apache को रीलोड करें:

sudo systemctl reload apache2

चरण 5 — एक वर्चुअल होस्ट बनाएँ

वर्चुअल होस्ट एक ही सर्वर को कई साइटें होस्ट करने देते हैं। अपने डोमेन के लिए एक डॉक्यूमेंट रूट और एक कॉन्फ़िग फ़ाइल बनाएँ (example.com को बदलें):

sudo mkdir -p /var/www/example.com
sudo chown -R $USER:$USER /var/www/example.com
sudo nano /etc/apache2/sites-available/example.com.conf

निम्नलिखित जोड़ें:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    ServerAdmin webmaster@example.com
    DocumentRoot /var/www/example.com
    ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
    CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>

अपनी साइट सक्षम करें, डिफ़ॉल्ट साइट अक्षम करें, और रीलोड करें:

sudo a2ensite example.com.conf
sudo a2dissite 000-default.conf
sudo systemctl reload apache2

यदि आप क्लीन URL का उपयोग करने की योजना बना रहे हैं (WordPress और Laravel में आम), तो rewrite मॉड्यूल सक्षम करें:

sudo a2enmod rewrite
sudo systemctl restart apache2

चरण 6 — PHP प्रोसेसिंग का परीक्षण करें

अपने डॉक्यूमेंट रूट में एक टेस्ट फ़ाइल बनाएँ:

nano /var/www/example.com/info.php

जोड़ें:

<?php
phpinfo();

http://example.com/info.php (या अपने सर्वर IP) पर जाएँ। आपको PHP जानकारी पेज दिखाई देना चाहिए, जो पुष्टि करता है कि Apache .php फ़ाइलों को PHP को सौंप रहा है। इसके तुरंत बाद इस फ़ाइल को हटा दें — यह सर्वर विवरण उजागर करती है:

rm /var/www/example.com/info.php

त्वरित कमांड संदर्भ

कार्य कमांड
Apache को रीस्टार्ट करें sudo systemctl restart apache2
Apache कॉन्फ़िग रीलोड करें sudo systemctl reload apache2
Apache कॉन्फ़िग सिंटैक्स का परीक्षण करें sudo apache2ctl configtest
MySQL को रीस्टार्ट करें sudo systemctl restart mysql
MySQL में लॉग इन करें sudo mysql
Apache एरर लॉग देखें sudo tail -f /var/log/apache2/error.log

अगले कदम

आपका LAMP सर्वर तैयार है। अनुशंसित फ़ॉलो-अप:

  • HTTPS जोड़ें। Certbot के साथ एक मुफ़्त Let's Encrypt प्रमाणपत्र जारी करें, या एक प्रबंधित SSL विकल्प का उपयोग करें ताकि ट्रैफ़िक एन्क्रिप्ट हो।
  • एक डोमेन पॉइंट करें। प्रबंधित DNS के माध्यम से एक .sa या अन्य डोमेन कनेक्ट करें ताकि उपयोगकर्ता नाम से आपकी साइट तक पहुँच सकें।
  • बिज़नेस ईमेल सेट करें। अपनी साइट को अपने स्वयं के डोमेन पर विश्वसनीय बिज़नेस ईमेल होस्टिंग के साथ जोड़ें।
  • बैकअप शेड्यूल करें। /var/www के क्लाउड बैकअप और अपने डेटाबेस के नियमित mysqldump एक्सपोर्ट को स्वचालित करें।

क्या आप इस स्टैक के साथ तैयार सर्वर, किंगडम के भीतर डेटा रेज़िडेंसी, और स्थानीय अरबी सपोर्ट चाहते हैं? Skyline Cloud के लिए साइन अप करें और मिनटों में अपना VPS शुरू करें।

SKYLINE Engineering

@skyline

The engineering team at SKYLINE Industrial Solutions. We publish field-tested guides drawn from real KSA and GCC deployments.

See author profile
SKYLINE engineering services

Need this implemented for you?

Reading is free — building it right takes a team. SKYLINE engineers ship Skyline Cloud for Aramco vendors, banks, hospitals and government agencies across Saudi Arabia. Talk to us before you start.

Aramco Approved Contractor ISO 9001 · ISO 27001 SAMA CSF aligned NCA ECC ready 247+ KSA clients

Comments

0 total · 0 threads
Be the first to leave a comment.