После установки веб-сервера существует простой способ настроить пользователя, который может использовать графический интерфейс для копирования файлов и каталогов на локальный веб-сервер. но это все еще не позволяет копии.
Можно chown
, то есть ch
age own
er этой папки. Это позволит вам изменить пользователя и группу папки, позволяя вашему пользователю добавлять/удалять файлы в нее. Для этого замените ваше имя пользователя
на ваше имя и запустите:
sudo chown yourusername.users /var/www
и все.
Однако, я предлагаю создать виртуальный хост в моей домашней папке, это гораздо проще.
По сути, это позволяет использовать любую папку как папку для обслуживания apache. Чтобы показать, как это просто, предположим, что ваше имя пользователя имя пользователя и что папка, которую вы хотите обслуживать, это /home/username/www
Создайте следующий файл (например, mywebprojects
) в /etc/apache2/sistes-доступный, заменяющий имя пользователя и путь к папке (в основном, просто скопируйте и вставьте и замените его в #CHANGE HERE):
<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>
Теперь давайте создадим папку www
, добавим простой мир приветствий, отключим вебсайт по умолчанию (/var/www
), включим наш вебсайт mywebprojects
и перезапустим apache.
mkdir ~/www
echo "<html><h1>Hello World</h1></html>" > ~/www/test.html
sudo a2dissite default #
sudo a2ensite mywebprojects
sudo service apache2 restart
И что теперь вам не нужно заходить на /var/www
, вы просто добавляете файлы в свой www
(или другое данное имя) и он уже там :).
Если вы используете серверную версию, попробуйте webmin. Он имеет отличный веб-интерфейс и файловый менеджер. Либо это, либо Filezilla
Это может быть так же просто, как и sudo usermod -a -G разработчики $username
с использованием ACL.
Это требует небольшой работы, однако, чтобы начать. Это как минимум для Ubuntu 10.10. Сначала смонтируйте файловые системы с опцией acl в /etc/fstab.
sudo vim /etc/fstab
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxx / ext4 defaults,acl 0 1
sudo mount -o remount,acl /
Затем создайте группу, в которую пользователь может войти для этой цели.
sudo groupadd developers
sudo usermod -a -G developers $username
Пользователю нужно выйти и войти снова, чтобы стать членом группы разработчиков.
Конечно, не делайте этого, если у вас есть содержимое в каталоге /var/www, которое вы хотите получить, но чтобы проиллюстрировать его настройку для запуска:
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
Затем замените ссылки на "/var/www" на "/var/www/public" в конфигурационном файле и перезагрузите.
sudo vim /etc/apache2/sites-enabled/000-default
sudo /etc/init.d/apache2 reload
Если мы хотим ограничить удаление и переименование у всех, кроме пользователя, который создал файл:
sudo chmod +t /var/www/public
Таким образом, если мы хотим создать каталоги для фреймворков, которые существуют за пределами Корневой каталог документов Apache или, может быть, каталог для записи на сервер - всё ещё просто.
Каталог журналов Apache:
sudo mkdir /var/www/logs
sudo chgrp www-data /var/www/logs
sudo chmod 0770 /var/www/logs
Каталог библиотек Apache:
sudo mkdir /var/www/lib
sudo chgrp www-data /var/www/logs
sudo chmod 0750 /var/www/logs
/ var / www папка
принадлежит корню .. вы должны изменить владельца на свое собственное имя пользователя для изменения файлов в этой папке. Для этого вы можете попробовать следующие команды ..
sudo -i
// для перехода на корневую консоль
sudo chown -R <username> <path> // for eg. sudo chown -R scott /var/www/html (scott is the username, -R indicates recrusive)
Теперь право собственности на папку / var / www / html будет назначено
пользователю Скотту
. Теперь Скотт может копировать / перемещать файлы в этой папке.
Самый простой способ сделать это - выполнить следующие шаги: -
sudo -s
и войдите в систему, используя свой пароль. root
. nautilus
, и он откроет для вас домашнюю папку как root. Так что теперь вы можете легко редактировать файлы и делать все, что хотите. Надеюсь, это поможет. :)
Метод 1:
Нажмите ALT+F2 и введите gksudo nautilus, а затем нажмите кнопку "Запустить". Откроется nautilus с привилегиями root.
Способ 2:
nautilus -q
в Ваш терминал, чтобы обновить меню правой кнопкой мыши. Он откроет этот файл/папку с правами root'а.
Если вы сделаете / var / www доступным для записи для его группы и добавите пользователя в группу, этот пользователь не должен будет использовать sudo. Попробуйте следующее:
sudo adduser <username> www-data
sudo chown -R www-data:www-data /var/www
sudo chmod -R g+rwX /var/www
После этого пользователь сможет без проблем редактировать / var / www / files.
Первая строка добавляет пользователя в группу www-data, вторая строка очищает все файлы с неверным владельцем , а третий делает так, что все пользователи, которые являются членами группы www-data, могут читать и записывать все файлы в /var/www.
. Если вы вошли в систему как
, вы необходимо выйти и снова войти в систему, чтобы членство в группе вступило в силу.