जवाबों:
आपको निम्नलिखित करने की आवश्यकता है:
apt-cache showpkg <pachagename>
उपरोक्त आदेश इस पैकेज के लिए उपलब्ध संस्करणों की सूची प्रदर्शित करेगा। फिर आवश्यक संस्करण का चयन करें और निम्नलिखित करें।
apt-get install <packagename>=<complete version name>
उदाहरण:
apt-cache showpkg apache2
apt-get install apache2=2.2.14-5ubuntu8.7
अपाचे 2.2 को उबंटू डिस्ट्रो पर कैसे स्थापित करें जो रिपॉजिटरी में नहीं है।
आवश्यकताओं
ऐसा करने के लिए आपको बिल्ड-एसेंशियल पैकेज स्थापित करना होगा।
~# sudo apt-get install build-essential
अपाचे को इसका समर्थन करने वाले ब्राउज़रों को आउटपुट संपीड़ित करने की क्षमता देने के लिए, आपको zlib स्थापित करने की आवश्यकता है। ज़िप्ल होमपेज (zlib-1.2.11.tar.gz लेखन के रूप में) से वर्तमान रिलीज़ डाउनलोड करें , इसे निकालें, निकाले गए फ़ोल्डर में नेविगेट करें, निर्माण करें, और इंस्टॉल करें।
wget http://www.zlib.net/zlib-1.2.11.tar.gz
tar -xvf zlib-1.2.11.tar.gz
cd zlib-1.2.11/
./configure --prefix=/usr/local
make
sudo make install
अपाचे 2.2 स्थापित करें
अपाचे डाउनलोड पृष्ठ (httpd-2.2.32.tar.gz लेखन के रूप में) से घुमावदार संस्करण डाउनलोड करें , इसे निकालें, निकाले गए फ़ोल्डर में नेविगेट करें, निर्माण करें, और इंस्टॉल करें।
wget http://www-eu.apache.org/dist/httpd/httpd-2.2.32.tar.gz
tar -xvf httpd-2.2.32.tar.gz
cd httpd-2.2.32/
./configure --prefix=/usr/local/apache2 --enable-mods-shared=all --enable-deflate --enable-proxy --enable-proxy-balancer --enable-proxy-http
make
sudo make install
अपाचे शुरू करें:
sudo /usr/local/apache2/bin/apachectl start
जांचें, यदि सब कुछ ठीक है
अपने ब्राउज़र में http: // localhost पर नेविगेट करें, जहाँ आपको "यह काम करता है!"
वैकल्पिक रूप से, आप इसे टर्मिनल के माध्यम से कर सकते हैं:
wget -qO- http://localhost | grep "It works!"
जो टर्मिनल में कुछ इस तरह उत्पादन करना चाहिए:
<html><body><h1>It works!</h1></body></html>
Apache2 के लिए "सेवा" बनाएं
sudo cp /usr/local/apache2/bin/apachectl /etc/init.d/apache22
sudo chmod +x /etc/init.d/apache22
संकेत: आप sudache सेवा को अपाचे 22 के साथ अपाचेक्टल कह सकते हैं।
अपाचे को बूट समय पर शुरू करें
sudo sed -i '2i #\n### BEGIN INIT INFO\n# Provides: apache2\n# Required-Start: $remote_fs\n# Required-Stop: $remote_fs\n# Default-Start: 2 3 4 5\n# Default-Stop: 0 1 6\n# Description: apache2\n# Short-Description: The Apache webserver\n### END INIT INFO' /etc/init.d/apache22
sudo /usr/sbin/update-rc.d apache22 defaults
सुरक्षित अपाचे
sudo service apache22 stop
sudo adduser --system apache
sed -i -e 's/User daemon/User apache/g' /usr/local/apache2/conf/httpd.conf
sed -i -e 's/Group daemon/Group nogroup/g' /usr/local/apache2/conf/httpd.conf
sudo service apache22 start
नई सेटिंग्स की जाँच करें
ps -aux | grep httpd
यदि अंतिम कमांड का टर्मिनल आउटपुट "अपाचे" से शुरू होने वाली कुछ लाइनों को दिखाता है तो सब कुछ ठीक है।
अपनी साइट कॉन्फ़िगर करें
यदि आप अपनी अपाचे को सिर्फ एक साइट के लिए कॉन्फ़िगर करना चाहते हैं, तो बस httpd.conf को संपादित करें
nano /usr/local/apache2/conf/httpd.conf
आप जिन आवश्यक मापदंडों को संशोधित करना चाहते हैं, वे हैं:
ServerName www.example.com:80
DocumentRoot "/usr/local/apache2/htdocs"
<Directory "/usr/local/apache2/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
यदि आप एक से अधिक साइट को कॉन्फ़िगर करना चाहते हैं, तो httpd-vhosts.conf पर एक नज़र डालें
nano /usr/local/apache2/conf/httpd.conf
आपको ऊपर दिए गए एक के समान <VirtualHost> के साथ एक <Directory> अनुभाग जोड़ना होगा, लेकिन VitualHost के दस्तावेज़ रूट के लिए। उदाहरण के लिए:
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/usr/local/apache2/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/dummy-host.example.com-error_log"
CustomLog "logs/dummy-host.example.com-access_log" common
<Directory "/usr/local/apache2/docs/dummy-host.example.com">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
/etc/init.d/apache2
मौलिक रूप से अलग सामग्री के साथ फ़ाइल है।
sudo service apachectl stop
सेवा बंद नहीं करते हैं।
पैकेज पिनिंग पर ubuntu howto देखें :
फ़ाइल संपादित करें /etc/apt/preferences
'प्राथमिकताएँ' फ़ाइल वह जगह है जहाँ वास्तविक पिनिंग होती है। एक पैकेज को पिन करने के लिए, इसकी पिन-प्राथमिकता को उच्च संख्या पर सेट करें। यहाँ एक उदाहरण है:
Package: apache2
Pin: release n=raring
Pin-Priority: 1000
दौड़ने से पहले apt-get update
या apt-get install
साथ में टेस्ट करेंapt-cache policy apache2
man apt_preferences
विवरण के लिए देखें। मैंने पिनिंग raring
की रिलीज़ को चुना क्योंकि इस तरह से आपको 2.2.x ब्रांच पर अपडेट मिलेगा। मत भूलो कि आपको APT के raring
रिपॉजिटरी URL को जोड़कर APT को पैकेज उपलब्ध कराना है ।
अपडेट :
जैसा raring
कि EOL है, आप http://old-releases.ubuntu.com से अभी भी समर्थित precise
या संग्रहीत raring
पैकेज का उपयोग कर सकते हैं ।
इसका उपयोग करके /etc/apt/sources.list.d/raring.list
आप पुराने पैकेजों को स्थापित कर सकेंगे:
deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ raring-updates main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring-updates main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ raring-proposed main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring-proposed main restricted universe multiverse
raring
। बेशक यदि आप precise
संस्करण का उपयोग करना चाहते हैं , तो /etc/apt/preferences
उसके अनुसार भी बदलना होगा।
Apache2.2 स्थापित करने के लिए निम्नलिखित प्रक्रिया का उपयोग करें:
बाद के डिस्ट्रो पर (उदाहरण के लिए 16.04), मैंने Apache साइट से 2.2.31 डाउनलोड किया।
मैंने इसे निम्न कॉन्फ़िगरेशन का उपयोग करके बनाया है:
./configure --enable-so --enable-ssl --with-included-apr --enable-mods-shared=all --enable-load-all-modules --enable-rewrite --enable-proxy --enable-proxy_connect --enable-proxy_http --enable-proxy_ajp --enable-authn_alias --with-npm=prefork --enable-proxy_balancer --enable-proxy_ftp --enable-cache --enable-suexec --enable-disk_cache > conf.txt
फिर निश्चित रूप से httpd.conf और ssl.conf फ़ाइलों को ट्विक करना।
उसके बाद मैं सिर्फ / .httpd -k स्टार्ट चलाता हूं
और यह काम करता है!
ध्यान दें कि मैंने apt-get के माध्यम से apache2.4 को जोड़ा लेकिन इसे कभी नहीं हटाया। इसका मतलब है कि सिस्टम शुरू होने के बाद, मुझे अपाचे 2 प्रक्रिया को मारने की आवश्यकता है। और फिर मैं apache2.2 शुरू करने में सक्षम हूं। मुझे Apachectl का उपयोग करने के लिए Apache2.4 स्थापित करना था लेकिन बाद में भंग कर दिया क्योंकि मैं उपयोग करता हूं ।/httpd
आपने Ubuntu 13.04 से 13.10 तक अपग्रेड किया है? Ubuntu पैकेज रिपॉजिटरी के बाहर जाने के बिना Apache 2.2 वापस पाने का कोई तरीका नहीं है। अपने अपाचे कॉन्फ़िगरेशन को ठीक करना बेहतर है ताकि यह 2.4 के साथ काम करे।