Identity.unimore.it
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)