« APACHE » : différence entre les versions
Aucun résumé des modifications |
|||
(15 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 2 : | Ligne 2 : | ||
=== Empêcher l'accès à un fichier === | === Empêcher l'accès à un fichier === | ||
<source lang="php"> | |||
<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> | |||
</source> | |||
=== Empêcher l'accès à un type de fichier=== | === Empêcher l'accès à un type de fichier=== | ||
<source lang="c"> | |||
<Files *.png> | <Files *.png> | ||
Order Deny, Allow | Order Deny, Allow | ||
Deny from .LeNomDuDomaine.com | Deny from .LeNomDuDomaine.com | ||
</Files> | </Files> | ||
</source> | |||
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 | 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 == | == Autoriser l'accès à un groupe de fichiers par un domaine et un pays == | ||
<source lang="php"> | |||
<Files php*> | <Files php*> | ||
Order Allow, Deny | Order Allow, Deny | ||
Ligne 38 : | Ligne 41 : | ||
Allow from .fr | Allow from .fr | ||
</Files> | </Files> | ||
</source> | |||
== Cohabitation PHP4 et PHP5 == | == Cohabitation PHP4 et PHP5 == | ||
Ligne 53 : | Ligne 57 : | ||
création d'un fichier .htaccess comme suit: | création d'un fichier .htaccess comme suit: | ||
<source lang="c"> | |||
<Files *.php> | <Files *.php> | ||
<IfModule mod_actions.c> | <IfModule mod_actions.c> | ||
Ligne 59 : | Ligne 64 : | ||
</IfModule> | </IfModule> | ||
</Files> | </Files> | ||
</source> | |||
ou | ou | ||
<source lang="c"> | |||
<Files *.php5> | <Files *.php5> | ||
<IfModule mod_actions.c> | <IfModule mod_actions.c> | ||
Ligne 66 : | Ligne 73 : | ||
</IfModule> | </IfModule> | ||
</Files> | </Files> | ||
</source> | |||
== Installation PHP5.3.23 == | |||
* Options de compilation pour php5.3.23 | |||
<source lang="bash"> | |||
./configure \ | |||
--prefix=/usr/local/php5.3.23 \ | |||
--enable-shared \ | |||
--disable-debug \ | |||
--with-regex=php \ | |||
--disable-rpath \ | |||
--disable-static \ | |||
--with-pic \ | |||
--with-layout=GNU \ | |||
--with-pear=/usr/share/php5.3.23 \ | |||
--enable-calendar \ | |||
--enable-json \ | |||
--enable-sysvsem \ | |||
--enable-sysvshm \ | |||
--enable-sysvmsg \ | |||
--enable-bcmath \ | |||
--with-bz2 \ | |||
--enable-ctype \ | |||
--with-db4 \ | |||
--without-gdbm \ | |||
--with-iconv \ | |||
--enable-exif \ | |||
--enable-ftp \ | |||
--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-config-file-path=/usr/lib/php5.3.23 \ | |||
--with-config-file-scan-dir=/usr/lib/php5.3.23/conf.d \ | |||
--datadir=/usr/lib/php5.3.23 \ | |||
--bindir=/usr/lib/php5.3.23 \ | |||
--libdir=/usr/lib/php5.3.23 \ | |||
--sysconfdir=/usr/lib/php5.3.23 \ | |||
--with-exec-dir=/usr/lib/php5.3.23/libexec \ | |||
--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-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-pspell=shared,/usr \ | |||
--with-unixODBC=shared,/usr \ | |||
--with-xsl=shared,/usr \ | |||
--with-mssql=shared,/usr \ | |||
--with-tidy=shared \ | |||
--with-xmlrpc=shared \ | |||
--with-sqlite=shared,/usr \ | |||
--enable-pdo=shared \ | |||
--without-pdo-dblib \ | |||
--with-pdo-sqlite=shared,/usr \ | |||
--with-pdo-mysql=shared,/usr \ | |||
--with-pdo-odbc=shared,unixODBC,/usr \ | |||
--with-pdo-pgsql=shared,/usr/bin/pg_config \ | |||
--with-pdo-dblib=shared,/usr | |||
make | make | ||
make install | make install | ||
</source> | |||
<source lang="php"> | |||
a2enmod actions | a2enmod actions | ||
</source> | |||
ScriptAlias / | === Configuration de php en mode CGI === | ||
AddHandler | * cas standard avec php.ini commun à tous les vhosts | ||
Action | <source lang="bash"> | ||
ScriptAlias /php /usr/lib/php5.3.23/ | |||
AddHandler php5-cgi .php | |||
Action php5-cgi /php-cgi | |||
</source> | |||
* Cas ou chaque vhost à besoin d'un php.ini differents | |||
<source lang="bash"> | |||
ScriptAlias /php 'emplacement du script php-cgi-wrapper (vosts)' | |||
AddHandler php5-cgi .php | |||
Action php5-cgi /php/php-cgi-wrapper | |||
</source> | |||
Contenu du fichier php-cgi-wrapper | |||
<source lang="bash"> | |||
#!/bin/bash | |||
export PHPRC='emplacement du fichier php.ini (vhosts)' | |||
exec /usr/lib/php5.3.23/php-cgi | |||
</source> | |||
== Installation Apache2.4 et PHP 5.4 == | == Installation Apache2.4 et PHP 5.4 == | ||
Ligne 97 : | Ligne 192 : | ||
* Décompactage des sources | * Décompactage des sources | ||
<source lang="bash"> | |||
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 | |||
</source> | |||
* compilation | * compilation | ||
** cd /usr/local/src/apache2.4 | ** cd /usr/local/src/apache2.4 | ||
Ligne 125 : | Ligne 221 : | ||
[[category:système]] | [[category:système]] | ||
[[category:Linux]] | [[category:Linux]] |
Dernière version du 22 août 2013 à 14:02
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.23
- Options de compilation pour php5.3.23
./configure \
--prefix=/usr/local/php5.3.23 \
--enable-shared \
--disable-debug \
--with-regex=php \
--disable-rpath \
--disable-static \
--with-pic \
--with-layout=GNU \
--with-pear=/usr/share/php5.3.23 \
--enable-calendar \
--enable-json \
--enable-sysvsem \
--enable-sysvshm \
--enable-sysvmsg \
--enable-bcmath \
--with-bz2 \
--enable-ctype \
--with-db4 \
--without-gdbm \
--with-iconv \
--enable-exif \
--enable-ftp \
--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-config-file-path=/usr/lib/php5.3.23 \
--with-config-file-scan-dir=/usr/lib/php5.3.23/conf.d \
--datadir=/usr/lib/php5.3.23 \
--bindir=/usr/lib/php5.3.23 \
--libdir=/usr/lib/php5.3.23 \
--sysconfdir=/usr/lib/php5.3.23 \
--with-exec-dir=/usr/lib/php5.3.23/libexec \
--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-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-pspell=shared,/usr \
--with-unixODBC=shared,/usr \
--with-xsl=shared,/usr \
--with-mssql=shared,/usr \
--with-tidy=shared \
--with-xmlrpc=shared \
--with-sqlite=shared,/usr \
--enable-pdo=shared \
--without-pdo-dblib \
--with-pdo-sqlite=shared,/usr \
--with-pdo-mysql=shared,/usr \
--with-pdo-odbc=shared,unixODBC,/usr \
--with-pdo-pgsql=shared,/usr/bin/pg_config \
--with-pdo-dblib=shared,/usr
make
make install
a2enmod actions
Configuration de php en mode CGI
- cas standard avec php.ini commun à tous les vhosts
ScriptAlias /php /usr/lib/php5.3.23/
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.23/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