Skip to content

Config_WEB

FirminMoyen edited this page Aug 25, 2022 · 5 revisions

Etat de configuration du service Web :

Etapes a suivre pour la configuration du Serveur Web :

Tous les fichiers de configuration se trouvent dans le dossier "Web" du github.

Nous assumerons que le dossier "Web" se trouve sur le sever et que docker est installé.

1.) A l'interieur de répertoire "Web" nous pouvons lancer succesivement les 2 commandes :
docker build -t test_web . et docker run -d --name WEB -p 80:80 -p 443:443 -h m1-8.ephec-ti.be test_web:latest

Ce qui a pour effet de créer une immage Docker sur base du dockerfile présent dans le répertoire ete de la lancer.

présentation du dokerfile :

Ce fichier va expliquer a Docker comment construire son image.

FROM php:7.2-apache  ==> image de base du conteneur

RUN apt update -y && apt upgrade -y
RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli  ==> installaton de tous les outils necessaires 
RUN apt install openssl

COPY config_files/www.m1-8.ephec-ti.be.conf /etc/apache2/sites-available  ==> copie des fichiers de config au bon endroit dans le file systeme
COPY config_files/b2b.m1-8.ephec-ti.be.conf /etc/apache2/sites-available

RUN ln -s /etc/apache2/sites-available/www.m1-8.ephec-ti.be.conf /etc/apache2/sites-enabled  ==> fait le lien entre les sites available et enable 
RUN ln -s /etc/apache2/sites-available/b2b.m1-8.ephec-ti.be.conf /etc/apache2/sites-enabled

RUN mkdir /var/www/b2b.m1-8.ephec-ti.be  ==> cré les repertoires necessaires 
RUN mkdir /var/www/www.m1-8.ephec-ti.be

COPY /sites/www/index.html /var/www/www.m1-8.ephec-ti.be  ==> copie les code source des pages web
COPY /sites/b2b/index.php /var/www/b2b.m1-8.ephec-ti.be

COPY /certif/cert.pem /etc/ssl/certs/cert.pem            ==> copie le certificat SSL 
COPY /certif/cert-key.pem /etc/ssl/certs/cert-key.pem

RUN a2enmod ssl             ==> active SSL et relance le sevice Apache 
RUN service apache2 start

Présentation des fichiers du repertoire sites :

Ces fichiers sont simplement les codes source des pages qui vont etre servies par le serveur Web

Présentation des fichiers du repertoire "config_files" :

Ces fichiers permettent de configurer le virtual hosting

<VirtualHost *:80>
	ServerAdmin he201856@students.ephec.be
	ServerName b2b.m1-8.ephec-ti.be
	Redirect permanent / https://b2b.m1-8.ephec-ti.be  ==> redirection automatique en https
</VirtualHost>

<VirtualHost *:443>
	ServerAdmin he201856@students.ephec.be
	ServerName b2b.m1-8.ephec-ti.be
	DocumentRoot /var/www/b2b.m1-8.ephec-ti.be/   ==> emplacement de la page a servir 
	
	SSLEngine on
	SSLCertificateFile /etc/ssl/certs/cert.pem        ==> activation et emplacement des fichiers relatifs au ssl 
	SSLCertificateKeyFile /etc/ssl/certs/cert-key.pem
</VirtualHost>

idem pour la page www et b2b

Le virtual hosting permet a un meme server web de servir plusieurs pages/sites en les différentiant sur l'URL ou sur le port d'acces, ici on fait les deux : on redirige automatiquement tout le trafic du port 80 vers le port 443 et on sert un site différent en fonction de l'URL : www... ou b2B... tout ça e accedant au serveur web sur la meme adresse IP.
Note : il est aussi possible de faire du virtual hosting sur l'ip.

Etapes a suivre pour la configuration de la base de données :

Tous les fichiers de configuration se trouvent dans le dossier "Database" du github.

Nous assumerons que le dossier "Web" se trouve sur le sever et que docker est installé.

A l'interieur de répertoire "Web" nous pouvons lancer succesivement les 2 commandes :
docker build -t test_db . et

docker run -d -p 3306:3306 --name my-mysql \
-e MYSQL_ROOT_PASSWORD=Password test_db:latest

Ces commandes vont créer une immage Docker a partir du dockerfile et lancer un container sur base de cette image.

presentation du dockerfile :

Ce fihier contiens les instructions que docker va suivre pour créer l'image.

FROM mysql:latest  ==> image de base utilisée 

RUN apt update && apt-get upgrade -y  ==> mise a jour du systeme 

COPY ./db/ /docker-entrypoint-initdb.d/  ==> copie des fichiers au bon endroit.

presentation du fichier "db.sql" :

Ce fichier va servir a créer et remplir la base de données.

CREATE DATABASE DB_woody;  ==> création de la DB

CREATE USER admin IDENTIFIED WITH mysql_native_password BY 'Password';  ==> création du user et de son mot de passe 

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,                   ==> création de la table et de tous ses champs 
  `prix_jouet` DECIMAL(8,2) NOT NULL,
  CONSTRAINT pk_jouets PRIMARY KEY(id_jouet)
);


INSERT INTO `jouets` (`nom_jouet`, `prix_jouet`) VALUES  ==> ajout de données dans la table 
('Kapla', 59.95),
('Train', 17.99),
('Bilboquet', 9.90);

Moyen Firmin

Clone this wiki locally