Apache » Historique » Révision 28
Révision 27 (Patrice Nadeau, 2015-09-05 09:44) → Révision 28/70 (Patrice Nadeau, 2016-01-18 20:28)
h1. Apache 
 Serveur de page Web 
 > Version 2.4 
 --- 
 {{toc}} 
 h2. Installation 
 <pre><code class="bash"> 
 zypper install apache2 apache2-mod_php5 
 systemctl enable apache2.service 
 # Démarrer Apache : 
 systemctl start apache2.service 
 # Active le module mod_php5 
 a2enmod mod_php5 
 </code></pre> 
 Ouvrir dans le pare-feu : 
 <pre><code class="bash"> 
 yast firewall services add service=service:apache2 zone=EXT 
 </code></pre> 
 L’emplacement des fichier du serveur est _/srv/www/htdocs_. 
 h2. Serveurs virtuels 
 Apache permet de rediriger les demandes d’accès vers  
 * différents répertoires sur le même serveur  
 * différents port 
 * un autre serveur 
 Très utile pour rediriger les requêtes à partir d'internet avec un seule adresse IP publique (NAT(Network Address Translation)). 
 Si le fichier _/etc/apache2/vhosts.d/vhost.conf_ n'existe pas, le créer à partir du gabarit de base 
 <pre><code class="bash"> 
 cd /etc/apache2/vhosts.d/ 
 cp vhost.template vhost.conf 
 </code></pre> 
 h3. Redirection vers un dossier différent. 
 Ex. : On veux diriger _helpdesk.domain.tld_ vers le dossier _/srv/www/htdocs/helpdesk_ et    _wiki.domain.tld_ vers le dossier _/srv/www/htdocs/wiki_ 
 <pre><code class="php"> 
 <VirtualHost *:80> 
         ServerName helpdesk.domain.tld 
         DocumentRoot /srv/www/htdocs/hepdesk 
         ServerAdmin admin@domain.tld 
         <Directory "/srv/www/htdocs/helpdesk"> 
                 #Order allow,deny #Since Apache 2.4 
                 Require all granted 
          </Directory> 
 </VirtualHost> 
 <VirtualHost *:80> 
         ServerName wiki.domain.tld 
         DocumentRoot /srv/www/htdocs/wiki 
         ServerAdmin admin@domain.tld 
         <Directory "/srv/www/htdocs/wiki"> 
                 #Order allow,deny # since Apache 2.4 
                 Require all granted 
          </Directory> 
 </VirtualHost> 
 </code></pre> 
 Modifier les items suivants : 
 * *ServerAdmin* : L'adresse de courriel de l'administrateur 
 * *ServerName* : Le FQDN(Fully Qualified Domain Name) du serveur 
 * *DocumentRoot* : L'emplacement des fichiers du site web 
 h3. Redirection vers un serveur différent 
 Les modules _proxy_ et _proxy_http_ doivent être installés et actifs 
 Vérification de la liste des modules Apache 
 <pre><code class="bash"> 
 a2enmod -l 
 </code></pre> 
 Activation des modules s'il ne sont pas déjà actifs 
 <pre><code class="bash"> 
 a2enmod proxy  
 a2enmod proxy_http 
 </code></pre> 
 Modifier le fichier _/etc/apache2/vhosts.d/vhost.conf_  
 Ex. : On veux rediriger le service _service_ vers le serveur _server1_ 
 <pre><code class="php"> 
 <VirtualHost *:80> 
         ServerName service.domaine.com 
         ProxyPreserveHost On 
         ProxyPass / http://serveur1.domaine.com/ 
         ProxyPassReverse / http://serveur1.domaine.com/ 
         ServerAdmin admin@domaine.com 
 </VirtualHost> 
 </code></pre> 
 h3. Activation des changements 
 Relire la configuration d'Apache 
 <pre><code class="bash"> 
 systemctl reload apache2.service 
 </code></pre> 
 Commandes 
 * _apache2ctl -S_ : liste les serveurs virtuels