web-dev-qa-db-fra.com

Comment configurer et sécuriser correctement un serveur LAMP de production?

Il est très difficile de trouver des informations complètes sur ce sujet. Soit j'ai trouvé de courts tutoriels sur la procédure d'installation, aussi simples que "apt-get install Apache2", ou des tutoriels obsolètes. J'espérais donc pouvoir obtenir des informations professionnelles de la part de mes collègues de la communauté Ubuntu: D

J'ai effectué une Ubuntu Server 11.04 normale avec LAMP, SAMBA et SSH installés via l'installation du système. Toutefois, je ne parviens pas à configurer des hôtes virtuels et à sécuriser suffisamment le système pour exposer le serveur au Web.

J'ai un peu suivi ce tutoriel jusqu'à présent.

J'ai 3 sites dans /etc/Apache2/sites-available qui ressemblent tous à ceci à l'exception de différents noms de sites:

<VirtualHost example.com>
   ServerAdmin webmaster@localhost
   ServerAlias www.edunder.se
   DocumentRoot /var/www/sites/example
   CustomLog /var/log/Apache2/www.example.com-access.log combined
</VirtualHost>

Et je les ai activés avec la commande a2ensite donc j'ai des liens symboliques dans /etc/Apache2/sites-enabled .

Mon fichier /etc/hosts contient les lignes suivantes:

127.0.0.1 localhost
127.0.1.1 Ubuntu.lan Ubuntu
127.0.0.1 localhost.localdomain localhost example.com www.example.com
127.0.0.1 localhost.localdomain localhost example2.com www.example2.com
127.0.0.1 localhost.localdomain localhost example3.com www.example3.com

Et je ne peux accéder qu’à l’un d’eux à partir du navigateur (j’ai lynx installé sur le serveur à des fins de test), alors je suppose que je ne les ai pas encore définis. up correctement :)

Comment dois-je procéder pour obtenir une configuration sécurisée et appropriée? J'utilise aussi MySQL et je pense que ce tutoriel suffira à configurer SSH en toute sécurité. Aidez-moi à mieux comprendre la configuration d’Apache car je ne sais pas encore configurer mon propre serveur (je n’ai exécuté que XAMPP auparavant) et veuillez indiquer comment installer un pare-feu: D

8
Niklas

Vous devez dire à Apache qu'elle doit utiliser un hébergement virtuel basé sur un nom plutôt que sur un IP. Alors ajoutez ce qui suit à votre /etc/Apache2/Apache2.conf pour définir:

NameVirtualHost ip.address:port

Et chaque hôte virtuel devrait définir un port:

<VirtualHost example.com:80>
1
user8290

Je pense que vous devrez également ajouter vos adresses IP publiques si vous souhaitez que d'autres ordinateurs puissent se connecter. Pour le moment, seuls vos bouclages sont mentionnés dans/etc/hosts. Ils devraient également inclure d'autres adresses IP.

0