Dossier d'hébergement dans le répertoire personnel à l'aide de nginx

11

Je voudrais ajouter une condition dans un script adduser pour mettre à jour nginx.conf pour qu'il charge ~ / www en tant qu'utilisateur http: // ipaddress / ~ chaque fois que je crée un nouvel utilisateur.

Et lorsqu'un utilisateur est nommé www.domainname, il hébergera ce nom de domaine dans le dossier ~ / www.

Y a-t-il un script qui le fait déjà?

Joseph Le Brech
la source
Non, il n'y en a pas.
mailq

Réponses:

24

Vous n'avez pas besoin d'ajouter quoi que ce soit à nginx lors de la création de l'utilisateur. Utilisez simplement quelque chose comme ça dans votre bloc serveur:

location ~ ^/~(.+?)(/.*)?$ {
    alias /home/$1/www$2;
    autoindex on;
}

Vérifiez vos distributions / etc / skel

si vous mkdir / etc / skel / www tous les répertoires utilisateur créés par adduser (ou vos distributions adduser-script) auront ce répertoire par défaut.

Franz Bettag
la source
Maintenant, que se passe-t-il si je veux que les utilisateurs remplacent cela une fois, puis ont pointé leur DNS vers ce serveur?
Joseph Le Brech
Je ne comprends pas la question / problème: /
Franz Bettag
si un utilisateur a un site hébergé sur ~ nom d'utilisateur, est-il possible pour l'utilisateur de le changer en nom de domaine
Joseph Le Brech
Vous pouvez donner à l'utilisateur la possibilité d'avoir son propre nginx.conf, quelque chose comme (pas 100% correct, mais la direction est là): if (-e /home/$1/.nginx.conf) {include (/ home / $ 1 / .nginx.conf); } là, l'utilisateur peut faire sa propre configuration, mais également interrompre le redémarrage du serveur. c'est un peu un problème compilé.
Franz Bettag
1
ça bouge vraiment :)
Joseph Le Brech