Imaginons un monde où héberger vous-même votre site Web est aussi simple et fiable que la navigation sur le Web. Vous pouvez héberger le site de votre entreprise, votre portfolio personnel, votre serveur de messagerie et même des applications de messagerie, tout en parcourant le flux d’Amazon ou en lisant les dernières informations de Hacker News dans le confort de votre canapé. Le Web serait certainement un lieu plus démocratique, tant du point de vue de la diffusion de l’information que de celui de la navigation de l’information.
Bien que la vision initiale pour le World Wide Web inclue certains éléments de cet idéalisme (par exemple, l’affichage direct du contenu du système de fichiers à l’aide de liens hypertextes), la réalité s’est avérée quelque peu différente. Malheureusement, l’hébergement de votre propre site Web pose encore de sérieux problèmes, notamment les adresses IP dynamiques, les contraintes de bande passante et les coûts d’électricité.
Dans cet article, nous allons voir comment héberger votre propre site Web sous Microsoft Windows et Linux, ainsi que certains inconvénients que cela entraîne. Pour les deux plates-formes, nous allons installer et utiliser la pile Web AMP (Apache, Mysql, PHP). Cette pile AMP est communément appelée WAMP sous Windows et LAMP sous Linux pour des raisons évidentes.
Windows : Comment héberger un site Web en utilisant votre PC en tant que serveur WAMP ?
Essayons d’abord d’héberger un site Web sur votre ordinateur personnel avec le système d’exploitation Windows.
Étape 1 : Installez le logiciel WAMP
Pour rendre cette tâche très facile, nous allons utiliser un programme d’installation de WAMP (il en existe plusieurs) appelé WampServer. Vous pouvez également choisir d’installer chaque package manuellement, mais cette procédure nécessite beaucoup plus de travail et est sujette aux erreurs.
Le package WampServer est livré avec les dernières versions de Apache, MySQL et PHP.
WampServer est l’un des environnements disponibles pour créer des applications Apache, MySQL et PHP sous Windows.
Tout d’abord, téléchargez le fichier binaire WAMP 32 bits ou 64 bits et commencez l’installation. Suivez simplement les instructions à l’écran, puis lancez WampServer.
Remarque : il est possible que le port 80 soit en conflit avec votre logiciel Skype, mais il existe une solution à ce problème.
Étape 2 : Utiliser WampServer
Lors de l’installation, un répertoire www sera créé automatiquement. Vous le trouverez probablement ici :
c:\wamp\www
À partir de ce répertoire, vous pouvez créer des sous-répertoires (appelés « projets » dans WampServer) et placer tous les fichiers HTML ou PHP dans ces sous-répertoires.
L’écran principal de votre hébergement local dans WampServer devrait ressembler à ceci.
Si vous cliquez sur le lien localhost dans le menu WampSever ou ouvrez votre navigateur Internet avec l’URL http://localhost, l’écran principal de WampServer devrait s’afficher.
Étape 3 : Création d’une page HTML
Pour tester notre serveur WampServer, nous devons placer un fichier exemple appelé « info.php » dans notre répertoire www.
Accédez directement à ce répertoire en cliquant sur « www directory » dans le menu WampServer.
À partir de là, créez un nouveau fichier avec le contenu ci-dessous et enregistrez-le.
<title>PHP Test</title>
Maintenant, vous pouvez naviguer sur http://localhost/info.php
pour voir les détails de votre installation PHP. Vous pouvez créer n’importe quelle structure de fichiers HTML et PHP pour répondre à vos besoins.
Étape 4 : Configurer MySQL
Si vous cliquez sur l’option de menu phpMyAdmin, vous pouvez commencer à configurer vos bases de données MySQL (qui peuvent être nécessaires pour un CMS tel que WordPress).
L’écran de connexion de phpMyAdmin s’ouvrira dans une nouvelle fenêtre de navigateur. Par défaut, le nom d’utilisateur admin sera root et vous pourrez laisser le champ du mot de passe vide.
À partir de là, vous pouvez créer de nouvelles bases de données MySQL et modifier celles existantes. Cependant, la plupart des logiciels, tels que WordPress, configurent automatiquement une nouvelle base de données.
Étape 5 : Rendre le site public
Par défaut, le fichier de configuration Apache est configuré pour refuser toute connexion HTTP entrante, sauf dans le cas d’une personne venant de l’hébergement local.
Pour rendre votre site accessible au public, vous devez modifier le fichier de configuration Apache (httpd.conf). Vous pouvez trouver et modifier ce fichier en accédant au menu WampServer, en cliquant sur « Apache » et en sélectionnant « httpd.conf ».
Order Deny,Allow
Deny from all
Remplacez les deux lignes ci-dessus par celles ci-dessous :
Order Allow, Deny
Allow from all
Redémarrez tous les services WampServer en cliquant sur « Redémarrer tous les services » dans le menu.
Le site devrait maintenant être accessible à partir de votre hébergement local. Assurez-vous qu’un pare-feu de PC ne bloque pas les requêtes Web. Vous devrez peut-être également configurer la redirection de port sur votre routeur Internet.
Étape 6 : Utiliser un nom de domaine
Pour utiliser un nom de domaine, tel qu’exemple.com, avec votre installation WAMP, nous devons d’abord configurer certains fichiers. Supposons que notre domaine exemple.com a un enregistrement A dans votre DNS avec l’adresse IP 100.100.100.100.
Premièrement, nous devons ajouter la ligne suivante au fichier C:\Windows\system32\drivers\etc\hosts :
100.100.100.100 example.com
Maintenant, nous devons éditer à nouveau httpd.conf (accessible via le menu WampServer) pour ajouter un hébergement virtuel. Une fois ce fichier ouvert, recherchez « hébergements virtuels », puis décommentez la ligne qui se trouve après, comme ceci :
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
Nous devons maintenant ajouter manuellement un fichier dans « C:\wamp\bin\apache\Apache-VERSION\conf\extra\ » (VERSION est votre version d’Apache).
Créez ensuite un fichier dans le Bloc-notes avec le contenu suivant et enregistrez-le dans ce répertoire Apache.
ServerAdmin mail@example.com
DocumentRoot "c:\wamp\www"
ServerName mysite.local
ErrorLog "logs/example.com.log"
CustomLog "logs/example.com-access.log" common
Cliquez sur « Redémarrer tous les services » dans le menu WampServer pour activer ces modifications.
Désormais, votre site devrait également être accessible via son nom de domaine.
Linux : Comment héberger un site Web sur une machine Linux ?
Voyons maintenant comment configurer Apache, MySQL et PHP sur un système Linux.
Étape 1 : Installation du logiciel
Pour démarrer l’installation de notre logiciel LAMP, tapez ce qui suit dans le terminal :
sudo apt install apache2 mysql-server php libapache2-mod-php8.1
Au cours du processus d’installation, il vous sera demandé de saisir (et de ressaisir) un mot de passe pour l’utilisateur root MySQL.
Ayez votre mot de passe root MySQL à portée de main pendant le processus d’installation de LAMP.
Techniquement, ce n’est pas nécessaire (puisque ceci aurait dû être fait lors de l’installation), mais pour être sûr, nous allons redémarrer le serveur Web Apache.
Chaque fois que vous modifiez la configuration globale d’Apache, vous devez exécuter la commande ci-dessous, sauf si vous effectuez la configuration à l’aide de fichiers .htaccess locaux.
sudo /etc/init.d/apache2 restart
Étape 2 : Vérifier PHP
Pour confirmer que votre serveur PHP fonctionne et pour voir quels modules PHP sont actuellement disponibles, vous pouvez placer un fichier test PHP dans le répertoire racine du serveur Web (/var/www/html/) :
sudo echo "" > /var/www/html/info.php
Nous devons maintenant visiter cette page PHP en naviguant sur http://localhost/info.php.
Vous devriez voir la version actuelle de PHP, la configuration actuelle et les modules installés. Notez que vous pouvez installer ultérieurement d’autres modules PHP à l’aide du gestionnaire de packages Ubuntu, car certaines applications PHP pourraient en avoir besoin.
Pour déterminer quels modules supplémentaires sont disponibles, effectuez une recherche dans le gestionnaire de packages graphique ou utilisez simplement la ligne de commande :
apt search php | grep module
Étape 3 : Vérifier MySQL
Comme la plupart des systèmes de gestion de contenu (WordPress, par exemple) utilisent MySQL, nous allons également examiner cette partie.
Pour voir si votre installation MySQL fonctionne, tapez « service mysql status ».
$ service mysql status
● mysql.service - MySQL Community Server
[...]
mrt 15 13:24:09 host1 systemd[1]: Started MySQL Community Server.
Nous voyons que MySQL est opérationnel. Si vous ne le voyez pas, vous pouvez taper le code suivant pour redémarrer le serveur MySQL :
sudo service mysql restart
À partir de là, nous pouvons utiliser le client en ligne de commande MySQL pour gérer les bases de données.
Pour cela, nous devons utiliser les informations d’administrateur que nous avons saisies lors de l’installation de MySQL.
$ mysql -u root -p
Maintenant, on va vous demander votre mot de passe administrateur et entrez l’invite mysql
À partir de là, nous pouvons faire tout ce que nous voulons avec MySQL, par exemple, créer une nouvelle base de données.
Souvent, le CMS crée automatiquement la base de données pour vous, mais il est parfois nécessaire de modifier manuellement la base de données (par exemple, créer une sauvegarde ou optimiser des tables).
phpMyAdmin est un outil de gestion de base de données intuitif, recommandé par la plupart des experts du Web.
Vous pouvez installer PHPmyadmin en tapant ce qui suit dans le terminal :
sudo apt install phpmyadmin
Enfin, configurez le fichier /etc/phpmyadmin/config.inc.php en suivant les étapes décrites ici.
Étape 4 : Configurer le DNS
Pour utiliser votre propre domaine (par exemple, exemple.com) pour votre serveur Web local, vous devez configurer Apache pour accepter les requêtes Web de votre domaine.
Tout d’abord, assurez-vous que le DNS de votre domaine possède un enregistrement A (qui pointe vers une adresse IP spécifique) pour votre nom de domaine, par exemple www.example.com. Votre fournisseur d’hébergement DNS disposera d’outils en ligne pour configurer correctement ces enregistrements DNS.
Une fois que cela est fait, vous devriez pouvoir voir quelque chose comme ceci en utilisant la commande dig. Pour demander l’enregistrement A pour www.example.com, tapez :
$ dig www.example.com A
;; ANSWER SECTION:
www.exemple.com. 86400 IN A 100.100.100.100
;; AUTHORITY SECTION:
example.com. 86398 IN NS a.iana-servers.net.
example.com. 86398 IN NS b.iana-servers.net.
Là, un lien Web pour http://www.example.com serait dirigé vers le serveur avec l’adresse IP 100.100.100.100.
Étape 5 : Configurer Apache
Nous devons maintenant dire à Apache d’accepter les requêtes Web portant notre nom www.example.com et de quel répertoire servir le contenu lorsque nous recevons ces requêtes.
Tout d’abord, nous configurons un répertoire pour notre domaine example.com, puis nous créons un exemple de fichier index.html et, enfin, nous définissons des autorisations de système de fichiers :
sudo mkdir -p /var/www/html/example.com
sudo sh -c 'echo "
Ceci est mon site auto-hébergé: example.com
> /Var/www/html/example.com/index.html sudo chmod -R 755 /var/www/html/example.com
Pour voir cette page, la dernière étape consiste à configurer un fichier d’hébergement virtuel pour Apache pour notre domaine.
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf
sudo nano /etc/apache2/sites-available/example.com.conf
Maintenant, éditez le fichier pour qu’il ressemble à ceci (les commentaires facultatifs ne sont pas affichés ici) :
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/html/example.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Maintenant, reconfigurez et rechargez Apache pour que les modifications prennent effet :
sudo a2ensite example.com.conf
sudo service apache2 reload
Modifiez votre fichier local/etc/hosts en ajoutant une ligne avec votre adresse IP et votre nom de domaine. Assurez-vous de modifier le « 100.100.100.100 » pour qu’il corresponde à l’adresse IP de votre domaine :
100.100.100.100 example.com
Nous devrions maintenant être en mesure de visiter notre site auto-hébergé en allant à http://www.example.com.
Étape 5 : Installez un système CMS de votre choix
Vous pouvez installer une plate-forme CMS de votre choix (les options courantes étant WordPress, Joomla et Drupal), soit manuellement, soit à l’aide de la gestion des packages d’Ubuntu.
Pourquoi nous disons qu’héberger vous-même votre site Web est une mauvaise idée (1 avantage, 4 Inconvénients) ?
Nous avons donc expliqué que c’était faisable, mais ce n’est pas parce que vous pouvez faire quelque chose que vous devriez le faire. Voyons le pour et le contre.
Le seul avantage
Résultat : La création de votre propre site Web et de son hébergement n’est pas seulement une expérience très éducative, mais c’est plutôt amusant à exécuter. C’est un projet geek, bien sûr, mais si vous lisez ceci, vous tombez probablement dans la catégorie des gens qui appellent ça du plaisir.
Une fois que vous avez terminé, vous aurez le pouvoir d’apporter les modifications système souhaitées. Apprendre à héberger un site localement, beaucoup de gens en ont appris davantage sur la programmation, le Web design et le commerce en ligne. C’est l’expérience qui est la plus importante.
Les 4 inconvénients
Malheureusement, l’auto-hébergement de votre site Web présente encore des inconvénients importants :
- Vous rencontrerez des connexions lentes comparées aux hébergements professionnels. La vitesse de téléchargement de votre fournisseur d’accès est probablement beaucoup plus lente que la vitesse de téléchargement. Par conséquent, la diffusion de contenu aux visiteurs de votre site Web sera également très lente.
- Vous devez gérer une adresse IP (dynamique) en constante évolution. Bien qu’il existe des outils de configuration DNS pour résoudre ce problème, cela peut potentiellement poser des problèmes à tout moment.
- Cela coûte beaucoup d’électricité et vous aurez souvent des pannes de courant.
- Vous êtes responsable de la maintenance du matériel et des logiciels.
Vous comprenez donc pourquoi nous encourageons vivement l’investissement dans un hébergeur de qualité pour votre site ou votre application. Et nous vous guidons là aussi. Jetez un coup d’œil aux types d’hébergement disponibles pour voir quelles options d’hébergement existent et dans les limites de votre budget.
Alternatives à l’hébergement d’un site Web à domicile
Au lieu d’essayer d’héberger un site Web localement, vous pouvez vous adresser à un fournisseur d’hébergement et gérer vous-même les serveurs. Les options dédiées ou VPS constituent un moyen beaucoup plus économique d’acquérir la propriété physique de votre présence sur le Web.
Quels sont les meilleurs serveurs dédiés ?
Les avantages de l’hébergement dédié incluent autant de RAM et de puissance de traitement que vous le souhaitez, une isolation complète pour que l’absence d’un site Web voisin ne vous réduise pas la situation, et que vous disposiez des meilleures statistiques de disponibilité et de performances que vous puissiez acheter – et nous ne parlons pas de beaucoup d’argent. Les serveurs dédiés sont les plus chers des types de serveurs, mais ils représentent un rêve par rapport aux coûts d’hébergement d’un site Web par vous-même.
Le meilleur hébergement VPS
Vous pouvez également opter pour l’hébergement avec un VPS. Son principal avantage est l’évolutivité et le fait que vous ne pouvez augmenter les ressources que si vous en avez besoin, ce qui le rend également rentable. Vous bénéficiez d’une flexibilité maximale, que vous choisissiez un service géré ou que vous décidiez de gérer vous-même les configurations et la maintenance du serveur.
Apprendre à héberger un site Web localement est amusant, mais peu pratique
Bien que nous ayons décrit les étapes à suivre pour configurer un bon système d’hébergement de sites Web sous Windows et Linux, je voudrais rappeler à tout le monde que l’auto-hébergement n’est finalement pas pratique pour un projet sérieux. Nous pouvons espérer que cela deviendra plus réalisable à l’avenir, mais ce n’est pas le cas récemment.
Des faits amusants : des personnes travaillent sur des choses comme IPFS et plusieurs autres idées distribuées de services de contenu, qui pourraient éventuellement permettre aux utilisateurs de créer des réseaux d’hébergement de contenu décentralisés. Internet continue de nous surprendre, alors qui sait ce que l’avenir de l’hébergement nous réserve ! Suivez-nous pour suivre les nouvelles sur l’industrie de l’hébergement et ses évolutions.
Posez-nous une question et nous vous répondrons. Nous nous efforçons de fournir les meilleurs conseils sur le net et nous sommes là pour vous aider de toutes les manières possibles.