Vous êtes sur la page 1sur 31

Hébergement de multi site web au même serveur sous

linux (Debian 9)

Du 30 Décembre 2019 jusqu’au 26 Janvier 2020

Réalisé par : Encadré par :

IDRIS NAIT LGHAZI EDAMER Youssef

Stagiaire en Institut Spécialisé de Formateur encadrant :


Technologie Appliquée
SEBBIOUI ISSAM
Techniques des Réseaux Informatique

Année Scolaire : 2019 – 2020


RAPPORT DE STAGE

Table des matières :


Dédicaces………………………………………………………………………………………….3
Remerciements…………………………………………………………………………………4
Introduction…………………………………………………………………………………..…5

CHAPITRE I : Présentation de domaine de la communication digitale et


de l'entreprise [Majjane]

1– Présentation de domaine de la communication digitale………………6

2– Présentation de l’entreprise…………………………………………………………9

3– Expertises…………………………………………………………………………………….9

4– Références et Carrière……………………………………………15

CHAPITRE II : Problématique : en cas d'hébergement de multi site web


au même serveur (Debian 9)

1- Mettre en place une site web……………………………………..16

 Etape d'installation d'un serveur LAMP (Linux, Apache2, MySQL,


PHP) sous Debian 9……………………………………………………………………..16
 Système de gestion de contenu (C M S)……………………………………….24
 Framework (Symfony, laravel) ……………………………………………………26
2– Problématique……………………………………………………………………………27

3- Solution (Virtual hosts)………………………………………………………………..28


4– Conclusion………………………………………………………………………………….31
5- Sources et références..………………………………………………………………..31

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 2


RAPPORT DE STAGE

Dédicaces
Aucune dédicace ne saurait exprimer l’estime, le dévouement et
l’amour que J’éprouve pour toi. Tu n’as manqué aucune occasion
pour manifester ton grand amour Maternel et pour sacrifier ton
bonheur pour assurer le nôtre. Permets-moi de t’offrir ce Modeste
travail de notre grand amour, et que Dieu te protège et puisse
t’aider à Jamais ne te décevoir. Qu’Allah te garde longtemps pour
que je puisse te servir à mon tour et que te puisse éclairer encore
mon chemin par tes précieux conseils.

Aucun mot aucune dédicace aussi parfaite soit-elle nous pourrait


exprimer tout le respect et l’amour que je te porte. Tu été, et tu le
seras toujours, pour moi l’exemple de sérieux et de droiture dans ma
vie, Qu'Allah le tout puissant te fasse pardon et
Miséricorde et qu'Il t’accorde le Paradis.

Vous avez guidé nos pas, illuminé notre chemin vers le savoir, vous
nous avez prodigué, avec une patience et une indulgence infinie, vos
précieux conseils aux novices que nous sommes. Pour ce don
inestimable nous vous restons à jamais reconnaissants, sincèrement
respectueux et toujours disciples dévoués.

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 3


RAPPORT DE STAGE

Remerciements
Avant tout développement sur cette expérience professionnelle, il apparaît
opportun de commencer ce rapport de stage en remercions ceux qui m’ont
beaucoup appris au cours de ce stage notamment ceux qui ont eu la gentillesse
de faire de ce stage un moment très profitable.

Je tiens à remercier mon Encadrant Monsieur EDAMER Youssef Administrateur


réseaux et systèmes au sein de la société MAJJANE, pour son accueil
chaleureux, qui a pris le temps de répondre à mes questions et qui m’a formé
et accompagné tout au long de cette expérience professionnelle avec
beaucoup de patience et de pédagogie.

Je tiens également à remercier :

Mr MOUKASSE Nabil le Directeur Général de m'avoir accueilli au sein de son


établissement.

Mlle ECHRIF Nezha Responsable administratif, Monsieur BOUALLOU Saad


Directeur de création, Monsieur BELABBES Badr designer, Monsieur CHOUJAA
Ossama chef de projets digital au sein de la société MAJJANE, pour leurs aides,
leurs précieuses directives et leurs encouragements.

Enfin, je tiens à remercier tous les membres du personnel de MAJJANE pour


leur accueil et pour les conseils qu’ils ont pu me prodiguer au cours de ce stage.

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 4


RAPPORT DE STAGE

