Créer et configurer un serveur web sous Gnu-Linux à domicile et accessible en ligne : Différence entre versions

De TravauxIndse
(Création d'un nouvel hôte virtuel)
(Création d'un nouvel hôte virtuel)
Ligne 36 : Ligne 36 :
  
 
<pre>sudo mkdir /var/www/exemple && echo "Welcome to exemple!" > /var/www/exemple/index.html</pre>
 
<pre>sudo mkdir /var/www/exemple && echo "Welcome to exemple!" > /var/www/exemple/index.html</pre>
 +
 +
cela va aussi créer une page html où il sera affiché : "Welcome to exemple"
  
 
Il  faut alors configurer notre hôte virtuel, pour cela vous avez le choix  :
 
Il  faut alors configurer notre hôte virtuel, pour cela vous avez le choix  :
Ligne 45 : Ligne 47 :
 
<pre> sudo gedit /etc/apache2/sites-available/exemple.conf </pre>
 
<pre> sudo gedit /etc/apache2/sites-available/exemple.conf </pre>
  
Collez alors ceci dans le menu l'interface qui s'est ouverte :
+
Collez alors ceci dans le menu l'interface qui s'est ouverte (TODO : expliquer ce fichier):
 
<pre><VirtualHost *:80>
 
<pre><VirtualHost *:80>
 
DocumentRoot /var/www/example
 
DocumentRoot /var/www/example
Ligne 51 : Ligne 53 :
 
</VirtualHost>
 
</VirtualHost>
 
</pre>
 
</pre>
 +
Et sauvegarder le document
 +
 +
Pour activer notre site, il faut alors utiliser la commande <code>a2ensite</code> qui va aussi créer un fichier similaire dans le dossier <code>/etc/apache2/sites-enabled</code> :
 +
<pre> sudo a2ensite example.conf </pre>
 +
Nous devons alors relancer la configuration serveur apache :
 +
<pre>sudo systemctl reload apache2.service</pre>

Version du 7 novembre 2018 à 15:07

Obtenir un nom de domaine

Pour cela, rien de plus simple, rendez-vous sur freenom, c'est un service de nom de domaine gratuit donc vous n'aurez pas de .be ou de .com mais à ce moment là vous pouvez vous rendre sur d'autres sites pour les obtenir.

Ensuite allez dans "services", "register a new domain", et puis créer votre nom de domaine (vous pourrez choisir plusieurs ".quelque chose" vous êtes libre d'en prendre 1 ou 10 si ça vous chante mais dans notre cas vous n'en utiliserez qu'un.

Créer un serveur web en localhost

Prérequis

  • Ubuntu 18.04 ou raspbian (si vous disposez d'un raspberry)
  • Permissions "Racines" (root)
  • Un peu de motivation :)

Installation d'Apache

La première étape est donc d'installer apache, pour cela rendez-vous dans le terminal et écrivez ceci :

 sudo apt-get update && apt-get install apache2 

Pour vérifier qu'apache a bien été installé vous pouvez taper localhost dans votre navigateur web qui est le l’hôte virtuel local d'apache de base.

Normalement si ça fonctionne vous devriez avoir une page comme ceci :

Default apache page.png

Si vous avez d'autres soucis, le lien du tutoriel original est dans les sources.

Il existe une autre façon de faire [ici], mais je n'ai pas fait de la même façon et je vais aller un peu plus loin.


Création d'un nouvel hôte virtuel

Faites bien attention à bien remplacer les "exemple" par le nom de votre site et les ".localhost" par le domaine que vous avez choisi (par exemple: .cf)

Nous allons commencer par créer le dossier où seront stockée les pages de notre site, pour cela faites :

sudo mkdir /var/www/exemple && echo "Welcome to exemple!" > /var/www/exemple/index.html

cela va aussi créer une page html où il sera affiché : "Welcome to exemple"

Il faut alors configurer notre hôte virtuel, pour cela vous avez le choix  :

Soit l'édition en mode console

 sudo nano /etc/apache2/sites-available/exemple.conf 

Soit l'édition en mode graphique (bloc-note)

 sudo gedit /etc/apache2/sites-available/exemple.conf 

Collez alors ceci dans le menu l'interface qui s'est ouverte (TODO : expliquer ce fichier):

<VirtualHost *:80>
DocumentRoot /var/www/example
ServerName www.example.local
</VirtualHost>

Et sauvegarder le document

Pour activer notre site, il faut alors utiliser la commande a2ensite qui va aussi créer un fichier similaire dans le dossier /etc/apache2/sites-enabled :

 sudo a2ensite example.conf 

Nous devons alors relancer la configuration serveur apache :

sudo systemctl reload apache2.service