Hosting Folder w katalogu domowym przy użyciu nginx


11

Chciałbym dodać warunek do skryptu adduser, aby zaktualizować plik nginx.conf, aby ładował ~ / www jako użytkownik http: // ipaddress / ~ za każdym razem, gdy tworzę nowego użytkownika.

A gdy użytkownik zostanie nazwany www.domainname, będzie hostować tę nazwę domeny w folderze ~ / www.

Czy istnieje skrypt, który już to robi?


Nie, nie ma.
mailq

Odpowiedzi:


24

Nie musisz nic dodawać do nginx podczas tworzenia użytkownika. Po prostu użyj czegoś takiego w bloku serwera:

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

Sprawdź swoje dystrybucje / etc / skel

jeśli użyjesz mkdir / etc / skel / www, wszystkie katalogi użytkowników utworzone przez adduser (lub twoje skrypty adduser-dystrybucji) domyślnie będą miały ten katalog.


co teraz, jeśli chcę, aby użytkownicy przesłonili to raz, a następnie wskazali swoje dns na ten serwer?
Joseph Le Brech,

Nie rozumiem pytania / problemu: /
Franz Bettag

jeśli użytkownik ma witrynę hostowaną na ~ nazwa_użytkownika, istnieje sposób, aby zmienić ją na nazwę domeny
Joseph Le Brech

Możesz dać użytkownikowi możliwość posiadania własnego nginx.conf, coś w rodzaju (nie w 100% poprawne, ale kierunek jest tam): if (-e /home/$1/.nginx.conf) {include (/ home / 1 $ / .nginx.conf); } tam użytkownik może wykonać własną konfigurację, ale także przerwać restart serwera. jest to trochę skomplikowany problem.
Franz Bettag

1
to tak naprawdę kołysze :)
Joseph Le Brech
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.