Skip to content

Instantly share code, notes, and snippets.

@PaulMorel
Last active April 8, 2016 14:54
Show Gist options
  • Save PaulMorel/e8257c86e0cea06f3e1764cfc886f3e1 to your computer and use it in GitHub Desktop.
Save PaulMorel/e8257c86e0cea06f3e1764cfc886f3e1 to your computer and use it in GitHub Desktop.
Configuration d’un serveur local sur Linux avec Apache, PHP, MySQL et Samba

Configuration d’un serveur local sur Linux

Avec Ubuntu 14.04 LTS x64, Apache, PHP5, MySQL et Samba

Introduction

Un "LAMP stack" est un groupe de logiciels source-libre qui permettent le opération d'un serveur d'hébergement. Le terme est un acronyme pour Linux, Apache, MySQL et PHP.

Ce guide aidera dans l'installation de ces technologies sur Ubuntu 14.04 et l'installation des logiciels connexes.

Préalables

Ce guide assume que l’on possède déjà un disque contenant Ubuntu 14.04.4 LTS x64, une partition de disque dur réservée pour l’installation du système d’exploitation et une conaissance de base de l'utilisation d'une console. Don't panic.

Mises à jour du système

Considérant que Ubuntu 14.04.4 LTS date de 2014, une nouvelle installation possède plusieurs mises à jours. Commencez par ajouter le dépôt universe :

sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"

Ensuite, procédez par la mise à jour des listes et logiciels :

sudo apt-get update && sudo apt-get upgrade

Pour pouvoir modifier des fichiers protégés avec des logiciels avec une interface graphique, on doit installer gksu :

sudo apt-get install gksu

Changement du hostname

Par défaut, le serveur Ubuntu possède ubuntu comme hostname. Pour personaliser cette variable, on doit remplacer ubuntu des fichiers /etc/hostname et /etc/hosts :

gksu gedit /etc/hostname
gksu gedit /etc/hosts

Ensuite, pour que les changements prennent effet, redémarrez le service hostname :

sudo service hostname restart

Vérifiez que les changements ont étés apportés :

hostname

Configuration d'un pare-feu de base

Pour assurer la sécurité du serveur, on doit activer le pare-feu. ufw (Uncomplicated Firewall) est un pare-feu est intégré à Ubuntu Desktop. Par défaut, il est désactivé. En son activation, ufw bloque toutes les connexions entrantes. Pour pouvoir accèder le serveur via un autre poste sur le même réseau, faudra permettre les connetions provenant de ces adresses IP :

sudo ufw allow from 192.168.1.0/24
sudo ufw allow from 127.0.0.1

Ensite, activez le pare-feu :

sudo ufw enable

Vérifiez que les changements ont étés apportés :

sudo ufw status

Installation d'Apache

Apache est le logiciel serveur qui sert les requetes HTTP et interprete les langages Perl, PHP, Python et Ruby, la réécriture d'URL, etc. Son installation est simple :

sudo apt-get install apache2

Ensuite, pour tester si l'installation de Apache a fonctionner, naviguez dans un fureteur sur l'address IP du serveur ou avec le hostname.local. Pour trouver l'addresse IP du serveur, tapez :

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

Dans votre fureteur vous devriez voir la page par défaut d'Apache.

Configuration d'Apache

Pour faire fonctionner les permaliens dans la majorité des CMS, il faut activer le module d'Apache mod_rewrite :

sudo a2enmod rewrite

De plus, si on veut utiliser les fichiers .htaccess, il faut permettre leur utilisation dans le fichier de configuration d'Apache :

gksu gedit /etc/apache2/apache2.conf

Scroll down to

Change

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

To

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

Restart Apache

sudo service apache2 restart

Permissions

chown /var/www

Installation de mySQL

sudo apt-get install mysql-server

Configuration de mySQL

sudo mysql_install_db
sudo mysql_secure_installation

set a password

Installation de PHP

sudo apt-get install php5 libapache2-mod-php5 php5-mysql php5-mcrypt php5-cli php5-curl php5-gd php5-imagick

Configuration de PHP

gksu gedit /etc/php5/apache2/php.ini
upload_max_filesize = 32M
sudo service apache2 restart

phpmyadmin

Install, press space on Apache

Misc

sudo apt-get install language-pack-fr

Installation et configuration de Samba

Samba est un logiciel qui permet à des ordinateurs Unix de mettre à disposition des imprimantes et des fichiers dans des réseaux Windows. Bref, créer des dossiers partagés. Installez Samba:

sudo apt-get install samba

Le fichier de configuration principal de Samba se retrouve dans /etc/samba/smb.conf. Pour modifier ce fichier, nous avons besoin des permissions élevées.

gksu gedit /etc/samba/smb.conf

Securité

Pour sécuriser le serveur local, on peut bloquer tous les connections des IP autres que locaux. Insérez ceci sous la section Networking

hosts allow = 127.0.0.1 192.168.0.0/24 # Local IP
hosts deny = 0.0.0.0/0 # Everything Else

Création du dossier partagé

Apache se sert du dossier /var/www/html/ pour servir du contenu. C’est ce dossier que l’on va partager dans le réseau.

Vers la fin du fichier de configuration on retrouve les partages de Samba. Les partages de Samba sont nommés entre crochets ( [ ] ), et sont configurés en ajoutant des options sur les lignes suivantes. La majorité des options sont bouléennes. ( yes / no ). Voici une configuration qui fonctionne:

[Webdev Server]
   comment = Samba on Ubuntu 14.04.4 LTS Desktop x64
   path = /var/www/html
   available = yes
   security = share
   public = yes
   guest ok = yes
   read only = no
   guest only = yes
   browseable = yes
   create mask = 0644
   directory mask = 0755
   force user = www-data
   force group = www-data

Ensuite sauvegarder le fichier.

Redémarrer Samba

Pour que les changements prennent effet, on doit redémarrer Samba:

sudo service samba restart

Optionnel : Installation de OpenSSH Server

Si l'on veut pouvoir administrer le serveur à distance, on peut installer OpenSSH Server pour avoir accès à la console à distance.

sudo apt-get openssh

Further Reading

https://help.ubuntu.com/community/UFW https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-14-04 https://help.ubuntu.com/community/SSH/OpenSSH/Configuring

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment