[LINUX:19281] Re: apache 1.3.12 + php 4 + mysql 3.22

---------

New Message Reply About this list Date view Thread view Subject view Author view

From: osman (osmany@iname.com)
Date: Wed 06 Sep 2000 - 01:53:31 EEST


selamlar,

ewb sayfası nedir bilmiyorum ama isterseniz buraya öğrendiklerimi aktarayım.

amacı anlatayım;
özel bir odbc driver'ı ile php ve apache'yi çalıştırmak istiyordum. ama bunu
dökümanlarda anlatıldığı şekilde yaparsam kilit eleman olan apache'nin directory
yapısını oturtamadığım için rpm paketinden yüklenen apache'nin yerine
kullanamıyordum. hem de bir problem daha vardı, o da apache'nin DSO desteğiyle
derlenmesi, ki istediğim modülü ekleyip çıkartabileyim.

bu kadar hikayeden sonra işe geçelim.

öncelikle belirtmem gerekiyor ki; Redhat 6.1'in apache'nin DSO yapısını ne kadar
desteklediğini bilmiyorum, sadece 6.2'de denedim. Mehmet Uzunkol arkadaşımın
dikkatine.

ilk adım takdir edersiniz ki gerekli paketleri indirmek. Mysql'in derlenmiş
rpm'i yeterli olduğu halde, php 4 ve apache'nin kaynak paketlerini indirmeniz
lazım.
(mysql'in yükseltilmesi hakkında hiç bir fikrim yok, bu konuda yalnızsınız)

bunlardan php ve apache kaynaklarını aynı dizin altına farklı dizinlere açın.
sonra güvenlik önlemi olarak hali hazırdaki apache'yi yedekleyin. eğer standart
rpm paketini kurmuşsanız aşağıdaki klasörler sizin apache klasörleriniz ve
biryerlere yedeklerini almanız gerekiyor. tabi burdaki bazı dosyalar apache'nin
ama hangileri olduğunu yazması çok uzun. isterseniz mc ile rpm paketini açıp
dosya isimlerini lokasyonlarını öğrenebilirsiniz.

apache'nin standart rpm kuruluş dizin yapısı:
----------------------------------------------
prefix: /usr
exec_prefix: /usr
bindir: /usr/bin
sbindir: /usr/sbin
libexecdir: /usr/lib/apache
mandir: /usr/man
sysconfdir: /etc/httpd/conf
datadir: /home/httpd
iconsdir: /home/httpd/icons
htdocsdir: /home/httpd/html
cgidir: /home/httpd/cgi-bin
includedir: /usr/include/apache
localstatedir: /var
runtimedir: /var/run
logfiledir: /var/log/httpd
proxycachedir: /var/cache/httpd

benim kullandığım apache_1.3.12 sürümünde, php ise php-4.0.1pl2

burada bir konudan bahsetmem gerekiyor: "apxs". bu meret apache'nin dso yapısını
kazanmasını sağlıyor. nasıl diye sormayın, pek anlamadım.. ama php'nin modül
olarak derlenmesi için gerekli bir aparatmış. standart rpm paketinde yeralmadığı
için apache'yi iki defa derleyip kurmamız gerekiyor. ilki sisteme apxs desteği
sağlamak için, ikincisi php'yi entegre etmek için. (perl gerekiyor.. (which
perl) )

ilk scriptimize gelelim. aşağıdaki scripti apache klasöründe çalıştırın;
----------------------------------------------
/configure \
--with-layout=RedHat \
--enable-module=most \
--enable-shared=max \
--disable-rule=WANTHSREGEX \
--disable-module=auth_dbm \
--with-perl=/usr/bin/perl \
--enable-suexec \
--suexec-docroot=/home/httpd/html \
--suexec-caller=nobody
-----------------------------------------------
burada en önemli satır ikinci satır.. :) bir hafta uğraştırdı bu detay beni..
eğer herhangi bir hata mesajı almadan bitirirseniz configure'i
make
yazıp derleyin ve (yedekleri aldıktan sonra..)
make install
diyerek sisteme ilk adım apache'yi yükleyin.

şimdi gelelim php'ye.
ilgili klasörde aşağıdaki scripti çalıştırın;
----------------------------------------
/configure \
--enable-track-vars \
--with-mysql \
--with-apxs=/usr/sbin/apxs
---------------------------------------
yine hata mesajlarını kontrol ediyoruz.. ve
make
make install
diyerek ilgili dosyaların apache'ye gönderilmesini sağlıyoruz..
burada dikkatinizi çekeceği gibi, apache ile ilgili tek satır yok. bu işi apxs
yapıyormuş..

