Все більше людей відмовляються від популярних сервісів як Google Drive або Dropbox на користь самостійно розміщуваних рішень, які дають вам контроль над вашими даними, і одна з них — Nextcloud.
Цей матеріал містить докладний покроковий посібник зі встановлення Nextcloud Docker на системи Ubuntu і Debian. Він охоплює все від оновлення системи й встановлення залежностей до налаштування веб-сервера й PHP, налаштування бази даних і завершення встановлення за допомогою Nextcloud Docker Compose.
Чому варто самостійно розміщувати Nextcloud?
Власне хостування Nextcloud означає керування власним розв'язком для хмарного сховища замість покладання на популярні сервіси вроді Google Drive чи Dropbox. З Nextcloud ви маєте свободу зберігати та ділитися файлами на власних умовах, отримуючи повне право власності на ваші дані та повний контроль над налаштуваннями приватності.
Багатьох користувачів приваблює можливість налаштовувати й розширювати платформу за допомогою плагінів та інтеграцій. За допомогою Nextcloud docker та Nextcloud docker compose ви можете швидко розгорнути надійну, захищену систему обміну файлами на популярних платформах, оскільки доступні як Nextcloud на Ubuntu, так і Nextcloud на Debian.
Цей підхід є практичним рішенням, якщо ви хочете встановити Nextcloud без обмежень сторонніх сервісів. Процес встановлення Nextcloud через docker розроблений так, щоб бути простим, дозволяючи навіть тим, хто не є досвідченим системним адміністратором, почати самостійне хостування.
Установка Nextcloud також може заощадити гроші порівняно з комерційними хмарними рішеннями, оскільки ви в основному платите за власне обладнання або екземпляр сервера. Крім того, доступні параметри налаштування, такі як коригування параметрів PHP або інтеграція бази даних PostgreSQL, дозволяють адаптувати середовище до ваших конкретних потреб.
Якщо ви цікавитеся, як встановити Nextcloud через docker, існує багато ресурсів спільноти та прикладів docker compose файлів для Nextcloud, що роблять цей процес одночасно навчальним та корисним.
Prerequisites
Перш ніж переходити до встановлення, варто підготувати ваше середовище. Цей розділ охоплює основи: від системних вимог і налаштування сервера до залежностей програмного забезпечення для гладкого встановлення Nextcloud через docker:
| Component | Requirements/Options | Notes |
| Operating System | Ubuntu (22.04 LTS рекомендується, 24.04 LTS), Red Hat Enterprise Linux 9/8, Debian 12 (Bookworm), SUSE Linux Enterprise Server 15, openSUSE Leap 15.5, CentOS Stream, Alpine Linux | Nextcloud на Ubuntu популярна |
| CPU & OS Architecture | 64-bit | Переконайтеся, що PHP, ОС та PostgreSQL мають архітектуру 64-біт |
| PHP | PostgreSQL 8.3 (або інші версії) | Використовуйте 64-бітну версію, щоб уникнути проблем сумісності |
| Memory | Мінімум: 128MB RAM на процес; Рекомендується: 512MB на процес; Оновлювач: 256MB | Коригуйте в залежності від навантаження |
| Access | Права root або sudo | Необхідно для системних налаштувань |
| Container Tools | Docker, Docker Compose | Спрощує встановлення та управління |
| Web Server | Apache 2.4 (з mod_php або php-fpm рекомендується) або nginx з php-fpm | Вибирайте залежно від особистих або організаційних потреб |
| Database | PostgreSQL (8.0/8.4), MySQL (10.6/10.11 рекомендується, або 11.4), або MariaDB | Повинна підтримувати InnoDB та рівень ізоляції READ COMMITTED |
Крок 1: оновіть та підготуйте вашу систему
Перш ніж розгортати екземпляр Nextcloud, приділіть хвилину на оновлення вашої системи та встановлення необхідних інструментів. Це як прибрати робочий простір перед цікавим проектом. Виконайте ці команди на вашому сервері Ubuntu:
Оновіть список пакетів та підніміть встановлені пакети:
Оновіть репозиторії пакетів та підніміть встановлені пакети за допомогою цих команд:
| sudo apt update sudo apt upgrade -y |
Встановіть Docker, Docker Compose та корисні утиліти:
Отримайте Docker, Docker Compose та інші практичні утиліти, такі як curl, wget та build-essential, запустивши:
| sudo apt install docker.io docker-compose curl wget build-essential -y |
(Опційно) Додайте свого користувача до групи Docker:
Цей крок дозволяє вам запускати команди Docker без sudo кожного разу:
| sudo usermod -aG docker $USER |
Після запуску цієї команди вийдіть і повторно увійдіть, щоб застосувати зміни.
Перевірте встановлення:
Переконайтесь, що Docker та Docker Compose встановлені правильно:
| docker –version docker-compose –version |
Також настійно рекомендується стежити за логами Docker для усунення неполадок. Ви можете їх переглядати та керувати ними, дотримуючись these steps.
Тепер, коли ваша система оновлена і всі залежності на місці, вибір надійного хостингу просто необхідний. Cloudzy пропонує надшвидкі GPU послуги з до 240 ГБ GPU VRAM та NVMe сховище (до 2 ТБ з нашим GPU VPS) та 99,95% часу роботи, що робить його чудовим вибором для розміщення вашого екземпляра Nextcloud.
Далі ми налаштуємо ваш веб-сервер та параметри PHP, щоб забезпечити плавну роботу вашого екземпляра Nextcloud у Docker.
Крок 2: налаштування Apache/Nginx та PHP
Тепер, коли ваша система готова, настав час налаштувати веб-сервер та PHP. У цьому розділі ви знайдете інструкції щодо встановлення Apache та Nginx разом з параметрами PHP, які забезпечать плавну роботу Nextcloud у Docker.
Configuring Apache
Якщо ви використовуєте Apache, дотримуйтесь цих кроків:
Створіть файл конфігурації:
- Відкрийте новий файл для Nextcloud:
| sudo nano /etc/apache2/sites-available/Nextcloud.conf |
- У цьому файлі додайте щось на кшталт:
| Alias /Nextcloud "/var/www/Nextcloud/"
<Directory /var/www/Nextcloud/> <IfModule mod_dav.c> |
Активувати сайт:
- Увімкнути нову конфігурацію:
| sudo a2ensite Nextcloud.conf |
Увімкнути необхідні модулі Apache:
- Запустіть ці команди, щоб активувати потрібні модулі:
| sudo a2enmod rewrite sudo a2enmod headers sudo a2enmod env sudo a2enmod dir sudo a2enmod mime |
Якщо ви плануєте використовувати PHP-FPM з Apache (через mod_fcgi), також активуйте:
| sudo a2enmod setenvif |
Увімкнути SSL (опціонально):
- Для захищеного з'єднання активуйте SSL за допомогою:
| sudo a2enmod ssl sudo a2ensite default-ssl sudo service apache2 reload |
Configuring Nginx
- Для користувачів Nginx налаштування передбачає створення блоку сервера:
Створити файл блоку сервера:
- Відкрити новий файл:
| sudo nano /etc/nginx/sites-available/Nextcloud |
- Вставте приклад конфігурації на кшталт:
| server { listen 80; server_name your-server-ip or cloud.example.com;root /var/www/Nextcloud/; index index.php index.html /index.php$request_uri;location / { try_files $uri $uri/ /index.php?$args; }location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php/php8.3-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } |
Активувати конфігурацію:
- Створіть символічне посилання, щоб увімкнути сайт:
| sudo ln -s /etc/nginx/sites-available/Nextcloud /etc/nginx/sites-enabled/ |
Перевірка та перезавантаження Nginx:
- Перевірте конфігурацію та перезавантажте:
| sudo nginx -t sudo systemctl reload nginx |
Налаштування PHP
Nextcloud потребує PHP з певними параметрами. Відредагуйте відповідний файл конфігурації PHP:
Для Apache з PHP:
| sudo nano /etc/php/8.3/apache2/php.ini |
Для Nginx з PHP-FPM:
| sudo nano /etc/php/8.3/fpm/php.ini |
У файлі налаштуйте параметри такі як:
- memory_limit (for example, 512M)
- upload_max_filesize (for example, 100M)
- post_max_size (for example, 100M)
- max_execution_time (for example, 360)
Після внесення змін перезапустіть відповідні сервіси:
- Apache:
| sudo service apache2 restart |
- PHP-FPM:
| sudo systemctl restart php8.3-fpm |
Веб-сервер налаштований та PHP оптимізований. Тепер можна переходити до наступного етапу: настройки бази даних для зберігання всіх ваших даних Nextcloud.
Крок 3: Налаштування бази даних
З налаштованою системою та веб-сервером наступний крок - це настройка бази даних для вашої інсталяції Nextcloud. Це передбачає створення бази даних та виділеного користувача з відповідними правами доступу. Ось як це зробити:
1. Встановлення сервера MariaDB
Спочатку встановіть пакет сервера MariaDB:
| sudo apt install mariadb-server -y |
2. Захист інсталяції MariaDB
Запустіть скрипт безпеки, щоб видалити небезпечні стандартні параметри:
| sudo mysql_secure_installation |
Вам буде запропоновано встановити пароль root та зробити інші вибори щодо безпеки. Рекомендується відповісти 'Y' (так) на всі запити.
3. Вхід у оболонку MariaDB
Отримайте доступ до оболонки MariaDB як користувач root:
| sudo mysql -u root -p |
Введіть пароль root, який ви встановили під час безпечного процесу інсталяції.
4. Створіть нову базу даних для Nextcloud
У оболонці MariaDB виконайте таку команду для створення бази даних Nextcloud:
| CREATE DATABASE Nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; |
5. Створіть виділеного користувача бази даних
Створіть нового користувача Nextclouduser із надійним паролем. Замініть your_password_here на безпечний пароль на вашу думку:
| CREATE USER 'Nextclouduser'@'localhost' IDENTIFIED BY 'your_password_here'; |
6. Надайте користувачу необхідні дозволи
Надайте користувачу Nextclouduser усі дозволи на базу даних Nextcloud:
| GRANT ALL PRIVILEGES ON Nextcloud.* TO 'Nextclouduser'@'localhost'; |
7. Застосуйте зміни
Очистіть привілеї, щоб переконатися, що всі зміни набудуть чинності:
| FLUSH PRIVILEGES; |
8. Вийдіть з оболонки MariaDB
Вийдіть з оболонки MariaDB, введивши:
| EXIT; |
Тепер, коли база даних налаштована, ви готові перейти до наступного кроку: встановлення Nextcloud. Це передбачає завантаження файлів Nextcloud та їх налаштування для підключення до створеної вами бази даних.
Крок 4: Завантаження та встановлення Nextcloud
На цьому кроці ви встановлюватимете найновіший реліз Nextcloud у своїй системі та налаштуватимете його. У вас є два варіанти: один із використанням Docker (ідеально для контейнеризованого середовища) та інший із традиційним ручним встановленням.
Спосіб 1: Використання офіційного образу Docker
Якщо ви віддаєте перевагу контейнеризованому підходу, дотримуйтеся таких команд:
Завантажте образ Nextcloud Docker:
Завантажте найновіший образ Nextcloud Docker з реєстру Docker:
| docker pull Nextcloud |
Створіть файл Docker Compose:
Для зручнішого управління створіть файл docker-compose.yml з таким вмістом:
| version: ‘3’
services: volumes: |
Запустіть контейнери:
Виконайте цю команду, щоб запустити контейнери Nextcloud і бази даних у фоновому режимі:
| docker-compose up -d |
Спосіб 2: ручне встановлення з архіву Nextcloud
Якщо ви хочете працювати з файлами безпосередньо, ось як це зробити:
Завантажте найновішу версію:
Отримайте найновіший tar-архів Nextcloud:
| wget https://download.Nextcloud.com/server/releases/latest.tar.bz2 |
Розпакуйте архів:
Розпакуйте завантажений файл:
| tar -xjf latest.tar.bz2 |
Перемістіть папку Nextcloud:
Перенесіть розпаковану папку до вашої веб-директорії:
| sudo mv Nextcloud /var/www/Nextcloud |
Встановіть правильні дозволи:
Налаштуйте права власності, щоб ваш веб-сервер міг отримати доступ до файлів:
| sudo chown -R www-data:www-data /var/www/Nextcloud |
Виберіть спосіб, який найбільше вам підходить. Підхід Docker пропонує легке встановлення за допомогою Nextcloud docker compose, тоді як ручний метод дає вам прямий контроль над файлами. Ще краще, використання Cloudzy's Docker VPS планів створює ефективну платформу для розгортання Nextcloud через Docker, що спрощує процес встановлення.
Далі ми розглянемо конфігурацію самого Nextcloud — налаштування вашого віртуального хоста, увімкнення SSL та інше — щоб завершити ваш досвід самостійно розміщеного хмарного сховища.
Крок 5: налаштування Nextcloud
Тепер, коли ви завантажили та встановили Nextcloud, настав час налаштувати віртуальний хост Apache і захистити ваш сайт за допомогою SSL, щоб ви могли отримати доступ до вашого самостійно розміщеного хмарного сховища через виділений домен.
Створення файлу віртуального хоста Apache
Створіть файл конфігурації для Nextcloud:
| sudo nano /etc/apache2/sites-available/Nextcloud.conf |
Вставте наступну конфігурацію:
Виправте DocumentRoot і ServerName відповідно до вашої конфігурації (наприклад, замініть cloud.example.com на вашу域ену або IP-адресу сервера):
| <VirtualHost *:80> DocumentRoot /var/www/Nextcloud/ ServerName cloud.example.com<Directory /var/www/Nextcloud/> Require all granted AllowOverride All Options FollowSymLinks MultiViews<IfModule mod_dav.c> Dav off </IfModule> </Directory> </VirtualHost> |
Активація нової конфігурації
Повідомте Apache про вашу нову конфігурацію:
| sudo a2ensite Nextcloud.conf |
Reload Apache:
Застосуйте зміни, перезавантажив Apache:
| sudo systemctl reload apache2 |
Захист сайту за допомогою SSL
Щоб забезпечити безпечний доступ, ви можете налаштувати SSL. Є два поширені підходи: використання самопідписаного сертифіката або отримання сертифіката через Let's Encrypt.
Варіант 1: самопідписаний сертифікат
Активуйте модуль SSL:
| sudo a2enmod ssl |
Активуйте типовий сайт SSL:
| sudo a2ensite default-ssl |
Reload Apache:
| sudo systemctl reload apache2 |
Варіант 2: сертифікат Encrypt (рекомендується для публічних серверів)
Встановіть Certbot та плагін Apache:
| sudo apt install certbot python3-certbot-apache -y |
- Отримайте та встановіть сертифікат:
Замініть cloud.example.com на вашу доменну назву:
| sudo certbot –apache -d cloud.example.com |
Дотримуйтесь підказок, щоб завершити процес.
Маючи налаштований віртуальний хост Apache і активований SSL, ваш екземпляр Nextcloud готовий надавати безпечні з'єднання з вибраної домену. Далі ми перейдемо до налаштування бази даних для збереження ваших даних Nextcloud, що об'єднує все для гладкого самостійно розміщеного хмарного досвіду.
Крок 6: завершення налаштування
Тепер, коли ваш веб-сервер і PHP налаштовані, настав час завершити установку. Це крок, як додавання фінальних штрихів до вашого проекту перед його презентацією світові.
Виправте дозволи файлів:
Перед запуском майстра встановлення виконайте такі команди, щоб переконатися, що веб-сервер може отримати доступ до всіх файлів Nextcloud:
| sudo chown -R www-data:www-data /var/www/Nextcloud/ |
Доступ до Nextcloud через браузер:
Відкрийте браузер і введіть адресу URL для вашого екземпляра Nextcloud, наприклад:
| http://your-server-ip/Nextcloud |
Це запустить майстер установки Nextcloud — зручний інтерфейс, який проведе вас через завершальні кроки налаштування.
Завершіть майстер установки:
Майстер попросить ввести:
- Реквізити бази даних (хост, назва, користувач і пароль). У конфігурації Docker хост бази даних часто встановлюється як назва контейнера або localhost.
- Ім'я адміністратора і пароль для вашого екземпляра Nextcloud.
Слідуйте екранним інструкціям і натисніть кнопку «Завершити установку» після завершення.
Після завершення роботи майстра ваш сервер Nextcloud завершить налаштування, і ви побачите оновлену панель управління Nextcloud. Далі ми перейдемо до налаштування параметрів після установки — запланованих завдань, кешування та оптимізацій безпеки, щоб ваш сервер працював без перебоїв.
Крок 7: Налаштування після установки
Після завершення веб-майстра установки Nextcloud кілька заключних налаштувань допоможуть оптимізувати запланові завдання, продуктивність і безпеку. Цей розділ охоплює налаштування фонових завдань, інтеграцію кешування з Redis та посилення безпеки вашого сервера Nextcloud.
Увімкнення Cron завдань для запланованих операцій
Щоб ваш Nextcloud працював без перебоїв, варто налаштувати фонові завдання. Встановіть завдання cron для запуску скрипту Nextcloud кожні п'ять хвилин. Відкрийте crontab користувача веб-сервера (зазвичай www-data):
| sudo crontab -u www-data -e |
Потім додайте цей рядок у кінець файлу:
| */5 * * * * php -f /var/www/Nextcloud/cron.php |
Збережіть і закрийте редактор. Це завдання обробляватиме операції очищення тимчасових файлів, надсилання сповіщень та інші рутинні роботи.
Установка та налаштування Redis для кешування
Використання Redis прискорює ваш сервер Nextcloud завдяки кешуванню даних і покращеній роботі блокування файлів. Спочатку install Redis та розширення PHP для Redis:
| sudo apt install redis-server php-redis -y |
Далі оновіть файл конфігурації Nextcloud (зазвичай розташований в /var/www/Nextcloud/config/config.php), щоб включити параметри кешування. Додайте ці рядки всередину масиву $CONFIG:
| 'memcache.local' => '\\OC\\Memcache\\APCu', 'memcache.locking' => '\\OC\\Memcache\\Redis', ‘redis’ => array( ‘host’ => ‘localhost’, ‘port’ => 6379, ), |
Ця конфігурація告訴 Nextcloud використовувати APCu для локального кешування та Redis для блокування файлів, що покращує продуктивність і надійність.
Посилення безпеки Nextcloud
Кілька додаткових кроків можуть зміцнити безпеку вашої інсталяції:
- Встановіть правильні дозволи файлів:
Налаштуйте власника та дозволи вашої директорії Nextcloud, щоб обмежити доступ:
| sudo chown -R www-data:www-data /var/www/Nextcloud sudo find /var/www/Nextcloud/ -type d -exec chmod 750 {} \; sudo find /var/www/Nextcloud/ -type f -exec chmod 640 {} \; |
- Запустіть команди режиму обслуговування:
Тимчасово ввімкніть режим обслуговування для виконання додаткових перевірок безпеки або оновлень конфігурації:
| sudo -u www-data php /var/www/Nextcloud/occ maintenance:mode –on # (Виконайте потрібні завдання обслуговування тут) sudo -u www-data php /var/www/Nextcloud/occ maintenance:mode –off |
- Перевірте конфігурації вашого веб-сервера:
Переконайтеся, що ваші параметри Apache або Nginx забезпечують HTTPS та обмежують несанкціонований доступ, як потрібно.
З цими завершальними кроками ваш екземпляр Nextcloud ефективно обробляти фонові завдання, користуватиме покращеною продуктивністю завдяки кешуванню та буде краще захищений від потенційних загроз безпеці.
Final Thoughts
Ви переобладнали вашу docker установку Nextcloud з чистої сторінки на повнофункціональне рішення для самостійного хостингу хмарного сховища. З оновленою системою, встановленими залежностями та тонко настроєними веб-сервером та PHP, ваше середовище Nextcloud Ubuntu готове служити вашим особистим хабом обміну файлами.
Коли ви продовжуєте вдосконалювати вашу установку, експериментувати з передовими конфігураціями або досліджувати нові додатки Nextcloud, варто розглянути вашого постачальника хостингу. Надійний affordable VPS як Cloudzy гарантує, що ваш екземпляр Nextcloud залишається безпечним і чутливим, створюючи міцну основу для ваших потреб у хмарному сховищі.
Для додаткового спокою варто ознайомитися з офіційними рекомендаціями безпеки на Посилення безпеки Nextcloud та рекомендаціями з резервного копіювання на Посібник резервного копіювання Nextcloud. Ці ресурси допоможуть вам тримати ваші дані в безпеці та ваш сервер в робочому стані.