Tôi đã cài đặt awstats trên máy chủ Ubuntu Lucid mới của mình, nhưng khi cron cố chạy nó với tư cách người dùng www-data
, nó phàn nàn điều đó cannot access /var/log/apache2/access.log: Permission denied
.
Trong /usr/share/doc/awstats/README.Debian
đoạn này:
Theo mặc định, các cửa hàng Apache (kể từ phiên bản 1.3.22-1) logfiles với uid = root và gid = adm, vì vậy bạn cần ...
1) Thay đổi quyền của các logfiles trong /etc/logrotate.d/apache để dữ liệu www có ít nhất quyền truy cập đọc.
2) Là 1) nhưng thay đổi thành một người dùng cụ thể và sử dụng tính năng suEXEC của Apache để chạy cùng một người dùng (và cũng thay đổi quyền của / var / lib / awstats hoặc sử dụng thư mục khác). Điều này phức tạp hơn, nhưng sau đó các bản ghi thường không thể truy cập được vào máy chủ (có lẽ là điểm mặc định của Apache).
3) Thay đổi awstats.pl thành nhóm adm (nhưng hãy cẩn thận khi bạn gặp rủi ro khi cho phép truy cập tập lệnh CGI vào nội dung quản trị viên trên máy!).
Tôi muốn đi với 1, nhưng các quyền được đề xuất để cấp là gì?
chmod 755 /var/log/apache2
và chmod 644 access.log
, nhưng tôi thích một "đây là cách tốt nhất" - câu trả lời :) Cảm ơn vì đã mặc dù vậy!
chown www-data:www-data <yourFile>
và sau đóchmod 655 <yourFile>
.