Projet

Général

Profil

Actions

Apache » Historique » Révision 48

« Précédent | Révision 48/70 (diff) | Suivant »
Patrice Nadeau, 2017-08-30 18:29


h1. Apache

Serveur de page Web

Version 2.4


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. Let’s Encrypt

https://letsencrypt.org

Certificats gratuits d'une durée de 90 jours.
Le renouvellement automatique peut être programmé.

Le certificat n'est valide que pour un serveur en particulier, contrairement à un « wildcard ».

Installer le script :

wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto

Lancer le script et spécifier le nom du serveur (FQDN) :

New certificate

./certbot-auto --apache certonly

Renew all certificate

./certbot-auto renew

Modifier le fichier /etc/apache2/default-server.conf (modifier yourdomain par le nom du domaine approprié) :

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 environ 7 ans · 48 révisions