FreeBSD पर Apache, MariaDB और PHP (FAMP) स्टैक कैसे स्थापित करें


यह मार्गदर्शिका यह वर्णन करेगी कि FreeBSD ऑपरेटिंग सिस्टम में FBAMP को कैसे संस्थापित और कॉन्फ़िगर किया जाए, जो लिनक्स पर LAMP स्टैक के समान है। FBAMP एक संक्षिप्त नाम है जो FreeBSD OS पर आधारित सॉफ़्टवेयर के संग्रह के लिए खड़ा है, Apache HTTP सर्वर, इंटरनेट में सबसे लोकप्रिय ओपन-सोर्स वेब सर्वर, MariaDB संबंधपरक डेटाबेस प्रबंधन प्रणाली ( RDBMS ), MySQL डेटाबेस इंजन का एक कांटा, और PHP सर्वर-साइड।

आवश्यकताएँ

  1. A fresh installation of FreeBSD
  2. FreeBSD Initial Configurations
  3. Direct console access or SSH in case of a remote connection to FreeBSD.
  4. A static IP Address configured on a Network Interface.

चरण 1: FreeBSD पर अपाचे स्थापित करें

1। हम जो पहली सेवा स्थापित करेंगे वह है Apache HTTP सर्वर। डिफ़ॉल्ट रूप से, FreeBSD अपाचे वेब सर्वर के लिए अलग-अलग रनटाइम वर्क मॉड्यूल के साथ कई संस्करण प्रदान करता है।

संस्करणों को एक बाइनरी पैकेज में पूर्व-संकलित किया गया है और फ्रीबीएसडी पोर्टल रिपॉजिटरी द्वारा प्रदान किया गया है। PORTS द्वारा प्रदान किए गए सभी अपाचे पैकेजों को प्रदर्शित करने के लिए, निम्नलिखित कमांड जारी करें।

# ls /usr/ports/www/ | grep apache

आप नीचे दिए गए आदेश को जारी करके FreeBSD पर उपलब्ध पूर्व-तैयार अपाचे पैकेजों की खोज कर सकते हैं।

# pkg search apache2

2। इसके बाद, अपाचे HTTP सर्वर के नवीनतम संस्करण को निम्नलिखित कमांड जारी करके सभी आवश्यक मॉड्यूल के साथ स्थापित करें।

# pkg install apache24

3। सिस्टम पर अपाचे वेब सर्वर स्थापित होने के बाद, फ्रीबीएसडी में डेमॉन सिस्टम-वाइड को सक्षम करने के लिए निम्न कमांड जारी करें।

# sysrc apache24_enable="yes"

अपाचे डेमॉन को सक्षम करने का एक वैकल्पिक तरीका नीचे दिए गए स्क्रीनशॉट में सचित्र के रूप में /etc/rc.conf फ़ाइल को मैन्युअल रूप से संपादित करने और लाइन apache24_enable = yes को जोड़ना होगा।

4। अंत में, यह जांचने के लिए कि क्या वेब सर्वर ठीक से काम कर रहा है, नीचे दिए गए आदेश को जारी करके अपाचे डेमन शुरू करें और अपने सर्वर के ब्राउज़र को FQDN के आईपी पते (<कोड>) को इंगित करके डिफ़ॉल्ट वेब पेज पर जाएं। http:/IP-orFQDN ) जैसा कि नीचे स्क्रीनशॉट में दिखाया गया है।

# service apache24 start

FreeBSD 11.x में अपाचे वेब सर्वर की डिफ़ॉल्ट वेबरोट निर्देशिका /usr/local/www/apache24/data/ सिस्टम पथ में स्थित है। वहां आपको एक छोटा index.html फ़ाइल मिलेगी जिसे आप अधिमानतः संपादित कर सकते हैं।

चरण 2: FreeBSD पर PHP स्थापित करें

५। फ्रीबीएसडी पोर्ट रिपॉजिटरी द्वारा उपलब्ध कराए गए सभी उपलब्ध पीएचपी संस्करण पैकेजों की सूची प्राप्त करने के लिए निम्नलिखित कमांड जारी करें।

