Carpeta de alojamiento en el directorio de inicio usando nginx

11

Me gustaría agregar una condición en un script adduser para actualizar nginx.conf para que cargue ~ / www como http: // ipaddress / ~ user cada vez que creo un nuevo usuario.

Y cuando un usuario se llama www.domainname, alojará ese nombre de dominio en la carpeta ~ / www.

¿Hay un script que ya hace esto?

Joseph Le Brech
fuente
No, no hay
mailq

Respuestas:

24

No necesita agregar nada a nginx luego de la creación del usuario. Simplemente use algo como esto en su bloque de servidor:

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

Verifique sus distribuciones / etc / skel

si mkdir / etc / skel / www todos los userdirs creados por adduser (o sus distribuciones adduser-script) tendrán este directorio por defecto.

Franz Bettag
fuente
ahora, ¿qué pasa si quiero que los usuarios anulen esto una vez y luego apunten sus DNS a ese servidor?
Joseph Le Brech
No entiendo la pregunta / problema: /
Franz Bettag
si un usuario tiene un sitio alojado en ~ nombre de usuario, ¿hay alguna manera de que el usuario lo cambie a nombre de dominio?
Joseph Le Brech
Podría darle al usuario la posibilidad de tener su propio nginx.conf, algo así como (no es 100% correcto, pero la dirección está ahí): if (-e /home/$1/.nginx.conf) {include (/ home / $ 1 / .nginx.conf); } allí el usuario podría hacer su propia configuración, pero también interrumpir el reinicio del servidor. Este es un problema un poco compilado.
Franz Bettag
1
que realmente rocas :)
Joseph Le Brech