INTRODUCTION

Dans le cadre du Réseaux informatique, un stage de 4 semaines doit être


effectué dans la deuxième année au sein d’une entreprise où on aura la chance
d’appliquer les méthodologies et les notions enseignées, Ce stage est l'occasion
de se retrouver immergé dans le monde du travail et d'enrichir son Cv.

Ce rapport présente l'entreprise et Vous trouverez également les tâches


que j'ai réalisé durant le stage.
Pour ma part, j’ai effectué mon stage d’une période de quatre semaines,
allant du 30 Décembre 2019 au 26 Janvier 2020, au sein de la société «MAJJANE
». Celle-ci est connue comme étant une entreprise qui présente des services
professionnels, Web Marketing, Développement web…

A travers ce rapport, je chercherai à résumer les quatre semaines que


j’ai effectué à MAJJANE et ceci en commençant par la présentation de la société,
et conclure avec les différents travaux et missions qui mon été confié.

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 5


RAPPORT DE STAGE

CHAPITRE I – Présentation de domaine de la communication digitale


et de l'entreprise [Majjane]
1– Présentation de domaine de la communication digitale
 Qu’est-ce que la communication digitale ?
La communication digitale aussi connue sous le nom de communication
numérique est une opportunité de créer et d’entretenir des liens avec des
personnes.
À quel moment a-t-on besoin de la communication digitale et par quels
canaux communiquons-nous aujourd’hui au sein des entreprises ?

 Définition et petite histoire de la communication digitale


La communication digitale est une nouvelle discipline de communication qui
désigne l’ensemble des échanges et des informations transmises via tous les
supports que proposent l’écosystème numérique.
Dans le domaine professionnel, la communication digitale définit alors les
stratégies et actions de communication qui sont menées sur le web dans le but
De transmettre des messages, des valeurs ou encore des résultats qui vont
attirer l’attention des internautes cibles et améliorer la visibilité d’une
entreprise.

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 6


RAPPORT DE STAGE

Apparue depuis le développement d’internet, la communication digitale


est et a toujours été en constante évolution, suivant les différentes mutations
d’usages et les avancées technologiques dans le domaine du numérique.
Actuellement, la communication digitale utilise beaucoup l’animation de
réseau ou encore la modération d’une communauté pour faire passer des
messages.
Souvent confondue avec le marketing digital, et même si les frontières se
diluent de plus en plus entre la communication digitale et le marketing digital,
ils restent deux termes à ne pas confondre. En effet, alors que le marketing
digital se penche sur des questions d’offres et d’expériences utilisateur sur le
web, la communication digitale, elle, se concentre sur l’interaction entre les
internautes et les entreprises.

 Les différents canaux de la communication digitale


Parce que la communication digitale est affaire d’objectifs à atteindre et
alors de stratégies à mettre en œuvre, en fonction de cela, vous pouvez décider
de partager des messages à un cercle restreint de personnes ou bien faire en
sorte que l’information arrive au plus grand nombre possible. Est-ce que vous
souhaitez, séduire de nouveaux clients ? Revaloriser l’image de votre marque ?
Mettre en avant un tout nouveau service ? En fonction de vos objectifs, les
canaux en communication digitale appropriés ne seront pas les mêmes, et
peuvent être :
• Les réseaux sociaux (principal canal de communication digitale),
• Le site web,
• Le blog,
• L’application mobile,
• L’emailing.

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 7


RAPPORT DE STAGE

 La forme des messages émis en communication digitale


En plus du canal de diffusion, la forme choisie puis donnée aux messages
émis fait également intégralement partie de la stratégie de communication
digitale. En fonction du type d’information à transmettre, mais aussi des
internautes ciblés, la personne chargée de la communication digitale peut ainsi
choisir d’opter pour un message prenant la forme d’un texte, d’une
photographie, d’une illustration, d’une animation ou encore d’une vidéo.
Pour arriver à son but ultime qui est d’attirer l’attention et d’interagir avec
des internautes, la communication digitale, ne demande alors pas un gros
budget pour être efficace, contrairement à la communication classique
(publicité, presse, événements, etc.)

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 8


RAPPORT DE STAGE

2– Présentation de l’entreprise
 MAJJANE AGENCE WEB CRÉATIVE ET TECHNIQUE

