Хостинг папки у домашньому каталозі за допомогою nginx


11

Я хотів би додати умову в сценарій adduser, щоб оновити nginx.conf, щоб він завантажував ~ / www як http: // ipaddress / ~ user щоразу, коли я створюю нового користувача.

І коли користувач буде названий www.domainname, він буде розміщувати це доменне ім'я у папці ~ / www.

Чи є сценарій, який вже робить це?


Ні, немає.
mailq

Відповіді:


24

Вам не потрібно нічого додавати до nginx при створенні користувача. Просто використовуйте щось подібне у своєму блоці сервера:

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

Перевірте свої дистрибуції / etc / skel

якщо ви mkdir / etc / skel / www, всі користувальницькі файли, створені adduser (або вашим дистрибутивом adduser-скриптом), матимуть цей каталог за замовчуванням.


тепер що робити, якщо я хочу, щоб користувачі це один раз переосмислили, то вказали свій dns на цей сервер?
Джозеф Ле Бреч

Я не розумію питання / питання: /
Франц Беттаг

якщо у користувача розміщено веб-сайт на ~ ім’я користувача, чи існує спосіб змінити його на доменне ім'я
Джозеф Ле Бреч

Ви можете надати користувачеві можливість мати власний nginx.conf, щось на зразок (не на 100% правильне, але напрямок є): if (-e /home/$1/.nginx.conf) {include (/ home / $ 1 / .nginx.conf); } там користувач може зробити власну установку, але також зламати перезапуск сервера. це трохи складна проблема.
Франц Беттаг

1
що насправді скелі :)
Джозеф Ле Бреш
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.