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 !