Fondée en 2003, Majjane est une agence web spécialisée dans le


développement web et mobile, le conseil, l’accompagnement et le web
marketing disposant d’un studio graphique intégrée.
Capitalisant sur une expérience web nationale et internationale, une
centaine de projets web menés à termes dans des secteurs d’activités
extrêmement variés et une parfaite maitrise métier, Majjane se positionne
fièrement aujourd’hui comme Leader dans le développement web au Maroc.

3- Expertises
 DÉVELOPPEMENT WEB
Il ne suffit pas d’un nom de domaine ou d’une simple page web pour
marquer votre présence en ligne. La création et le développement d’une solution
ou d’un site web sur mesure et de qualité est aujourd’hui une nécessité pour le
développement de votre e-commerce, ou pour la digitalisation de vos besoins
métier.

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 9


RAPPORT DE STAGE

Capitalisant sur un héritage de plus d’une décennie d’expertise, une


expérience web nationale et internationale, une centaine de projets web menés
à termes dans des secteurs d’activités extrêmement variés et une parfaite
maîtrise métier, Majjane se positionne fièrement aujourd’hui comme un Leader
dans le développement web au Maroc.

Le développement web représentant le cœur métier de l’agence, les


experts de Majjane travaillent en étroite collaboration avec vous pour
comprendre vos priorités et vos enjeux et s’efforcent à vous offrir les solutions
de développement les plus optimales, personnalisée et adaptées à vos besoins
sur le web.

Qu’il s’agisse d’une refonte ou d’une première création, pour un site


institutionnel, corporate, vitrine, média, une landing page ou encore une
boutique e-commerce, notre approche donne priorité à l’utilisateur.

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 10


RAPPORT DE STAGE

 APPLICATIONS MOBILE
La conception, le développement et la publication d’une solution mobile
via l’utilisation d’une technologie native ou Hybride c’est l’ensemble d’une
chaîne de valeurs qui doivent être respectées et maîtrisées pour la réussite de
votre projet mobile.
Toujours à l'affut des nouvelles tendances graphiques et technologiques,
l’Agence mobile Majjane développe et publie des solutions mobiles natives (IOS,
Android) et Hybrides (multiplateformes) pour smartphones, tablettes, bornes
interactives ainsi que toute autre sorte de dispositifs utilitaires.
Avec un flux d’internautes provenant de 80% du mobile, Internet est
devenu mobile, Majjane est donc devenue à la pointe du mobile.
Une application mobile vous permettra de renforcer votre présence
digitale, de vous distinguer de vos concurrents et d’être plus proche de vos
clients.
L’agence mobile Majjane vous offre un accompagnement complet pour
votre projet mobile et met à votre disposition une équipe dynamique de
spécialistes réunissant :
Chef de projet Mobile maîtrisant les technologies et la gestion des projets
de développement mobile.
Spécialistes UI/UX maîtrisant la conception ergonomique des interfaces et
des parcours utilisateur.
Ingénieurs mobiles maîtrisant les dernières technologies Natives et
Hybrides existantes sur le marché.
E-Marketeurs qui maîtrisent la publication, le référencement ASO sur App
Store et Play Store et la promotion de votre application mobile.
Majjane concevra votre application mobile avec un design ergonomique

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 11


RAPPORT DE STAGE

Optimisé et une performance fonctionnelle bien étudiée afin d’offrir la


meilleure expérience possible à tous vos utilisateurs, qu’il s’agisse d’un outil
métier, d’une application Media, d’une plateforme de services, d’une application
m-commerce, d’un réseau social ou d’un jeu pour smartphones.
 CRÉATION GRAPHIQUE
Un expert en design s’efforcera toujours à concevoir des solutions créatives tout
en plaçant l’expérience utilisateur au cœur de son processus de création.
Afin de communiquer au mieux l’ADN de votre marque et d’affirmer votre
positionnement, notre Studio graphique qui compte une direction de création,
une direction artistique, des motions designers, des designers UX-UI, des web
designer créatifs qui tous travaillent en étroite collaboration dans le but de créer
des expériences utilisateurs toujours plus riches, fluides et innovante et des
rendus pleins de créativité en conciliant beauté et utilité, émotion et usage,
modernité et performance met à votre disposition son expertise et ses talents.
Nos experts sont en veille constante et s’appuient sur les meilleurs
pratiques tendances, et évolutions digitales du moment pour vous apporter la
modernité et l’excellence.

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 12


RAPPORT DE STAGE

 WEB MARKETING
L’optimisation de votre présence en ligne et le développement de votre e-
visibilité, renforcent votre image de marque et vous génèrent un trafic ciblé et
qualifié.
Les équipes marketing de Majjane vous aident à renforcer votre présence en
ligne, améliorer votre visibilité, générer un trafic qualifié et ciblé, convertir vos
leads en clients puis à les fidéliser.

Les experts en webmarketing de Majjane considèrent votre activité dans


sa globalité, vous orientent en fonction de vos cibles et de vos objectifs dans le
choix des leviers e-marketing adaptés pour chaque phase de votre stratégie
digitale, et vous aident dans la mise en œuvre opérationnelle de votre campagne
digitale en vous garantissant le meilleur retour sur investissement.

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 13


RAPPORT DE STAGE

 CONSEIL ET STRATÉGIE

Un accompagnement vers la digitalisation de votre activité dans un monde


en pleine mutation fait toute la différence sur le marché.
Dans une ère digital complexifié en pleine mutation, il est parfois difficile
pour votre entreprise de choisir la bonne solution digitale ou /et de
communiquer de façon optimale sur son savoir-faire, sa valeur ajoutée et celle
de ses produits- services. Fruit de plusieurs années d’expertises et d’un savoir-
faire pointu, Majjane vous offre un accompagnement complet et personnalisé
en toute transparence afin que vous puissiez vous concentrer sur l’essentiel :
votre expertise métier et croissance.

Plus qu’un simple prestataire de solutions digitales, nous saurons vous


accompagner depuis la définition de votre stratégie digitale au travers d’un audit
de l’existant, veille concurrentiel, identification des cibles et fixation des objectifs
jusqu’ à la mise en œuvre opérationnelle de votre projet digital au travers d’un
plan d’action détaillé et budgétisé inscris dans un planning stratégique Notre
prestation ne s’arrête pas là, Elle comprend également le suivi et l’optimisation
de vos actions afin de vous assurer le meilleur retour sur investissement.

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 14


RAPPORT DE STAGE

4– Références et Carrière
Notre accompagnement consiste à améliorer l'expérience digitale de nos
clients tout au long de nos projets communs. Nous leur offrons notre expertise
et un accompagnement engagés dans la digitalisation de leurs activités et de
leurs processus métiers. La confiance de nos partenaires ainsi que la satisfaction
de nos clients restent pour nous les grands indicateurs de notre réussite.

Majjane.ma est un leader dans le secteur du digital au Maroc qui reste


constamment à la recherche des jeunes talents passionnés, motivés, ambitieux
et imprégnés d'une culture et d'un savoir-faire digital. Majjane.ma c’est aussi
une équipe très chevronnée, fière de partager son parcours et ses expériences
avec toutes celles et ceux qui rejoignent sa communauté professionnelle.

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 15


RAPPORT DE STAGE

CHAPITRE II –Problématique : en cas d'hébergement de multi site


web au même serveur (Debian 9)
1- Mettre en place une site web
 Etape d'installation d'un serveur LAMP (Linux, Apache2,
MySQL, PHP) sous Debian 9
Introduction

L’acronyme LAMP désigne un ensemble de quatre technologies open


source : un système d’exploitation Linux, un serveur web Apache, un système de
bases de données MySQL et le langage de programmation PHP.
Ces technologies forment une pile (stack, en anglais) vous permettant
d’héberger vos sites ou applications web dynamiques, comme WordPress ou
Drupal. LAMP est aujourd’hui le stack le plus utilisé pour héberger un
applicatif web.
Dans ce tutoriel, nous allons apprendre à installer et configurer ces quatre
briques, installer phpMyAdmin pour l’administration graphique de la base de
données MySQL et tester le serveur LAMP avec le système de gestion de
contenu (Content Management System ou CMS) WordPress.

Prérequis

Ce que vous devez savoir


• Avoir des notions d’administration Linux.

• Se connecter en SSH.

• Éditer un fichier texte en ligne de commande (Vim, nano, Emacs

par exemple).
• Installer une distribution Linux (nous utilisons ici Debian 9).

Ce que vous devez avoir


• Un serveur ou une machine virtuelle sous Linux (un VPS, un serveur

dédié ou une instance Public Cloud OVH).

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 16


RAPPORT DE STAGE

• Les droits administrateurs sur ce serveur (être « root »).


En pratique

 Étape 1 : mettez votre système à jour


Sur une distribution Debian ou Ubuntu récente, nous vous conseillons de
réinstaller totalement votre serveur si cela est possible sur votre machine.
Connectez-vous en SSH en tant qu’administrateur « root »
Une fois le système installé, il convient de le mettre à jour :

apt-get update && apt-get upgrade -y

Vous partez ainsi sur une base saine et totalement à jour.

 Étape 2 : créez un nouvel utilisateur avec les privilèges « sudo »


Pour des raisons de sécurité et pour suivre les bonnes pratiques, il est
préférable d’installer et gérer un serveur LAMP avec un utilisateur séparé, ne
possédant pas les privilèges « root ». Si vous disposez déjà d’un utilisateur avec
les privilèges « sudo », sans pour autant être « root », vous pouvez vous rendre
directement à la deuxième étape.

Dans le cas où vous ne possédez que l’utilisateur « root », il convient de créer un


nouvel utilisateur :

adduser mynewuser

Diverses informations seront obligatoires, comme un mot de passe. D’autres


seront optionnelles : le nom ou le numéro de téléphone, par exemple.Il faut
ensuite rajouter cet utilisateur au groupe « sudo » :

usermod -aG sudo mynewuser

Et enfin, connectez-vous sur ce nouveau compte utilisateur :

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 17


RAPPORT DE STAGE

su - mynewuser

 Étape 3 : installation du serveur web Apache 2

La première brique du stack LAMP, le système d’exploitation Linux, a été


installée lors des étapes précédentes.

Nous allons installer ici la deuxième brique, le serveur web Apache 2, ainsi que
sa documentation :

sudo apt-get install apache2 apache2-doc

Si l’installation s’est effectuée correctement, vous devriez pouvoir accéder


à la page par défaut d’Apache en joignant l’adresse IP (ou le nom du service) de
votre serveur dans le navigateur, comme suit : http://IP_du_serveur. N’essayez
pas de vous connecter en HTTPS, car à ce stade aucun certificat SSL n’est
encore installé.

Cette page est très instructive, et vous donnera un aperçu des fichiers de
configuration d’Apache 2 et leur spécificité. N’hésitez pas à la parcourir.

Il est possible de vérifier que le service Apache fonctionne correctement en


utilisant la commande suivante :

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 18


RAPPORT DE STAGE

sudo service apache2 status

La mention active (running) doit apparaître.

La procédure Apache peut se gérer comme suit :

service apache2 start => permet de démarrer le service


service apache2 stop => permet d’arrêter le service
service apache2 restart => permet de relancer ou recharger le service

 Étape 4 : installez PHP

Nous passons ensuite à l’installation de la troisième brique, le langage de


programmation PHP.

Pour installer le paquet PHP, tapez cette commande :

sudo apt-get install php5-common libapache2-mod-php5 php5-cli

Pour tester l’installation, dans le répertoire /var/www/html, créez le


fichier info.php avec le contenu suivant :

cd /var/www/html
sudo nano info.php

Insérez dedans :

<?php
phpinfo();
?>

Accédez ensuite au fichier via le navigateur : http://IP_du_serveur/info.php.

Vous devriez pouvoir visualiser une page détaillant toutes les spécificités de
votre environnement PHP (version 7.0.30 dans notre cas) :

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 19


RAPPORT DE STAGE

Une fois visualisé, nous vous recommandons vivement de supprimer


le fichier index.php. En effet, il n’est jamais conseillé de donner publiquement
des informations sur votre configuration.
Par défaut, le serveur web Apache ne priorise pas les fichiers PHP par
rapport aux fichiers HTML. Ici, dans le dossier racine, nous disposons de
index.html et de index.php. Si vous retournez dans votre navigateur web, sur
http://IP_du_serveur, Apache vous renverra la page index.html et non pas
index.php. Cette priorisation n’a pas d’impact sur la majeure partie des CMS
comme WordPress ou Drupal. Ces règles peuvent toutefois être modifiées si
besoin.

 Étape 5 : installez le système de base de données MySQL/MariaDB


