Установка и настройка nextcloud centos 8
Ниже подробно рассмотрено, как установить на виртуальный сервер (Линукс) и настроить облачное хранилище Nextcloud, подключить его по протоколу WebDAV.
Описание хранилища
Nextcloud Files является облачным хранилищем, его исходный код открыт для публичного доступа, позволяя пользователям синхронизироваться и совместно использовать файлы. Отличается легкостью в освоении и отличной защищенностью. Организации применяют данное хранилище для получения быстрого доступа к файлам, изображениям и электронной документации. Хранилищем могут пользоваться клиенты компании, ее сотрудники и партнерские фирмы. Среди особенностей: возможность работы с контактами, календарными событиями и планировщиком.
Nextcloud предоставляет приложения для самых популярных платформ и набор платных пакетов для бизнеса.
Что нужно для загрузки Nextcloud
Чтобы установка хранилища прошла без сбоев, на виртуальном сервере должна стоять операционная система Centos 7 или Убунту, а юзер обладать правами суперпользователя.
Для того, чтобы была возможность пользоваться функциями PHP, необходимы модули XML Writer, ctype, posix, JSON, zlib, XML Reader, mbstring, zip, Simple XML, libxml, GD и другие.
Рассмотрим, как загрузить хранилище на Убунту версии 16. Процедура проходит одинаково для всех дистрибутивов, различаются только незначительные нюансы.
Для начала при помощи wget скачивается папка архива с Nextcloud самой свежей версии. Для примера берется облачное хранилище 13.0.4:
Понадобится загрузить контрольные суммы SHA265 либо MD5:
Затем нужно загрузить цифровую подпись:
Посмотреть, соответствуют ли контрольные суммы, можно такой командой (для MD5 и SHA256):
md5sum -c nextcloud-13.0.4.tar.bz2.md5 < nextcloud-13.0.4.tar.bz2
sha256sum -c nextcloud-13.0.4.tar.bz2.sha256 < nextcloud-13.0.4.tar.bz2
Если все хорошо, появится строчка:
Проверка цифровой подписи проходит следующим образом:
gpg --import nextcloud.asc
gpg --verify nextcloud-13.0.4.tar.bz2.asc nextcloud-13.0.4.tar.bz2
Затем архив нужно разархивировать:
tar -xjf nextcloud-13.0.4.tar.bz2
И скопировать в директорию сервера:
cp -r nextcloud /var/www
Как прописать конфигурацию Apache
Посредством текстового редактора vi создается файл с конфигурацией:
В нем записывается:
Обратите внимание: путь к каталогу может быть другим.
Создается символьная ссылка:
ln -s /etc/apache2/sites-available/nextcloud.conf /etc/apache2/sites-enabled/nextcloud.conf
a2enmod rewrite
a2enmod headers
a2enmod env
a2enmod dir
a2enmod mime
a2enmod setenvif
Следующим шагом нужно поменять право владения:
chown -R www-data:www-data /var/www/nextcloud/
Для сохранения изменений необходимо перезапустить сервер:
service apache2 restart
Как подключиться к хранилищу через браузер
Чтобы подключиться к Nextcloud, нужно использовать IP-адрес. Для создания учетки администратора потребуется ввести имя юзера и придумать длинный пароль. В конце – кликнуть по кнопке «Завершить установку».
На следующем шаге пользователь увидит окно с каталогами и расположенными в них файлами. Интерфейс легок и понятен.
Как создавать пользователей
Чтобы добавить еще одного юзера Nextcloud, в окне справа вверху необходимо кликнуть по иконке и через выпадающее меню найти пункт «Пользователи».
Потребуется придумать имя для нового юзера и пароль. По желанию можно указать группу.
После создания в таблице пользователей отобразится новый юзер Nextcloud.
Как подключиться через WebDav
Для подключения к Nextcloud можно использовать клиент Cyberduck протокола WebDAV. Первым делом потребуется инсталлировать приложение, затем перейти к созданному подключению. В настройках графы протокола указывается WebDAV, для сервера записывается полный адрес (посмотреть его можно через настройки страницы в браузере).
В качестве порта указывается 80. После этого нужно еще раз ввести данные юзера.
Данная инструкция протестирована для установки NextCloud версий 17, 18, 19 и 20, а также CentOS 8. В качестве веб-сервера нами будет использоваться связка NGINX + MariaDB + php-fpm. Мы будем выполнять чистую установку на сервер (без docker).
Подготовка сервера
1. Системные требования
С актуальными системными требованиями можно ознакомиться на сайте разработчика в разделе Administration Manual - Installation and server configuration - System requirements. Необходимо убедиться, что наш сервер соответствует данным требованиям.
2. Правильное время.
Устанавливаем утилиту chrony:
dnf install chrony
Запускаем ее службу:
systemctl enable chronyd --now
Выставляем нужный часовой пояс:
timedatectl set-timezone Europe/Moscow
* в данном примере московское время. Другие зоны также можно найти по пути /usr/share/zoneinfo.
3. Настройка брандмауэра.
Выполняется следующими командами:
firewall-cmd --permanent --add-service=
4. Отключение SELinux.
Для отключения SELinux вводим две команды:
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
* первая команда отключает SELinux до перезагрузки, вторая — навсегда.
* подробнее об отключении SELinux. Подробнее о настройке SELinux.
Настройка сервера баз данных
В качестве СУБД используем MariaDB.
dnf install mariadb-server
Разрешаем автозапуск и стартуем сервис:
systemctl enable mariadb --now
Задаем пароль для суперпользователя mysql:
mysqladmin -u root password
Подключаемся к MariaDB, создаем базу данных и пользователя:
> CREATE DATABASE nextcloud DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
* данными командами мы создали базу данных nextcloud, затем с таким же названием мы создали пользователя и задали ему пароль nextcloud.
Установка и настройка веб-сервера
В репозитории CentOS 8 есть требуемая версия пакета php. Для ее установки просто вводим команду:
dnf install php php-fpm php-pdo php-zip php-dom php-intl php-gd php-mysqli php-mbstring php-json php-process php-bcmath php-gmp php-imagick php-opcache
PHP-FPM
Сам пакет php-fpm мы установили на предыдущем шаге. Поэтому на данном этапе необходимо его настроить.
Открываем конфигурационный файл:
Находим опцию listen. Проверяем ее значение:
Разрешаем автозапуск php-fpm и запускаем его:
systemctl enable php-fpm --now
NGINX
Nextcloud можно развернуть на NGINX или Apache. В данной инструкции будем использовать первый.
dnf install nginx
ssl_certificate /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/cert.key;
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;
>
^/(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;
>
* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ expires modified +30d;
access_log off;
>
>
Создаем каталог для хранения сертификатов и переходим в него:
Проверяем конфигурацию nginx, разрешаем его автозапуск и перезапускаем сервис:
systemctl enable nginx --now
Установка Nextcloud
Для загрузки и распаковки архива на нужны следующие пакеты:
dnf install wget unzip
Переходим во временную папку:
Заходим на сайт nextcloud и копируем ссылку на скачивание последней версии программы:
Скачиваем исходник для установки:
Распаковываем скачанный архив:
unzip nextcloud-*.zip -d /var/www
Задаем права доступа:
chown -R apache:apache /var/www/nextcloud
Прописываем логин и пароль администратора, которые хотим использовать для входа, кликаем по Хранилище и база данных:
Переключаемся на MySQL/MariaDB, вводим в качестве логина, пароля и базы nextcloud:
Завершаем установку, при желании, оставим галочку для установки рекомендованных приложений:
После установки мы окажемся в системе.
Проверка безопасности и параметров
Для корректной работы системы выполним дополнительную настройку системы. После входа в nextcloud под администратором, переходим в настройки для пользователя:
В разделе «Параметры сервера» переходим в Основные сведения:
В разделе «Проверка безопасности и параметров» мы можем увидеть список проблем:
Боковая колонка
Рубрики
Свежие записи
Свежие комментарии
- Uriy к записи Ubuntu 20.04 настройка после установки
- Илья к записи Установка Nextcloud на чистый Centos 8
- Георгий к записи Как изменить расположение папки data в Nextcloud snap
- MertviyProrok к записи Как перенести Nextcloud snap на Nextcloud ручной конфигурации
- Антон к записи Как перенести Nextcloud snap на Nextcloud ручной конфигурации
Боковая колонка
Метки
Рассмотрим установку Nextcloud на чистый Centos 8. Для этого нам потребуется Centos 8 в минимальной установке и эта статья.
Содержание
Обновляем систему
Первым делом обновим операционную систему:
Подключаем репозитории.
Подключим репозиторий EPEL и Remi. Репозиторий Remi нам нужен для установки последней версии php. Remi не подключается без EPEL. Но в Centos 8 это уже не важно, так как, если устанавливать репозиторий Remi он сам определит, что у вас нет EPEL и установит его. Но команду для установки EPEL я все равно покажу.
EPEL репозиторий :
Remi репозиторий :
Установка доп. утилит.
Установим утилиты, которые нам рекомендуют в документации:
Веб-сервер
Устанавливаем Nginx
Теперь нам нужно установить веб-сервер. В качестве веб-сервера мы будем использовать Nginx.
Как установить Nginx можно посмотреть в статье по ссылке.
Настройка Nginx
Перейдем в папку conf.d для создания файла конфигурации для nextcloud:
Создадим и откроем для редактирования файл nextcloud.conf:
В нем пропишем конфигурацию.
Исходный конфиг на офф. сайте.
Ниже разместил уже отредактированный конфиг. Он уже отредактирован под статью.
Соответственно, если вы меняли или собираетесь менять пути к сертификатам или папке с nextcloud (создание сертификатов и установка описана дальше), тоже нужно отредактировать.
NextCloud это открытый исходный код, локальный обмен файлами и платформа для совместной работы который позволяет сохранять файлы и получать к ним доступ с нескольких устройств, таких как ПК, смартфоны и планшеты.
Как популярная платформа для самостоятельного хостинга, которая работает так же, как DropBox, он позволяет вам беспрепятственно сотрудничать в различных проектах, управлять своим календарем, отправлять и получать электронные письма, а также совершать видеозвонки.
В этом руководстве вы узнаете, как установить NextCloud на CentOS 8.
Предпосылки:
Поскольку мы будем получать доступ NextCloud через браузер, очень важно убедиться, что Стек LAMP уже установлен на CentOS 8 . НАПОЛЬНАЯ ЛАМПА это сокращение от Linux, Apache, MySQL / MariaDB и PHP.
Шаг 1. Установите дополнительные модули PHP
Некоторые реквизиты PHP модули необходимы для NextCloud функционировать должным образом. Установите их, как показано ниже.
Установите модули PHP в CentOS 8
Шаг 2: Создайте базу данных NextCloud
После установки необходимого PHP модулей, создайте базу данных, которая будет содержать данные NextCloud, войдя в ядро базы данных MariaDB с помощью приведенной ниже команды и предоставив пароль.
После входа в систему создайте базу данных и пользователя базы данных для NextCloud используя команды ниже.
Создать базу данных NextCloud
Шаг 3. Установите NextCloud на CentOS 8
Следующий шаг требует, чтобы вы загрузили NextCloud zip-файл с официального сайта NextCloud. На момент написания этого руководства последняя версия NextCloud является 18.0.1.
Скачивать NextCloudзапустите следующее команда wget .
Разархивируйте файл в /var/www/html/ дорожка.
Затем создайте каталог для хранения пользовательских данных администратора.
Затем измените права доступа к каталогу NextCloud, чтобы пользователь Apache мог добавлять в него данные.
Шаг 4: Настройка SELinux и брандмауэра для NextCloud
Чтобы разрешить доступ внешним пользователям NextCloud с вашего сервера вам нужно открыть порт 80 веб-сервера. Так что запустите команды ниже.
Шаг 5: Завершение установки NextCloud
Завершить NextCloud настройте, запустите браузер и просмотрите показанный IP-адрес сервера.
Создайте имя пользователя и пароль администратора.
Создать учетную запись администратора NextCloud
Затем нажмите "Хранилище и база данных’. Выбирать 'MariaDB’В качестве предпочтительного механизма базы данных и введите данные о базе данных.
Установить настройки базы данных NextCloud
Детали базы данных были заполнены, как показано ниже.
Настройки базы данных NextCloud
Наконец, нажмите "Заканчивать’, Чтобы завершить настройку.
Завершить установку NextCloud
Вы попадете на страницу входа в систему. Введите имя пользователя и пароль и нажмите "ВОЙТИ»Или нажмите«Авторизоваться' кнопка.
Краткое руководство по NextCloud будет предоставлен в виде слайда, если вы входите в систему впервые. Не стесняйтесь прокручивать вправо для получения дополнительных советов.
Кратко о NextCloud
И, наконец, закройте окно, чтобы получить доступ к панели управления.
Панель администратора NextCloud
На этом мы подошли к концу этого руководства. Теперь вы можете создавать резервные копии, синхронизировать и делиться файлами с друзьями и коллегами на NextCloud. Спасибо, что зашли так далеко. Мы надеемся, что это руководство вас вдохновило.
С актуальными системными требованиями можно ознакомиться на сайте разработчика в разделе Administration Manual - Installation and server configuration - System requirements. Необходимо убедиться, что наш сервер соответствует данным требованиям.
2. Правильное время.
Устанавливаем утилиту chrony:
dnf install chrony
Запускаем ее службу:
systemctl enable chronyd --now
Выставляем нужный часовой пояс:
\cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime
* в данном примере московское время. Другие зоны также можно найти по пути /usr/share/zoneinfo.
3. Настройка брандмауэра.
Выполняется следующими командами:
firewall-cmd --permanent --add-service=
4. Отключение SELinux.
Для отключения SELinux вводим две команды:
sed -i "s/ SELINUX =enforcing/ SELINUX =disabled/" /etc/selinux/config
* первая команда отключает SELinux до перезагрузки, вторая — навсегда.
Настройка сервера баз данных
В качестве СУБД используем MariaDB.
dnf install mariadb-server
Разрешаем автозапуск и стартуем сервис:
systemctl enable mariadb --now
Задаем пароль для суперпользователя mysql:
mysqladmin -u root password
Подключаемся к MariaDB, создаем базу данных и пользователя:
> CREATE DATABASE nextcloud DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
> GRANT ALL PRIVILEGES ON nextcloud.* TO nextcloud@localhost IDENTIFIED BY 'nextcloud';
* данными командами мы создали базу данных nextcloud, затем с таким же названием мы создали пользователя и задали ему пароль nextcloud.
Установка и настройка веб-сервера
В репозитории CentOS 8 есть требуемая версия пакета php. Для ее установки просто вводим команду:
dnf install php php-fpm php-pdo php-zip php-dom php-intl php-gd php-mysqli php-mbstring php-json php-process
PHP-FPM
Сам пакет php-fpm мы установили на предыдущем шаге. Поэтому на данном этапе необходимо его настроить.
Открываем конфигурационный файл:
Находим опцию listen. Проверяем ее значение:
Разрешаем автозапуск php-fpm и запускаем его:
systemctl enable php-fpm --now
NGINX
Nextcloud можно развернуть на NGINX или Apache. В данной инструкции будем использовать первый.
dnf install nginx
add _ header Strict-Transport-Security "max-age=31536000; includeSubDomains" always ; rewrite ^/carddav ( . * ) $ /remote . php/carddav $ 1 redirect ;^/ ( data | config | \ . ht | db _ structure \ . xml | README ) 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 ; fastcgi _ param SCRIPT _ FILENAME $ document _ root $ 1 ;
* ^ . + \ . ( jpg | jpeg | gif | bmp | ico | png | css | js | swf ) $
Создаем каталог для хранения сертификатов и переходим в него:
openssl req -new -x509 -days 1461 -nodes -out cert.pem -keyout cert.key -subj "/C= RU / ST =SPb/L=SPb/O=Global Security/ OU = IT Department/ CN =nextcloud.test.ru/ CN =nextcloud"
Проверяем конфигурацию nginx, разрешаем его автозапуск и перезапускаем сервис:
systemctl enable nginx --now
Установка Nextcloud
Для загрузки и распаковки архива на нужны следующие пакеты:
dnf install wget unzip
Переходим во временную папку:
Заходим на сайт nextcloud и копируем ссылку на скачивание последней версии программы:
Скачиваем исходник для установки:
Распаковываем скачанный архив:
unzip nextcloud-*.zip -d /var/www
Задаем права доступа:
chown -R apache:apache /var/www/nextcloud
Прописываем логин и пароль администраторы, которые хотим использовать для входа, кликаем по Хранилище и база данных:
Переключаемся на MySQL/MariaDB, вводим в качестве логина, пароля и базы nextcloud:
Завершаем установку, при желании, оставим галочку для установки рекомендованных приложений:
После установки мы окажемся в системе.
Проверка безопасности и параметров
Для корректной работы системы выполним дополнительную настройку системы. После входа в nextcloud под администратором, переходим в настройки для пользователя:
В разделе «Параметры сервера» переходим в Основные сведения:
В разделе «Проверка безопасности и параметров» мы можем увидеть список проблем:
Рассмотрим процесс решения некоторых из них.
1. PHP не настроен правильно для получения переменных системного окружения
Открываем файл php.ini. При нашей установке, это:
Снимаем комментарий с параметра PATH :
env[ PATH ] = /usr/local/bin:/usr/bin:/bin
systemctl restart php-fpm
2. Разрешённое максимальное значение использования памяти PHP ниже рекомендуемого значения в 512 МБ
Открываем на редактирование файл:
Меняем настройку для memory_limit:
systemctl restart php-fpm
3. В базе данных отсутствуют некоторые индексы
Выполним команду для индексирования баз:
sudo -u apache php /var/www/nextcloud/occ db:add-missing-indices
4. Некоторые индексы базы данных не были преобразованы в тип big int
Выполним команду для преобразования в тип big int:
sudo -u apache php /var/www/nextcloud/occ db:convert-filecache-bigint
На запрос Continue with the conversion отвечаем утвердительно:
Continue with the conversion (y/n)? [n] y
5. В системе не установлены рекомендуемые модули PHP
Данная ошибка устраняется в зависимости от списка модулей, которых не хватает системе. Чаще всего, подходит команда:
Читайте также: