Baglantilar


29 AÄŸustos 2007
Kategori: LinuX

Apache Web Server Kurulumu

 


GiriÅŸ
Bugün internette web sunucuların %60’ını Apache oluÅŸturmaktadır. SaÄŸlamlık, güvenilirlik ve yüksek performansın yanı sıra Apache’nin bu yaygınlığının en önemli nedenleri de çok esnek olmasıdır. Gereksinimlere göre Apache’ye birçok modül eklenerek web üzerinde hemen her uygulama gerçekleÅŸtirilebilir.

Çok çeÅŸitli sayıdaki Apache modülleri arasından mod_php4, mod_ssl, mod_gzip modüllerinin eklenmesi ile Apache’nin kurulumu anlatılmaktadır. Gelecek sürümlerde dokümana baÅŸka Apache modüllerinin de (frontpage uzantıları, mod_dav, mod_bandwidth, vb) eklenmesi düşünülmektedir.

Ssl (secure socket layer), internet üzerinde ÅŸifrelendirilmiÅŸ veri alışveriÅŸi için kullanılan bir protokoldür. Åžifreli veri alışveriÅŸi özellikle e-ticaret uygulamalarında “olmazsa olmaz” bir konuma sahiptir.

Php (Php hypertext preprocessor), web sunucu üzerinde iÅŸlenip html içine gömülen bir script dilidir. Özellikle web üzerinde veritabanı uygulamaları geliÅŸtirilmesinde kullanılması yaygındır. Hemen her tür veritabanı sunucusuna (MySQL, Interbase, Sybase, Oracle, …) eriÅŸim için kullanılabilmektedir. Apache-Php-MySQL üçlüsü internette çok yaygın kullanılan bir standart haline gelmektedir. Birçok farklı program ile kullanılabilen Php, bu dokümanda MySQL, OpenLDAP, GD, Imap, MM ve Curl destekli olarak derlenecektir. Farklı programların desteÄŸi verileceÄŸi zaman da kurulum mantığı aynıdır.

Mod_gzip, IETF (Internet Engineering Task Force) içerik kodlama standartlarına göre web sayfalarının gzip ile web sunucunuz tarafından sıkıştırılarak kullanıcının browser’ına gönderilmesini saÄŸlamaktadır. 1999’dan beri piyasaya çıkan tüm browser’lar gzip desteklemektedir, herhangi bir ek program yüklenmesine gerek yoktur. Mod_gzip, özellikle yazı ve makaleler gibi çok sıkıştırılabilen dosyaları kullanıcının hem çok daha hızlı çekebilmesini, hem de çok daha az bant geniÅŸliÄŸi harcamasını saÄŸlamaktadır.

Kurulum /usr/local dizinine yapılmaktadır. İlgili programların opsiyonları değiştirilerek başka bir dizine de kurulum yapılabilir.

1.1 Neler gerekiyor?
Kuruluma başlamadan önce aşağıdaki programların elinizde bulunması gerekir.

Apache
http://httpd.apache.org/
OpenSSL
http://www.openssl.org/
Php
http://www.php.net/
Mod_ssl
http://www.modssl.org/
Mod_gzip
http://www.remotecommunications.com/apache/mod_gzip/
MySQL
http://www.mysql.com/
OpenLDAP
http://www.openldap.org/
GD
http://www.boutell.com/gd/
Imap
http://www.washington.edu/imap/
MM
http://www.engelschall.com/sw/mm/
Curl
http://curl.haxx.se/

