मैं अंत में सिर्फ यह करने में सक्षम एक अच्छा ट्यूटोरियल मिला। मैं उन कदमों को रेखांकित करूंगा, जिन्हें मैंने लिया था क्योंकि मेरे पास पहले से ही मेरा LAMP स्टैक स्थापित था लेकिन पूर्ण ट्यूटोरियल यहां पाया जा सकता है ।
नए के लिए ध्यान दें:
ट्यूटोरियल में, यह रूट यूजर के साथ स्विच करके शुरू होता है:
sudo su
मेरे मामले में मैंने sudo
उपयोगकर्ताओं को स्विच करने के बजाय केवल उन आदेशों को उपसर्ग किया , इसलिए मैं अपने कदमों को इस तरह से प्रलेखित करूंगा।
शुरू
एक कदम: अपाचे वर्कर एमपीएम (मल्टी-प्रोसीडिंग मॉड्यूल) स्थापित करें
sudo apt-get install apache2-mpm-worker
यह मेरे द्वारा स्थापित प्रीफ़ॉर्क को बदल देता है जो अपाचे को स्थापित करते समय डिफ़ॉल्ट है।
चरण 2: PHP5 और आवश्यक मॉड्यूल स्थापित करें
sudo apt-get install libapache2-mod-fastcgi php5-fpm php5
इस बिंदु पर आपको 'libapache2-mod-fastcgi' को स्थापित करने में त्रुटि हो सकती है:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libapache2-mod-fastcgi is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or is only available from another source
E: Package 'libapache2-mod-fastcgi' has no installation candidate
यह हिस्सा उपरोक्त ट्यूटोरियल में नहीं है
इसे समेटने के लिए, multiverse
रिपॉजिटरी को उपयुक्त स्रोतों में जोड़ना होगा।
यह करने के लिए:
sudo nano /etc/apt/sources.list
जिसके लिए मैंने निम्नलिखित पंक्तियों को जोड़ा है:
deb http://archive.ubuntu.com/ubuntu precise multiverse
deb http://archive.ubuntu.com/ubuntu precise-updates multiverse
deb http://security.ubuntu.com/ubuntu precise-security multiverse
precise
इस मामले में उबंटू " सटीक पैंगोलिन " के मेरे संस्करण को संदर्भित करता है ।
तो अब, उन परिवर्तनों को वापस करें और टर्मिनल पर वापस जाएँ:
sudo apt-get update
और फिर:
sudo apt-get install libapache2-mod-fastcgi php5-fpm php5
जो (अब) काम करना चाहिए।
अब इन अपाचे मॉड्यूल को सक्षम करें:
sudo a2enmod actions fastcgi alias
फिर से शुरू करें
sudo service apache2 restart
चरण 3: अपाचे कॉन्फ़िगरेशन
Apache को PHP-FPM के साथ काम करने के लिए, हमें निम्नलिखित कॉन्फ़िगरेशन की आवश्यकता है:
<IfModule mod_fastcgi.c>
AddHandler php5-fcgi .php
Action php5-fcgi /php5-fcgi
Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization
<Directory /usr/lib/cgi-bin>
Require all granted
</Directory>
#directory statement mult be on multiple lines
</IfModule>
ध्यान दें:
यदि आप अपाचे (2.3.x या पुराने) के पुराने संस्करण का उपयोग कर रहे हैं, तो लाइन से बाहर निकलें
<Directory /usr/lib/cgi-bin> Require all granted </Directory>
आप कमांड के साथ अपने इंस्टॉल किए गए संस्करण की जांच कर सकते हैं
apache2 -version
आप इसे वैश्विक अपाचे कॉन्फ़िगरेशन में डाल सकते हैं (इसलिए यह सभी vhosts के लिए सक्षम है), उदाहरण के लिए /etc/apache2/conf.d/php5-fpm.conf
(यह फ़ाइल मौजूद नहीं है, इसलिए आपको इसे बनाना होगा), या आप इसे प्रत्येक vhost में रख सकते हैं जिसे PHP-FPM का उपयोग करना चाहिए।
मैं वैश्विक मार्ग का चयन करना चाहता हूं, इसलिए:
sudo nano /etc/apache2/conf.d/php5-fpm.conf
ऊपर दिए गए कोड ब्लॉक में पेस्ट करें, और सहेजें, बाहर निकलें। यह नई फ़ाइल स्वचालित रूप से अपाचे के डिफ़ॉल्ट कॉन्फ़िगरेशन द्वारा लोड की जाएगी जो /etc/apache2/conf.d/
निर्देशिका में सभी फ़ाइलों को लोड करती है ।
अपाचे को फिर से शुरू करें:
sudo service apache2 restart
अब दस्तावेज़ रूट में निम्नलिखित PHP फ़ाइल बनाएँ /var/www
:
sudo nano /var/www/info.php
जोड़ें:
<?php phpinfo();
बचा कर बाहर आ जाओ।
अब हम उस फ़ाइल को ब्राउज़र में कहते हैं (उदाहरण के लिए) http://your-server-ip/info.php
)
शीर्ष पर सर्वर API के तहत आपको देखना चाहिए FPM/FastCGI
।
सफलता!
डिफ़ॉल्ट टीसीपी पोर्ट के बजाय एक यूनिक्स सॉकेट का उपयोग करने के लिए या इन सभी के बजाय व्यक्तिगत वर्चुअल मेजबानों के लिए इसे कैसे कॉन्फ़िगर करें, इसके बारे में अधिक जानकारी के लिए, शीर्ष पर जुड़ा स्रोत ट्यूटोरियल देखें।