Nous arrivons à la quatrième et dernière brique du stack LAMP, le système
de bases de données.
Nous arrivons à la quatrième et dernière brique du stack LAMP, le système
de bases de données.
Depuis le rachat de MySQL par Oracle, le fondateur de MySQL a créé en
2009 un dérivé (fork en anglais) plus communautaire et plus ouvert, appelé
MariaDB en hommage à sa deuxième fille. 100 % des commandes MySQL sont
compatibles avec MariaDB, tout comme vos applicatifs web préférés. La
distribution Linux Debian propose MariaDB par défaut.

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 20


RAPPORT DE STAGE

Si vous utilisez ce système d’exploitation, vous pourrez lire « MariaDB »


dans votre terminal lors de cette étape.

Voici la commande à utiliser (votre mot de passe de compte utilisateur Linux


vous sera demandé) :

sudo apt-get install mysql-server

Par défaut, le mot de passe administrateur MySQL/MariaDB sera le même


que celui de votre utilisateur système. Pour personnaliser la sécurisation de
votre base de données, voici la commande à effectuer :

mysql_secure_installation

Entrez votre mot de passe « root », puis changez le mot de passe :

Change the root password? [Y/n] => y


New password:

Désactivez ensuite les connexions anonymes :

Remove anonymous users? [Y/n] => y

Désactivez la connexion en « root » depuis une connexion distante :

Disallow root login remotely? [Y/n] => y

Il faut maintenant effacer la base de données de test créée par défaut :

Remove test database and access to it? [Y/n] => y

Il reste à charger les nouveaux paramètres :

Reload privilege tables now? [Y/n] => y

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 21


RAPPORT DE STAGE

Pour tester l’accès à votre base de données, voici la commande à utiliser dans
votre terminal :

mysql -u root -p

MariaDB [(none)]> show databases;


MariaDB [(none)]> exit

Nous vous conseillons de créer un utilisateur spécifique et dédié à votre


applicatif web. Si besoin.

 Étape 6 : installez phpMyAdmin (optionnel)

L’installation du serveur LAMP est terminée ! Cette étape est optionnelle.


L’interface open source phpMyAdmin va vous permettre de gérer plus
facilement vos bases de données via une interface web.

Pour l’installer voici la commande à entrer :

sudo apt-get install phpmyadmin

Dans les choix proposés, sélectionnez un serveur web à reconfigurer


automatiquement pour exécuter phpMyAdmin :

• cochez ()apache2, puis Entrée ;


• acceptez l’aide à la configuration, puis rentrez un mot de passe
administrateur MySQL.

Afin d’accéder à l’interface de gestion de phpMyAdmin, vous devrez finaliser la


configuration votre serveur Apache. Pour cela, éditez le fichier de configuration
Apache :

sudo nano /etc/apache2/apache2.conf

À la fin du fichier, rajoutez :

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 22


RAPPORT DE STAGE

# Include phpMyAdmin
Include /etc/phpmyadmin/apache.conf

Le service Apache doit ensuite être relancé grâce à cette commande :

sudo service apache2 restart

Afin de vous connecter, vous devrez au préalable créer un utilisateur possédant


les droits administrateur pour phpMyAdmin :

mysql -u root -p
[mot de passe]
MariaDB [(none)]> CREATE USER 'my_user'@'localhost' IDENTIFIED BY
'my_password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON * . * TO
'my_user'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;

Accédez ensuite à l’interface via http://IP_du_serveur/phpmyadmin/ :

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 23


RAPPORT DE STAGE

 Système de gestion de contenu (C M S)

Un système de gestion de contenu est indispensable pour construire et enrichir un


site internet. Il en existe de très différents, selon la taille ou la complexité du site et
le choix n'est pas anodin.

Système de gestion de contenu : qu'est-ce que c'est ?


Le système de gestion de contenu (SGC) ou Content Management System (CMS)
en anglais regroupe une catégorie de logiciels qui permettent de concevoir, gérer
et mettre à jour des sites Web ou des application mobile de manière dynamique
Pour pouvoir être définis comme CMS, les logiciels doivent pouvoir :

