Статьи

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

  1. Вступление WebDAV является расширением протокола HTTP, который позволяет пользователям управлять...
  2. Почему апач?
  3. Предпосылки
  4. Создание пользователя
  5. Предоставление пользователю sudo Привилегий
  6. Шаг первый - установка Apache
  7. Шаг второй - Настройка WebDAV
  8. Подготовка каталога
  9. Включение модулей
  10. конфигурация
  11. тестирование
  12. Шаг четвертый - Доступ к файлам
  13. макинтош
  14. Windows
  15. Linux (Ubuntu)
  16. Вывод

Вступление

WebDAV является расширением протокола HTTP, который позволяет пользователям управлять файлами на серверах. Есть много способов использовать сервер WebDAV. Например, вы можете поделиться документами Word или Excel со своими коллегами, загрузив их на свой сервер WebDAV. Вы даже можете поделиться своей музыкальной коллекцией со своей семьей и друзьями, просто дав им URL. Все это может быть достигнуто без установки чего-либо.

Существует много способов управления файлами на удаленном сервере. WebDAV имеет ряд преимуществ перед другими решениями, такими как FTP или самба , В этой статье мы рассмотрим, как настроить сервер Apache, чтобы разрешить собственный доступ к WebDAV из Windows, Mac и Linux с аутентификацией.

Почему WebDAV?

WebDAV предлагает несколько преимуществ:

  • Встроенная интеграция во все основные операционные системы (Windows, Mac, Linux); для использования WebDAV нет необходимости устанавливать стороннее программное обеспечение.
  • Поддержка частичных переводов.
  • Больше вариантов для аутентификации. Быть на HTTP означает NTLM , Kerberos , LDAP и т. д. все возможно.

В зависимости от вашей ситуации, WebDAV может быть лучшим решением для ваших нужд.

Почему апач?

Существует множество веб-серверов, поддерживающих WebDAV в Linux. Однако Apache имеет наиболее совместимую реализацию протокола WebDAV. На момент написания, WebDAV на Nginx и Lighttpd работает, но только частично.

Предпосылки

Вам понадобится сервер Ubuntu 14.04 .

Прежде чем мы начнем, давайте сначала создадим пользователя с доступом sudo . Вы можете запускать команды от имени пользователя root , но это не рекомендуется из-за проблем безопасности. Есть отличная статья на добавление пользователей в Ubuntu 14.04 если вы хотите узнать больше.

Создание пользователя

При первом создании экземпляра Digital Ocean вам будут предоставлены учетные данные, которые позволят вам войти в систему как пользователь root . В качестве пользователя root давайте сначала добавим пользователя с именем alex .

аддусер алекс

Вам будет предложено создать пароль для пользователя alex, как показано ниже. Появятся дополнительные подсказки для получения информации о пользователе alex . Вы можете ввести их, если хотите.

Добавление пользователя `alex '... Добавление новой группы` alex' (1000) ... Добавление нового пользователя `alex '(1000) с группой` alex' ... Создание домашнего каталога `/ home / alex '... Копирование файлы из `/ etc / skel '... Введите новый пароль UNIX: Повторите ввод нового пароля UNIX: passwd: пароль успешно обновлен. Изменение информации о пользователе для alex Введите новое значение или нажмите ENTER для полного имени по умолчанию []: Номер комнаты []: Рабочий телефон []: Домашний телефон []: Другое []: Правильна ли информация? [Да / Нет] у

Предоставление пользователю sudo Привилегий

После создания нового пользователя следующим шагом является предоставление пользователю привилегий alex sudo. Предполагая, что вы все еще вошли в систему как пользователь root , добавьте пользователя alex в группу sudo , введя следующую команду.

usermod -aG sudo alex

Пользователи в группе sudo получают привилегии sudo . Теперь вы можете выйти и войти как пользователь alex .

Шаг первый - установка Apache

Дайте нам получить апаш установлены.

sudo apt-get update sudo apt-get установить apache2

Веб-сервер Apache должен быть установлен и запущен.

Шаг второй - Настройка WebDAV

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

Подготовка каталога

Нам нужно обозначить папку для обслуживания WebDAV. Для этого мы создадим новый каталог / var / www / webdav. Вам также необходимо изменить владельца на www-data (ваш пользователь Apache), чтобы позволить Apache писать в него.

sudo mkdir / var / www / webdav sudo chown -R www-data: www-data / var / www /

Включение модулей

Далее мы включаем модули WebDAV, используя a2enmod

Судо a2enmod Дав Судо a2enmod Дав_фс

Модули Apache находятся в / etc / apache2 / mods-available. Это создает символическую ссылку из / etc / apache2 / mods-available в / etc / apache2 / mods-enabled.

