OwnCloud и Nextcloud на ISPmanager

Доброго времени суток, уважаемые читатели. Тема статьи сегодня: "OwnCloud и Nextcloud на ISPmanager". Пошагово рассмотрим, процесс установки веб-приложений OwnCloud и Nextcloud на ISPmanager.
OwnCloud и Nextcloud – это бесплатные веб-приложения, для удалённого доступа, хранения, и обмена файлами. Функционал приложений, может быть расширен, за счёт официальных, и не официальных модулей расширения.
Если Вы захотите установить любое из этих облачных хранилищ, на сервер без панели управления, то вот статья об установке OwnCloud на CentOS 7, и вот статья об установке Nextcloud на CentOS 7.
Будем отталкиваться от того, что после предыдущих статей, у нас есть созданный, и настроенный должным образом веб-домен. Я не буду создавать поддоменов, а буду использовать домен game-int.ru , из предыдущих статей. Вы в свою очередь, делайте так, как Вам требуется.
Пакеты OwnCloud и Nextcloud отсутствуют в каталоге доступных веб-скриптов. Поэтому для установки, нужно будет скачивать архивы с приложениями, из официальных ресурсов.
Процесс установки OwnCloud и Nextcloud в ISPmanager, полностью идентичен; за той только разницей, что архивы нужно скачивать с разных ресурсов, и на выходе, Вы получите одно, или другое облако.
Создание базы данных для OwnCloud или Nextcloud в ISPmanager
- Для работы облачных хранилищ OwnCloud и Nextcloud, требуется база данных. Давайте создадим её.
- Заходим в раздел «Инструменты» --> «Базы данных», и жмём на «Создать».

- Создаём базу данных, владельцем которой, указываем владельца нашего веб-домена.
- Создаём пользователя для базы данных, и его пароль. Запоминаем данные, так как они нам потом понадобятся.

Скачивание архива с последней версией OwnCloud или Nextcloud в ISPmanager
- После создания базы данных, можно переходить к скачиванию архива, с последней версией нужного облачного хранилища. Скачивание нужно производить, зайдя под пользователем, владельцем веб-домена.
- Заходим в раздел «Главное» --> «Менеджер файлов», и переходим в директорию /www. Сюда нам и нужно закачать требуемый архив.
- Жмём на «Закачать».

- Выбираем в поле «Тип файла» --> «URL файла на другом сервере», и в поле «URL», вставляем ссылку на последнюю версию нужного облака.
Для OwnCloud это: https://download.owncloud.org/download/community/owncloud-latest.zip
Для Nextcloud, на момент написания статьи, это: https://download.nextcloud.com/server/releases/nextcloud-21.0.1.zip

- Если у вас в директории /www, есть какие-нибудь каталоги или файлы, удаляем их. Оставляем только закачанный архив.

- Выделяем закачанный архив, и жмём на «Извлечь». Извлекаем файлы в эту же директорию.

- В директории /www, появляется каталог owncloud, или nextcloud, в зависимости от того, что вы закачали.
- Выделяем его, и жмём на «Атрибуты».

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

- Выделяем закачанный архив, и жмём на «Удалить». Он нам больше не нужен.

Установка недостающих модулей PHP
- После произведённых действий, можно открывать браузер, и заходить на наш веб-домен.
- Открывается страница с ошибками, сгенерированная установщиком веб-приложения. На странице указан список необходимых модулей PHP, которые отсутствуют в Вашей системе.

В статье о пошаговой установке сайта в ISPmanager, я уже объяснял, как нужно добавлять не хватающие модули PHP, поэтому не буду останавливаться на этом подробно.
- Заходим под пользователем root в раздел «Настройки web-сервера» --> «PHP». Выделяем нужную версию PHP, которую использует пользователь; идём в «Расширения», находим нужные модули, и активируем их.
- После активации всех требуемых модулей, возвращаемся в браузер, и обновляем страницу.
- Ошибок больше не выходит, и открывается форма установки frontend облачного хранилища.

- Но это ещё не все предварительные настройки, которые нужно произвести. Если в данный момент начать установку frontend, то установка закончится ошибками.
- Нам нужно отредактировать конфигурационный файл веб-сервера, для корректной установки, и правильной работы облачных хранилищ.
Настройка веб-сервера Nginx для OwnCloud и Nextcloud в ISPmanager
- Заходим под пользователем root в раздел «Домены» --> «WWW-домены», выделяем наш домен, и жмём на «Конфиг».

- Открывается конфигурационный файл веб сервера, в моём случае Nginx. Нужно отредактировать этот файл, под OwnCloud и Nextcloud.
Я взял за основу свой конфиг, из статей об установке OwnCloud на CentOS 7, и об установке Nextcloud на CentOS 7, и подправил его, под оригинальный конфигурационный файл.
- Оригинальный конфигурационный файл, в моём случае:
server { server_name game-int.ru www.game-int.ru; charset UTF-8; index index.php index.html; disable_symlinks if_not_owner from=$root_path; include /etc/nginx/vhosts-includes/*.conf; include /etc/nginx/vhosts-resources/game-int.ru/*.conf; access_log /var/www/httpd-logs/game-int.ru.access.log; error_log /var/www/httpd-logs/game-int.ru.error.log notice; ssi on; return 301 https://$host:443$request_uri; set $root_path /var/www/game-int.ru/data/www/game-int.ru; gzip on; gzip_comp_level 3; gzip_disable "msie6"; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript; location / { location ~ [^/]\.ph(p\d*|tml)$ { try_files /does_not_exists @php; } location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ { expires 3d; } } location @php { fastcgi_index index.php; fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f webmaster@game-int.ru"; fastcgi_pass unix:/var/www/php-fpm/game-int.ru.sock; fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$; try_files $uri =404; include fastcgi_params; } root $root_path; listen 194.87.215.158:80; } server { server_name game-int.ru www.game-int.ru; ssl_certificate "/var/www/httpd-cert/game-int.ru/game-int.ru_le1.crtca"; ssl_certificate_key "/var/www/httpd-cert/game-int.ru/game-int.ru_le1.key"; ssl_ciphers EECDH:+AES256:-3DES:RSA+AES:!NULL:!RC4; ssl_prefer_server_ciphers on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_dhparam /etc/ssl/certs/dhparam4096.pem; charset UTF-8; index index.php index.html; disable_symlinks if_not_owner from=$root_path; include /etc/nginx/vhosts-includes/*.conf; include /etc/nginx/vhosts-resources/game-int.ru/*.conf; access_log /var/www/httpd-logs/game-int.ru.access.log; error_log /var/www/httpd-logs/game-int.ru.error.log notice; ssi on; set $root_path /var/www/game-int.ru/data/www/game-int.ru; gzip on; gzip_comp_level 3; gzip_disable "msie6"; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript; location / { location ~ [^/]\.ph(p\d*|tml)$ { try_files /does_not_exists @php; } location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ { expires 3d; } } location @php { fastcgi_index index.php; fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f webmaster@game-int.ru"; fastcgi_pass unix:/var/www/php-fpm/game-int.ru.sock; fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$; try_files $uri =404; include fastcgi_params; } add_header Strict-Transport-Security "max-age=31536000;"; root $root_path; listen 194.87.215.158:443 ssl; }
- Получился конфигурационный файл, под OwnCloud или Nextcloud в ISPmanager, для моего домена game-int.ru:
server { listen 80; server_name game-int.ru; return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name game-int.ru; ssl_certificate "/var/www/httpd-cert/game-int.ru/game-int.ru_le1.crtca"; ssl_certificate_key "/var/www/httpd-cert/game-int.ru/game-int.ru_le1.key"; ssl_ciphers EECDH:+AES256:-3DES:RSA+AES:!NULL:!RC4; ssl_prefer_server_ciphers on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_dhparam /etc/ssl/certs/dhparam4096.pem; root /var/www/game-int.ru/data/www/game-int.ru; access_log /var/www/httpd-logs/game-int.ru.access.log; error_log /var/www/httpd-logs/game-int.ru.error.log notice; 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:/var/www/php-fpm/game-int.ru.sock; } location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ { expires modified +30d; access_log off; } }
- После редактирования, сохраняем изменения в конфиге.

- Чтобы изменения вступили в силу, нужно перезапустить веб-сервер.
- Заходим в раздел «Инструменты» --> «Shell-клиент», и выполняем команду:
# systemctl restart nginx
- На этом все предварительные настройки завершены, и можно переходить к установке frontend OwnCloud или Nextcloud.
Установка frontend OwnCloud или Nextcloud
- Открываем браузер, и заходим на наш веб-домен.
- Заполняем все поля формы установки frontend, и жмём на «Завершить установку».
- Для OwnCloud:

- В случае с Nextcloud, можно так же сразу установить рекомендуемые приложения:

Если в процессе установки Вас выбросит, то просто перезайдите на главную страницу Вашего домена, не закрывая браузера (чтобы не завершилась сессия).
- По завершении установки, Вы получите доступ к Вашему облачному хранилищу.
Сегодня мы рассмотрели тему: "OwnCloud и Nextcloud на ISPmanager". Пошагово произвели установку облачных хранилищ OwnCloud и Nextcloud, в панели управления ISPmanager 6. Смотрите так же, видео по теме.
Надеюсь статья была вам полезна. До встречи в новых статьях.
✍
С уважением, Андрей Бондаренко.
Видео на тему "OwnCloud и Nextcloud на ISPmanager":

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