Création d'un serveur web dans un nuage

From CC Doc
Jump to navigation Jump to search
This page is a translated version of the page Creating a Webserver on CC-Cloud and the translation is 100% complete.
Other languages:
English • ‎français

Page enfant de Service infonuagique de Calcul Canada

Nous décrivons ici une méthode très simple pour créer un serveur Web Apache sous Linux Ubuntu dans l'environnement infonuagique de Calcul Canada.

Sécurité

La sécurité est un aspect important pour tout ordinateur qui permet un accès public, ce qui peut prendre plusieurs formes, par exemple permettre les connexions SSH, afficher du code HTML via HTTP, ou offrir un service qui utilise le logiciel d'une tierce partie (comme WordPress). On appelle daemons les programmes qui soutiennent des services tels SSH ou HTTP; ces programmes sont en constante activité et reçoivent les requêtes de l'extérieur via des ports spécifiques. OpenStack permet de gérer ces ports et d'en restreindre l'accès, par exemple en accordant l'accès à certaines adresses IP ou à un groupe d'adresses en particulier; voir la section Groupes de sécurité. La sécurité d'une instance peut être grandement améliorée par le contrôle de son accès, mais ceci n'élimine pas tous les risques : si les données que vous envoyez ne sont pas cryptées d'une quelconque manière (par exemple avec des mots de passe), une personne habile peut trouver le moyen de les consulter. Les données sont donc souvent cryptées selon le protocole Transport Layer Security qui devrait être employé pour tous les sites Web auxquels des utilisateurs peuvent se connecter (par exemple WordPress ou MediaWiki); à ce sujet, consultez Configuration du serveur Apache pour utiliser SSL. Il est aussi possible que des données transmises à partir de votre serveur Web vers un client soient en route modifiées par un tiers, si elles ne sont pas cryptées. Ceci n'est pas un problème pour le serveur Web comme tel, mais pourrait l'être pour les clients. Dans la plupart des cas, il est recommandé d'utiliser le cryptage sur votre serveur Web. La sécurité de vos instances est votre responsabilité; nous vous rappelons de ne pas négliger cet aspect critique.

Installer Apache

  1. Suivez les directives dans la page Cloud : Guide de démarrage pour créer une instance persistante sous Linux Ubuntu (voir la section Démarrer depuis un volume dans la page OpenStack).
  2. Pour ouvrir le port 80 et permettre l'accès HTTP à votre instance, suivez ces directives. À partir du menu déroulant, sélectionnez HTTP au lieu de SSH.
  3. Une fois connecté à votre instance,
    1. Faites la mise à jour de vos répertoires apt-get avec
      Question.png
      [name@server ~]$ sudo apt-get update
    2. Faites la mise à jour de la version d'Ubuntu avec
      Question.png
      [name@server ~]$ sudo apt-get upgrade
      La version la plus à jour comprendra les toutes dernières rustines de sécurité.
    3. Installez le serveur Web Apache avec
      Question.png
      [name@server ~]$ sudo apt-get install apache2
  4. Page test Apache2 (cliquez pour agrandir)
    Faites afficher la nouvelle page Apache temporaire en entrant l'adresse IP flottante de votre instance dans la barre d'adresses de votre fureteur; il s'agit de la même adresse IP que vous utilisez pour vous connecter avec SSH. Vous devriez voir une page test semblable à celle montrée à droite.
  5. Modifiez le contenu des fichiers dans /var/www/html pour créer le site Web et en particulier le fichier index.html qui en définit le point d'entrée.

Modifier le répertoire root du serveur Web

Il est souvent plus facile de gérer un site Web si l'utilisateur qui se connecte à l'instance est le propriétaire des fichiers. Dans l'image Ubuntu de notre exemple, l'utilisateur propriétaire est ubuntu. Les étapes qui suivent indiquent à Apache de présenter les fichiers à partir de /home/ubuntu/public_html (par exemple) plutôt que de /var/www/html.

  1. Utilisez la commande
    Question.png
    [name@server ~]$ sudo vim /etc/apache2/apache2.conf
    (ou un autre éditeur) pour modifier la ligne <Directory /var/www/> en <Directory /home/ubuntu/public_html>.
  2. Utilisez la commande
    Question.png
    [name@server ~]$ sudo vim /etc/apache2/sites-available/000-default.conf
    pour modifier la ligne DocumentRoot /var/www/html en DocumentRoot /home/ubuntu/public_html.
  3. Créez le répertoire dans le répertoire home de l'utilisateur avec la commande
    Question.png
    [name@server ~]$ mkdir public_html
  4. Copiez la page par défaut dans le répertoire que vous venez de créer, c'est-à-dire public_html dans votre $HOME, avec la commande
    Question.png
    [name@server ~]$ cp /var/www/html/index.html /home/ubuntu/public_html
  5. Redémarrez le serveur Apache pour actualiser les modifications avec la commande
    Question.png
    [name@server ~]$ sudo service apache2 restart

Vous devriez pouvoir modifier le fichier /home/ubuntu/public_html/index.html sans utiliser sudo. Rafraîchissez la page chargée précédemment dans votre fureteur pour voir les modifications.

Limiter la bande passante

Si votre serveur Web est très sollicité, il est possible qu'il occupe beaucoup des ressources de la bande passante. Une bonne manière de limiter l'utilisation de la bande passante est d'utiliser | de module Apache.

Installation

Question.png
[name@server ~]$ sudo apt install libapache2-mod-bw
Question.png
[name@server ~]$ sudo a2enmod bw

Configuration

L'exemple suivant de configuration limite la bande passante pour tous les clients à 100Mbps.

   BandWidthModule On
   ForceBandWidthModule On
   
   #Exceptions to badwith of 100Mbps should go here above limit
   #below in order to override it
   
   #limit all connections to 100Mbps
   #100Mbps *1/8(B/b)*1e6=12,500,000 bytes/s
   BandWidth all 12500000

Ceci devrait être placé entre les balises <VirtualHost></VirtualHost> pour votre site. La configuration Apache par défaut se trouve dans le fichier /etc/apache2/sites-enabled/000-default.conf.

Pour plus d'information