Skip to content

Инструкция по установке на CentOS Stream, Fedora или RHEL ​

Системные требования ​

  • ОС: RHEL, CentOS Stream 9, Fedora 40+
  • Архитектура: amd64(x86_64)
  • Процессор: с тактовой частотой 2 ГГц или лучше
  • Оперативная память: не менее 2 Гб
  • Свободное место на жестком диске: не менее 40 Гб

Установка со всеми зависимостями на чистую систему ​

bash
curl -fsSL -o nextbox-install.sh 'https://nextbox-cloud.ptnl.moscow/api/v1/storage/files?share_token=7cd7d49f-e8b8-4c24-b583-e09ef31c2bb3&path=%2Fcentos%2Fstable.sh' && sudo bash nextbox-install.sh

Ручная установка ​

Для RHEL и CentOS Stream подключите репозиторий RabbitMQ.

Установите rabbitmq-server

bash
sudo dnf install -y rabbitmq-server
sudo systemctl enable --now rabbitmq-server

Установите postgresql

bash
sudo dnf install -y postgresql postgresql-server

Инициализируйте базу данных postgresql

bash
sudo postgresql-setup --initdb
sudo systemctl enable --now postgresql

Создайте базу в postgresql для nextbox

bash
sudo su - postgres -c "psql -v ON_ERROR_STOP=1 -c 'CREATE ROLE nextbox WITH LOGIN CREATEDB'"
sudo su - postgres -c "psql -v ON_ERROR_STOP=1 -c 'CREATE DATABASE nextbox OWNER nextbox ENCODING UTF8'"

Установите nginx

bash
sudo dnf install -y nginx

Создайте конфигурационный файл nginx для nextbox по пути /etc/nginx/conf.d/nextbox.conf

Добавьте в него следующие строки

nginx
map $http_x_forwarded_proto $the_scheme {
     default $http_x_forwarded_proto;
     "" $scheme;
}

map $http_x_forwarded_host $the_host {
    default $http_x_forwarded_host;
    "" $http_host;
}

map $http_upgrade $proxy_connection {
  default upgrade;
  "" close;
}

server {
    listen 8095 default_server;
    server_name  _;
    client_max_body_size 8000M;

    error_log /var/log/nginx/nextbox-error.log;
    access_log /var/log/nginx/nextbox-access.log;

    gzip on;
    gzip_comp_level 9;
    gzip_vary on;
    gzip_proxied any;
    gzip_min_length 1000;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml application/javascript;
    gzip_disable "msie6";

    location / {
        root /usr/share/nextbox/frontend/;
        index index.html;
        try_files $uri $uri/ /index.html;
    }

    location /api {
        proxy_pass http://127.0.0.1:9801/api;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $proxy_connection;
        proxy_set_header Host $host;
        proxy_request_buffering off;
    }

    location /l/ {
        proxy_pass http://127.0.0.1:9801/l/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $proxy_connection;
        proxy_set_header Host $host;
        proxy_request_buffering off;
    }

    location /onlyoffice/ {
        proxy_pass http://127.0.0.1:9890/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $proxy_connection;
        proxy_set_header X-Forwarded-Host $the_host/onlyoffice;
        proxy_set_header X-Forwarded-Proto $the_scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Разрешите подключения nginx в SELinux

bash
sudo dnf install -y policycoreutils-python-utils
sudo semanage port -a -t http_port_t -p tcp 8095
sudo setsebool -P httpd_can_network_connect on

Проверьте и запустите nginx

bash
sudo nginx -t
sudo systemctl enable --now nginx
sudo systemctl reload nginx

Установите redis:

bash
sudo dnf install redis
sudo systemctl enable --now redis

Добавьте репозиторий nextbox

bash
sudo rpm --import 'https://nextbox-cloud.ptnl.moscow/api/v1/storage/files?share_token=5f404a45-db7b-4fbb-aa5e-d031defe494c&path=public.gpg.key'
sudo tee /etc/yum.repos.d/nextbox.repo >/dev/null <<'EOF'
[nextbox]
name=Nextbox stable
baseurl=https://nextbox-nexus.ptnl.moscow/repository/nextbox-yum-stable/
enabled=1
gpgcheck=1
gpgkey=https://nextbox-cloud.ptnl.moscow/api/v1/storage/files?share_token=5f404a45-db7b-4fbb-aa5e-d031defe494c&path=public.gpg.key
EOF

Обновите список пакетов и установите nextbox

bash
sudo dnf install -y ptnl-nextbox

Пакет создаёт конфигурацию, генерирует ключи при чистой установке и включает nextbox.service.

Конфигурационный файл для nextbox находится по пути: /etc/nextbox/core.yml

В core.service.front_url укажите адрес сервера.

bash
sudo systemctl restart nextbox.service

После установки зайдите на next-box по ссылке: http://127.0.0.1:8095

При первом открытии создайте администратора, указав логин и пароль.

Инструкция по обновлению.