şimdi apache dizinine geri dönüyoruz.
ve sürpriz.. aynı scripti yeniden çalıştırıyoruz.
----------------------------------------------
/configure \
--with-layout=RedHat \
--enable-module=most \
--enable-shared=max \
--disable-rule=WANTHSREGEX \
--disable-module=auth_dbm \
--with-perl=/usr/bin/perl \
--enable-suexec \
--suexec-docroot=/home/httpd/html \
--suexec-caller=nobody
-----------------------------------------------
hatasız ise;
make
make install
diyerek sistemimizi kuruyoruz..

işte bitti.. geçmiş olsun..
şimdi apache'nin conf dosyalarını düzenlemek kalıyor. emin değilim ama, eski
conf dosyalarınızla hiç sorun çıkarmadan çalışabilir bile..

gelelim püf noktalarına..
-----------------------------
- eğer elinizden geliyor ise, bu işlemleri konsoldan yapın. hem sistemin direk
tepkisini alabileceksiniz, hem de başka kullanıcı ismiyle bağlanıp root
olursanız özellikle path değişkenlerinde sorun çekebiliyorsunuz..

- elinizin altında mc'yi kesinlikle bulundurun.. sisteminize yüklü değilse, işe
başlamadan yükleyin. çook işinize yarayacak.. :)

- eğer yukarıdaki işlemleri yaparken hata mesajları alırsanız (mesela
sisteminize perl yüklü olmayabilir, ama apxs için yüklenmesi gerekiyor) ilgili
düzeltmeleri yaptıktan sonra ilgili klasörde "make distclean" ve "make clean"
yazarak önceki configure parametrelerini silin.. biliyorum, ben paranoyağın
tekiyim.

- eğer apache'nin yedeğini almakta takılırsanız, hemen cd'den apache rpm'ini
bulun ve mc ile üzerinde enter ile açarak içine girin.. evet, rpm'lerin içine
girmek bu kadar kolay.. içinde contens.cpio dosyasının üzerinde yine entera
basarak içine girin.. işte size apache'nin hiyerarşik kurulum yapısı. buradan
hangi dizinlerden hangi dosyaları yedeklemeniz gerektiğini görebilirsiniz.

- eğer sisteminize apache'yi ilk defa kuracaksanız, rc.d klasörüne konacak
dosyalarla başınız derde girecek. hiç uğraşmayın ve cd'den çıkan apache rpm'inin
içine önceden anlattığım gibi girerek rc.d klasörünü direk /etc altına
kopyalayın.. bu sayede her runlevel için ayrı ayrı linkle falan uğraşmanıza
gerek kalmayacak.

- eğer sisteminizde halihazırda apache çalışıyorsa (ps -aux |grep httpd), make
install yapmadan önce durdurun. :)

- eğer sisteminiz redhat değilse veya apache yukarıdaki dizin yapısına
uymuyorsa, apache kaynak dizinindeki config.layout dosyasına bir bakın.. neler
bulacaksınız neler.. :)

- eğer hala okuyorsanız, yedeklerinizi alın..

Osman

Batur ORKUN wrote:

> İste buna inanmam!
> Bu konuda fazlası ile ugrasmıs bir insan olarak
> artık imkansiz olduguna inanmak uzereydim.
> Ben bu konuda kıesinlikle bilgilenmek isterim!
> Hatta bu konu uzerine bir ewb sayfası filan yapalım yani :)
>
> Batur OKRUN
>
> On Tue, 05 Sep 2000, you wrote:
> > selam,
> >
> > kimse korkmasın bu kez bişey sormuycam.
> > :)
> >
> > geçenlerde easysoft odbc programını derleyecem diye apache ve php 4'le
> > epey uğraşmıştım. bu sayede apache, php 4 ve mysql üçlüsünü tam olarak
> > çalıştırmayı öğrendim..
> >
> > özellikle hali hazırda çalışan sistemi olup ta sistemini yükseltmek
> > isteyenler için kullanılabilecek bir sistem çıkardım. sadece apache
> > binary'si ve bir iki dosyayla uğraşarak sisteminizi yükseltebilirsiniz.
> > ne yazık ki sadece RedHat için detayları biliyorum.
> >
> > ilgilenen arkadaşlara yardım edebilirim..
> > Osman

 
 Listeden cikmak icin:
          unsub linux
 mesajini listeci@bilkent.edu.tr adresine gonderiniz.
   Lutfen Listeci icin MIME / HTML / Turkce Aksan kullanmayin.
 Listeci arayuzu: http://listweb.bilkent.edu.tr/yardim/bilkent/linux.html
 Liste arsivinin adresi: http://listweb.bilkent.edu.tr/


New Message Reply About this list Date view Thread view Subject view Author view

---------

Bu arsiv hypermail 2b29 tarafindan uretilmistir.