« APACHE » : différence entre les versions
Aucun résumé des modifications |
|||
Ligne 165 : | Ligne 165 : | ||
Allow from all | Allow from all | ||
</Directory> | </Directory> | ||
=== Configuration de php en mode CGI === | |||
* cas standard avec php.ini commun à tous les vhosts | |||
ScriptAlias /php /usr/lib/php5.3.20/ | |||
AddHandler php5-cgi .php | |||
Action php5-cgi /php-cgi | |||
* Cas ou chaque vhost à besoin d'un php.ini differents | |||
ScriptAlias /php 'emplacement du script php-cgi-wrapper (vosts)' | |||
AddHandler php5-cgi .php | |||
Action php5-cgi /php/php-cgi-wrapper | |||
Contenu du fichier php-cgi-wrapper | |||
#!/bin/bash | |||
export PHPRC='emplacement du fichier php.ini (vhosts)' | |||
exec /usr/lib/php5.3.20/php-cgi | |||
== Installation Apache2.4 et PHP 5.4 == | == Installation Apache2.4 et PHP 5.4 == | ||
Ligne 205 : | Ligne 220 : | ||
[[category:système]] | [[category:système]] | ||
[[category:Linux]] | [[category:Linux]] |
Version du 29 janvier 2013 à 12:41
Le fichier .htaccess
Empêcher l'accès à un fichier
<Files admin.php3> AuthUserFile /repertoire/de/votre/fichier/.FichierDeMotDePasse AuthGroupFile /dev/null AuthName "Accès sécurisé au site ..." AuthType Basic <LIMIT GET POST> require user utilisateur1 utilisateur2 </LIMIT> </Files> <Files admin2.php3> AuthUserFile /repertoire/de/votre/fichier/.FichierDeMotDePasse AuthGroupFile /dev/null AuthName "Accès sécurisé au site ..." AuthType Basic <LIMIT GET POST> require user utilisateur1 utilisateur2 </LIMIT> </Files>
Empêcher l'accès à un type de fichier
<Files *.png> Order Deny, Allow Deny from .LeNomDuDomaine.com </Files>
Toutes les personnes (requêtes) provenant du domaine .LeNomDuDomaine.com ne pourront avoir accès aux images, dont l'extension est .png, comprises dans le répertoire et ses sous-répertoires
Autoriser l'accès à un groupe de fichiers par un domaine et un pays
<Files php*> Order Allow, Deny Deny from all Allow from .phpfrance.com Allow from .fr </Files>
Cohabitation PHP4 et PHP5
php4 et php5 ne peuvent pas fonctionner tous les deux avec apache en mode module. La solution consiste à utiliser le mode cgi de php.
Installation de php4
Installation classique de php4 avec le paquet apache_mod_php4 (varie en fonction de la distrib linux).
Installation de php5
Installation classique de php4, il faut ajouter le paquet php5-cgi (varie en fonction de la distrib linux) et ne pas installer apache_mod_php5
Configuration
Installation du module apache mod_actions. ce module va permettre de modifier des valeurs propres à chaque vhosts.
création d'un fichier .htaccess comme suit:
<Files *.php> <IfModule mod_actions.c> AddHandler php-script .php Action php-script /cgi-bin/php5 </IfModule> </Files>
ou
<Files *.php5> <IfModule mod_actions.c> AddHandler php-script .php5 Action php-script /cgi-bin/php5 </IfModule> </Files>
Installation PHP5.3.20
- Options de compilation pour php5.3.20
./configure \ --prefix=/usr/local/php5.3.20\ --enable-shared \ --disable-debug \ --with-regex=php \ --disable-rpath \ --disable-static \ --with-pic \ --with-layout=GNU \ --with-pear=/usr/share/php5.3.20 \ --enable-calendar \ --enable-json \ --enable-suhosin \ --enable-sysvsem \ --enable-sysvshm \ --enable-sysvmsg \ --enable-bcmath \ --with-bz2 \ --enable-ctype \ --with-db4 \ --without-gdbm \ --with-iconv \ --enable-exif \ --enable-ftp \ --enable-dbase \ --with-gettext \ --enable-mbstring \ --with-pcre-regex \ --enable-shmop \ --enable-sockets \ --enable-simplexml \ --enable-dom=/usr \ --enable-wddx \ --with-libxml-dir=/usr \ --enable-tokenizer \ --with-zlib \ --with-kerberos=/usr \ --with-openssl=/usr \ --enable-soap \ --enable-zip \ --with-mime-magic=/usr/share/file/magic.mime \ --with-config-file-path=/usr/lib/php5.3.20 \ --with-config-file-scan-dir=/usr/lib/php5.3.20/conf.d \ --datadir=/usr/lib/php5.3.20 \ --bindir=/usr/lib/php5.3.20 \ --libdir=/usr/lib/php5.3.20 \ --sysconfdir=/usr/lib/php5.3.20 \ --with-exec-dir=/usr/lib/php5.3.20/libexec \ --with-system-tzdata \ --with-curl=shared,/usr \ --with-zlib-dir=/usr \ --with-gd=shared \ --enable-gd-native-ttf \ --with-gmp=shared,/usr \ --with-jpeg-dir=shared,/usr \ --with-xpm-dir=shared,/usr/X11R6 \ --with-png-dir=shared,/usr \ --with-freetype-dir=shared,/usr \ --with-ttf=shared,/usr \ --with-t1lib=shared,/usr \ --with-mcrypt=shared,/usr \ --with-mhash=shared,/usr \ --with-mysql=shared,/usr \ --with-mysql-sock=/var/run/mysqld/mysqld.sock \ --with-mysqli=shared,/usr/bin/mysql_config \ --with-ming=shared,/usr \ --with-pspell=shared,/usr \ --with-unixODBC=shared,/usr \ --with-recode=shared,/usr \ --with-xsl=shared,/usr \ --with-snmp=shared,/usr \ --with-sqlite=shared,/usr \ --with-mssql=shared,/usr \ --with-tidy=shared \ --with-xmlrpc=shared \ --enable-pdo=shared \ --without-pdo-dblib \ --with-pdo-mysql=shared,/usr \ --with-pdo-odbc=shared,unixODBC,/usr \ --with-pdo-pgsql=shared,/usr/bin/pg_config \ --with-pdo-sqlite=shared,/usr \ --with-pdo-dblib=shared,/usr make make install
a2enmod actions
ScriptAlias /local-bin /usr/local/php5.2.17/bin AddHandler application/x-httpd-php5 php Action application/x-httpd-php5 /local-bin/php-cgi <Directory "/usr/local/php-5.2.17/bin"> Order allow,deny Allow from all </Directory>
Configuration de php en mode CGI
- cas standard avec php.ini commun à tous les vhosts
ScriptAlias /php /usr/lib/php5.3.20/ AddHandler php5-cgi .php Action php5-cgi /php-cgi
- Cas ou chaque vhost à besoin d'un php.ini differents
ScriptAlias /php 'emplacement du script php-cgi-wrapper (vosts)' AddHandler php5-cgi .php Action php5-cgi /php/php-cgi-wrapper
Contenu du fichier php-cgi-wrapper
#!/bin/bash export PHPRC='emplacement du fichier php.ini (vhosts)' exec /usr/lib/php5.3.20/php-cgi
Installation Apache2.4 et PHP 5.4
Installation Apache 2.4
- Récupération des sources sur le site apache
- Installation des prérequis (pour debian squezee)
- apt-get install libpcre3 libpcre3-dev
- Décompactage des sources
- tar -xzvf httpd-2.4.1.tar.gz -C /usr/local/src/httpd-2.4.1
- tar -xzvf apr-1.4.6.tar.gz -C /usr/local/src/httpd-2.4.1/srclib && mv /usr/local/src/httpd-2.4.1/srclib/apr-1.4.6 /usr/local/src/httpd-2.4.1/srclib/apr
- tar -xzvf apr-util-1.4.1.tar.gz -C /usr/local/src/httpd-2.4.1/srclib && mv /usr/local/src/httpd-2.4.1/srclib/apr-util-1.4.1 /usr/local/src/httpd-2.4.1/srclib/apr-util
- compilation
- cd /usr/local/src/apache2.4
- ./configure --prefix=/usr/local/apache2.4 --enable-so --enable-alias --with-mpm=prefork
- make
- make install
Installation PHP 5.4
- Récupération des sources sur le site apache
- wget http://fr2.php.net/get/php-5.4.0.tar.gz/from/fr.php.net/mirror && mv mirror php-5.4.0.tar.gz
- Décompactage des sources
- tar -xzvf php-5.4.0.tar.gz -C /usr/local/src
- Installation des prérequis (pour debian squezee)
- apt-get install libxml2-dev
- apt-get install zlib1g-dev
- compilation
- cd /usr/local/src/php-5.4.0
- ./configure --prefix=/usr/local/php5.4 --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php5.4/etc --enable-exif --enable-ftp --enable-mbstring --enable-zip --enable-calendar --with-mysql
- make
- make install