Aller au contenu

Installer et configurer son serveur LAMP


Soulalex
 Share

Recommended Posts

7971-WqucxjMRZrwjmPXj-s-.png

 

Tout d'abord vous devez posséder un distribution de Linux. Par ailleurs, les scripts contenus dans ce tutoriel sont compatibles avec Debian et ses dérivés.
 

Installation d'un serveur web avec PHP :



Le script ci-dessous va vous installer un serveur web avec PHP :
#!/bin/sh

#Installation d'Apache2 et de PHP5
sudo apt-get update
sudo apt-get install apache2
sudo apt-get install php5 libapache2-mod-php5

#On redémarre Apache2
sudo /etc/init.d/apache2 restart

A cette étape, quand vous allez sur votre site vous devriez voir une page blanche ou non apparaitre. Vous pouvez désormais modifier votre site web contenu dans le dossier /var/www/ à votre guise.

 

Optimiser son site avec une base de données :



Si vous avez besoin d'une base de données, vous pouvez installer MySQL :
sudo apt-get install mysql-server

Pour pouvoir accéder à vos bases de données depuis un autre ordinateur, vous devez modifier la variable bind-address dans le fichier /etc/mysql/my.cnf par l'IP de votre machine.
Pour plus de sécurité, il est vivement recommandé de définir un mot de passe à l'utilisateur root. Dans votre terminal, exécutez la commande suivante :

mysql -u root

Vous entrez dans la console de votre serveur MySQL et tapez la commande suivante :

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');

 
Ceci étant fait, il nous maintenant configurer Apache2 et PHP pour qu'ils puissent utiliser le serveur MySQL.Exécutez donc la commande suivante :

sudo apt-get install libapache2-mod-auth-mysql php5-mysql

Puis dans le fichier /etc/php5/apache2/php.ini, changez la ligne ";extension=mysql.so" par "extension=mysql.so".
Ensuite, redémarrez votre serveur Apache2.

 

Le firewall :


On va maintenant protéger notre serveur avec iptables. Installez donc ce paquet avec la commande suivante :

sudo apt-get install iptables

Pour gagner du temps, je vais vous fournir un petit script qui va bloquer tous les paquets entrant (sauf ceux qu'on aura ajouter à notre liste blanche) que vous devrez placer dans le fichier /etc/init.d/firewall :

#!/bin/sh 

# Réinitialise les règles
sudo iptables -t filter -F
sudo iptables -t filter -X

# Controle du trafic 
sudo iptables -t filter -P INPUT DROP
sudo iptables -t filter -P FORWARD ACCEPT
sudo iptables -t filter -P OUTPUT ACCEPT

# Autorise les connexions déjà établies et localhost
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -t filter -A INPUT -i lo -j ACCEPT
sudo iptables -t filter -A OUTPUT -o lo -j ACCEPT

# ICMP (Ping)
sudo iptables -t filter -A INPUT -p icmp -j ACCEPT

# SSH
sudo iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT

# HTTP / HTTPS
sudo iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT

# MySQL (Attention a bien gérer vos acces)
sudo iptables -t filter -A INPUT -p tcp --dport 3306 -j ACCEPT

Rendez ce script exécutable :

sudo chmod +x /etc/init.d/firewall

Puis indiquer à votre machine de l'utiliser au démarrage :

sudo update-rc.d firewall defaults

Plus d'informations sur iptables sur la doc ubuntu.

  • Upvote 2
Lien vers le commentaire
Partager sur d’autres sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invité
Répondre à ce sujet…

×   Vous avez collé du contenu avec mise en forme.   Supprimer la mise en forme

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Chargement
 Share

×
×
  • Créer...