Serveur Web

L'HyperText Markup Language, généralement abrégé HTML, est le langage de balisage conçu pour représenter les pages web. C'est un langage permettant d'écrire de l'hypertexte.

Vous trouverez ici pour débuter en HTML un cours complet intitulé "Apprenez à créer votre site web avec HTML5 et CSS3"

PHP: Hypertext Preprocessor, plus connu sous son sigle PHP, est un langage de programmation libre, principalement utilisé pour produire des pages Web dynamiques via un serveur HTTP.

Vous trouverez ici un cours complet intitulé "Concevez votre site web avec PHP et MySQL"

Vous trouverez toutes les informations sur PHP à l'adresse : http://php.net/

Mémo : Pour obtenir les infos PHP : <?php phpinfo(); ?>

LAMP est un acronyme désignant un ensemble de logiciels (Linux, Apache, MySQL et PHP) permettant la création de serveur pour sites Internet.

Vous trouverez ici une vidéo intitulée "Comprendre le serveur web en 2 minutes"


Mémo : Installer un serveur LAMP sur Debian 9 :

  • apt-get install apache2 libapache2-mod-php7.0
  • apt-get install php7.0 php7.0-mysql
  • apt-get install mariadb-client mariadb-server
  • mysql_secure_installation

Enter current password for root (enter for none):

Set root password? [Y/n] y (saisir mdp root + confirmation)

Remove anonymous users? [Y/n] y

Disallow root login remotely? [Y/n] y

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

Reload privilege tables now? [Y/n] y

  • apt-get install phpmyadmin

WampServer est une plate-forme de développement Web sous Windows pour des applications Web dynamiques à l’aide du serveur Apache2, du langage de scripts PHP et d’une base de données MySQL. Il possède également PHPMyAdmin pour gérer plus facilement vos bases de données.

Retrouvez toutes les informations à cette adresse : http://www.wampserver.com/

Vous trouverez également ici un tutoriel qui détaille l'installation d'une solution tout-en-un WAMP (Windows, Apache, MySQL et PHP) sur Windows 10, au travers de l'outil WampServer