# ls /usr/ports/lang/ | grep php

सभी उपलब्ध FreeBSD PHP पैकेज संस्करणों की खोज का एक वैकल्पिक तरीका नीचे कमांड चलाकर है।

# pkg search -o php

6। किसी विशिष्ट PHP संस्करण के लिए FreeBSD द्वारा उपलब्ध सभी बायनेरिज़ की खोज करने के लिए ( 5 या 7 संस्करण वर्तमान में) नीचे दिए गए कमांड चलाते हैं। आउटपुट के माध्यम से संकीर्ण और नेविगेट करने के लिए कम कमांड का उपयोग करें।

# pkg search php5 |less
# pkg search php7

7। कस्टम PHP संस्करण प्रदान करने वाले मॉड्यूल पर अधिक विशिष्ट होने के लिए, नीचे बताए अनुसार निम्न कमांड चलाएँ, जो PHP 7.1 संस्करण के लिए सभी उपलब्ध मॉड्यूल प्रदर्शित करते हैं।

# pkg search php71

8। इस गाइड में हम अपने FBAMP स्टैक के लिए PHP 7.1 जारी करते हैं। एक सामान्य सीएमएस इंस्टॉलेशन के लिए आवश्यक कुछ सबसे महत्वपूर्ण मॉड्यूल के साथ PHP स्थापित करने के लिए निम्न आदेश जारी करें।

# pkg install php71 mod_php71 php71-mbstring php71-mcrypt php71-zlib php71-curl php71-gd php71-json 

9। अगला, हमें /usr/स्थानीय/आदि/Apache24/////में Apache वेब सर्वर के लिए php.conf कॉन्फ़िगरेशन फ़ाइल बनाने की आवश्यकता है > निम्न सामग्री के साथ सिस्टम पथ।

# nano /usr/local/etc/apache24/Includes/php.conf

निम्न पंक्तियों को php.conf फ़ाइल में जोड़ें।

<IfModule dir_module>
    DirectoryIndex index.php index.html
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
</IfModule>

10। यदि अपाचे वेब सर्वर के साथ PHP गेटवे अपेक्षा के अनुरूप काम कर रहा है, तो परीक्षण करने के लिए, /usr/local/www/में एक info.php फाइल बनाएं। Apache24/data/system पथ, जो Apache वेब सर्वर का डिफ़ॉल्ट वेब दस्तावेज़ रूट पथ है।

# echo '<?php phpinfo();  ?>' | tee -a /usr/local/www/apache24/data/info.php

परिवर्तनों को लागू करने के लिए अपाचे डेमॉन को पुनरारंभ करें।

# service apache24 restart

अगला, PHP सारांश देखने के लिए एक ब्राउज़र में निम्न यूआरआई पर जाएं।

http://IP-or-FQDN/info.php 

11। उत्पादन के लिए PHP इनआई कॉन्फ़िगरेशन फ़ाइल को सक्रिय करने के लिए नीचे दिए गए आदेश जारी करते हैं। आप अपने FBAMP स्टैक में विविध PHP सेटिंग्स को बदलने के लिए php.ini उत्पादन फ़ाइल को संशोधित कर सकते हैं।

# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini-production.bakup
# ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini

चरण 3: FreeBSD पर MariaDB स्थापित करें

12। हमारे FBAMP स्टैक के लिए अंतिम अनुपलब्ध घटक MySQL डेटाबेस सर्वर है। FreeBSD 11.x विविध डेटाबेस के लिए 1000 पैकेज से अधिक की पेशकश करते हैं।

यह प्रदर्शित करने के लिए कि मारियाडीबी या MySQL डेटाबेस के लिए कौन से घटक उपलब्ध हैं, निम्नलिखित कमांड जारी करें। इस गाइड में हम MySQL पर मारियाडीबी डेटाबेस स्थापित करेंगे (जो अब ओरेकल द्वारा सक्रिय रूप से स्वामित्व और विकसित किया गया है)।

# ls -al /usr/ports/databases/ | grep mariadb
# pkg search -o mariadb
# ls -al /usr/ports/databases/ | grep mysql
# pkg search -o mysql5

