-
Notifications
You must be signed in to change notification settings - Fork 0
Doc_WEB
├── 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
Pour cette section, nous allons suivre toutes les etapes pour rajouter un site web MonSite a la configuration existante.
- Il faut tout d'abord le code source du site, ici nus allons l'appeler MonSite.html.
- 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
- 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
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.
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.
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);
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;