NextCloud в контейнере: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
 
(не показано 27 промежуточных версий этого же участника)
Строка 1: Строка 1:
Развернув альт-контейнер в проксмоксе, обновил его:
{{Stub}}
# apt-get update && apt-get -y dist-upgrade
=Подготовка базы данных=
Поставил нужные в дальнейшем пакеты — в т.ч. тот, что тянет за собой всё остальное для некст-клауда:
# apt-get install -y htop lsof mc installed-db-office-server-nextcloud php8.0-{apcu,ldap,opcache,pgsql,pdo_pgsql}
На постгре-серваке создал соответствующую базу с одноимённым пользователем:
На постгре-серваке создал соответствующую базу с одноимённым пользователем:
  CREATE USER nextcloud WITH PASSWORD 'password' CREATEDB;
  CREATE USER nextcloud WITH PASSWORD 'n3x7-c10ud' CREATEDB;
  CREATE DATABASE nextcloud TEMPLATE template0 ENCODING 'UTF8';
  CREATE DATABASE nextcloud TEMPLATE template0 ENCODING 'UTF8';
  ALTER  DATABASE nextcloud OWNER TO nextcloud;
  ALTER  DATABASE nextcloud OWNER TO nextcloud;
  GRANT ALL PRIVILEGES ON DATABASE nextcloud TO nextcloud;
  GRANT ALL PRIVILEGES ON DATABASE nextcloud TO nextcloud;
  GRANT ALL PRIVILEGES ON SCHEMA public TO nextcloud;
  GRANT ALL PRIVILEGES ON SCHEMA public TO nextcloud;
Добавил модуль '''pdo''' для постгре:
=Настройка и запуск службы=
# sed -i 's|=pgsql.so|&\nextension=pdo_pgsql.so|' /etc/php/8.0/apache2-mod_php/php.d/pgsql.ini
#Свежеразвернутый для облака альт-контейнер сходу обновил:
Изменил '''ServerName''' и под ним добавил обработку заголовка:
#:{{cmd|# apt-get update && apt-get -y dist-upgrade}}
{|class="mw-collapsible mw-collapsed wikitable"
#Поставил нужные в дальнейшем пакеты — первым делом тот, что тянет за собой всё остальное для некст-клауда:
!/etc/httpd2/conf/sites-enabled/000-default_https.conf  
#:'''<code># apt-get install -y installed-db-office-server-nextcloud php8.2-{apcu,ldap,opcache,pdo_pgsql,pgsql} htop lsof mc</code>'''
|-
#Добавил модуль '''<code>pdo</code>''' для постгре:
|<source lang=bash>
#:'''<code># sed -i 's|=pgsql.so|&\nextension=pdo_pgsql.so|' /etc/php/8.2/apache2-mod_php/php.d/pgsql.ini</code>'''
#Изменил в {{path|/etc/httpd2/conf/sites-enabled/000-default_https.conf}} имя сервера, добавив под ним обработку заголовка:
#:<source lang=ini>
     ServerName cloud:443
     ServerName cloud:443
     <IfModule mod_headers.c>
     <IfModule mod_headers.c>
Строка 21: Строка 21:
     </IfModule>
     </IfModule>
</source>
</source>
|}
#Состряпал конфиг для подключения к СУБД:
Стартанул апача:
# systemctl enable --now httpd2
Дополнил создавшийся при запуске конфиг такими полями:
{|class="mw-collapsible mw-collapsed wikitable"
{|class="mw-collapsible mw-collapsed wikitable"
!/etc/nextcloud/config/config.php &nbsp;
!/etc/nextcloud/config/config.php &nbsp;
|-
|-
|<source lang=ini>
|<source lang=php>
<?php
$CONFIG = array (
  'trusted_domains' =>
  array (
    0 => 'cloud',
    1 => '10.0.1.196',
  ),
   'dbtype' => 'pgsql',
   'dbtype' => 'pgsql',
   'dbname' => 'nextcloud',
   'dbname' => 'nextcloud',
   'dbuser' => 'nextcloud',
   'dbuser' => 'nextcloud',
   'dbpassword' => 'password',
   'dbpassword' => 'n3x7-c10ud',
   'dbhost' => 'psql-0:5432',
   'dbhost' => 'psql-0',
  'dbport' => '5432',
   'dbtableprefix' => 'oc_',
   'dbtableprefix' => 'oc_',
   'default_language' => 'ru',
   'default_language' => 'ru',
Строка 42: Строка 47:
   'log_type_audit' => 'systemd',
   'log_type_audit' => 'systemd',
   'logtimezone' => 'Asia/Irkutsk',
   'logtimezone' => 'Asia/Irkutsk',
   'memcache.local' => '\OC\Memcache\APCu',
   'memcache.local' => '\\OC\\Memcache\\APCu',
  'overwrite.cli.url' => 'http://cloud/nextcloud',
  'overwriteprotocol' => 'https',
);
</source>
</source>
|}
|}
Через веб-морду некст-клауда создал админа с паролем и рестартанул апача.
{{Внимание|сетевые имена и адреса ставьте свои, как и содержимое полей '''<code>db{type,host,name,user,password}</code>'''}}
 
