Préambule
- Tout au long du tutoriel est utilisé un sous-réseau de 6 hôtes
- Le masque de sous-réseau est donc 255.255.255.248
> x.x.x.0 correspond à l'adresse réseau
> x.x.x.1 correspond à l'adresse de la vm-gateway
> x.x.x.2 correspond à l'adresse de la vm-dns
> x.x.x.3 correspond à l'adresse de la vm-dhcp
> x.x.x.4 correspond à l'adresse de la vm-serveur
> x.x.x.4 correspond à l'adresse de la vm-client1
> x.x.x.5 correspond à l'adresse de la vm-client2 (ou est libre)
> x.x.x.7 correspond à l'adresse broadcast
Ci-dessous figurent quelques conseils qui peuvent être utiles ! :P
- Utiliser de préférence "adduser" au lieu de "useradd" (plus simple à utiliser)
- Lorsqu'il faut redémarrer le service "networking", taper les DEUX commandes (et pas seulement l'une des 2) suivantes :
systemctl restart networking
/etc/init.d/networking restart
Configurer vm-dhcp
0) Configurer la carte réseau
- Réseau 1 : réseau interne
La vm-gateway doit être lancée
1) Installation & Initialisation
- Taper la commande suivante (il y a des erreurs qui vont s'afficher, c'est normal, ne paniquez pas) :
apt-get install isc-dhcp-server
- Faire une copie du fichier de configuration (au cas où)
cp /etc/dhcp/dhcpd.conf ~/
- Vider le fichier de configuration
cat /dev/null > /etc/dhcp/dhcpd.conf
2) Configuration
- Ouvrir le fichier de configuration
/etc/dhcp/dhcpd.conf
- Remplir le fichier ainsi :
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
option domain-name-servers 163.5.42.40, 163.5.42.41;
option domain-name "debian-dhcp";
authorative;
log-facility local7;
subnet 192.168.0.0 netmask 255.255.255.248 {
range 192.168.0.5 192.168.0.6;
option subnet-mask 255.255.255.248;
option domain-name-servers 163.5.42.40, 163.5.42.41;
option domain-name "debian-dhcp";
option routers 192.168.0.1;
get-lease-hostnames true;
use-host-decl-names true;
default-lease-time 600;
max-lease-time 7200;
}
À la ligne "range", renseigner la première adresse IP puis la dernière adresse IP de la plage d'IP disponibles
À la ligne "option domain-name-servers", remplacez les deux adresses IP par celles présentes dans le fichier "/etc/resolv.conf"
À la ligne "option domain-name", remplacez le nom par celui présent dans le fichier "/etc/hostname"
À la ligne "option routers", remplacez l'IP par celle de sa vm-gateway
- Ouvrir le fichier suivant
/etc/default/isc-dhcp-server
- Trouver la ligne suivante (normalement l'avant-dernière, si elle n'existe pas créez-la) :
INTERFACESv4=""
- Renseigner entre les guillemets le nom de l'interface de sa machine (enp0s3 si Debian 9, eth0 sinon)
INTERFACESv4="enp0s3"
3) Redémarrage
- Redémarrer le service suivant :
systemctl restart isc-dhcp-server
systemctl status isc-dhcp-server
S'il y a des erreurs, recommencer cette partie
4) Vérification
Reconfigurer la vm-client (voir partie correspondante).
Configurer la vm-serveur
La partie de la configuration de l'interface réseau n'a pas été écrite ici, vu que c'est toujours la même chose.
I) Apache
sudo apt install apache2
http://httpd.apache.org/docs/2.4/install.html
II) MySQL
sudo apt-get install mysql
sudo apt-get install mysql-server
III) PHP
sudo apt-get install "*php7.0*"
IV) phpMyAdmin
apt-get install phpmyadmin
- Sur la fenêtre de configuration qui s'affiche, sélectionner avec le bouton "Espace" apache2, puis valider avec "Entrée"
- Valider à chaque fois, jusqu'à arriver à la fenêtre de configuration du mot de passe
- Taper un mot de passe, et le retenir (bien sûr)
- phpMyAdmin est normalement accessible via http://mon-adresse-ip/phpmyadmin
Si une étape de la configuration de phpMyAdmin a été loupée, taper "sudo dpkg-reconfigure phpmyadmin"
- Ouvrir le fichier /etc/apache2/apache2.conf avec les droits root :
/etc/apache2/apache2.conf
- Ajouter cette ligne à la fin du fichier :
Include /etc/phpmyadmin/apache.conf
- Redémarrer ensuite le serveur Apache
sudo /etc/init.d/apache2 restart
V) Userdir
apt-get install userdir*
sudo a2enmod userdir && /etc/init.d/apache2 reload
- Editer le fichier suivant :
/etc/apache2/mods-enabled/userdir.conf
- Remplacer son contenu par :
<IfModule mod_userdir.c>
UserDir public_html
UserDir disabled root
<Directory /home/*/public_html>
AllowOverride All
Options MultiViews Indexes SymLinksIfOwnerMatch
<Limit GET POST OPTIONS>
# Apache <= 2.2:
Order allow,deny
Allow from all
# Apache >= 2.4:
#Require all granted
</Limit>
<LimitExcept GET POST OPTIONS>
# Apache <= 2.2:
Order deny,allow
Deny from all
# Apache >= 2.4:
#Require all denied
</LimitExcept>
</Directory>
</IfModule>
- Redémarrer le serveur Apache
sudo service apache2 restart
- Créer un dossier un utilisateur
mkdir /home/$USER/public_html
Remplacer $USER par le nom d'un utilisateur existant, bien sûr
- Normalement, il est possible d'accéder aux fichiers se trouvant dans se dossier en tapant l'url suivante :
http://mon-adresse-ip/~$USER/
Là aussi, remplacer $USER par le nom d'un utilisateur existant, cela va de soi :P
- Pour créer un répertoire "public_html" à chaque création de nouvel utilisateur
mkdir /etc/skel/public_html
VI) Création du site internet
- Pour créer le site intra.asr.lan
- Depuis la machine Serveur, taper
cd /etc/apache2/sites-available/
- Copier un exemple de fichier de configuration de site
cp 000-default.conf intra.asr.lan.conf
- Créer et ouvrir le fichier suivant :
intra.asr.lan.conf
- Ajouter les lignes suivantes :
ServerName intra.asr.lan
DocumentRoot /var/www/intra-asr
a2ensite intra.asr.lan.conf
- Redémarrer le serveur Apache
systemctl apache2 restart
- Créer le dossier qui accueillera les fichiers du site :
cd /var/www/
mkdir intra-asr
- Ajouter un fichier "index.html" contenant un "Hello World"
echo "Hello World" > /var/www/intra-asr/index.html
- Ouvrir le fichier "/etc/hosts"
- Ajouter à la fin cette ligne :
192.168.x.x intra.asr.lan
Remplacer 192.168.x.x par l'adresse IP de sa machine serveur