Questa installazione è testésu Ubuntu 15.01 ma potrebbeêtre utiliée per un server Debian in produzione.
SuPhp n’non è più mantenuto da alcuni anniéora, non’è quindi più nei repository delle distribuzioni récentinaia, e diventa difficile compilarlo su un kernel 4.x (che è il mio caso, da quando sono passato a Ubuntu 15.10).
Nota: il pacchetto è sempre disponibile su Ubuntu 14.01 LTS.
1 –Installazione dei pacchetti di base.
sudo apt-get install build-essential fakeroot dh-make debconf execstack dh-modaliases xserver-xorg-dev automake autoconf libaprutil1 libaprutil1-dev libsvn-dev wx2.8-headers libwxgtk2.8-dev libxml2-dev libpcre3-dev libbz2-dev libcurl4-openssl-dev libjpeg-dev libpng12-dev libxpm-dev libfreetype6-dev libmysqlclient-dev libgd-dev libgmp-dev libsasl2-dev libmhash-dev unixodbc-dev freetds-dev libpspell-dev libsnmp-dev libtidy-dev libxslt1-dev libmcrypt-dev apache2 apache2-dev libxml2 libaprutil1-dev libxml2 libxml2-dev libssl-dev pkg-config curl libcurl4-openssl-dev enchant libenchant-dev libjpeg8 libjpeg8-dev libpng12-0 libpng12-dev libvpx-dev libfreetype6 libfreetype6-dev libgmp10 libgmp-dev libicu-dev mcrypt libmcrypt4 libmcrypt-dev libpspell-dev libedit2 libedit-dev libsnmp30 libsnmp-dev libxslt1.1 libxslt1-dev postgresql-server-dev-9.4 postgresql-server-dev-all
2- Compilazione di PHP
Si comincia creando un collegamento simbolico di’una libreria che potrebbe essere potenzialmente introvabile durante la compilazione :
sudo ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h
Su rétazzaèsui sorgenti di PHP :
sudo wget -O php-5.6.16.tar.gz http://fr2.php.net/get/php-5.6.16.tar.gz/from/this/mirror && tar xzvf php-5.6.16.tar.gz && cd php-5.6.16
Poi si compila:
sudo ./configure --prefix=/usr/local/php --with-apxs2=/usr/bin/apxs2 --with-config-file-path=/usr/local/php/conf --with-config-file-scan-dir=/usr/local/php/conf.d --enable-debug --with-openssl --with-kerberos --with-zlib --enable-calendar --with-curl --with-enchant --enable-exif --enable-ftp --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-vpx-dir=/usr --with-freetype-dir=/usr --enable-exif --enable-gd-native-ttf --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --enable-intl --enable-mbstring --with-mcrypt --with-mysql --with-mysqli --enable-pcntl --with-pdo-mysql --with-pdo-pgsql --with-pgsql --with-pspell --with-libedit --with-readline --enable-shmop --enable-soap --enable-sockets --enable-sysvmsg --enable-sysvshm --with-xsl --enable-zip --with-pear --enable-zend-signals --enable-maintainer-zts --enable-bcmath && sudo make && sudo make install
3- Configurazione d’apache :
Su référence
il nostro réporta in cui si trova php, nel file di configurazione di’apache /etc/apache2/apache2.conf
sudo vi /etc/apache2/apache2.conf ScriptAlias /php5.6.16/ "/usr/local/php/bin/" <Directory "/usr/local/php/bin/"> AllowOverride All Options None Order allow,deny Allow from all </Directory>
Su procèpoi alla configurazione del nostro vhost con le seguenti direttive:
Action php-script '/php5.6.16/php-cgi-5.6.16' AddHandler php-script .php PHPIniDir "/var/www/ATLV/"
Ciò che ci fornisce una configurazione come segue :
<VirtualHost *:80>
Options FollowSymLinks
DirectoryIndex app_dev.php
ServerName www.kuoni.dev
DocumentRoot /var/www/ATLV/web
Action php-script '/php5.6.16/php-cgi-5.6.16'
AddHandler php-script .php
PHPIniDir "/var/www/ATLV/"
<Directory /var/www/ATLV/web>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
DirectoryIndex app_dev.php
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Ci restaàattivare la modalità azioni :
a2enmod actions
Eàriavviare apache2 :
service apache2 restart
E voilà :
Contesto di compatibilità
Questa procedura documenta un ambiente PHP o Apache del suo tempo. I rami PHP 5.x e 7.x non ricevono più il supporto standard del progetto PHP: non distribuire questa configurazione così com'è su un nuovo server.
- Identificate prima le versioni effettivamente installate e i moduli caricati.
- Preparate un backup della configurazione e una procedura di rollback.
- Convalida la sintassi, poi i percorsi critici, su una versione di PHP ancora supportata.
Riferimento : versioni di PHP attualmente supportate.
