Installer et configurer son serveur LAMP
-
<p style="text-align:center;"><img alt="7971-WqucxjMRZrwjmPXj-s-.png" src="<base_url>/applications/sslimageproxy/interface/image.php?url=http://static.commentcamarche.net/www.commentcamarche.net/faq/images/7971-WqucxjMRZrwjmPXj-s-.png"/></p>
<p> </p>
<p>Tout d'abord vous devez <strong>posséder un distribution de Linux</strong>. Par ailleurs, les <strong>scripts </strong>contenus dans ce tutoriel sont <strong>compatibles avec Debian et ses dérivés</strong>.<br/>
</p>
<p><span style="font-size:18px;"><strong>Installation d'un serveur web avec PHP :</strong></span><br/></p><hr/><br/>
Le script ci-dessous va vous installer un serveur web avec PHP :
<pre class="ipsCode prettyprint lang-auto linenums:0">
#!/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</pre>
<p>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 <strong>/var/www/</strong> à votre guise.</p>
<p> </p>
<p><span style="font-size:18px;"><strong>Optimiser son site avec une base de données :</strong></span><br/></p><hr/><br/>
Si vous avez besoin d'une base de données, vous pouvez installer MySQL :
<pre class="ipsCode prettyprint lang-auto linenums:0">
sudo apt-get install mysql-server
</pre>
<p>Pour pouvoir accéder à vos bases de données depuis un autre ordinateur, vous devez <strong>modifier la variable bind-address dans le fichier /etc/mysql/my.cnf par l'IP de votre machine</strong>.<br/>
Pour plus de sécurité, il est vivement recommandé de <strong>définir un mot de passe à l'utilisateur root</strong>. Dans votre terminal, exécutez la commande suivante :</p>
<pre class="ipsCode prettyprint lang-auto linenums:0">
mysql -u root
</pre>
<p>Vous entrez dans la console de votre serveur MySQL et tapez la commande suivante :</p>
<pre class="ipsCode prettyprint lang-auto linenums:0">
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');
</pre>
<p> <br/>
Ceci étant fait, il nous maintenant configurer Apache2 et PHP pour qu'ils puissent utiliser le serveur MySQL.Exécutez donc la commande suivante :</p>
<pre class="ipsCode prettyprint lang-auto linenums:0">
sudo apt-get install libapache2-mod-auth-mysql php5-mysql
</pre>
<p>Puis dans le fichier <strong>/etc/php5/apache2/php.ini</strong>, changez la ligne <strong>";extension=mysql.so"</strong> par <strong>"extension=mysql.so"</strong>.<br/>
Ensuite, redémarrez votre serveur Apache2.</p>
<p> </p>
<p><span style="font-size:18px;"><strong>Le firewall :</strong></span><br/></p><hr/><p>On va maintenant protéger notre serveur avec iptables. Installez donc ce paquet avec la commande suivante :</p>
<pre class="ipsCode prettyprint">
sudo apt-get install iptables
</pre>
<p>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 <strong>/etc/init.d/firewall</strong> :</p>
<pre class="ipsCode prettyprint">
#!/bin/shRéinitialise les règles
sudo iptables -t filter -F
sudo iptables -t filter -XControle du trafic
sudo iptables -t filter -P INPUT DROP
sudo iptables -t filter -P FORWARD ACCEPT
sudo iptables -t filter -P OUTPUT ACCEPTAutorise 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 ACCEPTICMP (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 ACCEPTMySQL (Attention a bien gérer vos acces)
sudo iptables -t filter -A INPUT -p tcp --dport 3306 -j ACCEPT
</pre>
<p>Rendez ce script exécutable :</p>
<pre class="ipsCode prettyprint">
sudo chmod +x /etc/init.d/firewall
</pre>
<p>Puis indiquer à votre machine de l'utiliser au démarrage :</p>
<pre class="ipsCode prettyprint">
sudo update-rc.d firewall defaults
</pre>
<p><a data-ipb="nomediaparse" href="http://doc.ubuntu-fr.org/iptables" rel="external nofollow">Plus d'informations sur iptables sur la doc ubuntu</a>.</p>
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login
</p>