Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: lighttpd+webdav. как добавить виртуальные каталоги.  (Прочитано 3475 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Тихий джон

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
всем привет.
на компе стоит lighttpd веб сервер.
вчера решил прикрутить к нему возможность раздавать внутри сети файлы по webdav.
действовал по этой инструкции:
http://phpsuxx.blogspot.com/2008/07/lighttpd-webdav.html

собственно, вся установка это
Цитировать
apt-get install -y lighttpd-mod-webdav

nano /etc/lighttpd/lighttpd.conf

$HTTP["url"] =~ "^/dav($|/)" {
webdav.activate = "enable" # allow module
webdav.is-readonly = "disable" # enable write
webdav.sqlite-db-name = "/var/run/lighttpd/lighttpd.webdav_lock.db" # access to locaks and metadata database
}

Около блока "server.modules" ищем строку "mod_webdav" и убираем знак диеза слева, если он установлен.
mkdir /var/www/dav
chown www-data:www-data /var/www/dav
/etc/init.d/lighttpd restart

после чего клиент без проблем подключился к папке 192.168.10.1/dav и создал в ней тестовый файл.

т.е. все работает. ок.
а как добавить произвольные каталоги?
как сделать так, чтобы папка /home/user/films была доступна по адресу 192.168.10.1/films?

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
ln -s /home/user/films /var/www/
Wars ~.o

Оффлайн Тихий джон

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
так просто?
ссылку и все?

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
да
/home/user/films убирай файлы index.htm и index.html.
Wars ~.o

Оффлайн Тихий джон

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
ln -s /home/user/films /var/www/
нет, так не работает.

для того, чтобы клиент увидел новую папку ссылку надо размещать в папку dav
(собственно, это следует из конфига.)
т.е.
ln -s /home/user/films /var/www/davпосле чего при подключении папки dav  в ней становится доступной, как вложенная, папка films
но, разумеется, доступа у клиента на запись в нее нет.
следовательно, нужно изменить владельца на www-data.
после чего доступ у клиента появляется, но пропадает доступ к папке на запись у локального пользователя компа.
разумеется, можно поиграть с правами доступа, но это уже костыли...

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
grep -Rs "www-data" /etc/?
Wars ~.o

Оффлайн Тихий джон

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
/etc/init.d/lighttpd:chown www-data:www-data /var/run/lighttpd
/etc/cron.daily/lighttpd:    su -s /bin/sh -c "find $cache/compress -type f -atime +30 -print0 | xargs -0 -r rm" www-data
/etc/cron.daily/lighttpd:    su -s /bin/sh -c "find $cache/uploads -type f -atime +1 -print0 | xargs -0 -r rm" www-data
/etc/rc2.d/S91lighttpd:chown www-data:www-data /var/run/lighttpd
/etc/rc0.d/K09lighttpd:chown www-data:www-data /var/run/lighttpd
/etc/rc6.d/K09lighttpd:chown www-data:www-data /var/run/lighttpd
/etc/lighttpd/lighttpd.conf:server.username            = "www-data"
/etc/lighttpd/lighttpd.conf:server.groupname           = "www-data"
/etc/rc3.d/S91lighttpd:chown www-data:www-data /var/run/lighttpd
/etc/group:www-data:x:33:
/etc/rc4.d/S91lighttpd:chown www-data:www-data /var/run/lighttpd
/etc/rc5.d/S91lighttpd:chown www-data:www-data /var/run/lighttpd
/etc/rc1.d/K09lighttpd:chown www-data:www-data /var/run/lighttpd
/etc/passwd:www-data:x:33:33:www-data:/var/www:/bin/sh

но, как я понимаю, делать надо так:
в lighttpd.conf
вставить строку
server.document-root = "/home/user/films"
далее, сделать www-data владельцем этого каталога и потом chmod 777 ...

сомневаюсь...

Пользователь решил продолжить мысль 02 Июля 2012, 21:02:26:
а я правильно назвал "виртуальные каталоги"?
« Последнее редактирование: 02 Июля 2012, 21:02:26 от Тихий джон »

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
у меня только апаче
~$ cat /etc/apache2/envvars | grep "www-data"
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
www-data можно менять пользователь, каталог пользователь и так записать работает.
root нельзя.
Wars ~.o

Оффлайн Тихий джон

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
так, виртуальный каталог добавляется так:
1) ln -s /home/user/films /var/www/2) sudo chown www-data:www-data /var/www/films3) в конфиг
$HTTP["url"] =~ "^/films($|/)" {
webdav.activate = "enable" # allow module
webdav.is-readonly = "disable" # enable write
webdav.sqlite-db-name = "/var/run/lighttpd/lighttpd.webdav_lock.db" # access to locaks and metadata database
}
4) sudo chmod 777 ipadи все.

все условия выполнены:
1) путь до папки ip/папка.
2) файлы в папке может создавать и удалять и пользователь webdav и локальный.

сам догадался. приятно.

если есть у кого-то более изящное решение - милости прошу.

эй, ау! можете банить. )
только тему не удаляйте, фанатики долбанутые.
как-никак, первый результатат в google  при запросе "lighttpd webdav папки"

виктор, большое тебе спасибо.
« Последнее редактирование: 02 Июля 2012, 21:51:45 от Тихий джон »

 

Страница сгенерирована за 0.029 секунд. Запросов: 22.