Configurer Votre Serveur de Test LAMP : Un Guide Pratique

Si vous passez de Windows en utilisant XAMPP à une configuration plus proche d’un environnement serveur, configurer une pile LAMP (Linux, Apache, MySQL, PHP) sur Ubuntu peut rationaliser votre processus de développement. Ce guide est conçu pour vous aider à contourner certains obstacles courants et à vous assurer que vous disposez d’un serveur de test efficace qui reflète votre environnement de production.

Pourquoi Choisir LAMP ?

LAMP est une pile bien connue utilisée pour le développement web. Voici pourquoi cela vaut la peine :

  • Open Source : Tous les composants sont gratuits à utiliser.
  • Flexible : La pile prend en charge une multitude d’applications et de services.
  • Support Communautaire : Une documentation extensive est disponible pour aider à résoudre les problèmes potentiels.

Maintenant, passons au processus de configuration étape par étape.

Configurer Votre Serveur de Test LAMP

Étape 1 : Installer les Packages Nécessaires

Commencez par mettre à jour votre gestionnaire de paquets et installer les applications nécessaires. Voici un script complet pour configurer votre environnement :

apt-get -yq update
apt-get -yq upgrade
apt-get -yq install sudo
apt-get -yq install gcc g++ make apache2 php5 php5-curl php5-mysql php5-gd mysql-common mysql-client mysql-server phpmyadmin samba

Étape 2 : Configurer Samba

Pour activer l’accès aux répertoires partagés, configurez Samba. Créez un fichier de configuration Samba avec le contenu suivant :

echo '[global]
   workgroup = workgroup
   server string = %h server
   dns proxy = no
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   encrypt passwords = true
   passdb backend = tdbsam
   obey pam restrictions = yes
   ;invalid users = root
   unix password sync = no
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* .
   socket options = TCP_NODELAY
[homes]
   comment = Répertoires personnels
   browseable = no
   writable = no
   create mask = 0700
   directory mask = 0700
   valid users = %S
[www]
   comment = WWW
   writable = yes
   locking = no
   path = /var/www
   public = yes' > /etc/samba/smb.conf

Étape 3 : Configurer les Hôtes Virtuels Apache

Vous devez définir vos hôtes virtuels Apache. Remplacez le fichier de configuration par défaut par :

echo 'NameVirtualHost *
<VirtualHost *>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
        ErrorLog /var/log/apache2/error.log
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined
        ServerSignature On
</VirtualHost>' > /etc/apache2/sites-enabled/000-default

Étape 4 : Redémarrer les Services

Après avoir effectué vos changements de configuration, redémarrez Apache et Samba :

/etc/init.d/apache2 stop
/etc/init.d/samba stop
/etc/init.d/apache2 start
/etc/init.d/samba start

Étape 5 : Sécuriser MySQL

Pour sécuriser votre installation de MySQL, exécutez les commandes suivantes pour définir votre mot de passe root :

/etc/init.d/mysql stop
echo "UPDATE mysql.user SET Password=PASSWORD('MySQLPassword') WHERE User='root'; FLUSH PRIVILEGES;" > /root/MySQLPassword
mysqld_safe --init-file=/root/MySQLPassword &
sleep 1
/etc/init.d/mysql stop
sleep 1
/etc/init.d/mysql start

Étape 6 : Automatiser avec un Script

Si vous vous retrouvez souvent à réinstaller, simplifiez le processus en enregistrant vos commandes d’installation dans un fichier script nommé install :

chmod +x install
./install

Conclusion

Votre serveur de test LAMP est désormais prêt à vous aider à reproduire un environnement semblable à la production directement sur Ubuntu ! Avec un serveur bien configuré, vous améliorerez votre flux de travail de développement et passerez moins de temps à rencontrer des problèmes.

Pour des configurations supplémentaires, consultez toujours la documentation officielle ou explorez les forums communautaires.

Bonne programmation !