Yanıtlar:
Aşağıdakileri yapmanız gerekir:
apt-cache showpkg <pachagename>
Yukarıdaki komut bu paket için mevcut sürümlerin listesini gösterecektir. Sonra gerekli sürümü seçin ve aşağıdakileri yapın.
apt-get install <packagename>=<complete version name>
Örnek:
apt-cache showpkg apache2
apt-get install apache2=2.2.14-5ubuntu8.7
Apache 2.2, depolarda bulunmayan bir Ubuntu dağıtımına nasıl kurulur?
Gereksinimler
Bunu yapmak için build-essentials paketini kurmanız gerekir.
~# sudo apt-get install build-essential
Apache'ye, onu destekleyen tarayıcılara çıktıyı sıkıştırma yeteneği vermek için, zlib'i yüklemeniz gerekir. Geçerli sürümü zlip Hompage'den (zlib-1.2.11.tar.gz yazarken) indirin, çıkartın, çıkartılan klasöre gidin, derleyin ve kurun.
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
Apache 2.2'yi yükleyin
Curent sürümünü Apache İndirme Sayfasından (httpd-2.2.32.tar.gz yazarken) indirin, çıkarın, çıkartılan klasöre gidin, derleyin ve kurun.
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
Apache'yi başlatın:
sudo /usr/local/apache2/bin/apachectl start
Her şeyin yolunda olup olmadığını kontrol et
Tarayıcınızda http: // localhost adresine gidin , burada “Çalışıyor!” Yazan bir mesaj görmelisiniz.
Alternatif olarak, bunu terminal üzerinden yapabilirsiniz:
wget -qO- http://localhost | grep "It works!"
Hangi terminalde böyle bir şey çıktı gerekir:
<html><body><h1>It works!</h1></body></html>
Apache2 için "hizmet" oluşturun
sudo cp /usr/local/apache2/bin/apachectl /etc/init.d/apache22
sudo chmod +x /etc/init.d/apache22
İpucu: apachectl'i şimdi sudo service apache22 ile çağırabilirsiniz .
Apache'nin açılış zamanında başlatılmasını sağlayın
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
Güvenli Apache
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
Yeni ayarları kontrol et
ps -aux | grep httpd
Son komutun terminal çıkışı "apache" ile başlayan bazı satırlar gösteriyorsa, her şey yolundadır.
Sitenizi yapılandırın
Apache'nizi yalnızca bir site için yapılandırmak istiyorsanız, httpd.conf dosyasını düzenleyin.
nano /usr/local/apache2/conf/httpd.conf
Değiştirmek isteyebileceğiniz temel parametreler:
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>
Birden fazla site yapılandırmak istiyorsanız, httpd-vhosts.conf dosyasına bakın.
nano /usr/local/apache2/conf/httpd.conf
VitualHost'un belge kökü için, yukarıdaki ile aynı olan <VirtualHost> ile bir <Dizin> bölümü eklemeniz gerekir. Örneğin:
<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
, radikal olarak farklı içeriğe sahip bir dosya zaten var .
sudo service apachectl stop
hizmeti durdurmaz.
Paket sabitlemede ubuntu howto'ya bakın :
Dosya düzenle /etc/apt/preferences
'Tercihler' dosyası, asıl sabitlemenin yapıldığı yerdir. Bir paketi sabitlemek için Pin Önceliğini daha yüksek bir sayıya ayarlayın. İşte bir örnek:
Package: apache2
Pin: release n=raring
Pin-Priority: 1000
Çalıştırmadan önce apt-get update
veya apt-get install
birlikteapt-cache policy apache2
Detaylar man apt_preferences
için bakınız. Sabitlemeyi raring
serbest bırakmayı seçtim çünkü bu şekilde 2.2.x dalında güncellemeler almaya devam edersiniz. raring
Depo URL'lerini ekleyerek paketi APT'ye sunmanız gerektiğini unutmayın .
Güncelleme :
raring
EOL olduğu gibi , http://old-releases.ubuntu.com adresinden hala desteklenenleri precise
veya arşivlenen raring
paketleri kullanabilirsiniz .
Bunu /etc/apt/sources.list.d/raring.list
eski paketleri kurmanıza izin verecek şekilde kullanmak :
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
. Tabii ki precise
sürümü kullanmak istiyorsanız , /etc/apt/preferences
buna göre de değiştirilmesi gerekir.
Apache2.2'yi kurmak için aşağıdaki işlemi kullanın:
Daha sonraki bir dağıtımda (örneğin 16.04), 2.2.31'i Apache sitesinden indirdim.
Aşağıdaki yapılandırmayı kullanarak oluşturdum:
./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
Tabii ki httpd.conf ve ssl.conf dosyalarını ayarlayarak.
Ondan sonra sadece ./httpd -k start komutunu çalıştırıyorum.
Ve çalışıyor !
apache2.4'ü apt-get yoluyla eklediğimi, ancak kaldırmadığımı unutmayın. Bu, sistem başladıktan sonra apache2 işlemini öldürmem gerektiği anlamına geliyor. Ve sonra apache2.2'yi başlatabiliyorum. Apachectl kullanmak için apache2.4'ü kurmak zorunda kaldım, ancak daha sonra kullandığım için onu dağıttım.
Ubuntu 13.04'ten 13.10'a yükselttiniz mi? Ubuntu paket havuzlarının dışına çıkmadan Apache 2.2'yi geri almanın bir yolu yoktur. Apache yapılandırmanızı sadece 2.4 ile çalışacak şekilde düzeltmek daha iyidir.