Installation de LAMP sur CentOS 7

lamp-banner-centos

Ce article traite de l'installation d'un serveur web Apache sur une machine sous CentOS 7 avec le support de PHP5 et  MySQL.
LAMP est une abréviation de Linux, Apache, MySQL, PHP.

Configuration des dépôts

Avant de commencer l'installation proprement dite de chacun des éléments, on doit commencer par installer les dépôts.

Installation du dépôt Extras Packages Entreprise Linux (EPEL)

sudo yum -y install epel-release

Installation du dépôt REMI qui contient les dernières versions de PHP

sudo yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm

Une fois le dépôt REMI installé, il faut choisir la version de PHP que nous souhaitons installer. Dans le cas présent, il s'agit de la version 5.6.
Nous allons donc éditer le fichier /etc/yum.repos.d/remi.repo et remplacer enabled=0 par enabled=1 dans la section [remi-php56].

/etc/yum.repos.d/remi.repo

[remi-php56]
name=Remi's PHP 5.6 RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/php56/$basearch/
mirrorlist=http://rpms.remirepo.net/enterprise/7/php56/mirror
# NOTICE: common dependencies are in "remi-safe"
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

On termine l'installation des dépôts par une mise à jour de la distribution.

sudo yum -y update

Installation de MySQL / MariaDB

MariaDB est un serveur de base de données relationnelle équivalent libre de MySQL. Pour cet exemple de configuration, nous avons choisi d'installer MariaDB plutôt que MySQL, mais la méthode reste la même.

sudo yum -y install mariadb-server mariadb

Nous allons ensuite démarrer le serveur de base de données MariaDB, et nous assurer qu'il démarre automatiquement à chaque redémarrage de la machine.

sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service

Afin de terminer l'installation de ce service, il faut lui assigner un mot de passe administrateur et appliquer quelques règles élémentaires de sécurité. Pour cela, il suffit de lancer la commande suivante :

sudo mysql_secure_installation

On va vous demander essentiellement de choisir un mot de passe sur le compte root. Et de répondre par l'affirmative aux questions qui vous sont posées.

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):

==> [ENTREE]

OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n]

==> [Y]

New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n]

==> [Y]

... Success!
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n]

==> [Y]

... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n]

==> [Y]

- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n]

==> [Y]

... Success!
Cleaning up...
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!

L'installation et la configuration de MariaDb est maintenant terminée.

Installation de Apache

Apache est directement disponible dans les dépôts de CentOS. Il peut donc s'installer avec la commande suivante :

sudo yum -y install httpd

Tout comme pour MariaDB, nous allons nous assurer que le serveur Web est redémarré automatique à chaque démarrage de la machine.

sudo systemctl enable httpd.service
sudo systemctl start httpd.service

Installation et configuration du firewall

Afin de protéger le serveur des agression extérieures, nous allons installer le pare-feu de CentOS et le configurer pour qu'il laisse passer les requêtes vers le serveur web.

sudo yum -y install firewalld
sudo systemctl enable firewalld.service
sudo systemctl start firewalld.service
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Test du serveur Web

Normalement en ouvrant un navigateur, vous devriez pouvoir vous connecter à l'adresse de la machine et voir la page suivante :

lamp-01

Installation de PHP et test

Pour installer PHP, il suffit de lancer les commandes suivantes :

sudo yum -y install php
sudo systemctl restart httpd.service

Pour tester PHP, nous devons créer une page web :

sudo echo "<?php phpinfo(); ?>" > /var/www/html/info.php

En ouvrant cette page dans un navigateur, nous sommes en mesure d'attester du bon fonctionnement de PHP (http://<ip-du-serveur>/info.php/) :

lamp-02

Si ce que vous voyez est conforme à la page ci-dessus, c'est que PHP fonctionne bien. Néanmoins, il faut installer des modules supplémentaires pour assurer la connectivité entre PHP et MariaDB. Nous devons donc installer des modules supplémentaires.

Modules supplémentaires PHP

Tout d'abord, l'installation du module PHP nécessaire pour MariaDB.

sudo yum -y install php-mysql

Ensuite, nous allons installer quelques modules supplémentaires afin de couvrir les besoins communs.

sudo yum -y install php-gd php-ldap php-mbstring php-mcrypt php-odbc php-pear php-PHPMailer php-snmp php-soap php-xml php-xmlrpc

Pour valider l'installation de ces modules supplémentaires, nous devons relancer le serveur Apache.

sudo systemctl restart httpd.service

Aucun commentaire

No module Published on Offcanvas position