2 votes

Comment puis-je lancer webfsd à chaque fois que je démarre/se connecte ?

J'utilise webfsd un démon HTTP léger, pour servir du contenu statique à http://localhost:80 comme suit :

sudo webfsd -R ~/Documents/www/ -p 80 -f index.html

Mais je dois l'exécuter depuis la ligne de commande à chaque fois. Je suppose que je ne peux pas ajouter sudo dans les programmes de démarrage. Alors, comment puis-je le faire fonctionner sans avoir à l'invoquer à chaque fois ?

(Je voudrais préférez qu'il démarre au démarrage et soit accessible sans que je doive me connecter, même si cela signifie que je dois déplacer l'emplacement des fichiers. Mais démarrer lorsque je me connecte est un deuxième prix acceptable. Si cela fait une différence, j'aimerais expérimenter plus tard avec HTTPS).

2voto

Mufaka Points 54

Ma première idée était un simple upstart script. /etc/init/webfs.conf :

description "WebFS server"
start on (local-filesystems and net-device-up)
respawn
exec webfsd -F -p 80 -u d3vid -g d3vid /home/d3vid/Documents/www/ -f index.html

El -u y -g Les arguments sont vraiment important. Ils abandonnent les privilèges de l'administrateur après avoir lié le port... Ce qui veut dire qu'il n'y a pas de processus accessible par le réseau tournant en tant que root qui peut être exploité.

L'autre idée est de l'exécuter sur un port élevé (>1024) comme vous, en le démarrant automatiquement comme vous le souhaitez... Et ensuite, soit en utilisant un real pour un reverse proxy (nginx est un outil commun et léger ici) à partir du port 80... Ou simplement utiliser une redirection iptables.

iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 10010 -j ACCEPT
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 10010

L'avantage de webfs est jamais en tant que root... Mais ensuite, il ne vous reste plus qu'à exécuter la commande iptable en tant que root à chaque démarrage. C'est une question d'équilibre.

Je pense que dans l'ensemble, si vous n'exposez pas le serveur à l'Internet directement, la première route est probablement assez sûre.

Mais si vous allez plus loin, laissez tomber WebFS et utilisez simplement nginx ...

  • Il fait tout ce que fait WebFS (et bien plus encore)
  • Il est simple à utiliser
  • C'est efficace au-delà de toute raison
  • Son SSL a une documentation décente
  • Plus important encore, de nombreuses personnes ont un intérêt direct à ce que nginx reste sécurisé, y compris Canonical, de sorte que vous obtiendrez rapidement des mises à jour pour ce système (ce qui est essentiel lorsqu'il s'agit de choses orientées vers le Web).

Pour vous donner une idée de ce que signifie l'efficacité, j'ai un serveur web qui héberge une vingtaine de domaines, dont certains ont un trafic assez important. Les quatre processus de travail de nginx représentent 15 Mo de RAM combinés et aucun temps CPU observable. C'est insensé.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X