EnderUNIX Team.


EnderUNIX İpucu

Arkadaşıma gönder , Ana Sayfa

[ FreeBSD ]

"FreeBSD sistemde linux binary derleme" - Devrim Sipahi - (2009-09-18 17:30:00)   [6569]

FreeBSD sistemde oracle instantclient destekli apache-php kurmak amacýyla bu iþe baþlandý.

Öncelikle çekirdeðe linux modülü desteði verilir.
# kldload linux
Sonra linux os versiyonu deðiþtirilir. eskisi 2.4.x
# sysctl compat.linux.osrelease=2.6.16

Derleme araçlarýnýn (make gcc) bulunduðu port kurulur.
#cd /usr/ports/emulators/linux_dist-gentoo-stage3
#make install

/usr/local/gento-stage3 linux için kök dizin (linuxroot) olur.
linuxroot altýnda proc ve dev dizinleri oluþturulur

#mkdir /usr/local/gentoo-stage3/proc
#mkdir /usr/local/gentoo-stage3/dev


/etc/fstab dosyasýna aþaðýdaki satýr eklenir
linproc /usr/local/gentoo-stage3/proc linprocfs rw 0 0

#mount linproc

komutu ile proc mount edilir.

linuxroot içinde dev dizini mount edilir:
mount -t devfs devfs /usr/local/gentoo-stage3/dev

linux gcc ile kurulmak üzere ilgili paketler çekilir. Örneðin
curl-7.19.4.tar.gz
expat-2.0.1.tar.gz
httpd-2.0.63.tar.gz
libaio_0.3.106.orig.tar.gz
libxml2-2.7.3.tar.gz
mysql-5.0.85.tar.gz
openldap-2.4.17.tgz
openssl-0.9.8g.tar.gz
php-5.2.10.tar.gz

Bu paketler tar komutu ile açýlýr

chroot komutu ile linuxroot kök haline getirilerek linux bash çalýþtýrýlýr.

#chroot /usr/local/gentoo-stage3 bash

Buradaki make ve gcc araçlarýyla linux binary ler oluþturulur.

libaio, openssl php ve httpd dýþýndakilerde kurulum ayný. Burada kurulum dizini olarak /ekim09 belirlenmiþtir.

./configure --prefix=/ekim09
make
make install

####### libaio için kurulum
make prefix=/ekim09 install

##### openssl için kurulum
./config shared --prefix=/ekim09 --openssldir=/ekim09

### httpd kurulumu
./configure --prefix=/ekim09 --enable-so --enable-rewrite
make
make install

#### php kurulumu

./configure --prefix=/ekim09 --with-apxs2=/ekim09/bin/apxs --enable-dbase \
--with-libxml-dir=/ekim09 --with-config-file-path=/ekim09/conf \
--enable-soap \
--enable-ftp \
--enable-sockets \
--enable-sigchild \
--enable-calendar \
--with-mysql=shared,/ekim09 \
--with-mysqli=shared,/ekim09/bin/mysql_config \
--with-curl=/ekim09 \
--with-ldap=/ekim09 \
--enable-mbstring \
--with-iconv-dir=/ekim09 \
--enable-bcmath --enable-ftp --enable-exif \
--with-openssl=/ekim09 \
--with-kerberos=/ekim09 \
--with-zlib=/ekim09 \
--with-libexpat-dir=/ekim09 \
--with-oci8=instantclient,/ekim09/lib/instantclient_11_1

#############
make

LD_LIBRARY_PATH=/ekim09/lib/instantclient_11_1:/lib:/usr/lib:/ekim09/lib
export LD_LIBRARY_PATH

make install

###### httpd.conf ayarlarý
Listen 80 yerine
Listen 0.0.0.0:80 yazýlacak.

AddType application/x-httpd-php .php satýrý eklenecektir.


EnableSendfile off # bu ayar css lerin görünmesi için ekleniyor


### linux için Timezone deðerini düzeltmek gerekecek

ln -sf /usr/share/zoneinfo/Turkey /etc/localtime

######## LD_LIBRARY_PATH tanýmý bin/apachectl içine yazýlarak uygulama çalýþtýrýlýr.


Devrim Sipahi devrim.sipahi@deu.edu.tr


Arkadaşıma gönder , Ana Sayfa