« APACHE » : différence entre les versions

De TwisterWiki
Aucun résumé des modifications
 
(16 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 ===
<Files admin.php3>
<source lang="php">
  AuthUserFile /repertoire/de/votre/fichier/.FichierDeMotDePasse
<Files admin.php3>
  AuthGroupFile /dev/null
AuthUserFile /repertoire/de/votre/fichier/.FichierDeMotDePasse
  AuthName "Accès sécurisé au site ..."
AuthGroupFile /dev/null
  AuthType Basic
AuthName "Accès sécurisé au site ..."
  <LIMIT GET POST>
AuthType Basic
    require user utilisateur1 utilisateur2
<LIMIT GET POST>
  </LIMIT>
  require user utilisateur1 utilisateur2
</Files>
</LIMIT>
</Files>
   
   
<Files admin2.php3>
<Files admin2.php3>
  AuthUserFile /repertoire/de/votre/fichier/.FichierDeMotDePasse
AuthUserFile /repertoire/de/votre/fichier/.FichierDeMotDePasse
  AuthGroupFile /dev/null
AuthGroupFile /dev/null
  AuthName "Accès sécurisé au site ..."
AuthName "Accès sécurisé au site ..."
  AuthType Basic
AuthType Basic
  <LIMIT GET POST>
<LIMIT GET POST>
  require user utilisateur1 utilisateur2
  require user utilisateur1 utilisateur2
  </LIMIT>
</LIMIT>
</Files>
</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


== Cohabitation PHP5.2 et PHP5.3 ==
* Afin de faire cohabiter les deux versions 5.2 et 5.3 ensemble, il faut installer les paquets d'une des version puis compiler la seconde à partir des sources sur le site php.net
* Options de compilation pour php5.2.17
./configure --enable-fastcgi --prefix=/usr/local/php5.2.17  --with-mysqli --with-xmlrpc
  make
  make
  make install
  make install
</source>


<source lang="php">
  a2enmod actions
  a2enmod actions
</source>


  ScriptAlias /local-bin /usr/local/php5.2.17/bin
=== Configuration de php en mode CGI ===
  AddHandler application/x-httpd-php5 php
* cas standard avec php.ini commun à tous les vhosts
  Action application/x-httpd-php5 /local-bin/php-cgi
<source lang="bash">
  <Directory "/usr/local/php-5.2.17/bin">
  ScriptAlias /php /usr/lib/php5.3.23/
  Order allow,deny
  AddHandler php5-cgi .php
  Allow from all
Action php5-cgi /php-cgi
</Directory>
</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
** tar -xzvf httpd-2.4.1.tar.gz -C /usr/local/src/httpd-2.4.1
<source lang="bash">
** 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 httpd-2.4.1.tar.gz -C /usr/local/src/httpd-2.4.1
** 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
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 123 : Ligne 219 :
** make
** make
** make install
** make install




[[category:système]]
[[category:système]]
[[category:Linux]]
[[category:Linux]]

Dernière version du 22 août 2013 à 16: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

  • 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

  • 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