Đã cài đặt máy chủ web, có một cách đơn giản để đặt người dùng có thể sử dụng giao diện đồ họa để sao chép tệp và thư mục vào máy chủ web cục bộ / var / www
Tôi đã cho mình các đặc quyền quản trị trong Ubuntu nhưng nó vẫn không cho phép các bản sao.
Đã cài đặt máy chủ web, có một cách đơn giản để đặt người dùng có thể sử dụng giao diện đồ họa để sao chép tệp và thư mục vào máy chủ web cục bộ / var / www
Tôi đã cho mình các đặc quyền quản trị trong Ubuntu nhưng nó vẫn không cho phép các bản sao.
Câu trả lời:
Nếu bạn tạo / var / www có thể ghi theo nhóm của nó và thêm người dùng vào nhóm, người dùng đó sẽ không phải sử dụng sudo. Thử đi:
sudo adduser <username> www-data
sudo chown -R www-data:www-data /var/www
sudo chmod -R g+rwX /var/www
Sau đó, người dùng có thể chỉnh sửa / var / www / tệp mà không gặp rắc rối.
Dòng đầu tiên thêm người dùng vào nhóm dữ liệu www, dòng thứ hai xóa mọi tệp có quyền sở hữu bị rối và dòng thứ ba làm cho nó để tất cả người dùng là thành viên của nhóm dữ liệu www có thể đọc và ghi tất cả các tệp vào / var / www.
Nếu bạn đã đăng nhập vì <username>bạn cần phải đăng xuất và đăng nhập lại để thành viên nhóm có hiệu lực.
sudo adduser <username> www-data; sudo chgrp -R www-data /var/www; sudo chmod -R g+rw /var/www; find /var/www -type d -print0 | sudo xargs -0 chmod g+s đăng xuất và đăng nhập lại để chọn nhóm mới của bạn. Tôi thực hiện chmod g+sđể buộc các tệp và thư mục mới nhận chủ sở hữu nhóm (dữ liệu www), đảm bảo rằng quyền của tôi thay đổi lan truyền.
/var/wwwquyền sở hữu bởi root: root, vì vậy thay vì sudo chgrp -R www-data /var/wwwtốt hơn sudo chgrp -R www-data /var/www/*.
composer.jsonvà LICENSE) được hiển thị bằng biểu tượng nhị phân. Mở composer.jsontrình soạn thảo văn bản sẽ hiển thị một tệp trống và điều tồi tệ nhất là tôi không thể duyệt một số thư mục con, thậm chí tôi đã thử lệnh bổ sung theo đề xuất của @DonFaulkner và vẫn không gặp may. Nếu tôi sử dụng thiết bị đầu cuối như root, mọi thứ sẽ như vậy. Bất cứ ai có bất kỳ ý tưởng tại sao điều này xảy ra?
Bạn có thể chown, đó là trả chthù owner của thư mục đó. Điều này sẽ cho phép bạn thay đổi người dùng và nhóm thư mục, cho phép người dùng của bạn thêm / xóa các tệp trên đó. Để làm điều đó, thay thế yourusernamebằng tên của bạn và chạy:
sudo chown yourusername.users /var/www
Và đó là nó.
Tuy nhiên, tôi muốn tạo một virtualhost trong thư mục nhà của mình, điều đó dễ dàng hơn nhiều.
Về cơ bản, nó cho phép bạn sử dụng bất kỳ thư mục nào làm thư mục phục vụ apache. Để cho thấy nó đơn giản như thế nào, hãy giả sử rằng tên người dùng của bạn là tên người dùng và thư mục mà bạn muốn phục vụ là / home / username / www
Tạo tệp sau (ví dụ mywebprojects) trong / etc / apache2 / sistes - có sẵn thay thế tên người dùng và đường dẫn thư mục (về cơ bản chỉ cần sao chép và dán và thay thế trong #CHANGE TẠI ĐÂY):
<VirtualHost *:80>
ServerAdmin webmaster@localhost
# CHANGE HERE
DocumentRoot /home/username/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
# CHANGE HERE
<Directory /home/username/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
Bây giờ, hãy tạo wwwthư mục, thêm một thế giới xin chào đơn giản, vô hiệu hóa trang web mặc định ( /var/www), kích hoạt trang web của chúng tôi mywebprojectsvà khởi động lại apache.
mkdir ~/www
echo "<html><h1>Hello World</h1></html>" > ~/www/test.html
sudo a2dissite default #
sudo a2ensite mywebprojects
sudo service apache2 restart
Và đó là, bây giờ bạn không cần phải đi /var/www, bạn chỉ cần thêm các tệp vào www(hoặc tên khác) và nó đã ở đó :).
Cách 1:
Nhấn ALT+ F2và nhập gksudo nautilus và sau đó nhấp Run.

Cách 2:
nautilus -qtrong thiết bị đầu cuối của bạn để làm mới các menu nhấp chuột phải. Nó sẽ mở tập tin / thư mục đó với quyền root.

/var/www. Một lần nhấn [delete]phím vô tình và bạn có thể kết thúc với một hệ thống không thể khởi động.
Nó có thể đơn giản như sudo usermod -a -G developers $usernamesử dụng ACL.
Điều đó cần một chút công việc, mặc dù, để bắt đầu. Đây là cho Ubuntu 10.10 ít nhất. Đầu tiên gắn kết các hệ thống tệp với tùy chọn acl trong / etc / fstab.
sudo vim /etc/fstab
UUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 mặc định, acl 0 1
sudo mount -o remount,acl /
Sau đó tạo một nhóm mà người dùng có thể thuộc về mục đích này.
sudo groupadd developers
sudo usermod -a -G developers $username
Người dùng cần đăng xuất và đăng nhập lại để trở thành thành viên của nhóm nhà phát triển.
Tất nhiên, không làm điều này nếu bạn có nội dung trong thư mục / var / www mà bạn muốn, mà chỉ để minh họa cho việc thiết lập nó để bắt đầu:
sudo rm -rf /var/www
sudo mkdir -p /var/www/public
sudo chown -R root:developers /var/www/public
sudo chmod 0775 /var/www/public
sudo chmod g+s /var/www/public
sudo setfacl -d -m u::rwx,g::rwx,o::r-x /var/www/public
Sau đó thay thế các tham chiếu đến "/ var / www" bằng "/ var / www / public" trong tệp cấu hình và tải lại.
sudo vim /etc/apache2/sites-enabled/000-default
sudo /etc/init.d/apache2 reload
Nếu chúng tôi muốn hạn chế xóa và đổi tên khỏi tất cả trừ người dùng đã tạo tệp:
sudo chmod +t /var/www/public
Theo cách này, nếu chúng ta muốn tạo các thư mục cho các khung tồn tại bên ngoài gốc tài liệu Apache hoặc có thể tạo các thư mục có thể ghi được trên máy chủ, thì vẫn dễ dàng.
Thư mục nhật ký ghi được Apache:
sudo mkdir /var/www/logs
sudo chgrp www-data /var/www/logs
sudo chmod 0770 /var/www/logs
Thư mục thư viện có thể đọc được của Apache:
sudo mkdir /var/www/lib
sudo chgrp www-data /var/www/logs
sudo chmod 0750 /var/www/logs
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-line? Nó có nghĩa là được thêm vào theo nghĩa đen hoặc muốn người dùng tìm dòng và chỉnh sửa các tùy chọn phía sau?
sudo rm -rf /var/wwwbước. Nó không thực sự có vẻ cần thiết.
sudo blkid
UUID=xxxxphần giống như với a sudo blkid.
Cách dễ nhất để làm là làm theo các bước được đưa ra dưới đây: -
sudo -svà đăng nhập bằng mật khẩu của bạn.root.nautilusvà nó sẽ mở thư mục nhà cho bạn với quyền root. Vì vậy, bây giờ bạn có thể dễ dàng chỉnh sửa các tập tin và làm bất cứ điều gì bạn muốn.Hi vọng điêu nay co ich. :)
sudo -itốt hơn là sudo -svì lý do tương tự sudo -Htốt hơn là sudochạy một ứng dụng đồ họa duy nhất. ( sudo -skhông đặt lại HOME, vì vậy người dùng có thể nhận các tệp cấu hình trong thư mục chính của họ, thuộc về chúng nhưng thuộc về root .)
/var/www folderđược sở hữu bởi root .. bạn phải thay đổi quyền sở hữu thành tên người dùng của riêng bạn để sửa đổi các tập tin trong thư mục này. Đối với điều này, bạn có thể thử các lệnh sau ..
sudo -i // để thay đổi sang bảng điều khiển gốc
sudo chown -R <username> <path> // for eg. sudo chown -R scott /var/www/html (scott is the username, -R indicates recrusive)
Bây giờ quyền sở hữu của thư mục /var/www/html willđược gán cho người dùng scott. Bây giờ scott có thể sao chép / di chuyển các tập tin trong thư mục này.
Nếu bạn đang sử dụng phiên bản máy chủ, hãy thử webmin. Nó có một giao diện người dùng web và quản lý tập tin tuyệt vời. Hoặc là hoặc Filezilla