Apache » Historique » Révision 64
« Précédent |
Révision 64/70
(diff)
| Suivant »
Patrice Nadeau, 2018-12-20 20:16
Apache¶
Serveur de page Web
Version 2.4
Installation¶
# Installation
sudo zypper install apache2
# Activation au démarrage
sudo systemctl enable apache2.service
# Démarrer Apache :
sudo systemctl start apache2.service
Ouvrir dans le pare-feu :
# Leap 15
sudo firewall-cmd --permanent --add-service=http --add-service=https
sudo firewall-cmd --reload
L’emplacement des fichier du serveur est /srv/www/htdocs.
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
Version¶
Inclut dans Apache
sudo a2enmod mod_version
PHP¶
Support pour PHP
sudo zypper install apache2-mod_php7
sudo a2enmod mod_php7
Proxy¶
Redirection de serveur
sudo a2enmod proxy
sudo a2enmod proxy_http
HTTPS¶
Serveur sécurisé
Pré-requis¶
Vérifier qu'Apache supporte SSL
sudo a2enmod -l
Si le module ssl n’apparaît pas, l'activer
sudo a2enmod ssl
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
sudo cp new.cert.cert /etc/ssl/certs/server.crt
sudo cp new.cert.key /etc/ssl/private/server.key
Modifier le fichier /etc/apache2/default-server.conf
Listen 443
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
</VirtualHost>
Let’s Encrypt¶
Certificats gratuits d'une durée de 90 jours.
Le renouvellement automatique peut être programmé.
Installer le script :
sudo zypper install python-certbot-apache
Lancer le script et spécifier le nom du serveur (FQDN) :
# New certificate
certbot --apache
Mise en service¶
Relire la configuration d'Apache
sudo systemctl reload apache2.service
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
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
<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>
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
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
<VirtualHost *:80>
ServerName service.domaine.com
ProxyPreserveHost On
ProxyPass / http://serveur1.domaine.com/
ProxyPassReverse / http://serveur1.domaine.com/
ServerAdmin admin@domaine.com
</VirtualHost>
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 6 ans · 64 révisions