Как стать автором
Обновить

Комментарии 14

Есть ли какое-то преимущество такой установки перед докер контейнером?

меньше абстракций, меньше занятого места на диске, меньше потребляемой ОЗУ (хотя всё это весьма несущественно и разница мизерная)
но если автору была бы важна производительность и потребление ресурсов как минимум он бы заюзал postgres вместо mariadb и связку nginx+php-fpm вместо apache.

вся эта статья больше похожа на "надо что-то написать, но писать не о чем, просто скопирую документацию"

Ну например в докере проблемнее добавить ffmpeg для фото, модули и модели для AI анализа.

chatgpt и тот более содержательный текст выдаёт:

Ниже приведена пошаговая инструкция по установке и настройке NextCloud на сервере с Debian 12. Предполагается, что у вас есть «чистая» (или уже настроенная базовая) ОС Debian 12, а также базовые знания администрирования Linux. Процесс включает в себя установку веб-сервера (Apache), базы данных (MariaDB) и необходимых модулей PHP.

Шаг 1: Обновление системы

Прежде чем начинать установку, обновите списки пакетов и установите последние версии доступных обновлений:

sudo apt update
sudo apt upgrade -y

Шаг 2: Установка веб-сервера (Apache), PHP и MariaDB

Установка Apache

sudo apt install apache2 -y

Проверьте, что веб-сервер работает:

systemctl status apache2

Он должен иметь статус active (running). Если сервер не запущен, включите и запустите его:

sudo systemctl enable apache2
sudo systemctl start apache2

Установка MariaDB (СУБД)

sudo apt install mariadb-server mariadb-client -y

Проверьте статус MariaDB:

systemctl status mariadb

При необходимости включите и запустите MariaDB:

sudo systemctl enable mariadb
sudo systemctl start mariadb

После установки выполните скрипт безопасности, чтобы задать пароль root для MariaDB и отключить тестовые пользователи:

sudo mysql_secure_installation

Данный скрипт задаст несколько вопросов. Рекомендуется ответить следующим образом:

  1. Enter current password for root (впервые пустой, жмём Enter)

  2. Set root password? [Y/n] — Нажмите Y и задайте сложный пароль

  3. Remove anonymous users? [Y/n] — Y

  4. Disallow root login remotely? [Y/n] — Y (запретить удалённый вход под root)

  5. Remove test database and access to it? [Y/n] — Y

  6. Reload privilege tables now? [Y/n] — Y

Установка PHP

Nextcloud требует определённых расширений PHP. Установим PHP и необходимые модули:

sudo apt install php php-common php-mysql php-gd php-xml php-curl php-zip php-mbstring php-intl php-bcmath php-ldap php-imagick libapache2-mod-php -y

Примечание: В зависимости от требований Nextcloud и ваших потребностей могут потребоваться и другие модули, но в большинстве случаев вышеперечисленных достаточно.

Шаг 3: Создание базы данных и пользователя для Nextcloud

Подключитесь к MariaDB под пользователем root:

sudo mysql -u root -p

Введите пароль, который вы назначили при запуске mysql_secure_installation.

Создайте базу данных (назовём её, например, nextcloud):

CREATE DATABASE nextcloud;

Затем создайте пользователя (например, nc_user) и задайте для него пароль (замените Пароль_Тут на ваш реальный пароль):

CREATE USER 'nc_user'@'localhost' IDENTIFIED BY 'Пароль_Тут';

Дайте созданному пользователю все права на базу nextcloud:

GRANT ALL PRIVILEGES ON nextcloud.* TO 'nc_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Шаг 4: Загрузка и установка Nextcloud

Перейдите в каталог временных файлов:

cd /tmp

Загрузите последнюю стабильную версию Nextcloud. Узнать текущую версию можно на официальном сайте Nextcloud (либо через консольную команду wget, указав прямую ссылку). Предположим, что актуальная версия — 25.x (пример). Используйте команду:

wget https://download.nextcloud.com/server/releases/nextcloud-25.0.7.zip

Внимание: Замените 25.0.7 на актуальную версию Nextcloud.

Распакуйте архив:

sudo apt install unzip -y
unzip nextcloud-25.0.7.zip

Переместите распакованную папку nextcloud в каталог /var/www/:

sudo mv nextcloud /var/www/

Шаг 5: Настройка прав доступа к файлам

Назначьте владельцем директории nextcloud пользователя и группу www-data (тот же пользователь/группа, под которыми работает Apache):

sudo chown -R www-data:www-data /var/www/nextcloud
sudo chmod -R 755 /var/www/nextcloud

Шаг 6: Конфигурация Apache для Nextcloud

Создадим отдельный конфигурационный файл в каталоге sites-available (например, nextcloud.conf):

sudo nano /etc/apache2/sites-available/nextcloud.conf

Вставьте в него содержимое примерно следующего вида:

<VirtualHost *:80>
    ServerAdmin admin@example.com
    DocumentRoot /var/www/nextcloud
    ServerName your_domain_or_IP

    <Directory /var/www/nextcloud/>
        Require all granted
        AllowOverride All
        Options FollowSymLinks MultiViews
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/nextcloud_error.log
    CustomLog ${APACHE_LOG_DIR}/nextcloud_access.log combined
</VirtualHost>

Важно:

  • Замените your_domain_or_IP на реальное доменное имя или IP-адрес вашего сервера.

  • Если планируете подключать HTTPS (рекомендуется), то будем дополнительно использовать сертификат TLS. Но на данном этапе достаточно настройки на 80-м порту.

