Identity.unimore.it

Da sia.
Versione del 7 nov 2008 alle 07:38 di Malvezzi (discussione | contributi) (→‎installo php-5.2.5)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Vai alla navigazione Vai alla ricerca

Panoramica

Identity deve poter comunicare con oracle e con mysql+ssl tramite il php. Per entrambi questi requisiti la distribuzione debian non è pronta senza compilazione.

mysql su ssl

Il problema sorge perché il pacchetto mysql di default è linkato sulle yassl e non su openssl. E' necessario ricompilare mysql. Le istruzioni sono tratte da: error-2026-hy000-ssl-connection. Bisogna prestare attenzione perché le openssl sono compilate no-shared, mentre mysql se le aspetta shared.

Per compilare ed installare openssl ho seguito le istruzioni a Shibboleth/openssl_zlib, poi dopo i comandi:

cd /usr/src/
apt-get source mysql-server
cd mysql-dfsg-5.0-5.0.32/

Ho modificare debian/rules con:

--with-openssl=/opt/openssl-0.9.8_shibd
--without-yassl

e ho lanciato lo dpkg-buildpackage Installare i pacchetti presenti in /usr/src con dpkg -i (ricordarsi anche il libmysqlclient15-dev)

Per evitare che mysql sia aggiornato automaticamente:

dpkg --set-selections
mysql-client-5.0 hold
libmysqlclient15off hold
mysql-common hold
libmysqlclient15-dev hold
CTRL+D

php, apache ed oracle

installazione compilatori

apt-get install gcc libc6-dev libc-dev libmudflap0-dev make libxml2-dev libldap2-dev libtool

installo oracle

inserire in /etc/apt/source.list

deb http://oss.oracle.com/debian/ unstable main non-free

lanciare:

apt-get install oracle-xe oracle-xe-client

installo openssl

NON SEMBRA SERVIRE

Questo passo forse è stato necessario una volta, ma non serve più.

scaricare i sorgenti di openssl ed installarli con

apt-get install openssl
./config --prefix=/usr/local --openssldir=/usr/local/openssl
make
make install

installo apache2

Nota bene: l'installazione di apache è indipendente da quella del php. Se si vuole si può fare l'aggiornamento del php in maniera indipendente.

Invece il contrario non è garantito. Se si aggiorna ed il php non funziona rilanciare il

make install

dal pacchetto di un'installazione precedente del php (oppure ricompilarlo da capo).

apt-get install apache2-src
cd /usr/src/
tar xzvf apache2.tar.gz
cd apache2
$ ./configure --prefix=/usr/local/apache2/ --enable-ssl --enable-so --with-ssl=/usr/local
$ make 
$ sudo make install

installo php-5.2.5

cd /usr/local/src/
wget http://it2.php.net/get/php-5.2.5.tar.gz/from/this/mirror
$ ./configure  --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs \   
--with-config-file-path=/usr/local/apache2/conf \
--with-oci8=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server  --enable-sigchild \
--enable-pear --enable-session --with-ldap \
--with-openssl --with-mysql --with-mysqli
$ make
$ make test (attenzione: dura tutta la notte!)
$ sudo make install

copiare il file /etc/init.d/http con le necessarie inizializzazioni della variabili di ambiente di ORACLE

start() {
       echo -n $"Starting $prog: "

       ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
       export ORACLE_HOME
       ORACLE_SID=XE
       export ORACLE_SID
       NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
       export NLS_LANG
       PATH=$ORACLE_HOME/bin:$PATH
       export PATH
       if [ $?LD_LIBRARY_PATH ]
       then
               LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
       else
               LD_LIBRARY_PATH=$ORACLE_HOME/lib
       fi
       export LD_LIBRARY_PATH
       $apachectl start

pacchetto pear necessario per alcune parti del programma

 /usr/local/php/bin/pear install HTTP_Request (da root)