13। इस गाइड में हम FreeBSD में MariaDB डेटाबेस सर्वर के नवीनतम संस्करण को स्थापित करेंगे, जो वर्तमान में mariadb102 बाइनरी पैकेज रिलीज़ द्वारा दर्शाया गया है।

मारबाडी सर्वर और क्लाइंट और आवश्यक PHP 7.1 मॉड्यूल को अपाचे सर्वर गेटवे के माध्यम से एक्सेस करने के लिए निम्नलिखित कमांड को रन करें।

# pkg install mariadb102-server mariadb102-client php71-mysqli

14। इसके बाद, MariaDB सर्वर सिस्टम-वाइड को सक्षम करें और निम्नलिखित कमांड्स को चलाकर डेटाबेस डेमॉन को शुरू करें।

# sysrc mysql_enable="yes" 
# service mysql-server start

15। डेटाबेस चलाने के लिए सुरक्षित mysql_secure_installation । मारियाडीबी को सख्त करने के लिए नीचे दिए गए स्क्रिप्ट आउटपुट अंश का उपयोग करें।

# /usr/local/bin/mysql_secure_installation

MySQL सुरक्षित स्थापना स्क्रिप्ट आउटपुट

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
 
In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
 
Enter current password for root (enter for none):
OK, successfully used password, moving on...
 
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
 ... Success!
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
 ... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
 ... Success!
Cleaning up...
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!

16। डिफ़ॉल्ट रूप से, MariaDB डेमन पोर्ट पर स्थानीयहोस्ट के बाहर नेटवर्क कनेक्शन के लिए सुनता है 3306/TCP । मारियाबेड सॉकेट राज्य प्राप्त करने के लिए नेटस्टैट, lsof या sockstat कमांड चलाएं। यह कॉन्फ़िगरेशन खतरनाक है और बाहरी नेटवर्क हमलों के लिए सेवा को उजागर करता है।

# lsof -i4 -i6
# sockstat -4 -6

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

# sysrc mysql_args="--bind-address=127.0.0.1"
# service mysql-server restart
or
# /usr/local/etc/rc.d/mysql-server restart

18। फिर से, MariaDB नेटवर्क सॉकेट को सूचीबद्ध करने के लिए netstat, lsof या sockstat कमांड चलाएँ। सॉकेट को लोकलहोस्ट पर बांधना और सुनना चाहिए, जैसा कि नीचे की छवि में दिखाया गया है।

# lsof -i4 | grep mysql
# netstat -an | grep 3306
# sockstat -4 | grep 3306

19। कंसोल से मारियाडीबी डेटाबेस कनेक्टिविटी का परीक्षण करने के लिए निम्नलिखित कमांड जारी करें। प्रॉम्प्ट में MySQL रूट पासवर्ड दर्ज करें और डिफ़ॉल्ट कंसोल की एक सूची आपके कंसोल स्क्रीन में प्रदर्शित होनी चाहिए जैसा कि नीचे की छवि में दिखाया गया है।

# mysql -u root -p -e "show databases"

बस इतना ही! आपने FreeBSD में मारियाडीबी डेटाबेस और PHP दुभाषिया के साथ अपाचे वेब सर्वर को सफलतापूर्वक स्थापित किया है। अब आप कुछ ही समय में एक वर्डप्रेस वेबसाइट को तैनात करना शुरू कर सकते हैं।

अगले ट्यूटोरियल पर हम कुछ उन्नत FPBAMP विषयों पर चर्चा करेंगे, जैसे कि अपाचे वर्चुअल होस्ट्स को कैसे सक्षम और बनाएं, फिर से काम करने के लिए .htaccess फ़ाइल द्वारा आवश्यक मॉड्यूल को सक्षम करें और Apache कनेक्शन का उपयोग करके सुरक्षित कैसे करें। स्व-हस्ताक्षरित प्रमाण पत्र या लेट्स एनक्रिप्ट यूनिट द्वारा प्रस्तुत एक नि: शुल्क प्रमाण पत्र।