Nextcloud — это программа с открытым исходным кодом для синхронизации и обмена файлами, которую можно использовать в качестве замены Google Диска, Яндекс Диска и аналогичных облачных хранилищ. В NextCloud теперь есть Onlyoffice, для редактирования общих документов, и Nextcloud Talk, это видеоконференцсвязь.
Узнать о том как установить web-server вы можете в статье:
https://blog.nixnet.uz/2020/11/20/install-lamp-in-centos-8/
Создайте виртуальный хост /etc/httpd/conf.d/nextcloud.conf и добавьте к нему следующий контент:
<VirtualHost *:80> DocumentRoot /var/www/html/nextcloud/ ServerName your.server.com <Directory /var/www/html/nextcloud/> Require all granted AllowOverride All Options FollowSymLinks MultiViews <IfModule mod_dav.c> Dav off </IfModule> </Directory> </VirtualHost>
Здесь мы создали symlink. Это нам понадобится для корректной работы сервера так как в дальнейшем мы планируем использовать его как Облако. И на нём кроме облака нечего другого не будет. ServerName your.server.com нужно заменить на домен сервера или же просто оставьте как есть и тогда можно работать просто по IP-сервера. что дальше и будет так как это вертуалка.
Шаг 1. Установите дополнительные модули PHP
Для нормальной работы NextCloud требуются некоторые необходимые модули PHP 7.2 .
sudo dnf install -y php php-mysqlnd php-xml php-zip php-curl php-gd php-intl php-json php-ldap php-mbstring php-opcache php-gd php-intl php-pecl-apcu php-mysqlnd php-zip
О том как установить саму последнюю версии php 8.0 или сменить версию на php 7.4 узнаете ознакомившись с данной статьёй:
Как установить PHP 8 на CentOS/RHEL 8
Шаг 2: Создайте базу данных NextCloud
После установки необходимых модулей PHP создайте Базу Данных MariaDB, которая будет содержать данные NextCloud, используя приведенную ниже команду, и укажите пароль:
mysql -u root -p
После входа в систему создайте Базу Данных и Пользователя Базы данных для NextCloud, используя приведенные ниже команды:
CREATE DATABASE nextcloud_db;
GRANT ALL ON nextcloud_db.* TO 'nextcloud_user'@'localhost' IDENTIFIED BY 'StrongP@ssword';
FLUSH PRIVILEGES;
EXIT;
Для установки последней версии MariaDB ознакомьтесь со статьёй:
Установка MariaDB в CentOS8/RHEL 8
Шаг 3. Установите NextCloud на CentOS 8
Выполните следующий шаг чтобы загрузить архивный файл с официального сайта NextCloud:
sudo wget https://download.nextcloud.com/server/releases/nextcloud-21.0.1.zip
Разархивируйте файл по пути /var/www/html/:
sudo unzip nextcloud-21.0.1.zip -d /var/www/html/
Затем создайте каталог для хранения пользовательских данных data.
sudo mkdir -p /var/www/html/nextcloud/data
Затем дайте права на каталог NextCloud, чтобы пользователь Apache мог добавлять в него данные:
sudo chown -R apache:apache /var/www/html/nextcloud/
Шаг 4: Настройка SELinux и брандмауэра для NextCloud
Вам нужно изменить конфигурацию SELinux, чтобы без проблем обрабатывался Nextcloud. Так что запустите приведенные ниже команды:
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/data(/.*)?' semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/config(/.*)?' semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/apps(/.*)?' semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/.htaccess' semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/.user.ini' semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/3rdparty/aws/aws-sdk-php/src/data/logs(/.*)?' restorecon -R '/var/www/html/nextcloud/' setsebool -P httpd_can_network_connect on
Создайте правило Брандмауэра (Firewall ) для доступа к Apache:
firewall-cmd --zone=public --add-service=http --permanent firewall-cmd --reload
Шаг 5: Завершение установки NextCloud
Чтобы завершить настройку NextCloud , запустите браузер и перейдите на IP-адрес сервера. Задайте имя пользователя и пароль, Администратора:
