Поиск по сайту:

Как настроить доступ WebDAV с помощью Apache в Ubuntu 12.04


Статус: устарело

В этой статье рассматривается версия Ubuntu, которая больше не поддерживается. Если вы в настоящее время используете сервер под управлением Ubuntu 12.04, мы настоятельно рекомендуем обновить или перейти на поддерживаемую версию Ubuntu:

  • Обновите Ubuntu до версии 14.04.
  • Обновление Ubuntu 14.04 до Ubuntu 16.04
  • Перенесите данные сервера в поддерживаемую версию.

Причина:

Смотрите вместо этого:

Введение

WebDAV — это распределенная реализация веб-разработки, встроенная в HTTP, которая позволяет вам легко обмениваться файлами и работать совместно с другими.

Мы можем установить это расширение на веб-сервере, чтобы разрешить удаленный доступ для чтения и записи к локальным файлам через веб-браузер. В этом руководстве мы будем настраивать WebDAV на Ubuntu 12.04 VPS с веб-сервером Apache.

Установите Apache на VPS

Наша реализация WebDAV будет установлена на Apache с помощью модуля WebDAV.

Во-первых, вам нужно будет установить Apache из стандартных репозиториев Ubuntu.

sudo apt-get update
sudo apt-get install apache2

Теперь у вас есть полностью работающий веб-сервер. Он уже должен быть доступен при переходе по IP-адресу вашего сервера в веб-браузере.

Включить WebDAV

Apache имеет встроенную поддержку WebDAV с несколькими модулями. Мы просто должны позволить им получить доступ к своим функциям.

Включите модули WebDAV с помощью следующих двух команд:

sudo a2enmod dav
sudo a2enmod dav_fs

Теперь нам нужно перезапустить сервер, чтобы изменения вступили в силу:

sudo service apache2 restart

WebDAV как функция теперь включена, но мы еще не настроили ее правильно для нашего сервера.

Создайте файловую систему

Мы создадим каталог, в котором будет размещаться содержимое нашего файла WebDAV.

Корень документа по умолчанию сервера Apache в Ubuntu находится в /var/www. Однако мы создадим псевдоним, который позволит нам хранить содержимое нашего каталога в другом месте.

В этом руководстве мы разместим наш контент WebDAV по адресу /webdav/.

sudo mkdir /webdav

Предоставьте веб-пользователю, то есть www-data, право собственности на новый каталог, чтобы он мог правильно обслуживать контент:

sudo chown www-data /webdav

Настроить защиту паролем

Мы можем создать процедуру аутентификации для доступа к содержимому каталога, создав файл htpasswd.

Мы поместим его за пределы каталога содержимого, чтобы он не был доступен пользователям нашей системы. Создайте имя пользователя в командном вызове, и вам будет предложено ввести соответствующий пароль:

<пред>

Прямо сейчас любой может просмотреть имя пользователя и хешированный пароль в файле. Мы назначим групповое владение файлом www-data, а затем заблокируем разрешения для всех остальных:

sudo chown root:www-data /etc/apache2/webdav.password
sudo chmod 640 /etc/apache2/webdav.password

Настроить Apache

Теперь нам нужно настроить доступ к нашему каталогу содержимого и указать Apache использовать модули WebDAV для обслуживания этого местоположения. Мы также должны отметить созданную нами схему аутентификации.

Отредактируйте конфигурацию основного виртуального хоста с привилегиями root:

sudo nano /etc/apache2/sites-available/default

Здесь наш веб-контент обслуживается из /var/www, как обычно. Мы добавим некоторую информацию, которая позволит Apache рассматривать содержимое нашего нового каталога как материал WebDAV.

Ниже списка каталогов мы добавим директиву псевдонима, чтобы сообщить Apache, что запросы на \/webdav должны обслуживаться из созданного нами каталога /webdav.

Затем мы добавим параметры, чтобы разрешить аутентификацию с использованием установленных нами методов.

<пред>

Псевдоним /webdav /webdav

<Расположение /webdav>

Сохраните и закройте файл.

Перезапустите Apache с помощью следующей команды:

sudo service apache2 restart

Проверьте результаты

