Lưu trữ thư mục trong thư mục nhà bằng nginx


11

Tôi muốn thêm một điều kiện trong tập lệnh adduser để cập nhật nginx.conf để nó tải ~ / www dưới dạng http: // ipaddress / ~ người dùng bất cứ khi nào tôi tạo người dùng mới.

Và khi người dùng được đặt tên www.domainname, nó sẽ lưu trữ tên miền đó trong thư mục ~ / www.

Có một kịch bản đã làm điều này?


Không, không có.
mailq

Câu trả lời:


24

Bạn không cần thêm bất cứ thứ gì vào nginx khi tạo người dùng. Chỉ cần sử dụng một cái gì đó như thế này trong khối máy chủ của bạn:

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

Kiểm tra bản phân phối của bạn / etc / skel

nếu bạn mkdir / etc / skel / www, tất cả các userdir được tạo bởi adduser (hoặc tập lệnh adduser-script của bạn) sẽ có thư mục này theo mặc định.


Bây giờ nếu tôi muốn người dùng ghi đè lên điều này một lần thì họ đã trỏ dns của họ đến máy chủ đó?
Joseph Le Brech

Tôi không hiểu câu hỏi / vấn đề: /
Franz Bettag

nếu người dùng có một trang web được lưu trữ trên ~ tên người dùng thì có một cách để người dùng thay đổi nó thành tên miền
Joseph Le Brech

Bạn có thể cung cấp cho người dùng khả năng có nginx.conf của riêng mình, đại loại như (không chính xác 100%, nhưng hướng là có): if (-e /home/$1/.nginx.conf) {bao gồm (/ home / $ 1 / .nginx.conf); } ở đó người dùng có thể tự thiết lập, nhưng cũng phá vỡ khởi động lại máy chủ. đây là một chút của một vấn đề tổng hợp.
Franz Bettag

1
đó thực sự là đá :)
Joseph Le Brech
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.