Creating a web server on a cloud/fr
Page enfant de Service infonuagique
Nous décrivons ici une méthode très simple pour créer un serveur web dans notre environnement infonuagique en utilisant Ubuntu et le serveur web Apache.
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 que 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 en particulier ou à un groupe d'adresses; 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 personnes de l'extérieur 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 modifiées en route 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¶
- Suivez les directives dans la page Cloud : Guide de démarrage pour créer une instance persistante sous Linux Ubuntu (voir Démarrer depuis un volume).
- 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.
- Une fois connecté à votre instance,
- Faites la mise à jour de vos répertoires apt-get avec
- Faites la mise à jour de la version d'Ubuntu avec La version la plus à jour comprendra les toutes dernières rustines de sécurité.
- Installez le serveur web Apache avec
- 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.
- Modifiez le contenu des fichiers dans
/var/www/htmlpour créer le site web et en particulier le fichierindex.htmlqui en définit le point d'entrée.
Modifier le répertoire racine du serveur web¶
Il est souvent plus facile de gérer un site web si l'utilisateur qui se connecte à l'instance est propriétaire des fichiers. Dans l'image Ubuntu de notre exemple, le 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.
- Utilisez la commande
(ou un autre éditeur) pour modifier la ligne
<Directory /var/www/>en<Directory /home/ubuntu/public_html>. - Utilisez la commande
pour modifier la ligne
DocumentRoot /var/www/htmlenDocumentRoot /home/ubuntu/public_html. - Créez le répertoire dans le répertoire
/homede l'utilisateur avec la commande - Copiez la page par défaut dans le répertoire que vous venez de créer, c'est-à-dire
public_htmldans votre/HOME, avec la commande - Redémarrez le serveur Apache pour actualiser les modifications avec la commande
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 le module Apache.
Installation¶
Configuration¶
L'exemple de configuration suivant limite la bande passante pour tous les clients à 100 Mbps.
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¶
- Configuration du serveur Apache pour utiliser SSL
- Documentation Apache2 (en anglais)
- Tutoriel HTML w3schools (en anglais)