конфигурация

Откройте или создайте файл конфигурации в /etc/apache2/sites-available/000-default.conf, используя ваш любимый текстовый редактор.

nano /etc/apache2/sites-available/000-default.conf

В первой строке добавьте конфигурацию директивы DavLockDB :

DavLockDB / var / www / DavLock

И директивы Alias и Directory внутри раздела VirtualHost:

Alias ​​/ webdav / var / www / webdav <Directory / var / www / webdav> DAV On </ Directory>

Файл должен выглядеть так после редактирования.

DavLockDB / var / www / DavLock <VirtualHost *: 80> # Директива ServerName устанавливает схему запроса, имя хоста и порт, который # сервер использует для идентификации себя. Это используется при создании # перенаправления URL. В контексте виртуальных хостов ServerName # указывает, какое имя хоста должно отображаться в заголовке Host: запроса, чтобы # соответствовать этому виртуальному хосту. Для виртуального хоста по умолчанию (этот файл) это значение # не является решающим, поскольку оно используется в качестве хоста последней инстанции независимо. # Однако вы должны явно установить его для любого другого виртуального хоста. #ServerName www.example.com ServerAdmin webmaster @ localhost DocumentRoot / var / www / html # Доступные уровни журналов: trace8, ..., trace1, отладка, информация, уведомление, предупреждение, # ошибка, критическое замечание, предупреждение, emerg. # Также можно настроить уровень журнала для определенных # модулей, например #SogLevel info ssl: warn ErrorLog $ {APACHE_LOG_DIR} /error.log CustomLog $ {APACHE_LOG_DIR} /access.log вместе взятых # Для большинства файлов конфигурации из conf-available / # которые включены или отключены на глобальном уровне, можно включить строку только для одного конкретного виртуального хоста. Например, следующая строка # включает конфигурацию CGI для этого хоста только после того, как он был глобально отключен с помощью «a2disconf». # Включите conf-available / serve-cgi-bin.conf Псевдоним / webdav / var / www / webdav <Directory / var / www / webdav> DAV On </ Directory> </ VirtualHost> # vim: синтаксис = apache ts = 4 sw = 4 sts = 4 ср

DavLockDB директива обозначает имя базы данных DAV Lock. Это должен быть путь к файлу. Файл не нужно создавать. Каталог должен быть доступен для записи на сервере Apache.

кличка директива отображает запросы на http: //your.server/webdav в папку / var / www / webdav.

каталог Директива сообщает Apache, что нужно включить WebDAV для папки / var / www / webdav. Вы можете узнать больше о mod_dav из документов Apache.

Если вы перезапустите сервер Apache, у вас будет рабочий сервер WebDAV без аутентификации.

Перезапустите сервер Apache следующим образом:

перезапуск службы sudo apache2

тестирование

WebDAV без аутентификации предоставляет доступ только для чтения пользователям. Для тестирования давайте создадим образец файла.

echo "это образец текстового файла" | sudo tee -a /var/www/webdav/sample.txt

Текстовый файл с именем sample.txt должен быть создан в / var / www / webdav . Он должен содержать текст, это образец текстового файла .

Теперь мы можем попробовать войти с внешнего компьютера. Сервер WebDAV должен быть найден по адресу http: // <your.server.com> / webdav . Для краткости мы только показываем, как войти в систему без учетных данных на Mac.

На Mac откройте Finder . В строке меню найдите « Перейти» и выберите параметр « Подключиться к серверу» .

Выберите параметр « Подключиться как гость» . Затем нажмите « Подключиться» .

Вы должны войти в систему. Если вы подключитесь к этой общей файловой системе и войдете в папку webdav, вы сможете увидеть файл sample.txt, созданный ранее. Файл должен быть загружаемым.

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

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

Обратите внимание, что если вы обслуживаете HTTPS, мы предполагаем, что ваш сертификат SSL действителен (не самоподписан)

Если вы используете HTTP , используйте Дайджест аутентификации как это будет работать на всех операционных системах. Если вы используете HTTPS , у вас есть возможность использования Базовая аутентификация ,

Мы рассмотрим схему дайджест- аутентификации, поскольку она работает во всех операционных системах без необходимости SSL-сертификата.

Давайте создадим файл (называемый users.password), в котором хранятся пароли пользователей. В дайджест-аутентификации есть поле области, которое действует как пространство имен для пользователей. Мы будем использовать webdav в качестве нашей области . Наш первый пользователь будет называться alex .

Чтобы сгенерировать файл дайджеста, мы должны установить зависимости.

sudo apt-get установить apache2-utils

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

sudo htdigest -c /etc/apache2/users.password webdav alex

