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" :
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.
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
Modifiez ensuite les informations suivantes dans le fichier "/etc/php5/apache2/php.ini" comme ceci :
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 = Off # magic_quotes_gpc permet de "protéger" les données "GET", "POST", ... en ajoutant des / devant les ' # Il est recommandé de la désactiver et de protéger son code PHP correctement. D'ailleurs cette fonctionnalité set dépréciée depuis la version "5.3.0" de PHP et disparaitra à partir de 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/my.cnf" comme ceci :
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 :
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.
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.
Pour terminer, 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.d/phpmyadmin.conf" comme ceci :
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
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