Webmin est une interface web qui permet d'administrer simplement un serveur UNIX/Linux :

  • Permet l'administration distante via un simple navigateur Web
  • Offre un aspect commun à tous les systèmes de la famille Unix
  • Reste une alternative, non obligatoire, à l'édition directe des fichiers de configuration
  • Propose de nombreux modules d'administration des services les plus divers
  • Fournit un moyen simple de déléguer l'administration de certains sous systèmes à des utilisateurs néophytes
  • Prend en compte les aspects liés à la sécurité (sous réserve d'un minimum de configuration)

Retrouver toutes les informations sur l'installation de Webmin en fonction de votre distribution à l'adresse suivante : http://www.webmin.com/


Mémo : Installer Webmin 1.920 sur Debian 10 (Buster) :

  • apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python
  • wget http://prdownloads.sourceforge.net/webadmin/webmin_1.920_all.deb
  • dpkg --install webmin_1.920_all.deb

Virtualmin est un panneau de contrôle d'hébergement web opensource, conçu pour faciliter la gestion des sites, des utilisateurs de boîtes aux lettres, des bases de données et des applications web. Ce panneau de contrôle est une sur-couche applicative pour Webmin et permet une gestion multi-domaines.

Virtualmin est le moyen le plus simple et le plus rapide de transformer un système Linux en un système d'hébergement Web complet.

Vous trouverez toutes les informations de Virtualmin à l'adresse : https://www.virtualmin.com/


Mémo : Installer la version GPL de Virtualmin avec le script d'installation :

$ wget http://software.virtualmin.com/gpl/scripts/install.sh

$ sudo chmod +x ./install.sh

$ sudo ./install.sh

WordPress est un système de gestion de contenu (SGC ou content management system (CMS) en anglais) gratuit, libre et open-source. Ce logiciel écrit en PHP repose sur une base de données MySQL et est distribué par l'entreprise américaine Automattic. Les fonctionnalités de WordPress lui permettent de créer et gérer différents types de sites Web : blogue, site de vente en ligne, site vitrine ou encore portfolio. Il est distribué selon les termes de la licence GNU GPL version 2.

Vous trouverez toutes les informations sur WordPress à l'adresse : https://fr.wordpress.org/


Mémo : Installer et configurer Wordpress sur Docker :

  • systemctl enable docker
  • mkdir ~/wordpress && cd ~/wordpress
  • docker run -e MYSQL_ROOT_PASSWORD=<password> -e MYSQL_DATABASE=wordpress --name wordpressdb -v "$PWD/database":/var/lib/mysql -d mariadb:latest
  • docker ps -a (CONTAINER_ID)
  • docker update --restart always <CONTAINER_ID>
  • docker pull wordpress
  • docker run -e WORDPRESS_DB_PASSWORD=<password> --name wordpress --link wordpressdb:mysql -p 80:80 -v "$PWD/html":/var/www/html -d wordpress
  • docker ps -a (CONTAINER_ID)
  • docker update --restart always <CONTAINER_ID>
  • http://<adresse_IP>/wp-admin/install.php

Joomla! est un système de gestion de contenu (CMS) libre, open source et gratuit. Il est écrit en PHP et utilise une base de données MySQL. Joomla! inclut des fonctionnalités telles que des flux RSS, des news, une version imprimable des pages, des blogs, des sondages, des recherches. Joomla! est sous licence GNU GPL.

Vous trouverez toutes les informations sur Joomla! à l'adresse : https://www.joomla.fr/

Moodle est une plateforme d'apprentissage en ligne libre distribuée sous la Licence publique générale GNU écrite en PHP. Développée à partir de principes pédagogiques, elle permet de créer des communautés s'instruisant autour de contenus et d'activités. Le mot « Moodle » est l'abréviation de Modular Object-Oriented Dynamic Learning Environment : « Environnement orienté objet d'apprentissage dynamique modulaire ».

Outre la création de cours à l'aide d'outils intégrés (ressources et activités) à l'usage des formateurs, Moodle offre des possibilités d'organisation des cours sous forme de filières qui lui donnent également des caractéristiques propres à la mise en place de dispositifs complets d'enseignement.

Vous trouverez toutes les informations sur Moodle à l'adresse : https://moodle.org/

Chamilo est un logiciel open source de gestion de l'apprentissage et du contenu d'apprentissage, dont l'objectif est d'améliorer l'accès global à l'éducation et au savoir. Il est soutenu par l'Association Chamilo, dont les objectifs incluent la promotion du logiciel, le maintien d'un canal de communication clair et la construction d'un réseau de fournisseurs de services et de contributeurs au logiciel.

Vous trouverez toutes les informations sur Chamilo à l'adresse : https://chamilo.org/fr/

Internet Information Services, communément appelé IIS, est un serveur Web (FTP, SMTP, HTTP, etc.) des différents systèmes d'exploitation Windows NT.

Les administrateurs peuvent utiliser le rôle Serveur Web (IIS) pour configurer et gérer plusieurs sites Web, applications Web et sites FTP. Parmi les fonctionnalités spécifiques :

  • Utiliser le Gestionnaire IIS pour configurer des fonctionnalités IIS et pour administrer vos sites Web.
  • Utiliser le protocole FTP (File Transfer Protocol) pour permettre aux propriétaires de sites Web de télécharger des fichiers.
  • Utiliser l’isolation de site Web pour empêcher qu’un site Web n’entre en conflit avec avec d’autres sites sur votre serveur.
  • Configurer les applications Web qui font appel à des technologies diverses, telles que ASP Classic, ASP.NET et PHP.
  • Utiliser Windows PowerShell pour automatiser la gestion de la plupart des tâches d’administration pour votre serveur Web.
  • Configurer plusieurs serveurs Web dans une batterie de serveurs que vous pouvez gérer avec IIS.

NGINX Open Source ou NGINX est un logiciel libre de serveur Web (ou HTTP) ainsi qu'un proxy inverse écrit par Igor Sysoev, dont le développement a débuté en 2002 pour les besoins d'un site russe à très fort trafic (Rambler). La documentation est disponible dans plusieurs langues. C'est depuis avril 2019, le serveur web le plus utilisé au monde.

Vous trouverez toutes les informations sur NGINX à l'adresse : https://nginx.org/


Mémo : Installer NGINX sur Linux Debian 9 (Stretch) ou Debian 10 (Buster)

  • apt install curl gnupg2 ca-certificates lsb-release
  • echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" \ | tee /etc/apt/sources.list.d/nginx.list
  • curl -fsSL https://nginx.org/keys/nginx_signing.key | apt-key add -
  • apt-key fingerprint ABF5BD827BD9BF62
  • apt update
  • apt install nginx
  • systemctl start nginx
  • systemctl enable nginx

Let’s Encrypt est une autorité de certification gratuite, automatisée et ouverte.

Pour activer HTTPS sur votre site Web, vous devez obtenir un certificat (un type de fichier) à partir d’une autorité de certification (AC ou CA pour Certificate Authority en anglais). Let’s Encrypt est une autorité de certification. Afin d’obtenir un certificat pour le domaine de votre site Web avec Let’s Encrypt, vous devez démontrer que vous contrôlez ce domaine. Avec Let’s Encrypt, vous faites cela en utilisant un logiciel qui utilise le protocole ACME, qui s’exécute généralement chez votre hébergeur.

Vous trouverez toutes les informations sur Let’s Encrypt à l'adresse : https://letsencrypt.org/fr/

Certbot est un outil de l’EFF permettant de gérer les certificats SSL sur les serveurs. Il est aujourd’hui dédié aux certificats gratuits Let’s Encrypt.

Certbot est un outil automatique, compatible avec les serveurs web majeurs (dont Apache et Nginx), ainsi qu’avec les OS Linux les plus courants (dont Debian, CentOS et Ubuntu). Il est placé sous l’égide de l’EFF (Electronic Frontier Foundation). Un choix logique, sachant que Certbot pourra gérer des certificats proposés par d’autres autorités de certifications que Let’s Encrypt.

Vous trouverez toutes les informations sur Cerbot à l'adresse : https://certbot.eff.org/