« SPARQL Protocol and RDF Query Language/Travail pratique/Faire un serveur Web » : différence entre les versions

Contenu supprimé Contenu ajouté
→‎Exercices : insertion d'une réponse
m Robot : Remplacement de texte automatisé (-(<|</)source([ \t>]) +\1syntaxhighlight\2)
 
Ligne 83 :
 
Rajouter dans votre fichier Docker :
<sourcesyntaxhighlight lang="bash">
EXPOSE 80
</syntaxhighlight>
</source>
 
==== Résoudre votre nom de domaine et connecter le port HTTP avec Windows ou Mac ====
Ligne 92 :
 
Pour résoudre votre nom de domaine sous Windows, rajouter la ligne suivante dans le fichier '''c://windows/system32/drivers/etc/hosts''' :
<sourcesyntaxhighlight lang="bash">
127.0.0.1 moncv
</syntaxhighlight>
</source>
 
Quand votre service Web fonctionnera à la fin du TP, vous pourrez consulter votre site Web via l’adresse [http://moncv] (ou sinon [http://127.0.0.1]).
Ligne 102 :
Il faut résoudre localement votre nom de domaine associé à l’adresse IP de votre conteneur.
Ouvrir le fichier sur votre PC :
<sourcesyntaxhighlight lang="bash">
sudo vim /etc/hosts
</syntaxhighlight>
</source>
 
Ajouter le nom de domaine moncv avec son IP dans le fichier '''/etc/hosts''' de votre PC :
<sourcesyntaxhighlight lang="bash">
172.17.0.2 moncv
</syntaxhighlight>
</source>
 
Sur le serveur, il faut résoudre ce nom de domaine.
Ajouter le nom de domaine moncv dans le fichier '''/etc/hosts''' à la fin de la ligne où se trouve la définition du localhost :
<sourcesyntaxhighlight lang="bash">
127.0.0.1 localhost moncv
</syntaxhighlight>
</source>
 
Quand votre service Web fonctionnera à la fin du TP, vous pourrez consulter votre site Web via l’adresse [http://moncv] (ou sinon [http://172.17.0.2]).
Ligne 124 :
 
'''Sous Ubuntu'''
<sourcesyntaxhighlight lang="bash">
sudo apt-get install apache2
</syntaxhighlight>
</source>
 
'''Sous Fedora ou CentOS'''
<sourcesyntaxhighlight lang="bash">
yum install httpd
systemctl start httpd
systemctl enable httpd
</syntaxhighlight>
</source>
 
==== Activer le mod_rewrite ====
Ligne 141 :
 
'''Sous Ubuntu'''
<sourcesyntaxhighlight lang="bash">
sudo a2enmod rewrite
</syntaxhighlight>
</source>
 
(A vérifier)
'''Sous Fedora ou CentOS''' : on vérifie avec cette commande que le "mod_rewrite" est déjà activé.
<sourcesyntaxhighlight lang="bash">
httpd -M | grep rewrite
</syntaxhighlight>
</source>
Vous devez voir la ligne suivante s'afficher :
<pre>...
Ligne 168 :
 
'''Sous Ubuntu'''
<sourcesyntaxhighlight lang="bash">
apache2ctl -S
</syntaxhighlight>
</source>
 
'''Sous Fedora ou CentOS'''
<sourcesyntaxhighlight lang="bash">
httpd -S
</syntaxhighlight>
</source>
 
Vous pouvez voir qu'un site Web "default server" existe déjà.
Ligne 189 :
Nous allons créer le répertoire <code>/var/www/moncv</code> .
 
<sourcesyntaxhighlight lang="bash">
sudo mkdir /var/www/moncv
</syntaxhighlight>
</source>
 
=== Sous Ubuntu ===
Pour autoriser le chargement de fichier via SFTP, on change le propriétaire du répertoire.
<sourcesyntaxhighlight lang="bash">
sudo mkdir /var/www/moncv
sudo chown <mettre_votre_user_id> /var/www/moncv
</syntaxhighlight>
</source>
 
{{remarque|contenu=
Ligne 208 :
 
Pour cela, on exécute la commande suivante pour dupliquer le fichier de configuration :
<sourcesyntaxhighlight lang="bash">
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/moncv
</syntaxhighlight>
</source>
 
Ensuite, on ouvre ce fichier :
<sourcesyntaxhighlight lang="bash">
sudo gedit /etc/apache2/sites-available/moncv
</syntaxhighlight>
</source>
 
On modifie ou on ajoute les lignes suivantes (en gras) dans ce fichier :
<sourcesyntaxhighlight lang="apache" line="GESHI_NORMAL_LINE_NUMBERS" highlight="2,4,5,11">
<VirtualHost *:80>
ServerAdmin contact@moncv
Ligne 262 :
 
</VirtualHost>
</syntaxhighlight>
</source>
 
Pour prendre en compte ce fichier de configuration, il faut activer ce site Web avec cette commande :
<sourcesyntaxhighlight lang="bash">
sudo a2ensite moncv
</syntaxhighlight>
</source>
 
Pour votre information, vous pouvez à tout moment désactiver ce site Web avec la commande suivante :
<sourcesyntaxhighlight lang="bash">
sudo a2dissite moncv
</syntaxhighlight>
</source>
 
Pour prendre en compte la création de ce site Web, il faut redémarrer Apache :
<sourcesyntaxhighlight lang="bash">
sudo service apache2 reload
apache2ctl -S
</syntaxhighlight>
</source>
 
=== Sous Fedora ou CentOS ===
Pour autoriser le chargement de fichier via SFTP, on change le propriétaire du répertoire.
<sourcesyntaxhighlight lang="bash">
su -
mkdir /var/www/moncv
chown <user_name> /var/www/moncv
</syntaxhighlight>
</source>
 
{{remarque|contenu=
Ligne 293 :
 
Créer le fichier moncv.conf :
<sourcesyntaxhighlight lang="bash">
vim /etc/httpd/conf.d/moncv.conf
</syntaxhighlight>
</source>
 
Insérer, dans le fichier moncv.conf, ce contenu :
<sourcesyntaxhighlight lang="text">
<VirtualHost *:80>
ServerName moncv
DocumentRoot /var/www/moncv
</VirtualHost>
</syntaxhighlight>
</source>
 
Pour prendre en compte ces fichiers de configuration :
<sourcesyntaxhighlight lang="bash">
apachectl restart
</syntaxhighlight>
</source>
 
Vérifier que votre nouveau site web est dans la liste :
<sourcesyntaxhighlight lang="bash">
httpd -S
</syntaxhighlight>
</source>
 
Pour prendre en compte la création de ce site Web, il faut redémarrer Apache :
<sourcesyntaxhighlight lang="bash">
systemctl reload httpd
httpd -S
</syntaxhighlight>
</source>
 
=== Transfert du fichier HTML via SFTP ===
On écrit ce texte dans le fichier index.html pour afficher MonCV à l'écran :
<sourcesyntaxhighlight lang="html4strict">
<html>
<body>
Ligne 329 :
</body>
</html>
</syntaxhighlight>
</source>
 
Puis avec un logiciel comme [[w:Filezilla|Filezilla]], vous allez vous connecter au port 22 (ssh) de votre serveur Web puis transférer le fichier index.html dans le répertoire "/var/www/moncv".
Ligne 346 :
Dans le même répertoire pour fabriquer l’image Docker, il devra y avoir :
Fichier : dockerfile (sans extension)
<sourcesyntaxhighlight lang="bash">
FROM centos/systemd
#update the server
Ligne 376 :
 
CMD ["/usr/sbin/init"]
</syntaxhighlight>
</source>
 
Fichier : moncv.conf
<sourcesyntaxhighlight lang="bash">
<VirtualHost *:80>
ServerName moncv
DocumentRoot /var/www/moncv
</VirtualHost>
</syntaxhighlight>
</source>
 
Fichier : index.html
<sourcesyntaxhighlight lang="bash">
<html>
<body>
Ligne 393 :
</body>
</html>
</syntaxhighlight>
</source>
 
}}