Skip to content

Doc_WEB

FirminMoyen edited this page Aug 25, 2022 · 7 revisions

Documentation pour le service Web

Organisation des fichiers de config :

├── Database
│   ├── db
│   │   └── db.sql
│   └── dockerfile
└── Web
    ├── certif
    ├── config_files
    │   ├── b2b.m1-8.ephec-ti.be.conf
    │   ├── default.conf
    │   └── www.m1-8.ephec-ti.be.conf
    ├── dockerfile
    └── sites
        ├── b2b
        │   └── index.php
        └── www
            └── index.html

/Web/certif contiens les clées crées pour le certificat ssl
/Web/config_files contiens les fichier de configuration pour les différents sites
/Web/Dockerfile est le fichier qui va fournir a Docker toutes les informations nécésaies pour créer l'immage
/Web/sites contiens le code source des sites

/Database/db contiens le fichier SQl de la db
/Database/dockerfile est le fichier qui va fournir a Docker toutes les informations nécésaies pour créer l'immage

Modification du service :

Pour cette section, nous allons suivre toutes les etapes pour rajouter un site web MonSite a la configuration existante.

  1. Il faut tout d'abord le code source du site, ici nus allons l'appeler MonSite.html.

  2. Ensuite, il faut créer le fichier de config de ce site, ici le fichier se présentera sous cette forme :
    MonSite.m1-8.ephec-ti.be.conf :
<VirtualHost *:80>
	ServerAdmin he201856@students.ephec.be
	ServerName MonSite.m1-8.ephec-ti.be
	Redirect permanent / https://MonSite.m1-8.ephec-ti.be  ==> redirect permanant vers https
</VirtualHost>

<VirtualHost *:443>
	ServerAdmin he201856@students.ephec.be
	ServerName MonSite.m1-8.ephec-ti.be
	DocumentRoot /var/www/MonSite.m1-8.ephec-ti.be/  ==> fichier du code source du site a servir
	
	SSLEngine on
	SSLCertificateFile /etc/ssl/certs/cert.pem   // ces trois lignes ne sont necesaires que si vous voulez utiliser le ssl
	SSLCertificateKeyFile /etc/ssl/certs/cert-key.pem
</VirtualHost>

Le virtual hosting permet a un meme server web de servir plusieurs pages/sites en les différentiant sur l'URL, sur l'adresse IP ou sur le port d'acces.

Autres commandes possibles :

  • ServerAdmin : L'administrateur de ce serveur
  • ServerName : Le nom de domaine
  • DocumentRoot : La racine du site, c'est là où tous les fichier concernant le site pointe.
  • Options FollowSymLinksAllowOverride all : avoir un lien symbolique dans votre racine Web pointant vers un autre fichier/répertoire.
  • AllowOverride all : L'administrateur de ce serveur
  • ErrorLog & CustomLog : Autoriser .htaccessles fichiers à remplacer tous les paramètres de configuration définis dans apache2.conf
  • Order allow,deny : Par défaut, l'accès à un répertoire est interdit.
  • allow from all : Autoriser les connexions depuis n'importe quel réseau.
  • ErrorLog et CustomLog : Affichage des Logs



3) Il faut ensuite copier le fichier de config dans le dossier sites-availabels de apache

COPY MonSite.m1-8.ephec-ti.be.conf /etc/apache2/sites-available



4) Il faut ensuite activer le site en envoyant le fichier de config vers le dossier sites-enabled :

RUN ln -s /etc/apache2/sites-available/MonSite.m1-8.ephec-ti.be.conf /etc/apache2/sites-enabled



  1. Il faut créer le repertoir 'MonSite.m1-8.ephec-ti.be' dans le repertoir /var/www/ de apache :
RUN mkdir /var/www/MonSite.m1-8.ephec-ti.be



6) Enfin, il faut copier le fichier du code sourve dans ce répertoir :

COPY MonSite.html /var/www/MonSite.m1-8.ephec-ti.be



Mise a jour :

Pour mettre a jour le server web, il faut utiliser la commande apt-get upgrade apache2

Puis relancer le service avec la commmande : service apache2 restart.

Troubleshooting et erreures communes :

Tout d'abord, pour troubleshooter le systeme, les logs sont accesibles dans le fichier /var/log/apache2.

Ensuite pour verifier le fichier de configurtion, on peut utiliser la commande apachectl configtest.

On peut egalement vérifier que le port 80 et 443 sont bien ouverts grace a netstat.

Pour finir, en cas de problemes de connections a la DB depuis le php, on peut rajouter des morceaux de code pour nous informer de l'etat des connections ou encore d'eventuelles erreures.

Documentation pour la DB :

Modification des données :

pour modifier les données, il faut modifier le fichier db.sql :

CREATE DATABASE DB_woody;

CREATE USER admin IDENTIFIED WITH mysql_native_password BY 'Password';

GRANT ALL PRIVILEGES ON DB_woody.* TO 'admin'@'%';

USE DB_woody;

CREATE TABLE `jouets` (
  `id_jouet` INTEGER NOT NULL AUTO_INCREMENT,
  `nom_jouet` CHAR(128) NOT NULL,             ==> changer la table et ses champs
  `prix_jouet` DECIMAL(8,2) NOT NULL,
  CONSTRAINT pk_jouets PRIMARY KEY(id_jouet)
);


INSERT INTO `jouets` (`nom_jouet`, `prix_jouet`) VALUES  
('Kapla', 59.95),
('Train', 17.99),       ==> rajouter des nouvellest informations
('Bilboquet', 9.90);



Verifier l'etat de la DB :

Depuis le shell du container, on peut lancer ces commandes pour verifier si la db tourne bien :

mysql -uroot -p
show databases;
use DB_woody;
show tables;
show columns from jouets;
select * from jouets;

Moyen Firmin

Clone this wiki locally