Cookie

Démarrez rapidement un serveur Web avec PHP

Publié par TheJoe sur

Temps de lecture estimé: 3 minutes

Je n'étais pas à la maison hier… et je me suis souvenu que j'avais un fichier important dans mon NAS, a la maison. Je peux accéder à mon NAS via le VPN que j'ai activé, mais le document se retrouve dans un chemin dont je ne me souvenais pas à l'époque, au lieu de cela, parmi les rares choses dont je me souvenais, c'était que le nom du fichier était un nom générique progressif, donc pas très utile si il faut le chercher en ligne de commande. Ce qu'il faut faire?

PHP est un langage de programmation aux multiples fonctionnalités. Même si je ne sais pas programmer en PHP, Je me suis souvenu d'une fonction qui m'a été très utile dans ce cas. Il s'agit d'une commande de terminal qui vous permet de démarrer un serveur Web avec un interpréteur PHP activé. Nous n'avons pas besoin d'installer Apache, Nginx ou autre… PHP suffira.

Ne le crois-tu pas?

Eh bien, En attendant, commençons à installer la dernière version de PHP (Prenons comme exemple une distribution Debian ou dérivée (mais PHP peut être installé sur n'importe quelle distribution):

$ sudo apt install php8

A la fin de l'installation, notre PHP sera installé. Vérifions la version avec la commande suivante:

$ php --version
PHP 8.0.30 (cli) (built: Aug 23 2023 12:00:00) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.30, Copyright (c) Zend Technologies

Eh bien: PHP est installé et prêt à être utilisé. Veuillez noter que nous n'avons installé aucun serveur Web (Apache, Nginx ou autre), mais seulement l'interpréteur PHP.

Démarrons maintenant le serveur de développement avec une seule commande:

# php -S 0.0.0.0:4000

Cette commande (Exécuter en tant qu'administrateur) s'ouvre à toutes les connexions entrantes sur le port 4000 dans le répertoire dans lequel nous nous trouvons. Nous allons dans le navigateur et tapons l'IP du serveur. Voyons si ça marche:

Une erreur 404 pas trouvé. Vérifions le terminal:

[Sat Jan 27 17:27:42 2024] PHP 8.0.30 Development Server (http://0.0.0.0:4000) started
[Sat Jan 27 17:27:44 2024] xxx.xxx.xxx.xxx:49893 Accepted
[Sat Jan 27 17:27:44 2024] xxx.xxx.xxx.xxx:49893 [404]: GET / - No such file or directory
[Sat Jan 27 17:27:44 2024] xxx.xxx.xxx.xxx:49893 Closing

Depuis le terminal, nous voyons le débogage classique de ce qui se passe sur le navigateur. J'ai fait une demande pour le répertoire racine “/“. Ça ne s'est pas bien terminé (parce que je n'ai pas de fichier index.php dans quel répertoire), mais je m'en fiche car le serveur a démarré et l'erreur 404 ça veut dire qu'il fonctionne comme il se doit.

Regardez ici:  VNC sur SSH pour des connexions sécurisées

Je voudrais plutôt lister le contenu du répertoire comme dans un dépôt et récursivement tous les sous-répertoires. En recherchant dans les ressources en ligne, je trouve un petit projet hébergé sur GitHub: Petit gestionnaire de fichiers. Il s'agit justement d'un unique fichier PHP qui liste le contenu du répertoire dans lequel il se trouve et de manière récursive tous les répertoires enfants. Notez qu'il prend en charge deux authentifications différentes (avec et sans privilèges administratifs) et prend en charge le téléchargement et le téléchargement de fichiers. Le projet est bien documenté, l'installation est simple et le résultat est garanti. Il a quelques petites addictions:

$ sudo apt install php8-fileinfo php8-iconv php8-zip php8-tar php8-mbstring

Dernières pensées

Je ne l'ai encore écrit nulle part, mais j'espère qu'il est clair que cette procédure de démarrage rapide d'un serveur Web ne doit être utilisée que sur un réseau local et jamais exposée au trafic Internet., beaucoup moins utilisé dans aucune entreprise pour la production. Disons que vous pouvez dormir relativement bien s'il est utilisé via un VPN.

je pense qu'on pourrait faire la même chose, mais sans interpréteur PHP avec Python… je dois vérifier.


TheJoe

Je garde ce blog comme un hobby par 2009. Je suis passionné de graphisme, la technologie, logiciel Open Source. Parmi mes articles ne sera pas difficile de trouver de la musique, et quelques réflexions personnelles, mais je préfère la ligne directe du blog principalement à la technologie. Pour plus d'informations me contacter.

0 commentaires

Laisser un commentaire

Espace réservé d'avatar

Votre adresse email ne sera pas publiée. les champs requis sont indiqués *

Ce site utilise Akismet pour réduire le spam. Découvrez comment vos données de commentaire est traité.