Сохраните файл и выйдите из редактора. Затем включите сайт и необходимые модули Apache:

sudo a2ensite nextcloud.conf
sudo a2enmod rewrite headers env dir mime

Rewrite позволяет использовать файлы .htaccess, headers — корректную работу заголовков, env, dir, mime — вспомогательные модули для корректной работы Nextcloud.

Перезапустите Apache:

sudo systemctl reload apache2

Шаг 7: Завершение настройки в веб-интерфейсе

  1. Откройте в браузере:

    http://your_domain_or_IP
    

    Либо, если у вас нет DNS-названия, можно обращаться по IP:

    http://SERVER_IP
    
  2. Должна отобразиться страница начальной настройки Nextcloud:

    • Укажите имя администратора (логин), пароль (придумайте надёжный).

    • Укажите каталог данных (по умолчанию /var/www/nextcloud/data).

    • В поле для подключения к базе данных выберите MariaDB (MySQL/MariaDB).

      • Хост базы данных: localhost

      • Имя базы данных: nextcloud

      • Пользователь БД: nc_user

      • Пароль БД: тот, который вы указывали

  3. Нажмите Установить (или Finish Setup). Nextcloud автоматически настроит базу и файлы для начала работы.

Шаг 8: (Опционально) Настройка HTTPS через Let’s Encrypt

Для более безопасного доступа к Nextcloud рекомендуется настроить HTTPS. Если у вас есть доменное имя, можно использовать бесплатные сертификаты Let’s Encrypt.

Установите клиент certbot (для Apache):

sudo apt install certbot python3-certbot-apache -y

Запустите генерацию сертификата:

sudo certbot --apache -d your_domain_or_IP

Во время установки вам зададут вопросы:

  • Согласиться ли с Условиями Предоставления Услуг

  • Куда отправлять уведомления о скором окончании сертификата

  • Перенаправлять ли HTTP на HTTPS или нет (лучше включить перенаправление)

После успешной генерации сертификата ваши файлы сайта будут обновлены, и Nextcloud станет доступен по HTTPS.

Шаг 9: Дополнительные рекомендации

  1. Расширения PHP и параметры

    • Проверьте, что размер загружаемых файлов соответствует вашим требованиям:

      • В файле /etc/php/<версия>/apache2/php.ini (или в /etc/php.ini в зависимости от структуры) увеличьте значения:

        upload_max_filesize = 2G
        post_max_size = 2G
        memory_limit = 512M
        
      • После изменения перезапустите Apache:

        sudo systemctl reload apache2
        
  2. Кэширование (Caching)

    • Nextcloud рекомендует настроить кэш Redis для повышения производительности.

    • Установите Redis:

      sudo apt install redis-server php-redis -y
      
    • Включите и запустите Redis:

      sudo systemctl enable redis-server
      sudo systemctl start redis-server
      
    • В файле конфигурации Nextcloud /var/www/nextcloud/config/config.php (после завершения первоначальной настройки) добавьте:

      'memcache.distributed' => '\OC\Memcache\Redis',
      'memcache.locking' => '\OC\Memcache\Redis',
      'memcache.local' => '\OC\Memcache\Redis',
      'redis' => array(
          'host' => 'localhost',
          'port' => 6379,
      ),
      
  3. Укрепление безопасности

    • Включите опцию strict-transport-security при использовании HTTPS, добавив в конфигурацию Apache:

      <IfModule mod_headers.c>
        Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
      </IfModule>
      
    • Регулярно устанавливайте обновления ОС и Nextcloud.

  4. Автоматическое обновление SSL-сертификата

    • Let’s Encrypt сертификаты имеют ограниченный срок действия (90 дней), но certbot по умолчанию настраивает автоматическую проверку. Убедитесь, что cron-задача для certbot renew присутствует.

Заключение

Установка Nextcloud на Debian 12 сводится к нескольким ключевым шагам:

  1. Настройка LAMP (Apache + MariaDB + PHP).

  2. Создание базы данных и пользователя для Nextcloud.

  3. Загрузка Nextcloud и корректная настройка прав доступа.

  4. Настройка виртуального хоста в Apache.

  5. Инициализация Nextcloud в веб-интерфейсе.

По желанию можно сразу добавить настройку HTTPS (Let’s Encrypt) и доработать конфигурацию PHP/Redis для повышения производительности и безопасности. Выполнив эти действия, вы получите функциональный сервер Nextcloud на Debian 12, где можно безопасно хранить и синхронизировать файлы, календари, контакты и многое другое.

Нетленку GPT убирайте под кат, пожалуйста.

сорян, чет с компа не нашел как это сделать. а сейчас уже не даёт править

в минимальной установке debian нет sudo, lvm,.. поэтому, пожалуйста, или пишите для ubuntu или тщательнее проверяйте ответ с fakegpt, или не трогайте святой debian :)

После такой установки в веб админке будет кучу сообщений о необходимости продолжить настстройки, memcache, индексы, планировщик, параметры php.

после последнего обновления еще и просит сервер для звонков
в принципе пофиг, если звонить особо некому

В форматирование статьи ушло еще меньше усилий, чем в генерацию его содержания. Редактор хабра умеет в блоки кода.

Судя по этой инструкции первичной и базовой установки, использовать этот инстанс предполагается только в LAN? Никакой настройки роутера, файервола и т.д.

Nginx + postgresql + redis быстрее будет

Прям даже намного

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации