
Введение
Nextcloud это самостоятельный хостинг с открытым исходным кодом. платформа для обмена файлами и совместной работы , предназначенная для безопасного хранения и передачи данных. Она представляет собой надежную альтернативу коммерческим облачным сервисам, обеспечивая полный контроль над вашими данными. Это руководство поможет вам установить Nextcloud на Ubuntu 24.04/22.04, обеспечив безопасность и оптимизацию вашей установки.
Предварительные условия
Перед началом работы убедитесь, что у вас есть следующее:
- Экземпляр сервера Ubuntu 24.04, 22.04 или 20.04.
- Некорневой пользователь с привилегиями sudo.
- Полностью определенное доменное имя (FQDN), указывающее на IP-адрес вашего сервера.
- Базовые знания об операциях в командной строке.
Шаг 1: Обновление системы
Сначала убедитесь, что ваша система обновлена. Выполните следующие команды:
$ sudo apt update
$ sudo apt upgrade -y
Шаг 2: Установите веб-сервер Apache
Nextcloud требуется веб-сервер для обслуживания веб-интерфейса. Мы будем использовать Apache для этой цели.
$ sudo apt install apache2 -y
Включите и запустите Apache:
$ sudo systemctl enable apache2
$ sudo systemctl start apache2
Проверьте статус, чтобы убедиться, что Apache запущен:
$ sudo systemctl status apache2
Шаг 3: Установите PHP и необходимые расширения
Nextcloud построен на PHP, поэтому нам нужно установить PHP вместе с несколькими расширениями, необходимыми для Nextcloud.
$ sudo apt install php libapache2-mod-php php-mysql php-gd php-json php-curl php-mbstring php-intl php-imagick php-xml php-zip -y
Проверьте версию PHP, чтобы убедиться, что он установлен правильно:
$ php -v
Шаг 4: Установите сервер баз данных MariaDB
Nextcloud требуется база данных для хранения своих данных. Мы будем использовать MariaDB, популярный форк MySQL.
$ sudo apt install mariadb-server -y
Защитите установку MariaDB:
$ sudo mysql_secure_installation
Следуйте подсказкам, чтобы установить пароль root и удалить ненужных пользователей и базы данных.
Шаг 5: Создание базы данных для Nextcloud
Войдите в оболочку MariaDB как пользователь root:
$ sudo mysql -u root -p
Создайте базу данных и пользователя для Nextcloud:
CREATE DATABASE nextcloud;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Шаг 6: Загрузка и настройка Nextcloud
Перейдите в каталог /var/www и загрузите последнюю версию Nextcloud:
$ cd /var/www
$ sudo wget https://download.nextcloud.com/server/releases/latest.zip
Распакуйте загруженный архив:
$ sudo apt install unzip -y
$ sudo unzip latest.zip
Установите правильные разрешения:
$ sudo chown -R www-data:www-data nextcloud
$ sudo chmod -R 755 nextcloud
Шаг 7: Настройте Apache для Nextcloud
Создайте новый файл конфигурации Apache для Nextcloud:
sudo nano /etc/apache2/sites-available/nextcloud.conf
Добавьте следующую конфигурацию:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/nextcloud
ServerName your_domain
<Directory /var/www/nextcloud/>
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</Directory>
ErrorLog ${APACHE_LOG_DIR}/nextcloud_error.log
CustomLog ${APACHE_LOG_DIR}/nextcloud_access.log combined
</VirtualHost>
Включите новую конфигурацию и необходимые модули Apache:
$ sudo a2ensite nextcloud.conf
$ sudo a2enmod rewrite headers env dir mime
Перезапустите Apache, чтобы применить изменения:
$ sudo systemctl restart apache2
Шаг 8: Установка и настройка SSL
Для безопасности очень важно использовать SSL/TLS для шифрования трафика между сервером и клиентами. Мы используем Certbot для получения бесплатного SSL-сертификата от Let’s Encrypt.
Установите Certbot и плагин для Apache:
$ sudo apt install certbot python3-certbot-apache -y
Получите и установите SSL-сертификат:
$ sudo certbot --apache -d your_domain
Следуйте подсказкам, чтобы завершить установку SSL. Certbot автоматически настроит Apache на использование нового сертификата.
Шаг 9: Завершите настройку Nextcloud в браузере
Откройте веб-браузер и перейдите к своему домену:
https://your_domain
Перед вами откроется страница настройки Nextcloud. Выполните следующие шаги:
- Создайте учетную запись администратора: Укажите имя пользователя и пароль для учетной записи администратора Nextcloud.
- Конфигурация базы данных: Введите данные базы данных, созданной ранее:
- Пользователь базы данных: nextclouduser
- Пароль базы данных: ваш_пароль
- Имя базы данных: nextcloud
- Завершить настройку: Нажмите кнопку «Завершить установку», чтобы завершить установку.
Шаг 10: Защита установки Nextcloud
Настройка доверенных доменов
Откройте файл конфигурации Nextcloud:
$ sudo nano /var/www/nextcloud/config/config.php
Добавьте свой домен в массив доверенных доменов:
'trusted_domains' =>
array (
0 => 'localhost',
1 => 'your_domain',
),
Настройка задания Cron для фоновых задач
Nextcloud требует регулярного выполнения фоновых задач. Для этого настройте задание cron:
$ sudo crontab -u www-data -e
Добавьте следующую строку, чтобы запускать задание cron каждые 5 минут:
*/5 * * * * php -f /var/www/nextcloud/cron.php
Шаг 11: Оптимизация производительности Nextcloud
Установка и настройка Opcache
Opcache — это расширение PHP, которое кэширует скомпилированные PHP-скрипты для повышения производительности.
Установите Opcache:
$ sudo apt install php-opcache -y
Настройте Opcache, отредактировав файл конфигурации PHP:
$ sudo nano /etc/php/8.1/apache2/php.ini
Добавьте или измените следующие строки:
opcache.enable=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
Перезапустите Apache, чтобы применить изменения:
$ sudo systemctl restart apache2
Шаг 12: Дополнительные конфигурации
Включение красивых URL-адресов
Чтобы включить удобные URL-адреса в Nextcloud, отредактируйте параметр .htaccess
файл:
$ sudo nano /var/www/nextcloud/.htaccess
Добавьте следующие строки в конец:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]
</IfModule>
Включите mod_rewrite в Apache:
$ sudo a2enmod rewrite
$ sudo systemctl restart apache2
Увеличение лимита памяти PHP
Отредактируйте файл конфигурации PHP, чтобы увеличить лимит памяти для повышения производительности:
$ sudo nano /etc/php/8.1/apache2/php.ini
Установите ограничение памяти на 512 МБ или выше:
memory_limit = 512M
Перезапустите Apache:
$ sudo systemctl restart apache2
Шаг 13: Использование Nextcloud
Установка Nextcloud завершена. Вы можете начать использовать Nextcloud, зайдя в него через веб-браузер. Изучите его возможности, такие как обмен файлами, календарь, контакты и различные приложения, расширяющие его функциональность.
Заключение
Установка Nextcloud на Ubuntu 24.04/22.04 включает несколько шагов, в том числе настройку веб-сервера, PHP и сервера баз данных, а также настройку SSL для безопасной связи. Следуя этому руководству, вы получите полнофункциональный экземпляр Nextcloud, обеспечивающий надежное облачное хранилище на собственном хостинге. Не забывайте регулярно обновлять экземпляр Nextcloud и его зависимости для поддержания безопасности и производительности.