1.2 Bu dokümanın yeni sürümleri
Apache Kurulumu dokümanın yeni sürümleri düzenli olarak Linux@Linux.org.tr e-posta listesinde duyurulacak ve Türkiye Linux Kullanıcıları DerneÄŸi’nin web sitesine (http://www.linux.org.tr/) gönderilecektir.

Dokümanın en son sürümü HTML olarak http://linux.fisek.com.tr/dfisek/apache-kurulum.php adresinden alınabilir.

1.3 Kopyalama hakkı engel-le-ne-mez! (slogan tonunda söylenecek)
Bu doküman GNU Serbest Belge Lisansı’na (GFDL) sahiptir.

1.4 Görüşler, sorular, …
Dokümanla ile ilgili her türlü görüşleriniz ve sorularınız için benimle dfisek@fisek.com.tr adresinden bağlantı kurabilirsiniz. Dokümanda bir hata bulduğunuzda bunu bana haber verirseniz, dokümanın bir sonraki sürümünde bunu düzeltebilirim. Dokümanla ilgili her türlü mesaj, sekiz gözle beklenmektedir 🙂

——————————————————————————–

2. Mod_php4 ve Mod_ssl modülleri için gerekli programların kurulumu
Kurulumların tamamı /usr/local dizinine yapılacağından dolayı, öncelikle o dizine geçilmelidir.

cd /usr/local

2.1 OpenSSL kurulumu
tar -zxf /root/openssl-0.9.6c.tar.gz

cd openssl-0.9.6c.tar.gz
./config
make
make install
cd ..
rm -rf openssl-0.9.6c

2.2 OpenLDAP kurulumu
tar -zxf /root/openldap-2.0.19.tar.gz
cd openldap-2.0.19
./configure
make depend
make
make install
cd ..
rm -rf openldap-2.0.19

2.3 MySQL kurulumu
tar -zxf /root/mysql-3.23.47.tar.gz
cd mysql-3.23.47
./configure –prefix=/usr/local/mysql –with-charset=latin5
make
make install
cp /usr/local/mysql/share/mysql/mysql.server /usr/local/mysql/bin
/usr/local/mysql/bin/mysql_install_db
groupadd mysql
useradd -g mysql mysql
chown -R root /usr/local/mysql
chown -R mysql /usr/local/mysql/var
chgrp -R mysql /usr/local/mysql
/usr/local/mysql/bin/mysql.server start
cd ..
rm -rf mysql-3.23.47

*MySQL için root şifresini ayarlamayı unutmayınız!
*MySQL’e Php aracılığı ile baÄŸlanabilmek için MySQL sunucusunun çalışıyor olması gerekir. Kurulan bilgisayarda her açılışta MySQL’in çalışmasını istiyorsanız, /usr/local/mysql/bin/mysql.server dosyasını Linux dağıtımınızdaki ilgili yere yerleÅŸtiriniz.
*MySQL yönetimi için, Php ile yazılan web tabanlı bir yönetim programı olan phpMyAdmin kullanılabilir.

2.4 GD kurulumu
tar -zxf /root/gd-1.8.4.tar.gz
cd gd-1.8.4
make
make install
cd ..
rm -rf gd-1.8.4

2.5 Imap kurulumu
tar -zxf /root/imap.tar.Z
mv imap-surumnumarasi imap
cd imap
make slx
cd ..

2.6 MM kurulumu
tar -zxf /root/mm-1.1.3.tar.gz
cd mm-1.1.3
./configure –prefix=/usr/local
make
make install
cd ..
rm -rf mm-1.1.3

2.7 Curl kurulumu
tar -zxf /root/curl-7.9.2.tar.gz
cd curl-7.9.2
./configure –with-ssl
make
make install
cd ..
rm -rf curl-7.9.2

——————————————————————————–

3. Apache’ye gerekli modüllerin eklenmesi
Apache’ye mod_php4, mod_ssl ve mod_gzip modüllerinin eklenebilmesi için, Apache’nin kaynak kodu Apache dizinine yerleÅŸtirilir.

tar -zxf /root/apache_1.3.22.tar.gz
ln -s apache_1.3.22 apache
cd apache
./configure
cd ..

3.1 Mod_ssl
tar -zxf /root/mod_ssl-2.8.5-1.3.22.tar.gz
cd mod_ssl-2.8.5-1.3.22
./configure –with-apache=/usr/local/apache –with-mm=/usr/local
cd ..

3.2 Mod_php4
tar -zxf /root/php-4.1.1.tar.gz
cd Php-4.1.1
./configure –with-apache=/usr/local/apache –with-mysql=/usr/local/mysql –enable-ftp –enable-safe-mode –enable-trans-sid –with-ldap=/usr/local –with-gd=/usr/local –with-openssl=/usr/local/ssl –with-curl=/usr/local –with-imap=/usr/local/imap –with-mm=/usr/local –enable-inline-optimization –with-zlib
make install
cd ..

3.3 Mod_gzip
cp /root/mod_gzip.c.gz ./
gzip -d mod_gzip.c.gz

——————————————————————————–

4. Apache kurulumu
cd apache
./configure –prefix=/usr/local/apache –enable-module=ssl –add-module=/usr/local/mod_gzip.c –activate-module=src/modules/php4/libphp4.a
make

Apache’nin bu aÅŸamada istediÄŸimiz özelliklerle derlenmesi iÅŸlemi tamamlanmıştır. Ssl ile ÅŸifrelendirilmiÅŸ veri alışveriÅŸinde önemli bir yeri de sayısal (dijital) sertifikalar tutar. EÄŸer daha önceden bir sertifika otoritesinden aldığınız bir sertifikanız yoksa, bir tane kendiniz aÅŸağıdaki komut ile yapabilirsiniz. Ancak elbette kendi imzaladığınız bu sertifika, yaygın kullanılan web browserları tarafından otomatik olarak tanınmayacaktır.

make certificate

Son olarak tüm derlenmiş dosyalar ilgili dizinlere dağıtılır.

make install

Programların kaynak kodlarına ihtiyacımız kalmadığından onları artık silebiliriz.

rm -rf src
cd ..
rm -rf mod_ssl-2.8.5-1.3.22
rm -rf Php-4.1.1
rm -rf imap
rm mod_gzip.c
4.1 Apache’de php4 ayarların yapılması

Åžimdi Apache’nin ayar dosyalarında php4 ile ilgili ayarları yapalım.

cd apache

cd conf

nano -w httpd.conf

Apache’nin tüm ayarlarının yapıldığı httpd.conf dosyasında aÅŸağıdaki iki satırı bularak önlerinde bulunan # iÅŸaretlerini kaldırmamız gerekmektedir.

AddType application/x-httpd-Php .php

AddType application/x-httpd-Php-source .phps

Buna ek olarak eğer php3 dosyalarınızın da php4 olarak çalıştırılmasını isterseniz, şöyle bir satır ekleyebilirsiniz.

AddType application/x-httpd-Php .php3

Php4 ile php3 arasında fazla bir uyumsuzluk bulunmamaktadır (bilinen uyumsuzlukların tam listesi, http://www.php.net/version4/incompatibilities.php sayfasından alınabilir. Ama problem yaÅŸarsanız, Apache’ye hem php4 hem de php3’ü modül olarak aynı anda ekleyebilir ve kullanabilirsiniz.

4.2 Apache’de gzip ayarlarının yapılması

httpd.conf dosyasına aÅŸağıdaki satırları ekleyerek mod_gzip’i aktif hale getirebilir ve ayarlarını dilediÄŸiniz yapabilirsiniz. aÅŸağıda örnek ayarları bulabilirsiniz.

mod_gzip_on Yes

mod_gzip_minimum_file_size 10

mod_gzip_maximum_file_size 500000

mod_gzip_maximum_inmem_size 100000

mod_gzip_keep_workfiles No

mod_gzip_temp_dir /tmp

mod_gzip_item_include file \.htm$

mod_gzip_item_include file \.php$

mod_gzip_item_include file \.pl$

mod_gzip_item_include mime ^text/.*

mod_gzip_item_include mime ^application/x-httpd-Php

mod_gzip_item_include mime ^httpd/unix-directory$

mod_gzip_item_include handler ^perl-script$

mod_gzip_item_include handler ^server-status$

mod_gzip_item_include handler ^server-info$

mod_gzip_item_exclude file \.css$

mod_gzip_item_exclude file \.js$

mod_gzip_item_exclude mime ^image/.*

mod_gzip_item_exclude mime ^zip/.*

LogFormat “%h %l %u %t \”%V %r\” %>s %b mod_gzip: %{mod_gzip_result}n In:%{mod_gzip_input_size}n Out:%{mod_gzip_output_size}n:%{mod_gzip_compressio n_ratio}npct.” common_with_mod_gzip_info2

CustomLog /var/log/apache/mod_gzip common_with_mod_gzip_info2

4.3 Apache’nin baÅŸlatılması

Artık Apache’mizi baÅŸlatabiliriz.

cd ../bin

./apachectl startssl

Burada sayısal sertifikanın yapımı sırasında size sorulan şifreyi girmeniz gerekmektedir.

Artık Apache sunucumuz hem http://sunucunuz (normal bağlantı), hem de https://sunusunucunuz (şifrelendirilmiş bağlantı) adreslerinde hizmet vermeye başlamıştır. Herhangi bir web browser ile bağlanabilirsiniz.

- Bu yazı şu ana kadar 345 kez görüntülendi..
Sizin Yorumunuz



Yazilar için RSS aboneligi