Настройка облачного хранилища

SRV-BR:

  • Установим веб-сервер Apache2 и необходимые пакеты для PHP:
apt-get update && apt-get install -y apache2 apache2-mod_ssl apache2-mod_php8.4 php8.4 php8.4-{pgsql,pdo_pgsql,curl,dom,exif,fileinfo,gd2,gmp,imagick,intl,libs,mbstring,memcached,opcache,openssl,pcntl,pdo,xmlreader,zip,ldap}
  • Включаем необходимые модули и запускаем веб-сервер:
for i in dir env headers mime rewrite;do a2enmod $i;done
ИЛИ
a2enmod dir
a2enmod env
a2enmod headers
a2enmod mime
a2enmod rewrite
systemctl enable --now httpd2
  • Скачиваем Nextcloud требуемой версии (https://download.nextcloud.com/server/releases/):
wget https://download.nextcloud.com/server/releases/nextcloud-33.0.0.zip
  • Распаковываем скаченный архим и копируем файлы в директорию веб-сервера:
unzip nextcloud-33.0.0.zip 
rm -f nextcloud-33.0.0.zip
cp -r nextcloud /var/www/html/ && rm -rf nextcloud
  • Создаём необходимую структуру каталогов и прав:
chown -R root /var/www/html/nextcloud
mkdir /var/www/html/nextcloud/data
chown -R apache2 /var/www/html/nextcloud/{apps,config,data}/
  • Создаём конфигурационный файл для веб-сервера:
cat <<EOF > /etc/httpd2/conf/sites-available/nextcloud.conf
<VirtualHost *:80>
  DocumentRoot /var/www/html/nextcloud/
  <Directory /var/www/html/nextcloud/>
    Require all granted
    AllowOverride All
    Options FollowSymLinks MultiViews
    <IfModule mod_dav.c>
      Dav off
    </IfModule>
  </Directory>
</VirtualHost>
EOF
  • Добавляем символьную ссылку и перезапускаем веб-сервер:
ln -s /etc/httpd2/conf/sites-available/nextcloud.conf /etc/httpd2/conf/sites-enabled/
systemctl restart httpd2
  • Устанавливаем требуемую СУБД:
apt-get install -y postgresql17-server
  • Запускаем СУБД:
/etc/init.d/postgresql initdb
Задаем пароль P@ssw0rd
systemctl enable --now postgresql
  • Создаём БД и пользователя для Nextcloud:
su - postgres -s /bin/bash -c 'createuser --no-superuser --no-createdb --no-createrole --encrypted --pwprompt nextclouduser'
Задаем пароль P@ssw0rd
su - postgres -s /bin/bash -c 'createdb -O nextclouduser nextclouddb'

ADM-HQ:

  • Переходим в веб-браузер на http://srv-br.au.team/
    • создаём учётную запись для администратора, а также указываем данные для подключения к СУБД:

Рекомендованные приложения можно пропустить

  • Должно получиться следующее:

  • Для настройки интеграции базы пользователей с LDAP необходимо в списке приложений Nextcloud включить приложение «LDAP user and group backend»:

  • Сама настройка LDAP/AD интеграция может выглядеть следующим образом:

uid=admin,cn=users,cn=accounts,dc=au,dc=team

 

  • Проверить:

  • Проверить вход из-под доменного пользователя:

  • Добавляем обратный прокси для безопасной публикации в рамках локальной сети:

    • заполняем форму Добавление правила публикации

  • Должно получиться следующее:
    • требуемое имя и автоматический редирект запросов с http на https

    • а также корректный сертификат:

  • На DNS во FreeIPA добавляем CNAME запись следующего вида:

У меня так не получилось, сделал через А-запись.

  • Результат:

или

SRV-BR:

  • Правим файл /var/www/html/nextcloud/config/config.php добавив строку:

 

ADM-HQ: