#Informatique, Debian
Debian - Site Web et accès FTP avec Docker
30 juillet 2016 Rédigé par Djin
Salut,
Nous avons vu récemment l'installation de Docker sur Debian.
Aujourd'hui nous allons voir une application simple : un site web qui supporte le PHP et un accès FTP pour gérer les fichiers.
Nous partons donc du principe que Docker est installé et fonctionne.
Sinon rendez-vous sur cet article.
1 - Serveur Web/PHP.
Nous allons commencer par charger l'image d'apache depuis le Hub de Docker :
docker pull apotek/php-apache
On peut lister les images de notre serveur avec cette commande :
Et voici le résultat :
fauria/vsftpd latest 011f0e7012eb 11 months ago 345.4 MB
Un fois le téléchargement terminé, on peut lancer le conteneur :
L'explication :
run : pour créer un conteneur et l'exécuter.
-d : Pour l'exécuter le conteneur en tâche de fond.
--name : On nomme le conteneur. Si ce paramètre n'est pas présent, un nom est généré automatiquement.
-p : On indique le port à rediriger vers le conteneur. On attaquera donc notre serveur web sur le port 8080 qui sera redirigé vers le port 80 du conteneur.
-v : pour mapper un répertoire local avec un répertoire du conteneur - ce qui nous permettra de modifier les fichiers de notre serveur web.
apotek/php-apache : On appelle l'image pour créer notre conteneur.
Pour information, si nous n'avions pas téléchargé l'image, lancer cette commande l'aurait chargée toute seule.
Nous allons donc vérifier le fonctionnement de notre serveur web avec un navigateur :
Normalement, si tout se passe bien, vous devriez avoir un beau "It Work"
Pour vérifier le mappage, vous pouvez créer un fichier "index.php" et coller un bout de PHP pour tester dans le même temps le serveur PHP :
phpinfo();
?>
Un petit rafraîchissement de la page web et vous devriez voir les informations de configuration de PHP.
Nous avons un serveur web/PHP fonctionnel !
2 - Serveur SFTP.
Pourquoi SFTP et pas FTP, et bien simplement par sécurité. Je vous invite à faire une petit recherche sur Google pour plus d'explications mais dans le principe :
FTP = non sécurisé
SFTP = Crypté du mot de passe au fichier qu'on fait transiter.
Sur le même principe que le serveur web, il faut télécharger l'image et lancer le conteneur.
Cette fois, comme vu plus haut, nous allons le faire en une seule fois :
L'explication :
run, -d, --name, -p, et -v, nous avons déjà vu.
Après le nom de l'image, nous allons retrouver la commande à passer au conteneur, soit "foo:123:1000:1001" qui correspond dans notre cas au nom du compte pour se connecter, à son mot de passe, à l'UID du compte et au GID du groupe.
Attention, l'UID/GID du compte et du groupe indiqués correspondent aux UID de comptes et groupes locaux de l'hôte. Cela sous-entend que le compte qui correspond à l'UID 1000 à les droits de lecture et d'écriture sur le répertoire /home/siteweb .
Pour retrouver l'UID d'un compte, on fait :
Vous voilà avec un serveur web supportant PHP, un serveur SFTP et le tout avec docker.
Maintenant, rien ne vous empêche de monter un autre conteneur basé sur l'image d'Apache mais via un autre port.
C'est la facilité de docker !
Information sur Djin, l'auteur de l'article
L'informatique est d'abord une passion avant d'être mon métier.
3 commentaires
#1
Ce post m'a beaucoup aidé pour monter mon serveur. J'ai créé un docker-compose.yml pour faciliter tout ca : https://github.com/mikaoelitiana/apache-sftp Commentaire de Mika Andrianarijaona
#2
Erreur a cette ligne:
docker run -d --name -v /home/siteweb/:/home/foo/share -p 2222:22 atmoz/sftp foo:123:1000:1001
ne pas oubliez de renseignez le nom apres le --name ;)
ex:
docker run -d --name sftp -v /home/siteweb/:/home/foo/share -p 2222:22 atmoz/sftp foo:123:1000:1001 Commentaire de DarDuckk
#3
Salut,
Merci, c'est corrigé ! Commentaire de Djin
Fil RSS des commentaires de cet article