martes, 3 de febrero de 2009

Compilar servidor web con source code en linux

Aveces nesecitamos un servidor web y tenemos dos manera de hacerlo utilizando los paquetes precompilado o compilando tu propia paqueteria en este ejemplo les voy a mostrar como instalar un servidor web con extensiones oci8 para oracle y base de datos mysql ademas de las librerias graficas gd, freetype, t1, jpeg y gif

Primero que nada hay que instalar el apache nos descargamos la ultima version del mismo en formato .tar.gz

tar zxvf httpd-2.2.11.tar.gz

cd httpd-2.2.11

./configure --prefix=/etc/apache2 --exec-prefix=/etc/apache2 --bindir=/usr/sbin --sbindir=/usr/sbin --libexecdir=/etc/apache2/libexec --sysconfdir=/etc/apache2/conf --sharedstatedir=/etc/apache2/com --localstatedir=/etc/apache2/var --libdir=/etc/apache2/lib --datarootdir=/etc/apache2/share --datadir=/etc/apache2/share --infodir=/etc/apache2/share/info --localedir=/etc/apache2/share/locale --mandir=/etc/apache2/man --docdir=/etc/apache2/share/doc/PACKAGE --enable-authn-alias --enable-authn-anon --enable-authn-dbm --enable-auth-digest --enable-ext-filter --enable-deflate --enable-log-config --enable-env --enable-mime-magic --enable-cern-meta --enable-expires --enable-headers --enable-usertrack --enable-unique-id --enable-setenvif --enable-proxy --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http --enable-ssl --enable-dav --enable-status --enable-autoindex --enable-asis --enable-info --enable-cgi --enable-dav-fs --enable-vhost-alias--enable-negotiation --enable-dir --enable-actions --enable-speling --enable-userdir --enable-alias --enable-rewrite --enable-so --enable-mods-shared=all --enable-substitute --enable-echo

make

make install

Con esto ya tenemos nuestro apache instalado y listo para funcionar ahora procedemos a instalar las librerias necesarias para los graficos y el oci8

tar zxvf jpegsrc.v6b.tar.gz

cd jpeg-6b

./configure --prefix=/usr/local/jpeg --exec-prefix=/usr/local/jpeg --bindir=/usr/local/jpeg/bin --sbindir=/usr/local/jpeg/sbin --libexecdir=/usr/local/jpeg/libexec --datadir=/usr/local/jpeg/share --sysconfdir=/usr/local/jpeg/etc --sharedstatedir=/usr/local/jpeg/com --localstatedir=/usr/local/jpeg/var --libdir=/usr/local/jpeg/lib --enable-shared --enable-static

make

make install

Cuando esta ejecutando el make install el da uns errores pero esos errores es porque no puede crear los directorios a donde se va a instalar lo uq ehay que hacer es agarrar las direcciones de los directorios y crearlas hasta que deje de dar error

tar zxvf t1lib-5.1.2.tar.gz

cd t1lib-5.1.2

./configure --prefix=/usr/local/t1 --exec-prefix=/usr/local/t1 --bindir=/usr/local/t1/bin --sbindir=/usr/local/t1/sbin --libexecdir=/usr/local/t1/libexec --datadir=/usr/local/t1/share --sysconfdir=/usr/local/t1/etc --sharedstatedir=/usr/local/t1/com --localstatedir=/usr/local/t1/var --libdir=/usr/local/t1/lib --with-x --with-gnu-ld --with-pic

make

make install

tar zxvf freetype-2.3.8.tar.gz

cd freetype-2.3.8

./configure --prefix=/usr/local/freetype --exec-prefix=/usr/local/freetype --bindir=/usr/local/freetype/bin --sbindir=/usr/local/freetype/sbin --libexecdir=/usr/local/freetype/libexec --sysconfdir=/usr/local/freetype/etc --sharedstatedir=/usr/local/freetype/com --localstatedir=/usr/local/freetype/var --libdir=/usr/local/freetype/lib --enable-biarch-config --with-old-mac-fonts --with-fsspec --with-fsref --with-quickdraw-toolbox --with-quickdraw-carbon --with-ats --with-pic --with-gnu-ld

make

make install

unzip instantclient-basic-linux32-10.2.0.1-20050713.zip
unzip instantclient-sdk-linux32-10.2.0.1-20050713.zip

Luego creas una carpeta en la siguiente ruta mkdir -p /opt/oracle/instantclient que es donde el oci8 va a leer las liberias después de esto el procedimiento es el siguiente:

mv instantclient_10_2/* /opt/oracle/instantclient/
cd /opt/oracle/instantclient/
ln -s libclntsh.so.10.1 libclntsh.so
ln -s libocci.so.10.1 libocci.so

echo /opt/oracle/instantclient >> /etc/ld.so.conf
ldconfig

tar zxvf oci8-1.3.4.tgz

cd oci8-1.3.4

phpize

./configure --with-oci8=shared,instantclient,/opt/oracle/instantclient

make

make install

Con esto ya tenemos todas las librerias graficas necesarias las gd no las vamos a compilar porque ella vienen nativas en casi todas las distribuciones entonces procedemos a compilar el php

tar zxvf php-5.2.8.tar.gz

cd php-5.2.8

./configure --with-apxs2=/usr/sbin/apxs --enable-mod-charset --enable-fastcgi --enable-debug --enable-sigchild --enable-magic-quotes --with-oci8=instantclient,/opt/oracle/instantclient --with-zlib-dir --with-jpeg-dir=/usr/local/jpeg --enable-ftp --with-gd --enable-gd-native-ttf --enable-sysvshm --enable-sysvsem --with-mysql --with-freetype-dir=/usr/local/freetype --with-zlib --with-mm --with-curl --enable-debug --enable-safe-mode --enable-sigchild --enable-libgcc --disable-ipv6 --enable-dba --enable-calendar --enable-dbase --enable-exif --enable-gd-jis-conv --enable-mbstring --enable-shmop --enable-soap --enable-sqlite-utf8 --enable-zip --enable-magic-quotes --enable-wddx --with-iconv --with-gettext --enable-bcmath --with-bz2 --with-t1lib=/usr/local/t1/ --with-mime-magic --with-openssl --with-pdo-mysql --with-mysqli --enable-sysvmsg

make

make install

Con esto ya tenemos nuestro servidor web casi listo solo nos falta cagarles las extensiones de php al apache y lo hacemos de la siguiente manera

vi /etc/apache2/conf/httpd.conf

Agregamos al final del archivos las siguientes lineas

AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps

Ya con esto esta listo nuestro servidor si queremos revisar si cargo todos los modulos creamos un info.php de la siguiente manera

vi /etc/apache2/share/htdocs/info.php

dentro de este archivo agregamos estas lineas

phpinfo();
?>

abrimos un navegador y escribes eta direccion http://tuip/info.php

No hay comentarios:

Publicar un comentario