После чего:
Зашёл.
*стартанул апача ({{cmd|# systemctl enable --now httpd2}}),
 
*через веб-морду некст-клауда создал админа с паролем,
*рестартанул апача,
*перезашёл в веб-морду созданным админом.
Пока полёт нормальный.
Пока полёт нормальный.
=Обратная связь=
*[https://t.me/gbIMoBou @gbIMoBou]
*[[Участник:Дым#Заметки|Другие статьи]]
{{Category navigation|title=Виртуализация|category=Виртуализация|sortkey={{SUBPAGENAME}}}}
[[Категория:Admin]]

Текущая версия от 06:09, 6 мая 2024

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Подготовка базы данных

На постгре-серваке создал соответствующую базу с одноимённым пользователем:

CREATE USER nextcloud WITH PASSWORD 'n3x7-c10ud' CREATEDB;
CREATE DATABASE nextcloud TEMPLATE template0 ENCODING 'UTF8';
ALTER  DATABASE nextcloud OWNER TO nextcloud;
GRANT ALL PRIVILEGES ON DATABASE nextcloud TO nextcloud;
GRANT ALL PRIVILEGES ON SCHEMA public TO nextcloud;

Настройка и запуск службы

  1. Свежеразвернутый для облака альт-контейнер сходу обновил:
    # apt-get update && apt-get -y dist-upgrade
  2. Поставил нужные в дальнейшем пакеты — первым делом тот, что тянет за собой всё остальное для некст-клауда:
    # apt-get install -y installed-db-office-server-nextcloud php8.2-{apcu,ldap,opcache,pdo_pgsql,pgsql} htop lsof mc
  3. Добавил модуль pdo для постгре:
    # sed -i 's|=pgsql.so|&\nextension=pdo_pgsql.so|' /etc/php/8.2/apache2-mod_php/php.d/pgsql.ini
  4. Изменил в /etc/httpd2/conf/sites-enabled/000-default_https.conf имя сервера, добавив под ним обработку заголовка:
        ServerName cloud:443
        <IfModule mod_headers.c>
            Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload"
        </IfModule>
    
  5. Состряпал конфиг для подключения к СУБД:
/etc/nextcloud/config/config.php  
<?php
$CONFIG = array (
  'trusted_domains' =>
  array (
    0 => 'cloud',
    1 => '10.0.1.196',
  ),
  'dbtype' => 'pgsql',
  'dbname' => 'nextcloud',
  'dbuser' => 'nextcloud',
  'dbpassword' => 'n3x7-c10ud',
  'dbhost' => 'psql-0',
  'dbport' => '5432',
  'dbtableprefix' => 'oc_',
  'default_language' => 'ru',
  'force_language' => 'ru',
  'default_locale' => 'ru_RU',
  'force_locale' => 'ru_RU',
  'default_phone_region' => 'RU',
  'log_type_audit' => 'systemd',
  'logtimezone' => 'Asia/Irkutsk',
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'overwrite.cli.url' => 'http://cloud/nextcloud',
  'overwriteprotocol' => 'https',
);
Внимание: сетевые имена и адреса ставьте свои, как и содержимое полей db{type,host,name,user,password}

После чего:

  • стартанул апача (# systemctl enable --now httpd2),
  • через веб-морду некст-клауда создал админа с паролем,
  • рестартанул апача,
  • перезашёл в веб-морду созданным админом.

Пока полёт нормальный.

Обратная связь