Créer un serveur web Apache sous CentOS 7

Installation

Mettre à jour le système

yum update

Installer Apache2 (httpd)

yum install httpd

Démarrer httpd et le lancer automatiquement au démarrage

systemctl start httpd
systemctl enable httpd

Ouvrir le port 80 dans le parefeu

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

Installer php 5

yum install php

Installer MariaDB

yum install mariadb-server

Démarrer MariaDB et le lancer automatiquement au démarrage

systemctl start mariadb
systemctl enable mariadb

Sécuriser MariaDB

mysql_secure_installation

Créer un utilisateur administrateur dans mariadb

mysql -u root -p
CREATE USER newuser@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO newuser@localhost WITH GRANT OPTION;
quit

Supprimer un utilisateur dans mariadb

mysql -u root -p
DROP USER newuser@localhost;
quit

Installer EPEL pour pouvoir installer phpMyAdmin

yum install epel-release

Installer phpMyAdmin

yum install phpmyadmin

Editer le fichier de configuration de phpMyAdmin pour y avoir accès

vi /etc/httpd/conf.d/phpMyAdmin.conf

Pour donner un accès depuis une ip, ajouter la ligne dans la section « <RequireAny> (avec la bonne ip)

Require ip 192.168.1.1

Pour donner un accès depuis n’importe quelle ip, ajouter la ligne dans la section « <RequireAny> (avec la bonne ip)

Require all granted

Recharger la configuration de httpd

systemctl reload httpd

Héberger plusieurs sites avec les VirtualHosts

Copier le site dans le serveur

cp site1 /var/www/

Changer le propriétaire du dossier et des sous-dossiers

chown -R apache:apache /var/www

Editer le fichier de configuration de httpd

vi /etc/httpd/conf/httpd.conf

Vérifier qu’à la fin le paramètre ci-dessous est présent sinon l’ajouter

IncludeOptional conf.d/*.conf

Créer le fichier de configuration

vi /etc/httpd/conf.d/virtualhost.conf

Editer ce fichier sous cette forme

<VirtualHost *:80>
     ServerName site1.lab
     DocumentRoot /var/www/site1
</VirtualHost>
<VirtualHost *:80>
     ServerName site2.lab
     DocumentRoot /var/www/site2
</VirtualHost>

Recharger la configuration d’Apache2

systemctl reload apache2

Faire fonctionner WordPress avec SELinux

Pour utiliser semanage il faut installer policycoreutils-python

yum install policycoreutils-python

Puis entrer ces commandes

mkdir /var/www/sitewordpress/wp-content/uploads
chown -R apache:apache /var/www/sitewordpress
restorecon -Rv /var/www/sitewordpress
chcon -t httpd_sys_rw_content_t /var/www/sitewordpress

Activer la réécriture d’adresse

Editer le fichier /etc/apache2/apache2.conf

nano /etc/apache2/apache2.conf

Modifier la ligne « AllowOverride None » dans la section « <Directory /var/www/> » par

AllowOverride All

Recharger la configuration d’Apache2

systemctl reload apache2