Apache » Historique » Révision 44
      « Précédent |
    Révision 44/70
      (diff)
      | Suivant »
    
    Patrice Nadeau, 2017-06-03 15:17 
    
    
h1. Apache
Serveur de page Web
Version 2.4
{{toc}}
h2. Installation
# Installation
zypper install apache2
# Activation au démarrage
systemctl enable apache2.service
# Démarrer Apache :
systemctl start apache2.service
Ouvrir dans le pare-feu :
yast firewall services add service=service:apache2 zone=EXT
L’emplacement des fichier du serveur est /srv/www/htdocs.
h2. Modules supplémentaires
La configuration d'Apache doit être relue lors de l'activation d'un module
La liste des modules actifs peut être listé avec
a2enmod -l
h3. Version
Inclut dans Apache
a2enmod mod_version
h3. PHP
Support pour PHP
zypper install apache2-mod_php5
a2enmod mod_php5
h3. Proxy
Redirection de serveur
a2enmod proxy 
a2enmod proxy_http
h2. HTTPS
Serveur sécurisé
h3. Pré-requis
Vérifier qu'Apache supporte SSL
a2enmod -l
Si le module ssl n’apparaît pas, l'activer
a2enmod ssl
h4. Self-certificate
Générer les clés
openssl req -new > new.ssl.csr
openssl rsa -in privkey.pem -out new.cert.key
openssl x509 -in new.ssl.csr -out new.cert.cert -req -signkey new.cert.key -days 365
cp new.cert.cert /etc/ssl/certs/server.crt
cp new.cert.key /etc/ssl/private/server.key
Modifier le fichier /etc/apache2/default-server.conf
Listen 443
    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/server.crt
    SSLCertificateKeyFile /etc/ssl/private/server.key
h4. letsencrypt.org
Certificats gratuits d'une durée de 90 jours.
Le renouvellement automatique peut être programmé.
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
./certbot-auto --apache certonly
Modifier le fichier /etc/apache2/default-server.conf
Listen 443
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/yourdomain/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain/privkey.pem
h3. Mise en service
Relire la configuration d'Apache
systemctl reload apache2.service
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
cd /etc/apache2/vhosts.d/
cp vhost.template vhost.conf
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
        ServerName helpdesk.domain.tld
        DocumentRoot /srv/www/htdocs/hepdesk
        ServerAdmin admin@domain.tld
        
                #Order allow,deny #Since Apache 2.4
                Require all granted
         
        ServerName wiki.domain.tld
        DocumentRoot /srv/www/htdocs/wiki
        ServerAdmin admin@domain.tld
        
                #Order allow,deny # since Apache 2.4
                Require all granted
         
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 déjà être actifs
Modifier le fichier /etc/apache2/vhosts.d/vhost.conf
Ex. : On veux rediriger le service service vers le serveur server1
        ServerName service.domaine.com
        ProxyPreserveHost On
        ProxyPass / http://serveur1.domaine.com/
        ProxyPassReverse / http://serveur1.domaine.com/
        ServerAdmin admin@domaine.com
h3. Activation des changements
Relire la configuration d'Apache
systemctl reload apache2.service
Commandes
- apache2ctl -S : liste les serveurs virtuels
 
Mis à jour par Patrice Nadeau il y a plus de 8 ans · 44 révisions