Quyền trong .git để apache (giao diện web PHP) được phép cam kết


1

Tôi có một hệ thống wiki dựa trên git có giao diện web PHP sử dụng máy chủ web Apache2 cục bộ. Từ trong PHP tôi chạy git commit ... cần được phép thực hiện các thay đổi được thực hiện đối với các tệp wiki. Tuy nhiên, tôi phải kéo và đẩy bằng cách sử dụng người dùng mặc định của mình vì danh tính người dùng (tệp khóa SSH riêng tư của tôi). Tôi nên sử dụng quyền nào cho .git thư mục và nội dung của nó? Nếu tôi sử dụng các quyền mặc định, apache sẽ không được phép khóa chỉ mục và do đó không thực hiện được các thay đổi.

Câu trả lời:


1

Thay vì chạy các lệnh shell từ ứng dụng PHP của bạn, tôi khuyên bạn nên bắt đầu viết ứng dụng web của mình để sử dụng Git theo chương trình bằng thư viện ràng buộc PHP-Git. Ví dụ php-git .

Điều này có nhiều lợi thế, chẳng hạn như không phải phân tích đầu ra dòng lệnh có thể thay đổi trong bản phát hành Git trong tương lai.

Về các quyền của hệ thống tệp, chỉ cần đăng nhập vào máy chủ mà máy chủ ứng dụng PHP đang chạy (tức là su -l www-data -s /bin/bash trên các hệ thống dựa trên Debian) và tạo một khóa công khai / riêng cho người dùng đó. Giữ tất cả quyền sở hữu tệp cho người dùng web cho bản sao đó của kho lưu trữ.

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.