• Être utilisés simultanément par plusieurs individus


• Proposer une chaîne de publication de contenu
• Permettre de gérer séparément la forme et le contenu

Les CMS autorisent également la structuration du contenu d'un site Web


(catégories, pages, articles) et la hiérarchisation des utilisateurs du site, en leur
attribuant un titre précis et/ou des autorisations particulières (administrateur,
contributeur, etc.). Il existe deux types de CMS : en Open Source et Propriétaire.
WordPress est sans doute le CMS le plus connu et le plus utilisé aujourd'hui : il est
gratuit, Open Source, et des dizaines de millions de sites Web l'utilisent.
Traduction du mot CMS
• Système de gestion de contenu
• Un système de gestion de contenu regroupe des logiciels utilisés pour la création
et l'animation des sites Web.
CMS : les acteurs
Wordpress, Drupal, Joomla, PrestaShop.

Exemple : installez WordPress

Cette partie est elle aussi optionnelle. Voici brièvement les étapes pour
installer ce CMS :

Téléchargez, décompressez et copiez le contenu dans un nouveau dossier


appelé mywebsite :

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 24


RAPPORT DE STAGE

wget https://wordpress.org/latest.tar.gz
tar xpf latest.tar.gz
sudo cp -r wordpress /var/www/html/mywebsite

Ce dossier contenant WordPress est maintenant accessible


sur http://IP_du_serveur/mywebsite/.

Créez une base nommée wordpress en ligne de commande ou via phpMyAdmin.

Votre écran de configuration doit ressembler à celui ci-dessous :

Si vous avez un avertissement au niveau de la création du fichier wp-config.php,


éditez les droits en exécution, lecture, écriture en fonction de vos besoins
(communément appelés CHMOD).

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 25


RAPPORT DE STAGE

 Framework (Symfony, Laravel)

Un Framework est une boite à outils pour un développeur web. Frame


signifie cadre et work se traduit par travail. Un Framework contient des
composants autonomes qui permettent de faciliter le développement d’un site web
ou d’une application. Ces composants résolvent des problèmes souvent rencontrés
par les développeurs (CRUD, arborescence, normes, sécurités, etc.). Ils permettent
donc de gagner du temps lors du développement du site.

La principale différence entre Symfony et Laravel est que le Symfony est un


Framework d’applications Web PHP avec un ensemble de bibliothèques et de
composants PHP réutilisables, tandis que Laravel est un Framework PHP gratuit et
open source basée sur Symfony.

Symfony et Laravel sont deux frameworks PHP populaires. Ces frameworks PHP
rendent le processus de développement plus facile, plus rapide et plus flexible que
le Core PHP. En outre, ils permettent aux développeurs d’adapter facilement un
système. Ils améliorent également la réutilisation et la maintenabilité du code et
rendent l’application plus sécurisée.

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 26


RAPPORT DE STAGE

2– Problématique

Imaginons le cas où il est nécessaire d'avoir deux sites Web différents hébergés le
même serveur. De façon générale, ces sites Web ont :

- Des noms de domaine différents (ou des sous-domaines différents)

- Des fichiers différents

Apache uniquement d'un site lorsque vous l'installez, un site accessible sur le port
80 (HTTP) dont la racine est le répertoire /var/www/ Cependant, est fort
heureusement, il est possible de gérer plusieurs sites sous Apache sinon imaginez
s'il faudrait un serveur par site... Cela est possible grâce aux hôtes virtuels,
appelées Virtual Host dans Apache.

L'hébergement virtuel est répandu dans les environnements d'hébergement Web


partagés, où généralement des centaines ou plus de sites Web ou de blogs sont
stockés sur un seul serveur dédié pour amortir le coût de maintenance du serveur.

Vous n'êtes pas une entreprise d'hébergement Web ? Bien sûr, l'hébergement
virtuel peut toujours vous être utile. Par exemple, vous pouvez placer plusieurs
sites Web de votre part sur un VPS que vous louez, en économisant sur votre coût
VPS. Pour desservir plusieurs domaines sur un VPS, il suffit de configurer autant
d'hôtes virtuels sur son serveur web et de pointer les domaines vers l'adresse IP
statique de votre VPS. En raison de son utilité, l'hébergement virtuel est pris en
charge par tous les logiciels de serveurs Web modernes tels qu’Apache, Nginx…

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 27


