Nous allons vous montrer comment installer LAMP sur CentOS 7. LAMP est en fait l'acronyme d'une pile de solutions de services Web composée de Linux, du serveur HTTP Apache, des moteurs de base de données MySQL ou MariaDB et du langage de programmation PHP, Perl ou Python. Tous les composants sont des logiciels gratuits et open source, et la combinaison convient à la création de pages Web dynamiques.
Exigences ?
Nous utilisons notre plan d'hébergement SSD 1 VPS pour cette configuration, ce qui devrait être plus que suffisant pour faire fonctionner LAMP et hébergez plusieurs sites Web dynamiques à l'aide de directives d'hôte virtuel.
1. Mettre à jour le système
Comme toujours, assurez-vous que votre VPS CentOS 7 est entièrement à jour et vous êtes dans un screen
session en utilisant les commandes ci-dessous :
## screen -U -S lamp-centos7 ## yum update
2. Installer MariaDB
MariaDB est le serveur de base de données par défaut dans CentOS 7, alors allez-y et installez-le avec yum
en utilisant la commande suivante :
## yum install mariadb mariadb-server mysql
Une fois installé, ajoutez bind-address = 127.0.0.1
vers /etc/my.cnf.d/server.cnf
pour lier MariaDB à localhost uniquement :
## vim /etc/my.cnf.d/server.cnf [mysqld] #log-bin=mysql-bin #binlog_format=mixed bind-address = 127.0.0.1
3. Redémarrez et configurez MariaDB
Redémarrez le serveur de base de données MariaDB et autorisez-le à démarrer au démarrage du système en utilisant :
## systemctl restart mariadb ## systemctl status mariadb ## systemctl enable mariadb
4. Exécuter le script de post-installation de MySQL
Enfin, vous pouvez exécuter le mysql_secure_installation
script de post-installation pour terminer la configuration de MariaDB. Par exemple :
## mysql_secure_installation Enter current password for root (enter for none): ENTER Set root password? [Y/n] Y Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
5. Installer Apache
OK jusqu'ici tout va bien. Ensuite, procédez à l'installation d'Apache, OpenSSL et mod_ssl en utilisant yum
comme dans :
## yum install httpd openssl mod_ssl
6. Redémarrez et configurez Apache
Redémarrez Apache et ajoutez-le pour qu'il démarre automatiquement au démarrage de votre système en utilisant :
## systemctl restart httpd ## systemctl status httpd ## systemctl enable httpd
Testez la configuration en ouvrant par exemple http://YOUR_SERVER_IP/ dans votre navigateur préféré. Vous devriez voir la page Apache par défaut, par exemple :
Super. Maintenant, configurons quelques options Apache supplémentaires , par exemple, cachez son numéro de version, sa bannière etc… en ajoutant ce qui suit à /etc/httpd/conf.d/options.conf
## vim /etc/httpd/conf.d/options.conf TraceEnable off ## Disable Signature ServerSignature Off ## Disable Banner ServerTokens Prod
Testez le fichier de configuration Apache et redémarrez le serveur Web pour que les modifications prennent effet :
## apachectl configtest ## systemctl restart httpd ## systemctl status httpd
7. Installer PHP
Afin de pouvoir exécuter des applications Web basées sur PHP, nous devons ajouter le support PHP au serveur Web Apache , alors installons quelques packages requis avec yum
:
## yum install php php-mysql
vous pouvez également installer d'autres extensions PHP requises par vos applications. Voici la liste :
php-bcmath : A module for PHP applications for using the bcmath library php-cli : Command-line interface for PHP php-common : Common files for PHP php-dba : A database abstraction layer module for PHP applications php-devel : Files needed for building PHP extensions php-embedded : PHP library for embedding in applications php-enchant : Enchant spelling extension for PHP applications php-fpm : PHP FastCGI Process Manager php-gd : A module for PHP applications for using the gd graphics library php-intl : Internationalization extension for PHP applications php-ldap : A module for PHP applications that use LDAP php-mbstring : A module for PHP applications which need multi-byte string handling php-mysql : A module for PHP applications that use MySQL databases php-mysqlnd : A module for PHP applications that use MySQL databases php-odbc : A module for PHP applications that use ODBC databases php-pdo : A database access abstraction module for PHP applications php-pear.noarch : PHP Extension and Application Repository framework php-pecl-memcache : Extension to work with the Memcached caching daemon php-pgsql : A PostgreSQL database module for PHP php-process : Modules for PHP script using system process interfaces php-pspell : A module for PHP applications for using pspell interfaces php-recode : A module for PHP applications for using the recode library php-snmp : A module for PHP applications that query SNMP-managed devices php-soap : A module for PHP applications that use the SOAP protocol php-xml : A module for PHP applications which use XML php-xmlrpc : A module for PHP applications which use the XML-RPC protocol
8. Configurer PHP
OK, continuons avec la configuration PHP. Modifier /etc/php.ini
et définissez ce qui suit :
## vim /etc/php.ini date.timezone = America/New_York memory_limit = 64M expose_php = Off
redémarrer Apache en utilisant systemctl
pour que les modifications prennent effet :
## systemctl restart httpd ## systemctl status httpd
Testez si le module PHP est chargé dans Apache en utilisant :
## httpd -M | grep php also ## php -v
Vous pouvez créer un test info.php
script également en utilisant la commande suivante :
## echo -e "<?php\n\tphpinfo();" > /var/www/html/info.php
et accédez-y avec la commande suivante :
## curl -I $(curl -s icanhazip.com)/info.php
9. Configurer les hôtes virtuels Apache
Maintenant, vous devrez configurer les directives d'hôte virtuel Apache, pour pouvoir héberger plusieurs domaines, même ceux alimentés par SSL en utilisant une seule adresse IP. Alors, créez /etc/httpd/conf.d/vhosts.conf
et ajoutez ce qui suit :
## cat /etc/httpd/conf.d/vhosts.conf # Load my vhosts IncludeOptional vhosts.d/*.conf
Cela indique à Apache de charger les fichiers de configuration se terminant par .conf
qui résident dans /etc/httpd/vhosts.d
. Comme vous pouvez le deviner, c'est l'endroit où nous plaçons nos hôtes virtuels, alors configurons-en un pour domain1.com
et un autre pour domain2.net
VHOST pour domaine1.com
## cat /etc/httpd/vhosts.d/domain1.com.conf <VirtualHost YOUR_SERVER_IP:80> ServerAdmin [email protected] DocumentRoot "/var/www/html/domain1.com" ServerName domain1.com ServerAlias www.domain1.com ErrorLog "/var/log/httpd/domain1.com-error_log" CustomLog "/var/log/httpd/domain1.com-access_log" combined <Directory "/var/www/html/domain1.com/"> DirectoryIndex index.html index.php Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
VHOST pour domaine2.net
## cat /etc/httpd/vhosts.d/domain2.net.conf <VirtualHost YOUR_SERVER_IP:80> ServerAdmin [email protected] DocumentRoot "/var/www/html/domain2.net" ServerName domain2.net ServerAlias www.domain2.net ErrorLog "/var/log/httpd/domain2.net-error_log" CustomLog "/var/log/httpd/domain2.net-access_log" combined <Directory "/var/www/html/domain2.net/"> DirectoryIndex index.html index.php Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
10. Redémarrez le serveur Apache
Enfin, redémarrez Apache pour que les modifications prennent effet :
## apachectl configtest ## systemctl restart httpd ## systemctl status httpd
Bien sûr, vous n'êtes pas obligé d'installer LAMP sur CentOS 7, si vous utilisez l'un de nos forfaits d'hébergement CentOS 7, auquel cas vous pouvez simplement demander à nos administrateurs experts Linux d'installer LAMP sur CentOS 7 pour vous. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande.
PS. Si vous avez aimé cet article sur l'installation de LAMP sur CentOS 7, partagez-le avec vos amis sur les réseaux sociaux à l'aide des boutons à gauche ou laissez simplement une réponse ci-dessous. Merci.