Cartella di hosting nella home directory usando nginx


11

Vorrei aggiungere una condizione in uno script adduser per aggiornare nginx.conf affinché possa caricare ~ / www come utente http: // ipaddress / ~ ogni volta che creo un nuovo utente.

E quando un utente viene chiamato www.domainname, ospiterà quel nome di dominio nella cartella ~ / www.

C'è una sceneggiatura che già lo fa?


No, non c'è.
mailq,

Risposte:


24

Non è necessario aggiungere nulla a nginx al momento della creazione dell'utente. Usa semplicemente qualcosa del genere nel tuo blocco server:

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

Controlla le tue distribuzioni / etc / skel

se mkdir / etc / skel / www tutti gli userdir creati da adduser (o lo script adduser delle tue distribuzioni) avranno questa directory di default.


ora cosa succede se voglio che gli utenti lo ignorino una volta, quindi abbiano indirizzato i loro DNS a quel server?
Joseph Le Brech,

Non capisco la domanda / problema: /
Franz Bettag,

se un utente ha un sito ospitato su ~ username c'è un modo per l'utente di cambiarlo in domainname
Joseph Le Brech

Potresti dare all'utente la possibilità di avere il suo nginx.conf, qualcosa del genere (non corretto al 100%, ma la direzione è lì): if (-e /home/$1/.nginx.conf) {include (/ home / $ 1 / .nginx.conf); } lì l'utente potrebbe fare la propria configurazione, ma anche interrompere il riavvio del server. questo è un po 'un problema compilato.
Franz Bettag,

1
che effettivamente oscilla :)
Joseph Le Brech,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.