Nextcloud – это программное обеспечение с открытым исходным кодом для публичного и частного хранения файлов. Оно позволяет создавать собственные сервисы, подобные Dropbox, Google Drive или Mega.nz. Изначально она была создана разработчиком Owncloud Фрэнком Карлитшеком. В 2016 году он форкнул проект Owncloud и создал новый проект с новым названием “Nextcloud”.
Проект Nextcloud быстро развивается и становится не просто программным обеспечением для хостинга файлов. Это скорее платформа для синхронизации файлов и совместной работы с контентом. Благодаря множеству плагинов Nextcloud превратился в мощное программное обеспечение для совместной работы. Вы можете установить плагины для управления проектами, видеоконференций, совместного редактирования, заметок, почтового клиента и т. д.
В этом руководстве рассказывается о том, как установить Nextcloud на сервер Ubuntu 24.04. Вы установите Nextcloud с помощью стека LAMP, а затем защитите Netxcloud с помощью HTTPS через Certbot и Letsencrypt.
Предварительные условия
Перед началом работы убедитесь, что у вас есть следующее:
- Сервер Ubuntu 24.04
- Некорневой пользователь с правами администратора
- Доменное имя, указывающее на IP-адрес сервера
- UFW (Uncomplicated Firewall) запущен и работает
Установка зависимостей
В этом разделе вы установите зависимости пакетов для Nextcloud. Вы запустите Nextcloud с помощью стека LAMP, используя curl для загрузки исходного кода Nextcloud, а затем используя Certbot и Letsencrypt для защиты Nextcloud с помощью HTTPS.
Перед началом работы выполните следующую команду, чтобы обновить индекс пакетов Ubuntu
sudo apt update
Теперь установите зависимости Nextcloud с помощью следующей команды apt install. Это позволит установить стек LAMP (Linux, Apache, MySQL/MariaDB и PHP), curl, unzip, ImageMagick и certbot.
sudo apt install apache2 mariadb-server php php-curl php-cli php-mysql php-gd php-common php-xml php-json php-intl php-pear php-imagick php-dev php-common php-mbstring php-zip php-soap php-bz2 php-bcmath php-gmp php-apcu libmagickcore-dev php-redis php-memcached curl unzip imagemagick certbot python3-certbot-apache
Введите Y, чтобы подтвердить установку.
После установки проверьте состояние веб-сервера Apache с помощью приведенной ниже команды. Вы увидите, что веб-сервер Apache запущен и включен.
sudo systemctl is-enabled apache2 sudo systemctl status apache2
Теперь проверьте состояние сервера MariaDB с помощью следующей команды. Вы должны получить аналогичный результат, так как MariaDB запущена.
sudo systemctl is-enabled mariadb sudo systemctl status mariadb
Наконец, выполните приведенную ниже команду, чтобы проверить версию PHP в вашей системе. Вы увидите, что установлен PHP 8.3.
php -v
Настройка PHP
После установки зависимостей вы настроите PHP, отредактировав файл php.ini. Вы можете настроить конфигурацию PHP по мере необходимости для некоторых параметров, таких как максимальный объем памяти и максимальный размер загрузки.
Откройте файл /etc/php/8.3/apache2/php.ini с помощью редактора nano.
sudo nano /etc/php/8.3/apache2/php.ini
Измените конфигурацию по умолчанию на следующую, и убедитесь, что вы настроили memory_limit на ваш максимальный объем памяти и date.timezone на ваше местоположение/временной пояс сервера.
date.timezone = Europe/Amsterdam memory_limit = 512M upload_max_filesize = 500M post_max_size = 600M max_execution_time = 300 file_uploads = On allow_url_fopen = On display_errors = Off output_buffering = Off
После завершения сохраните файл и выйдите.
Теперь выполните следующую команду systemctl, чтобы перезапустить веб-сервер Apache и применить новую конфигурацию PHP.
sudo systemctl restart apache2
Настройка сервера MariaDB
Теперь, когда вы настроили PHP, вы настроите сервер MariaDB и создадите новую базу данных и пользователя для Nextcloud. Вы защитите MariaDB с помощью mariadb-secure-installation , затем создайте новую базу данных и пользователя с помощью утилиты mariadb клиент.
Чтобы защитить сервер MariaDB, выполните команду mariadb-secure-installation команда ниже.
sudo mariadb-secure-installation
В процессе выполнения вам будет задан вопрос о следующих конфигурациях сервера MariaDB:
- Нажмите ENTER, когда вас попросят ввести пароль корня MariaDB.
- Введите n в ответ на вопрос о методе аутентификации unix_socket.
- Введите Y, чтобы установить новый пароль для пользователя MariaDB root. Затем введите новый пароль и повторите.
- Введите Y, чтобы удалить анонимного пользователя по умолчанию из MariaDB.
- Затем снова введите Y, чтобы отключить удаленный вход для пользователя MariaDB root.
- Введите Y, чтобы удалить тест базы данных по умолчанию из MariaDB.
- Наконец, введите Y еще раз, чтобы перезагрузить привилегии таблицы и применить изменения.
Далее выполните приведенную ниже команду mariadb client для входа на сервер MariaDB. Введите пароль root, когда появится запрос.
sudo mariadb -u root -p
Выполните следующие запросы для создания новой базы данных nextclouddb, пользователь nextcloud@localhost, с паролем passw0rd. Вы можете изменить сведения о базе данных в соответствии с вашими данными.
CREATE DATABASE nextclouddb; CREATE USER nextcloud@localhost IDENTIFIED BY 'passw0rd'; GRANT ALL PRIVILEGES ON nextclouddb.* to nextcloud@localhost; FLUSH PRIVILEGES;
Теперь выполните приведенный ниже запрос, чтобы убедиться, что пользователь nextcloud@localhost может получить доступ к базе данных nextclouddb.
SHOW GRANTS FOR nextcloud@localhost;
Вы увидите вывод, подобный следующему:
Введите quit, чтобы выйти из сервера MariaDB.
Открытие портов HTTP и HTTPS
В этом разделе вы откроете порты HTTP и HTTPS для доступа к Nextcloud. Поэтому вы должны убедиться, что UFW настроен и включен на вашем сервере Ubuntu.
Чтобы открыть порты HTTP и HTTPS на Ubuntu, выполните приведенную ниже команду ufw. С Apache Full профиль, вы разрешите соединения с портами HTTP и HTTPS.
sudo ufw allow 'Apache Full' sudo ufw reload
Теперь проверьте правила списка на UFW с помощью следующей команды. Убедитесь, что Apache Full профиль включен на вашем сервере Ubuntu.
sudo ufw status
Загрузка Nextcloud
Теперь, когда вы настроили PHP, MariaDB и UFW, загрузите исходный код Nextcloud и настройте корневой каталог документа для установки Nextcloud.
Перейдите на страницу /var/www и загрузите исходный код Nextcloud с помощью команды curl, приведенной ниже.
cd /var/www/ sudo curl -o nextcloud.zip https://download.nextcloud.com/server/releases/latest.zip
После загрузки запустите команду разархивировать Команда ниже для извлечения Nextcloud. В результате корневой каталог Netxcloud будет установлен в /var/www/nextcloud.
sudo unzip nextcloud.zip
Теперь выполните приведенную ниже команду, чтобы изменить право собственности на /var/www/nextcloud каталог для пользователя www-data.
sudo chown -R www-data:www-data /var/www/nextcloud
Настройка виртуального хоста Apache для Nextcloud
После загрузки Nextcloud вы создадите новый виртуальный хост Apache для Nextcloud. Затем вы сгенерируете SSL-сертификаты и защитите Nextcloud с помощью HTTPS.
Создание новой конфигурации виртуального хоста Apache /etc/apache2/sites-available/nextcloud.conf с помощью следующего редактора nano.
sudo nano /etc/apache2/sites-available/nextcloud.conf
Вставьте приведенную ниже конфигурацию и не забудьте изменить доменное имя nextcloud.local.
ServerName nextcloud.local DocumentRoot /var/www/nextcloud/
# log files
ErrorLog /var/log/apache2/nextclouds.local-error.log
CustomLog /var/log/apache2/nextcloud.local-access.log combined
Options +FollowSymlinks
AllowOverride All
Dav off
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
После этого сохраните файл и выйдите из редактора.
Теперь выполните приведенную ниже команду, чтобы активировать файл виртуального хоста nextcloud.conf и проверьте синтаксис вашего Apache. Если синтаксис Apache правильный, вы получите вывод Синтаксис в порядке.
sudo a2ensite nextcloud.conf sudo apachectl configtest
Затем выполните приведенную ниже команду systemctl, чтобы перезапустить веб-сервер Apache и применить внесенные изменения.
sudo systemctl restart apache2
После перезапуска Apache выполните приведенную ниже команду certbot, чтобы сгенерировать SSL-сертификаты и защитить вашу установку Nextcloud с помощью HTTPS. Не забудьте изменить доменное имя и адрес электронной почты на свои данные.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d nextcloud.local
Установка Nextcloud
Откройте веб-браузер и перейдите по адресу https://nexcloud.local/. Если настройка прошла успешно, вы увидите страницу установки Nextcloud.
На странице установки Nextcloud настройте следующее:
- Введите пользователя и пароль администратора для Nextcloud
- Выберите путь к хранилищу в качестве каталога по умолчанию
- Введите данные базы данных Nextcloud, которую вы создали
- Нажмите Установить чтобы начать установку.
Теперь вы можете установить некоторые приложения Nextcloud или нажать кнопку Пропустить.
После завершения процесса вы увидите следующую страницу:
Заключение
Поздравляем! Вы завершили установку Nextcloud на сервер Ubuntu 24.04. Nextcloud работает с LAMP-стеком и защищен HTTPS с помощью Certbot и Letsencrypt. Теперь вы можете создавать новых пользователей и загружать файлы в Nextcloud, а также добавить новые методы кэширования для повышения его производительности.