Это добавляет пользователя alex в файл паролей. Должна быть подсказка пароля, чтобы создать пароль для alex .

Для последующего добавления пользователей, вы должны удалить флаг c . Вот еще один пример добавления пользователя с именем chris . Создайте пароль при появлении запроса.

sudo htdigest /etc/apache2/users.password webdav chris

Нам также нужно разрешить Apache читать файл паролей, поэтому мы меняем владельца.

Судо Чоун www-data: www-data /etc/apache2/users.password

После создания файла паролей мы должны внести изменения в конфигурацию в /etc/apache2/sites-available/000-default.conf.

Добавьте следующие строки в директиву Directory

AuthType Digest AuthName "webdav" AuthUserFile /etc/apache2/users.password Требуется действительный пользователь

Окончательная версия должна выглядеть следующим образом (с удаленными комментариями).

DavLockDB / var / www / DavLock <VirtualHost *: 80> ServerAdmin для веб-мастеров @ localhost DocumentRoot / var / www / html ErrorLog $ {APACHE_LOG_DIR} /error.log CustomLog $ {APACHE_LOG_DIR} /access.log в сочетании с псевдонимом / webdav / var / www / webdav <Directory / var / www / webdav> DAV On AuthType Digest AuthName "webdav" AuthUserFile /etc/apache2/users.password Требуется действительный пользователь </ Directory> </ VirtualHost>

mod_authn Модуль содержит определения для директив аутентификации.

Директива AuthType указывает Apache, что для каталога / var / www / webdav должна проводиться аутентификация с использованием схемы дайджеста .

Для дайджест- аутентификации требуется значение для области, которое мы устанавливаем как webdav . Царство действует как пространство имен. Если у вас есть пользователи с одинаковыми именами, вы можете разделить их, используя разные значения для области . Мы используем директиву AuthName, чтобы установить значение для области .

Директива AuthUserFile используется для указания местоположения файла паролей.

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

Наконец, включите модуль дайджеста и перезапустите сервер, чтобы настройки вступили в силу.

sudo a2enmod auth_digest sudo service apache2 restart

Шаг четвертый - Доступ к файлам

Мы покажем, как получить доступ к вашему серверу WebDAV из собственных файловых браузеров Mac, Windows и Linux (Ubuntu). Для краткости мы собираемся продемонстрировать операции с файлами и папками только на Mac, хотя вы можете добавлять, редактировать и удалять файлы на сервере из всех операционных систем.

Вы также можете получить доступ к файлам через Интернет с помощью веб-браузера.

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

макинтош

На Mac откройте Finder . В строке меню найдите « Перейти» и выберите параметр « Подключиться к серверу» .

Введите адрес сервера. Это должен быть http: // <ваш.сервер> / webdav . Нажмите Connect .

Вам будет предложено ввести имя пользователя и пароль. Введите одного из пользователей, которых мы создали на сервере, и нажмите Connect .

После подключения каталог должен появиться в Finder .

Вы можете копировать и сохранять файлы в каталог webdav, а также создавать подкаталоги. Вот начальное состояние каталога на сервере:

Вы можете добавлять или переименовывать файлы и создавать новые каталоги точно так же, как обычно с Finder. Ниже приведен конечный результат.

Windows

В Windows откройте проводник . На левой боковой панели вы должны найти значок сети .

Щелкните правой кнопкой мыши значок сети . Должно появиться контекстное меню с параметром « Подключить сетевой диск» . Нажмите на это.

Введите адрес сервера в поле папки. Это должен быть http: // <ваш.сервер> / webdav . Выберите Connect, используя разные учетные данные, если ваш логин отличается. Нажмите Готово .

Вам будет предложено ввести имя пользователя и пароль. Введите их и нажмите ОК .

После подключения он должен появиться в виде сетевого диска на левой боковой панели Проводника .

Linux (Ubuntu)

Мы используем Ubuntu 14.04 в качестве настольной операционной системы Linux. В Ubuntu откройте Файлы . На левой боковой панели есть опция « Подключиться к серверу» . Нажмите на это.

Введите адрес сервера. Это должен быть dav: // <your.server> / webdav . Нажмите Connect .

Вам будет предложено ввести имя пользователя и пароль. Введите их и нажмите Connect .

После подключения каталог должен появиться в списке сетей .

Вывод

В этой статье мы рассмотрели, как настроить сервер WebDAV с помощью Apache в Ubuntu 14.04. Мы также обсудили, как настроить дайджест-проверку подлинности для защиты сервера. Наконец, мы показали вам, как подключиться к серверу WebDAV из всех трех основных операционных систем, используя их собственные файловые браузеры.

Почему апач?
Почему WebDAV?
Почему апач?
2011.11.19
Карта