- How to Set up WebDAV with Apache on CentOS 7
- Table of Contents
- Introduction
- Requirements
- Install the WebDAV module
- Configure the WebDAV directory
- Set up password authentication
- Configure an Apache vhost for WebDAV
- Test WebDav
- Test with a web browser
- Test with a command line client
- Conclusion
- Подключение облачных хранилищ Яндекс.Диск, Google Диск и OneDrive в Linux CentOS
- Подключение Яндекс.Диска в Linux CentOS через WebDAV
- Подключение Google Диск (Google Drive) в качестве хранилища в Linux
- Подключение облачного хранилища OneDrive в Linux
- Монтируем WebDAV в CentOS 7 на примере Яндекс.Диск
How to Set up WebDAV with Apache on CentOS 7
Table of Contents
Introduction
WebDAV (Web-based Distributed Authoring and Versioning) is an extension of the HTTP protocol that allows users to edit and manage documents and files stored on web servers.
WebDAV provides a framework for users to create, change, move, upload, and download documents on an Apache web server. This makes WebDAV a popular choice for developers, especially when combined with Subversion or Git.
You can easily mount WebDAV’s data storage to the local filesystem. This can be done with the mount command or with a WebDAV-supported file manager such as Nautilus or Konqueror.
In this article I will explain some quick and easy steps to set up WebDAV with Apache on CentOS 7
Requirements
- A server running CentOS v. 7 with Apache installed
- A static IP address for your server
Install the WebDAV module
The WebDAV module is included with the apache2 installation in CentOS 7, and is enabled by default. You can verify that the WebDAV module is running by using the following command:
If WebDAV is enabled, you will see the following output:
Configure the WebDAV directory
After installing the WebDAV module, you will need to create a webdav directory. Here, we will create the webdav directory under the Apache web root directory.
Next, change the ownership (to the apache user) and the permissions for the webdav directory with the following commands:
Set up password authentication
It is important to secure your webdav directory with a password. You can do this by creating an .htpasswd file.
To create it, run the following command:
This will create a password file for the user dev .
Now, you need to assign group ownership of the file to the apache user, and lock down the permissions for everyone else. To do this, run the following command:
Configure an Apache vhost for WebDAV
Next, you need to create a virtual host file for the webdav directory. Start by creating a new site configuration file called webdav.conf .
Add the following content:
Now, restart Apache to activate the new configuration:
Test WebDav
Finally, WebDAV is ready for testing. Here, we will use a browser and a client to check WebDAV.
Test with a web browser
To test whether the authentication is working correctly or not, open your web browser and navigate to the URL http://your.server.ip/webdav/ .
You will be prompted for a user name and password to access WebDAV. Here, you will need to enter the user name and password we set before.
Test with a command line client
Here, we will use a WebDAV client called Cadaver. To install Cadaver, use the command below:
After installing Cadaver, you can test your WebDAV using the command below:
If all went well, you will be asked to enter your user name and password for WebDAV. Then, You should be granted access which means that WebDAV is working correctly.
Some useful Cadaver command examples are listed below:
To upload a file to WebDAV:
To view/list the contents on WebDAV:
To create a new directory and navigate to it:
Once you are done, you can exit using the below command:
Conclusion
Finally, we have successfully set up WebDAV with Apache Web Server on CentOS 7. You can also experiment with WebDAV in your virtual environment. If you have any questions, you can write them in the comment box below.
Источник
Подключение облачных хранилищ Яндекс.Диск, Google Диск и OneDrive в Linux CentOS
В этой статье мы рассмотрим, как подключить бесплатные облачные хранилища Яндекс.Диск, Google Диск и OneDrive в Linux CentOS для использования их под бэкапы или простого обмена файла между разными операционными системами. Например, вы можете установить клиент облачного хранилища у себя в Windows, загрузить в него файлы и автоматически получить доступ к ним из Linux (или наоборот).
Зачастую владельцы или веб-разработчики какого-либо ресурса, не задумываются, что при нехватке места на виртуальной машине или контейнере, можно воспользоваться облачными хранилищами. В своей работе я часто рекомендую пользователям, подключать тот же Яндекс.Диск к себе на VDS, чтобы хранить какие-то не часто используемые материалы или бэкапить туда сайт и базы MySQL/MariaDB.
В данной статье мы рассмотрим подключение наиболее распространненных бесплатных хранилищ Яндекс.Диск, OneDrive и Google Диск (Google Drive) на виртуальную машину с предустановленной ОС CentOS 7.
Подключение Яндекс.Диска в Linux CentOS через WebDAV
Рассмотрим, как подключить облачное хранилище Яндекс.Диск в Linux с помощью протокола WebDAV.
В этой инструкции мы подключим Яндекс.Диск как файловую систему к виртуальному серверу с Linux CentOS с помощью клиента davfs2. Покажем, как настроить автоматическое монтирование облачного хранилища Яндекс через автозагрузку.
Обычно пакет davfs2 уже должен быть установлен в системе, но может быть такое, что он не установился, поэтому делаем установку. Нужно подключить репозиторий Epel и установить сам пакет через yum:
yum install epel-release -y
yum install davfs2 -y
Проверяем, что модуль fuse на машине присутствует:
Вывод должен быть примерно таким:
Создаем отдельную директорию для нашего облачного хранилища:
После того, как все подготовительные работы выполнены, можем приступить к подключению Яндекс.Диск к серверу.
Монтируем Яндекс.Диск к созданной ранее директории:
mount -t davfs https://webdav.yandex.ru /mnt/yad/
После ввода команды, в консоли выйдут поля, где нужно будет указать ваш почтовый ящик на Яндексе и пароль от него
У меня диск подключился без проблем:
И сразу можно убедиться, что содержимое Яндекс.Диска теперь доступно в Linux:
[root@master yad]# ls -la /mnt/yad/
Создадим файл в подключеном WebDav каталоге файлы и проверим, что он появился в веб-версии Яндекс.Диска:
[root@master yad]# touch /mnt/yad/test.txt
[root@master yad]# ls -la /mnt/yad/
Файл появился, наше подключение к облачному хранилищу Яндекс.Диск работает нормально, локальный файл автоматически синхронизируется с облаком.
Для упрощения монтирования, добавим его в rc.local, чтобы после рестарта сервера, хранилище Яндекс.Диск монтировалось автоматически.
Для этого, создаем файл /etc/davfs2/secrets:
touch /etc/davfs2/secrets
и добавляем туда путь до директории, в которую монтируем Яндекс.Диск и логин/пароль пользователя Яндекс:
/mnt/yad user password
В rc.local добавляем следующую строку:
mount -t davfs https://webdav.yandex.ru /mnt/yad/
Делаем рестарт Linux и проверяем доступность облачного диска:
У меня после перезагрузки сервера, хранилище примонтировалось автоматически. Но иногда файл rc.local не читается при запуске сервера, в таком случае для автозапуска сервиса rc-local выполните следующие команды:
chmod +x /etc/rc.d/rc.local
systemctl enable rc-local
На этом настройка и подключение Яндекс.Диск в Linux CentOS завершена.
modprobe fuse — добавление модуля на ноду
vzctl set 101 —save —devnodes «fuse:rw» (где 101 это ID нужного контейнера) — добавление модуля к нужному контейнеру
И после данных манипуляций делаем рестарт контейнера.
Подключение Google Диск (Google Drive) в качестве хранилища в Linux
Рассмотрим как подключить облачное хранилище Google Диск (Google Drive) в Linux CentOS 7. Установка его очень простая и быстрая.
Загружаем клиент Google Drive подключить командой:
wget -O drive https://drive.google.com/uc?id=0B3X9GlR6EmbnMHBMVWtKaEZXdDg
Перемещаем файл директорию /usr/sbin командой:
mv drive /usr/sbin/drive
Даем права на файл:
chmod +x /usr/sbin/drive
На этом установка клиента Google Drive завершена, нам остается лишь запустить его и пройти авторизацию:
]# mv drive /usr/sbin/drive
[root@master
]# chmod +x /usr/sbin/drive
[root@master
Нужно скопировать ссылку и открыть ее в брузере на ПК, после чего разрешить доступ к аккаунту.
После этого, вам будет предоставлена ссылка, которую нужно будет ввести в консоли Linux:
Google Drive подключен, однако он подключен не через WebDav (не поддерживается) , и вы не видите его как отдельную файловую систему и локальный каталог. Все обращения к хранилищу Google выполняются через клиент drive
Можно проверить какие файлы присутствуют на хранилище Google Диск командой drive list:
Файлы выводятся в виде таблицы с четырьмя столбцами:
- Id – уникальный код файла
- Title – название файла
- Size – размер
- Created – дата создания
Для теста можем создать файл и передать его на g.drive:
touch drive.txt && drive upload —file drive.txt
Файл создался, и виден в консоли:
Так же проверим, что файл появился в веб-интерфейсе Google Диск:
Как видим, файл на месте.
На этом подключение Google Диск к нашему серверу Linux окончено. В чем мне нравится Google Drive, так это в том, что не нужно выполнять какие-то дополнительные манипуляции на сервере, чтобы облачное хранилище монтировалось после перезагрузки сервера. Можно сколько угодно раз перезапускать ваш сервер, Google Drive будет подключаться автоматически. Но также есть свои минусы, например, на сервере мы не видим хранилище, как отдельную директорию и не можем управлять файлами на уровне файловой системы или привычными командами bash.
Подключение облачного хранилища OneDrive в Linux
OneDrive – облачное хранилище компании Microsoft. По умолчанию оно доступно для всех пользователей Windows 10 с привязанным аккаунтом (в хранилище OneDrive бесплатно предоставляется 5 Гб места). Наша задача подключить облачное хранилище OneDrive в CentOS 7. В процессе настройки я столкнулся с множеством проблем, которые путем научных экспериментов удалось решить. Вам же потребуется только ознакомиться с инструкцией и воспроизвести все действия у себя на сервере.
Для начала нам нужно зарегистрироваться по ссылке _https://onedrive.live.com
Процедуру регистрации я опущу, так как она не отличается от регистрации на любом другом ресурсе.
Теперь установим необходимые пакеты в Linux CentOS:
yum groupinstall ‘Development Tools’ -y
yum install libcurl-devel -y
yum install sqlite-devel -y
После этого установим язык программирования D(dlang), он потребуется для установки клиента OneDrive:
curl -fsS https://dlang.org/install.sh | bash -s dmd
Чтобы запустить среду D(dlang), введем команду:
/dlang/dmd-2.088.0/activate — в вашем случае версия dmd может отличаться, указываете свою.
Запустив dlang, мы проведем установку самого клиента OneDrive:
сd /opt
git clone https://github.com/abraunegg/onedrive.git
cd onedrive
./configure
make clean; make;
sudo make install
Установка завершена, теперь нужно пройти активацию в веб-версии OneDrive.
Система вам выдаст ссылку, которую нужно ввести в браузере. В веб форме с запросом доступа нужно нажать кнопку Разрешить. После этого ссылка изменится уникальную с кодом, которую и нужно будет ввести в консоли Linux. У меня сформировалась такая ссылка https://login.microsoftonline.com/common/oauth2/nativeclient?code=M74bb67a8-f9a6-1a26-e345-c45a3324de49 :
(dmd-2.088.0)[root@master onedrive]# onedrive
После подтверждения ссылки, я могу выполнить синхронизацию с облачным хранилищем OneDrive:
(dmd-2.088.0)[root@master onedrive]# onedrive —synchronize
По умолчанию, у меня создалась директория /root/OneDrive, в которой появились все каталоги моего облачного хранилища.
(dmd-2.088.0)[root@master OneDrive]# ls -la /root/OneDrive/
Для теста я создал файл test2.txt и выполнил синхронизацию:
[root@master backup]# onedrive —synchronize
Файл закачался в облако Microsoft:
Чтобы изменить директорию по умолчанию, нужно в конфигурационном файле изменить параметр sync_dir и после этого запустить команду:
onedrive —synchronize —resync
После перезагрузки сервера, клиент OneDrive запускает автоматически и не нужно повторно проходить авторизацию.
На этом настройка OneDrive на сервере с CentOS 7 окончена, надеюсь, что информация будет для многих полезна. В следующей статье мы рассмотрим, как использовать облачные хранилища для бэкапа данных с Linux сервера.
Источник
Монтируем WebDAV в CentOS 7 на примере Яндекс.Диск
Монтируем WebDAV в CentOS 7 на примере Яндекс.Диск
WebDAV (Web Distributed Authoring and Versioning) или просто DAV — набор расширений и дополнений к протоколу HTTP, поддерживающих совместную работу пользователей над редактированием файлов и управление файлами на удаленных веб-серверах. В качестве миссии рабочей группы по созданию DAV было заявлено: «разработка дополнений к протоколу HTTP, обеспечивающих свободное взаимодействие инструментов распределенной разработки веб-страниц, в соответствии с потребностями работы пользователей». Однако в процессе эксплуатации DAV нашёл себе ряд других применений, выходящих за первоначально принятые рамки коллективной работы над веб-документами. Сегодня DAV применяется в качестве сетевой файловой системы, эффективной для работы в Интернете и способной обрабатывать файлы целиком, поддерживая хорошую производительность работы в условиях окружения с высокой временной задержкой передачи информации.
Обновляем операционную систему, добавляем репозиторий EPEL и устанавливаем davfs
Добавляем данные для авторизации в Яндекс.Диске
У блога появился хостинг, его любезно предоставила компания Облакотека. Облакотека — облачные сервисы для создания и управления виртуальной ИТ-инфраструктурой.
Если вам понравился мой блог и вы хотели бы видеть на нем еще больше полезных статей, большая просьба поддержать этот ресурс.
Источник