Власна хмара на Nextcloud
Nextcloud — це хмарне програмне забезпечення, що зберігає ваші файли, календар і контакти на вашому сервері. Офіційний посібник адміністратора вимагає щонайменше 128 МБ пам’яті на процес PHP і радить 512 МБ. Справді вирішують місце на диску, яке займуть ваші файли, і кількість людей, що користуються одночасно.
У цій статті — офіційні вимоги, налаштування продуктивності, резервні копії та що робити в перші дні.
Що робити з Nextcloud?
Ви синхронізуєте файли між комп’ютерами й телефонами, надсилаєте файли іншим за посиланнями для спільного доступу та зберігаєте календар і список контактів на власному сервері. Застосункам для комп’ютера й телефона потрібна лише адреса вашого сервера. Нові можливості приходять як застосунки, і кожен застосунок додає серверу трохи навантаження на пам’ять і CPU.
Офіційні вимоги
| Тема | Що сказано в офіційному посібнику адміністратора |
|---|---|
| Пам’ять | Щонайменше 128 МБ на процес, рекомендовано 512 МБ. Для вбудованого засобу оновлення потрібно щонайменше 256 МБ. |
| База даних | Рекомендовано MariaDB і PostgreSQL, також згадано MySQL. SQLite — лише для тестування та дуже малих встановлень. Для MySQL і MariaDB потрібен InnoDB. |
| Вебсервер | Рекомендовано Apache 2.4 з PHP-FPM або mod_php. Nginx з PHP-FPM також підтримується. |
| PHP | Підтримувані версії змінюються разом із версією Nextcloud, тож перевіряйте актуальну таблицю в посібнику. |
| Кеш | Рекомендовано APCu з Redis (або Valkey). Це не обов’язково, але може помітно покращити продуктивність. |
| Фонові завдання | Рекомендовано cron, що запускається кожні 5 хвилин. |
Що означає «пам’ять на процес»?
Nextcloud працює на PHP, і кожен одночасний запит — це окремий процес PHP. Цифра пам’яті в посібнику — на один процес. Типовий пул PHP-FPM дозволяє 5 одночасних запитів (pm.max_children = 5). Посібник радить обчислювати це значення з вашої RAM і виходить із 50-100 МБ на один робочий процес. Як грубу формулу, поділіть RAM, яку ви віддаєте PHP, на пам’ять одного робочого процесу. Якщо задати надто велике значення, система піде в swap, що, за посібником, гірше, ніж дати запитам стати в чергу.
Диск: ваші файли лежать на сервері
У Nextcloud файли зберігаються на диску сервера. Коли ваш архів фото й документів росте, обмеженням часто стає диск, а не RAM. Вибираючи сервер, дивіться на стовпець диска. У Seturack збільшення сервера збільшує й диск, а зменшення диск не скорочує. Диск, що виріс, назад не стискається, тож майте це на увазі.
Коротко про ручне встановлення
- Підготуйте сервер: Ubuntu, Apache або Nginx з PHP-FPM, а також MariaDB або PostgreSQL.
- Спрямуйте домен на сервер і отримайте сертифікат HTTPS. Перший крок описано в статті про підключення власного домену.
- Установіть Nextcloud через веб-інсталятор або командний рядок.
- Перенесіть фонові завдання на cron. Відкрийте crontab користувача вебсервера:
crontab -u www-data -eПотім додайте цей рядок:*/5 * * * * php -f /var/www/nextcloud/cron.php - У налаштуваннях адміністратора встановіть режим фонових завдань Cron.
- Додайте кешування APCu і Redis.
- Налаштуйте поштовий сервер для скидання паролів і сповіщень.
- Налаштуйте план резервного копіювання й спробуйте відновлення.
Резервні копії
Документація Nextcloud радить копіювати папку config, папку data, папку theme і базу даних. Якщо у вас є власна папка apps, копіюйте й її. Для узгодженої копії спершу ввімкніть режим обслуговування, а коли закінчите — вимкніть його:
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --on
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --off
Шлях у командах залежить від того, куди ви встановили Nextcloud. Seturack копіює ваш сервер щоночі й зберігає останні 7 днів. Доповніть це дампом бази даних і копією файлів та зберігайте копію важливих даних і поза сервером.
Коли сервер слід збільшити?
- Диск майже заповнений. Перевірте командою
df -h. Оскільки ваші файли лежать на диску, це зазвичай перше обмеження. - Система використовує swap. Якщо рядок swap у виводі
free -hзаповнюється, RAM не вистачає. - Сторінки відкриваються повільно або користувачі стають у чергу. Збільште кількість робочих процесів PHP відповідно до вашої RAM. Якщо RAM цього не витримує, збільште сервер.
Збільшення не видаляє сервер, а IP-адреса й дані не змінюються.
Типові помилки
- Почати з SQLite. Посібник вважає її придатною лише для тестування й дуже малих встановлень, а переходити на іншу базу даних пізніше клопітно.
- Лишити фонові завдання в типовому режимі AJAX. Посібник називає його найменш надійним варіантом, тож перейдіть на Cron.
- Пропустити кеш. Він не обов’язковий, але за посібником може помітно покращити продуктивність.
- Жодного разу не перевірити резервну копію. Копія, яку не можна відновити, нікому не потрібна.
Безпека
- Не використовуйте акаунт адміністратора для щоденної роботи. Створіть окремі акаунти для своєї команди.
- Увімкніть один із застосунків двофакторної автентифікації.
- Підтримуйте Nextcloud і PHP в актуальному стані. Оновлення після налаштування — на вашому боці.
- Віддавайте сайт лише через HTTPS.
Готовий Nextcloud у Seturack
Якщо під час замовлення ви виберете Nextcloud, база даних, кеш і фонові завдання вже налаштовані, а майстра встановлення немає. Сайт відкривається через HTTPS на адресі sslip.io, створеній з вашої IP-адреси. Логін — yonetici (турецькою «адміністратор»), а пароль указано в панелі. Перше налаштування може тривати деякий час. Після першого входу змініть пароль, створіть акаунти для своєї команди й налаштуйте поштовий сервер. Кроки описано в статті довідки про Nextcloud.
Якщо диск починає заповнюватися, можна збільшити сервер у панелі. Якщо хочете почати з готового встановлення, див. сторінку сервера Nextcloud.
Коментарі0
Коментарів поки немає
Поділіться своєю думкою першим.
Будь ласка, увійдіть або зареєструйтеся, щоб залишити коментар.