OwnCloud и Nextcloud в Debian 10

Доброго времени суток, уважаемые читатели. Сегодня тема статьи: "OwnCloud и Nextcloud в Debian 10". Рассмотрим установку облачных хранилищ OwnCloud и Nextcloud в операционной системе Debian 10.
OwnCloud и Nextcloud – это бесплатные веб-приложения, предназначенные для организации общего доступа и обмена файлами, и другого расширенного функционала, настраиваемого путём добавления дополнительных модулей.
Для работы обоих веб-приложений, требуется установка и настройка веб-окружения. В одной из предыдущих статей, мы рассматривали установку веб-окружения LEMP. Возьмём его за основу. В статье я буду использовать доменное имя test.ru.
- Будем отталкиваться от того, что у нас уже есть в наличии:
- Директории для работы сайта.
- Веб-сервер Nginx.
- Сервер баз данных MariaDB.
- PHP-FPM и некоторые модули (список модулей в статье о Lemp)
- Открыты 80 и 443 порты в системном Firewall.
- Установлен сертификат от Let’s Encrypt.
- Настроена ротация логов Nginx.
Создание базы данных для OwnCloud и Nextcloud в Debian 10
- Начнём с создания базы данных для будущего облачного хранилища. Я создам базу данных baza, и пользователя admin, с паролем 123.
# mysql -u root -p MariaDB [(none)]> CREATE DATABASE baza; MariaDB [(none)]> GRANT ALL PRIVILEGES ON baza.* TO 'admin'@'localhost' IDENTIFIED BY '123'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> quit;
Создание конфигурации для OwnCloud и Nextcloud в Nginx
- Создаём конфигурационный файл для будущего хранилища. В моём случае это будет /etc/nginx/sites-enabled/test.conf. В конфиг включена базовая конфигурация для работы облачных хранилищ.
server { listen 80; server_name test.ru www.test.ru; index index.php index.html index.htm; access_log /var/www/test.ru/log/access.log; error_log /var/www/test.ru/log/error.log; root /var/www/test.ru/site/; return 301 https://$server_name$request_uri; } server { listen 443; server_name test.ru www.test.ru; index index.php index.html index.htm; access_log /var/www/test.ru/log/ssl-access.log; error_log /var/www/test.ru/log/ssl-error.log; root /var/www/test.ru/site/; ssl on; ssl_certificate /etc/letsencrypt/live/test.ru/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/test.ru/privkey.pem; ssl_protocols TLSv1.2; ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"; ssl_prefer_server_ciphers on; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; client_max_body_size 10G; fastcgi_buffers 64 4K; rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect; rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect; rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect; index index.php; error_page 403 = /core/templates/403.php; error_page 404 = /core/templates/404.php; location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ ^/(data|config|\.ht|db_structure\.xml|README) { deny all; } location / { rewrite ^/.well-known/host-meta /public.php?service=host-meta last; rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last; rewrite ^/.well-known/carddav /remote.php/carddav/ redirect; rewrite ^/.well-known/caldav /remote.php/caldav/ redirect; rewrite ^(/core/doc/[^\/]+/)$ $1/index.html; try_files $uri $uri/ index.php; } location ~ ^(.+?\.php)(/.*)?$ { try_files $1 = 404; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$1; fastcgi_param PATH_INFO $2; fastcgi_param HTTPS on; fastcgi_pass unix:/run/php/php7.3-fpm.sock; } location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ { expires modified +30d; access_log off; } location = /favicon.ico { log_not_found off; access_log off; } }
Настройка PHP-FPM для OwnCloud и Nextcloud в Debian 10
- Для правильной работы OwnCloud и Nextcloud, нужно произвести некоторые изменения в конфигурации PHP-FPM. Находим файл /etc/php/7.3/fpm/pool.d/www.conf, и раскомментируем строчки:
env[HOSTNAME] = $HOSTNAME env[PATH] = /usr/local/bin:/usr/bin:/bin env[TMP] = /tmp env[TMPDIR] = /tmp env[TEMP] = /tmp
- Для правильной работы OwnCloud и Nextcloud, требуются некоторые модули php. В статье об установке LEMP, мы произвели установку почти все из них.
- Не установленным, но необходимым для OwnCloud и Nextcloud, остался модуль intl. Производим его установку.
# apt install php-intl
- Перезапускаем Nginx и PHP-FPM, чтобы применились внесённые нами изменения.
# systemctl restart php7.3-fpm # systemctl restart nginx
Создание отдельного каталога для данных
- Для большей безопасности, создаём отдельный каталог для данных, вне корневой директории веб-приложения. И задаём нужные права.
# mkdir -p /data # chown www-data:www-data /data
Загрузка файлов OwnCloud и Nextcloud
- Ссылка для скачивания последней версии OwnCloud:
https://download.owncloud.org/download/community/owncloud-latest.zip
- Чтобы скачать последнюю версию Nextcloud, нужно зайти в хранилище, и выбрать требуемый архив:
https://download.nextcloud.com/server/releases/
- Можно скачать архив с нужным веб-приложением сначала на компьютер, потом извлечь файлы, и загрузить их в корневую директорию. Либо произвести скачивание архива при помощи утилиты wget, и извлечь файлы в корневую директорию, прямо на сервере.
- В моём случае корневая директория, это /var/www/test.ru/site/.
- После добавления файлов, задаём нужные права:
# chown www-data:www-data -R /var/www/test.ru/site/ # chmod -R 0775 /var/www/test.ru/site/ # chown root:www-data /var/lib/php/sessions/ # chown -R www-data:www-data /var/lib/php/sessions/
Установка frontend OwnCloud или Nextcloud
- Все предварительные настройки завершены. Теперь можно переходить к установке frontend.
- Открываем с помощью браузера главную страницу нашего сайта.
- Нам откроется окно инсталлятора выбранного нами облачного хранилища. Требуемые данные для установки, идентичны как для OwnCloud, так и для Nextcloud.
- Заполняем поля требуемой информацией:
- Учётная запись будущего администратора (логин и пароль)
- Указываем директорию с данными, которую мы создали для этих целей (/data)
- Данные подключения к базе данных (пользователь, пароль, и название базы данных)
- Введя все требуемые данные, жмём на «Завершить установку».

- Через какое-то время, откроется страница авторизации выбранного Вами приложения. Введя данные администратора, которого Вы создали на предыдущем шаге, Вы попадёте в панель управления Вашего облачного хранилища.
В случае если в процессе работы инсталлятора получится ошибка, откройте новую вкладку браузера, и перезайдите на Ваш сайт. Это не проблема, просто у скриптов не хватает времени на отработку.
Сегодня мы рассмотрели тему: "OwnCloud и Nextcloud в Debian 10". Рассмотрели процесс установки облачных хранилищ OwnCloud и Nextcloud в операционной системе Debian 10. Смотрите так же, видео по теме.
Надеюсь статья была вам полезна. До встречи в новых статьях.
✍
С уважением, Андрей Бондаренко.
Видео на тему "OwnCloud и Nextcloud в Debian 10":

WMZ-кошелёк = Z667041230317
«Debian»