En cette époque de démocratisation d’Internet, avoir un site web est devenu presque aussi banal qu’avoir un téléphone mobile. Pour peu que l’intérêt soit là, il est devenu possible (plus facile) pour la grande majorité des gens de les avoir ou créer. Les prix, les outils et même le matériel sont accessibles, parfois même gratuits.
Aujourd’hui, nous verrons comment procéder pour installer un serveur web apache sur son poste Linux.
Serveur Web
Un serveur web peut être simplement défini comme un ensemble de logiciels qui permettent de diffuser, rendre disponible un site web aux autres. Dans la grande majorité des cas, les autres seront sur Internet. Mais dans certains cas, ces autres seront localisés dans un réseau interne et fermé. Et parfois, comme aujourd’hui, les autres, ce sera nous.
Un Serveur Web en Local. Pourquoi faire?
Quand on pense Web, c’est souvent dirigé consciemment ou non vers autrui, vers l’extérieur. On cherche à publier des informations, des médias, et les rendre disponibles pour que le plus grand nombre les voie, lise, commente, crache leur haine ou déclare leur flamme.
Dans ce cas, quel intérêt peut-il bien y avoir à déployer un tel système en local? En vérité, les raisons sont nombreuses, suivant les utilisations que l’on compte en faire. Mais on peut citer
- le besoin de faire des tests,
- la nécessité de conserver privée ou restreinte la diffusion de certaines données,
- etc.
Les forces en présence
Comme d’habitude, sur Linux, les options sont nombreuses, lorsqu’on veut mettre en place une fonctionnalité. Il existe une variété de serveurs web, les uns plus ou moins compétents que les autres, suivant les contextes. Un des plus populaires reste toutefois Apache.
Pour installer Apache sur son système, sur un système parent (ou enfant) de Debian, il faudra donc
- s’assurer que son système est à jour (les dépôts de logiciels tout au moins)
sudo apt update
- installer le paquet Apache2 qui apportera les joies d’être serveur Web à votre système bien aimé
sudo apt-get install apache2
- s’assurer que le serveur web a été bien installé est est actif. En effet, il pourrait arriver que certains conflits entre paquets ou services, ou même des configurations empêchent votre serveur de bien fonctionner
sudo systemctl status apache2
- tester la bonne marche du serveur dans un navigateur web
- ouvrir un onglet de votre navigateur web préféré
- dans la zone des URLs, saisir l’adresse http://localhost
- dans le cas où localhost ne produit aucun résultat motivant
- identifier le nom précis de votre système
- se rendre dans un terminal
- saisir la commande hostname
- bien prendre en note le nom de votre système qui va être affiché
- se rendre dans la barre d’adresse de votre navigateur web
- saisir l’adresse URL http://[NomDeVotreSysteme]
- si vous obtenez un résultat semblable à celui-ci, c’est que vous êtes sur la bonne voie
- identifier le nom précis de votre système
- configurer les bonnes permissions dans le dossier accueillant vos projets web
Dans la plupart des configurations par défaut, le dossier où seront conservés vos projets web sous linux sera /var/www. Or il se trouve que se dossier est la propriété de l’utilisateur root. Si cela permet de garantir un certain niveau de sécurité, cela peut devenir vite frustrant dans le cas où vous effectuez des modifications régulières dans le dossier, en raison des mots de passe qu’il vous faudra fournir à chaque modification ou presque. C’est sans parler de certaines actions de votre système qui ne fonctionneront probablement pas.
Pour corriger cette situation, nous allons
- rajouter l’utilisateur courant dans le groupe www-data, responsable de la grande majorité des processus web
sudo adduser $USER www-data
- changer le propriétaire du dossier /var/www de root à la paire utilisateur actif / groupe www-data
sudo chown -R $USER:www-data /var/www/*
- affecter les permissions 755 au dossier /var/www et l’ensemble de son contenu. Ces permissions impliquent que
- le propriétaire (vous), pouvez tout, tout!
- le groupe associé (www-data) et ses membres peuvent lire les informations des dossiers et les exécuter, au besoin
- tout autre individu ne faisant pas partie d’un des groupes précédents peut juste exécuter
sudo chmod -R 755 /var/www
Bien entendu, ces permissions seront à adapter suivant la nature et la criticité du projet sur lequel vous travaillez.
Sous Manjaro
Sous Manjaro Linux et les distributions orientées Arch, la séquence sera globalement la même. Seule la syntaxe différera vraiment :
pacman -Syu
Mise à jour de la distribution
pacman -S apache
Installation du paquet Apache
systemctl enable httpd
systemctl restart httpd
systemctl status httpd
Activation du service au démarrage, puis vérification de son statut
Une autre différence majeure sur Manjaro est que le dossier web où seront abritées les projets web sera plutôt /srv/http, au lieu de /var/www comme dans les déclinaisons de Debian.
Il faudra donc ajuster les permissions afin d’avoir un processus de création fluide.
Pour en savoir plus, retrouvez des contenus gratuits plus extensifs
Soka!