Dans ce tutoriel, nous allons installer un serveur de développement web complet comprenant :
Commençons par installer le serveur web Apache.
Bash
apt-get install apache2
Une fois le serveur installé, nous allons empêcher l'affichage des informations concernant le serveur, affichées (par exemple) lors d'une erreur 404 :
Apache/x.x.xx (Ubuntu) Server at 192.168.1.xx Port 80
Pour cela, ajoutez les lignes suivantes en bas du fichier "/etc/apache2/apache2.conf".
Bash
vi /etc/apache2/apache2.conf
Apache
# Empêche l'affichage des informations du serveur ServerSignature Off ServerTokens Prod
Vous pouvez ensuite donner un nom à votre serveur Apache en ajoutant la ligne ci-dessous.
Apache
# Nom du serveur ServerName www.mon_domaine.com
Redémarrez ensuite la configuration d'apache pour prendre en compte les changements :
Bash
/etc/init.d/apache2 reload
Installez ensuite le module "PHP" pour pouvoir créer des sites dynamiques.
Note : PHP sera automatiquement lié à votre serveur web Apache.
Attention : PHP5 n'est plus disponible à l'heure actuelle, la commande ci-dessous ne fonctionne donc plus.
Bash
apt-get install libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-json php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
Important : pour installer la dernière version disponible pour php, ainsi que les extensions courantes (Curl, GD, MySQL, ...), utilisez la commande ci-dessous.
Bash
apt-get install libapache2-mod-php php php-common php-curl php-dev php-gd php-pear php-imagick php-imap php-json php-memcache php-mysql php-ps php-pspell php-snmp php-tidy php-xmlrpc php-xml
Modifiez ensuite les informations suivantes dans le fichier "/etc/php/8.1/apache2/php.ini" comme ci-dessous.
Note : le chemin du fichier "php.ini" varie en fonction des versions de PHP.
Bash
vi /etc/php/8.1/apache2/php.ini
PHP
# Variable super globale (à désactiver pour des raisons de sécurité) register_globals = Off # Cache php (masque les informations concernant PHP du header du serveur web). # Etant donné que les pirates ne sauront pas la version de php utilisée sur le serveur, vous serez plus protéger contre les attaques. expose_php = Off # La directive "display_errors" permet d'afficher les erreurs produites par PHP. # A activer lors du développement d'un site web mais à désactiver lors de la mise en production de celui-ci pour éviter que les pirates ne tombent sur des informations "sensibles". display_errors = On # short_open_tag permet d'utiliser les tags court <? ?> à la place des <?php ?> short_open_tag = On # magic_quotes_gpc permet de "protéger" les données "GET", "POST", ... en ajoutant des / devant les ' # Avant PHP 5.4, il est recommandé de la désactiver et de protéger son code PHP correctement. D'ailleurs cette fonctionnalité n'existe plus depuis la version "5.4.0". magic_quotes_gpc = Off # Permet de définir une liste de fonctions dangereuses à désactiver sur votre serveur. Vous remarquerez d'ailleurs qu'une liste de fonctions "pcntl_" est déjà renseignée dans la dernière version de PHP5. Dans ce cas, ajoutez simplement celles-ci à la liste. disable_functions = symlink,shell_exec,exec,proc_close,proc_open,popen,system,dl,passthru,escapeshellarg,escapeshellcmd
Redémarrez ensuite la configuration d'apache pour prendre en compte les changements.
Note : PHP est un module qui est lié au serveur web Apache C'est donc ce serveur web qu'il faut redémarrer.
Bash
/etc/init.d/apache2 reload
Installez maintenant le serveur de base de données MySQL.
Bash
apt-get install mysql-server mysql-client mysql-common
Modifiez ensuite le fichier "/etc/mysql/conf.d/mysql.cnf" comme ci-dessous.
Bash
vim /etc/mysql/conf.d/mysql.cnf
Plain Text
[mysqld] # Configure le serveur pour fonctionner par défaut avec l'UTF8. # Ainsi lors de la création d'une base de données via phpMyAdmin (par exemple), # l'interclassement sera automatiquement défini sur "utf8_general_ci". character-set-server=utf8 collation-server=utf8_general_ci
Redémarrez ensuite la configuration de MySQL pour prendre en compte les changements :
Bash
/etc/init.d/mysql reload
Sécurisez ensuite votre serveur MySQL en utilisant la commande ci-dessous.
Attention : MySQL utilise maintenant le compte "root" de votre distribution Linux au lieu du compte "root" interne à MySQL.
Le changement du mot de passe du compte "root" interne à MySQL n'est donc plus possible via la commande ci-dessous.
Pour activer le compte "root" d'Ubuntu ou changer son mot de passe, référez-vous à notre tutoriel : Activer le compte root sous Ubuntu.
Bash
mysql_secure_installation
Les questions suivantes vous seront posées :
Bash
# Le mot de passe de l'utilisateur root de MySQL Enter current password for root : **** # Inutile de changer le mot de passe vu que l'on vient de le configurer Change the root password? : n # Pour finir, répondez oui (Y) pour le reste des questions en appuyant sur la touche "Enter" (étant donné que le choix par défaut est Y (oui)). # Supprime les utilisateurs anonymes Remove anonymous users? : y # Désactive l'accès root au serveur MySQL pour des raisons de sécurité évidentes Disallow root login remotely? : y # Supprime la base de donnée "test" créée à l'installation et qui est accessible par défaut par tout le monde. Remove test database and access to it? : y # Mise à jour des droits du serveur (notamment pour prendre en compte le nouveau mot de passe root si vous l'avez modifié) Reload privilege tables now? : y # Votre serveur MySQL est maintenant sécurisé All done! If you've completed all of the above steps, your MySQL installation should now be secure.
Installez maintenant l'outil de gestion de base de données mondialement connu écrit en PHP : phpMyAdmin
Bash
apt-get install phpmyadmin
Lors de l'installation de phpMyAdmin, une fenêtre s'affichera pour que vous puissiez sélectionner sur quel serveur web phpMyAdmin sera installé. Cochez la case "apache2" en appuyant sur la barre espace puis appuyez sur "Enter" pour valider.
Note : Si vous validez le choix sans avoir coché la case, il vous suffira de taper la commande "dpkg-reconfigure phpmyadmin" pour relancer la configuration de ce paquet.
Important : assurez-vous de cocher la case "apache2" en appuyant sur la barre d'espace avant de passer à l'étape suivante.
Répondez ensuite "Oui" à la question : "Faut-il configurer la base de données de phpmyadmin avec dbconfig-common".
Puis, tapez le mot de passe du serveur Mysql (mot de passe de l'administrateur de la base de données) lorsque l'assistant vous le demandera.
Et enfin, indiquez un mot de passe (2x) pour le compte phpmyadmin qui sera automatiquement créé sur le serveur MySQL.
Vous pouvez encore sécuriser un peu plus votre phpmyadmin, en modifiant son alias dans le dossier des configurations d'apache.
Pour cela, modifiez le fichier "/etc/apache2/conf-available/phpmyadmin.conf" comme ci-dessous.
Apache
# Adresse du php my admin (choisissez une adresse perso pour que les pirates ne le trouve pas facilement) Alias /my_super_admin /usr/share/phpmyadmin
Rechargez la configuration du serveur web Apache pour prendre en compte la modification de cet alias en exécutant la commande ci-dessous.
Bash
/etc/init.d/apache2 reload
Linux 8/9/2016
Linux 24/7/2015
Linux 13/2/2014
Contenu épinglé
Contact
® InformatiWeb-Pro.net - InformatiWeb.net 2008-2022 - © Lionel Eppe - Tous droits réservés.
Toute reproduction totale ou partielle de ce site est interdite et constituerait une contrefaçon sanctionnée par les articles L.335-2 et suivants du Code de la propriété intellectuelle.
Vous devez être connecté pour pouvoir poster un commentaire