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