Apache'yi Temel Modülleriyle Elde Etme, Derleme ve Kurma
Önceki Apache Derleme NASIL Sonraki
Apache'yi Temel Modülleriyle Elde Etme, Derleme ve Kurma
Apache kaynak paketini indirin ve paketi açın
Apache nedir?
Apache projesi güvenliği, ticari dereceli, özellikli ve kaynak koduna bedava ulaşılabilir bir web sunucu uygulamasını amaçlayan işbirlikçi yazılım geliştirme çabasıdır. Proje dünya üzerinde iletişim, plan ve geliştirme için Web ve interneti kullanan gönüllüler grubu tarafından yönetiliyor. Bu gönüllüler Apache grubu olarak bilinirler. Buna ek olarak yüzlerce insanda bu projeye düşünce, kod ve belge katkısı yapar. Bu belge Apache Grubunun tarihini tanımlamak ve katılımcılarını tanımayı hedefler.
    -- www.apache.org
Apache, en iyi web sunucu yazılımıdır. İhtiyaçlarınıza uymak için çok esnek yapılıdır ve son derece tutarlıdır, kararlıdır. Kişisel olarak hiçbir zaman üretim ortamında sorun yaşattığına şahit olmadım.
Kaynak paketini indirin
$ cd /usr/local/

$ tar -xvzf apache_1.3.27.tar.gz
Geniş ölçekli siteler için yama
Eğer web sunucunuz aynı anda bir çok isteğe cevap vermek zorundaysa ve makinanız çok isteğe cevap verebilecek yeteri güce sahipse, çalışan azami süreç sayısı sınırını değiştirebilirsiniz.
--- httpd.h     Thu Mar 21 18:07:34 2002
+++ httpd.h-new Sun Apr  7 13:34:11 2002
@@ -320,7 +320,7 @@
 #elif defined(NETWARE)
 #define HARD_SERVER_LIMIT 2048
 #else
-#define HARD_SERVER_LIMIT 256
+#define HARD_SERVER_LIMIT 512
 #endif
 #endif
Bu yama aynı anda erişim yapabilecek istemci erişim sayısını 512'ye çıkarır. Eğer çekirdeğinizin kaynak kodundaki /etc/security/limits.conf dosyanızı düzenlerseniz daha da arttırabilirsiniz.
Görev dışı çalışmadan kaçının
Bu ayar yanlış yapılırsa "kendi kendine saldırı" uyarısıyla sonlanır. Yönetici için yeterli süreç bıraktığınıza emin olun.
Yamanın uygulanması:
$ cd /usr/local/apache_1.3.27/src/include

$ patch -p0 < apache-patch_HARD_SERVER_LIMIT.txt
mod_ssl
mod_ssl nedir?
Bu modül Eric A.Young ve Tim J.Hudson tarafından geliştirilen SSLeay temelli OpenSSL yardımıyla, Güvenli Soket Katmanı (SSL v2/v3) ve İletim Katmanı Güvenliği (TLS v1) protokolleri yoluyla Apache 1.3 web sunucu için güçlü bir şifreleme sağlar.
    -- www.modssl.org
Bu modüle, web sunucuya yapılan HTTPS isteklerini gerçekleştirmek için ihtiyaç duyulur. Apache kaynak koduna yama yapar ve onun uygulama geliştirme arayüzünü (API), EAPI (genişlemiş uygulama geliştirme arayüzü) denen arayüze genişletir.
Modülleri derlerken derleyici seçeneklerini kullanın
Apache sunucu için, her modülün -DEAPI derleyici seçeneği ile derlenmiş olmasına dikkat edin, aksi takdirde sunucunuz başlatılamayabilir, hatta çökebilir.
mod_jserv ve mod_jk hariç hemen hemen bildiğim bütün modüller kendileri -DEAPI derleyici seçeneğini eklerler.
Kaynak paketini indirin
Apache kaynak koduna yamayı uygulayın
$ cd /usr/local/

$ tar -xvzf mod_ssl-2.8.12-1.3.27.tar.gz
$ cd mod_ssl-2.8.12-1.3.27/

$ ./configure --with-apache=../apache_1.3.27
mod_perl
mod_perl nedir?
mod_perl ile bütün Apache modüllerini Perl'de yazmak mümkündür. Buna ek olarak sunucunun içine dahili bir yorumlayıcı gömülmüştür, bu da harici bir yorumlayıcının başlatılmasını ve Perl'in başlatılması sırasındaki gecikmeleri önler.
    -- perl.apache.org
mod_perl cgi-bin'ler için bir çeşit vekildir. cgi'ler her bir istek için yeni bir süreç çatallar ve aşırı yük oluştururlar.mod_perl ile Perl yorumlayıcısı Apache sunucusuna kalıcı olarak yüklenir ve böylece her bir istek için yeni sürecin çatallanmasına gerek kalmaz.
Kaynak paketini indirin
Derleme ve Kurulum
$ cd /usr/local

$ tar -xvzf mod_perl-1.27.tar.gz

$ cd mod_perl-1.27

$ perl Makefile.PL \
EVERYTHING=1 \
APACHE_SRC=../apache_1.3.27/src \
USE_APACI=1 \
PREP_HTTPD=1 \
DO_HTTPD=1

$ make
# make install
mod_perl DSO olarak derlenemez
mod_perl'i dinamik paylaşımlı nesne (DSO - Dynamic Shared Object) olarak derlemeyin! Çeşitli kaynaklar Apache'nin çökebileceğini söylüyor! (ben hiç denemedim).
Apache'yi yapılandırın ve derleyin
İki statik modülü mod_ssl ve mod_perl'i yapılandırdık ve Apache kaynak kodunu yamadık. Artık Apache'yi derlemeye başlayabiliriz.
Derleme ve Kurulum
$ EAPI_MM="/usr/local/mm-1.2.2" SSL_BASE="/usr/local/ssl" \
./configure \
--enable-module=unique_id \
--enable-module=rewrite \
--enable-module=speling \
--enable-module=expires \
--enable-module=info \
--enable-module=log_agent \
--enable-module=log_referer \
--enable-module=usertrack \
--enable-module=proxy \
--enable-module=userdir \
--enable-module=so \
--enable-shared=ssl \
--enable-module=ssl \
--activate-module=src/modules/perl/libperl.a \
--enable-module=perl

$ make
# make install
Kendinden imzalı SSL sertifikasını oluşturun
# cd /usr/local/ssl/bin

# ./openssl req -new > new.cert.csr
# ./openssl rsa -in privkey.pem -out new.cert.key
# ./openssl x509 -in new.cert.csr -out new.cert.cert \
-req -signkey new.cert.key -days 999

# cp new.cert.key /usr/local/apache/conf/ssl.key/server.key
# cp new.cert.cert /usr/local/apache/conf/ssl.crt/server.crt
Genel isim
OpenSSL farklı şeyler sorar. Genellikle yapılan yanlışlardan biri yanlış bir "Common name" girmektir. Bu sunucunuzun tam nitelikli konak ismi (Fully Qualified HostName) olmalıdır, örneğin: falan.filan.org.
Önceki Üst Ana Başlık Sonraki
Ön Gereksinimler Başlangıç Ek Modüller
Bir Linux Kitaplığı Sayfası