Вы можете протестировать результаты своей конфигурации сначала в веб-браузере, а затем в клиенте WebDAV.

Тест веб-браузера

Чтобы убедиться, что ваша аутентификация работает правильно, перейдите к IP-адресу или доменному имени вашего сервера с помощью веб-браузера.

Вы должны увидеть файл Apache index.html по умолчанию:

\Индекс

Это демонстрирует, что обычные веб-функции работают.

Теперь перейдите к своему IP-адресу или доменному имени, а затем \/webdav:

<пред>

Вам будет предложено ввести комбинацию имени пользователя и пароля, которую вы установили ранее. После этого вы должны увидеть пустой список каталогов:

\Пустой

В настоящее время у нас нет контента, но мы сможем изменить это, получив доступ к той же области с помощью клиента WebDAV.

Тест клиента WebDEV

Существует множество клиентов WebDAV, и поддержка доступа WebDAV встроена во многие популярные файловые менеджеры.

Для простоты мы будем использовать в этом руководстве простой клиент WebDAV с командной строкой под названием «cadaver».

Предпочтительно с другого дроплета или Linux-машины, установите cadaver из репозиториев по умолчанию:

sudo apt-get install cadaver

Теперь давайте создадим файл, который мы загрузим в каталог WebDAV:

cd ~
touch testfile

Затем мы подключимся, используя то же местоположение, которое мы использовали для доступа из браузера:

<пред>

Вы должны ввести часть \http://, чтобы cadaver правильно нашел ваш сервер. Нам нужно будет снова пройти аутентификацию, а затем мы попадем в интерфейс командной строки.

dav:/webdav/>

Отсюда мы можем одновременно управлять клиентом и хостом, используя команды, похожие на обычные команды Linux.

Чтобы просмотреть содержимое каталога сервера, введите:

ls
Listing collection `/webdav/': collection is empty.

Каталог пуст. Давайте изменим это, загрузив наш тестовый файл:

put testfile

Мы можем снова попробовать команду list и увидеть, что файл теперь находится на сервере:

ls
Listing collection `/webdav/': succeeded.
        testfile                               0  Sep 20 19:36

Мы можем создать каталог и перейти в него, набрав:

mkdir hello
cd hello

Затем мы можем создать файл, набрав:

edit file.html

Мы можем вставить любой контент, который мы хотим:

<h1>Hi!!!</h1>

Когда мы закончим, мы можем ввести exit, чтобы закрыть соединение:

exit

Теперь, если мы вернемся в наш веб-браузер, изменения, которые мы сделали, будут видны:

<пред>

\Содержимое

Отключить списки каталогов

Хотя списки каталогов полезны для просмотра файлов, доступных в WebDAV, часто бывает полезно, особенно если вы используете это для реального веб-контента, отключить этот список.

Если вы хотите, чтобы веб-доступная часть действовала больше как веб-сайт, а не как список каталогов, удалите строку \Options Indexes” из файла конфигурации:

sudo nano /etc/apache2/sites-available/default

<пред>

Псевдоним /webdav /webdav

<Расположение /webdav>

Перезапустите Apache, чтобы применить ваши изменения:

sudo service apache2 restart

Помните, что для правильной работы вам потребуется создать обычные веб-страницы, например, файл \index.html:

sudo nano /webdav/index.html
<h1>Default WebDAV Page</h1>
<p>This is the default page with directory listings turned off</p>

Сохраните и закройте файл.

Эта страница теперь будет отображаться при переходе к основному каталогу WebDAV, но функция редактирования по-прежнему будет доступна для клиентов.

\Целевая

Заключение

Теперь у вас должен быть каталог WebDAV с базовой аутентификацией. Если ваш каталог содержит содержимое, которое абсолютно необходимо хранить в безопасности, вы можете внедрить решение SSL поверх аутентификации по паролю. Однако это выходит за рамки данной статьи.

Существует множество файловых менеджеров и клиентов, которые могут беспрепятственно получать доступ и изменять содержимое WebDAV, как если бы оно было дополнительным локальным хранилищем. WebDAV обеспечивает гораздо более динамичную работу с HTTP, чем это возможно традиционно.

Джастин Эллингвуд