RAPPORT DE STAGE

3- Solution (Virtual hosts)


 Définitions des Virtual Hosts
La manipulation des Virtual Hosts a beaucoup évolué et est maintenant beaucoup
plus simple. Comme indiqué précédemment, la définition des Virtual hosts se fait
dans le répertoire /etc/apache2/sites-available/. Pour faire les choses dans les
règles de l’art, chaque site (qui peut contenir plusieurs Vhosts) est défini dans un
fichier qui lui est propre. On peut par exemple héberger deux sites Web sur le
serveur : site1.ma et site2.ma On suppose ici que la configuration DNS associe bien
les 2 noms à l’adresse IP du serveur Web.

 Création des arborescences


Avant de définir les vhosts dans la configuration d’Apache, il faut créer les
arborescences qui accueilleront les sites Web. Pour faciliter le suivi des logs, il peut
être intéressant de stocker les logs de chaque site dans des fichiers différents. Sur
une machine Debian, on a souvent pour habitude de mettre les sites Web dans
/var/www.

# mkdir / var / www / site1.ma


# mkdir / var / www / site2.ma
# chown -R www – data :www - data / var / www / site1.ma / var / www /
site2.ma

Il faut apporter un soin particulier aux droits de ces répertoires. Ils doivent être
accessibles en lecture par Apache (peut-être en écriture pour certains sous-
répertoires), en lecture-écriture pour les webmasters et c’est tout !

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 28


RAPPORT DE STAGE

 Création des fichiers de config


Il faut donc créer deux nouveaux fichiers que l’on appellera site1 et site2 dans
/etc/apache2/sites-available/. Pour simplifier la tâche, on peut commencer par
des vhosts très simple.

# cd / etc / apache2 / sites - available /


# vim site1.ma site2.ma

Le premier fichier site1 peut par exemple contenir les lignes suivantes :

# Virtualhost pour site1.ma


< VirtualHost *:80 >
ServerName site1.ma
ServerAdmin webmaster@site1.ma
DocumentRoot / var / www / site1.ma /
ErrorLog / var / log / apache2 / site1.ma_error . log
CustomLog / var / log / apache2 / site1.ma_access . log combined
</ VirtualHost >

Le fichier site2 est quasiment identique :

# Virtualhost pour site2.ma


< VirtualHost *:80 >
ServerName site2.ma
ServerAdmin webmaster@site2.ma
DocumentRoot / var / www / site2.ma /
ErrorLog / var / log / apache2 / site2.ma_error . log
CustomLog / var / log / apache2 / site2.ma_access . log combined
</ VirtualHost >

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 29


RAPPORT DE STAGE

Il reste maintenant à activer ces 2 sites, tout simplement avec les commandes
suivantes :

# a2ensite site1.ma
# a2ensite site2.ma
# / etc / init.d/ apache2 reload

Si tout c’est passé correctement, les deux sites devraient être accessibles via leurs
URL respectives.

http :// site1.ma


http :// site2.ma

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 30


RAPPORT DE STAGE

Conclusion
En conclusion je peux dire que je suis sortie gagnant du stage que j’ai
effectué au sein de la société MAJJANE. Il a été vraiment enrichissant pour moi,
j’ai pu travailler sur plusieurs projets, cela m’a permis de découvrir de
nombreuses astuces concernant l’administration système sous linux dont je
suis sûre qu’elles me resserviront dans mon expérience professionnelle en tant
que technicien supérieur.

Je me suis heurté à beaucoup de problèmes et c’est en réfléchissant


dessus énormément que j’ai pu comprendre en profondeur les solutions.

Au-delà de tout cela, les contacts humains socioprofessionnels m’ont


beaucoup apporté dans ma personne. Je suis si fier d’avoir l’opportunité
d’effectuer ce stage dans un tel environnement.

Sources et références

https://www.anthedesign.fr/communication-2/communication-digitale/
https://docs.ovh.com/fr/dedicated/installer-lamp-debian-ubuntu/
https://majjane.ma/fr/#0
https://www.pure-illusion.com/lexique/definition-de-framework
https://fr.scribd.com/

IDRIS NAIT LGHAZI | RAPPORT DE STAGE | MAJJANE 31