Jawaban:
Anda perlu melakukan hal berikut:
apt-cache showpkg <pachagename>
Perintah di atas akan menampilkan daftar versi yang tersedia untuk paket ini. Kemudian pilih versi yang diperlukan dan lakukan yang berikut.
apt-get install <packagename>=<complete version name>
Contoh:
apt-cache showpkg apache2
apt-get install apache2=2.2.14-5ubuntu8.7
Cara menginstal Apache 2.2 pada distro Ubuntu yang tidak memilikinya di repositori.
Persyaratan
Anda perlu menginstal paket build-essential untuk melakukan ini.
~# sudo apt-get install build-essential
Untuk memberi Apache kemampuan untuk mengompresi output ke browser yang mendukungnya, Anda harus menginstal zlib. Unduh rilis saat ini dari zlip Hompage (zlib-1.2.11.tar.gz pada saat penulisan), ekstrak, navigasikan ke folder yang diekstrak, buat, dan instal.
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
Instal Apache 2.2
Unduh versi curent dari Apache Download Page (httpd-2.2.32.tar.gz pada saat penulisan), ekstrak, navigasi ke folder yang diekstraksi, bangun, dan instal.
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
Mulai Apache:
sudo /usr/local/apache2/bin/apachectl start
Periksa, apakah semuanya baik-baik saja
Arahkan ke http: // localhost di browser Anda, di mana Anda akan melihat pesan yang mengatakan "Berhasil!".
Sebagai alternatif, Anda dapat melakukan ini melalui terminal:
wget -qO- http://localhost | grep "It works!"
Yang seharusnya menampilkan sesuatu seperti ini di terminal:
<html><body><h1>It works!</h1></body></html>
Buat "layanan" untuk Apache2
sudo cp /usr/local/apache2/bin/apachectl /etc/init.d/apache22
sudo chmod +x /etc/init.d/apache22
Petunjuk: Anda dapat memanggil apachectl dengan layanan sudo apache22 sekarang.
Jadikan Apache mulai saat boot
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
Apache aman
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
Periksa pengaturan baru
ps -aux | grep httpd
Jika keluaran terminal dari perintah terakhir menunjukkan beberapa baris yang dimulai dengan "apache" maka semuanya OK.
Konfigurasikan situs Anda
Jika Anda ingin mengonfigurasi apache untuk hanya satu situs, cukup edit httpd.conf
nano /usr/local/apache2/conf/httpd.conf
Parameter penting yang mungkin ingin Anda ubah adalah:
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>
Jika Anda ingin mengonfigurasi lebih dari satu situs, lihat httpd-vhosts.conf
nano /usr/local/apache2/conf/httpd.conf
Anda harus menambahkan bagian <Directory> dengan <VirtualHost> yang mirip dengan yang di atas, tetapi untuk root dokumen dari VitualHost. Sebagai contoh:
<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
file dengan konten yang sangat berbeda.
sudo service apachectl stop
tidak menghentikan layanan.
Lihat howto ubuntu pada paket yang disematkan :
Edit file /etc/apt/preferences
File 'preferensi' adalah tempat pinning aktual terjadi. Untuk menyematkan paket, atur Prioritas Pin-nya ke nomor yang lebih tinggi. Ini sebuah contoh:
Package: apache2
Pin: release n=raring
Pin-Priority: 1000
Tes sebelum berjalan apt-get update
atau apt-get install
denganapt-cache policy apache2
Lihat man apt_preferences
detailnya. Saya memilih menyematkan raring
rilis karena dengan cara ini Anda masih akan mendapatkan pembaruan di cabang 2.2.x. Jangan lupa bahwa Anda harus membuat paket tersedia untuk APT dengan menambahkan raring
URL repositori.
Perbarui :
Seperti halnya raring
EOL, Anda bisa menggunakan paket yang masih didukung precise
atau diarsipkan raring
dari http://old-releases.ubuntu.com .
Menggunakan ini sebagai /etc/apt/sources.list.d/raring.list
akan memungkinkan Anda untuk menginstal paket yang lebih lama:
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
. Tentu saja jika Anda ingin menggunakan precise
versi tersebut, /etc/apt/preferences
harus diubah juga.
Untuk menginstal apache2.2 gunakan proses berikut:
Pada distro berikutnya (mis. 16.04), saya mengunduh 2.2.31 dari situs Apache.
Saya membangunnya menggunakan konfigurasi berikut:
./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
Kemudian tentu saja men-tweak file httpd.conf dan ssl.conf.
Setelah itu saya jalankan saja ./httpd -k start
Dan itu berhasil!
perhatikan bahwa saya menambahkan apache2.4 via apt-get tetapi tidak pernah menghapusnya. Ini berarti bahwa setelah sistem dimulai, saya harus mematikan proses apache2. Dan kemudian saya dapat memulai apache2.2. Saya harus menginstal apache2.4 untuk menggunakan apachectl tetapi kemudian membubarkannya karena saya menggunakan ./httpd
Anda meningkatkan dari Ubuntu 13.04 menjadi 13.10? Tidak ada cara untuk mendapatkan Apache 2.2 kembali tanpa pergi ke luar repositori paket Ubuntu. Lebih baik memperbaiki konfigurasi Apache Anda agar berfungsi dengan 2.4.