-
Notifications
You must be signed in to change notification settings - Fork 0
Config_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.
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
Ces fichiers sont simplement les codes source des pages qui vont etre servies par le serveur Web
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.
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.
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.
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);