Размещение папки в домашнем каталоге с помощью 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, все userdirs, созданные adduser (или вашими сценариями adduser-script), будут иметь этот каталог по умолчанию.


что теперь, если я хочу, чтобы пользователи переопределяли это один раз, а затем указали свои днс на этот сервер?
Джозеф Ле Брех

Я не понимаю вопроса / проблемы: /
Франц Беттаг

если у пользователя есть сайт, размещенный на ~ username, есть ли у него способ изменить его на доменное имя
Joseph Le Brech

Вы можете дать пользователю возможность иметь свой собственный файл 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.