Не так давно иметь собственное частное облако казалось практически невозможным. Что ж, сегодня это уже не невозможно благодаря таким решениям, как Nextcloud. Звучит интересно? В этом посте вы узнаете, как установить Nextcloud на Ubuntu 22.04.
Введение
Nextcloud — это ответвление очень популярного программного обеспечения под названием Owncloud. Итак, это веб-приложение, которое позволяет нам размещать файлы в облаке и, кроме того, позволяет нам просматривать их непосредственно с веб-сайта или приложений, делиться ими.
Некоторые особенности Nextcloud:
- Хранение любого типа файлов. Поскольку облако принадлежит вам, вы сами выбираете файлы для хранения.
- Автоматическая синхронизация.
- Кроссплатформенные клиенты, которые можно установить практически на любую систему.
- Безопасный. Nextcloud соответствует всем основным стандартам безопасности.
- Простой в использовании веб-интерфейс.
Nextcloud используется всеми типами пользователей из-за его универсальности и совместимости со многими плагинами.
Установите Nextcloud на Ubuntu 22.04
Первое, что вам нужно сделать, это установить стек LAMP на Ubuntu 22.04, так как в этом руководстве я буду использовать Apache и MariaDB.
Чтобы установить Apache, PHP и его необходимые модули, а также MariaDB, вам нужно будет выполнить эту команду:
sudo apt install apache2 libapache2-mod-php php-cli php-fpm php-json php-intl php-imagick php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath mariadb-server
Когда весь процесс будет завершен, убедитесь, что в брандмауэре у вас открыты порты 80
и 443
.
sudo ufw allow 80
sudo ufw allow 443
Теперь вам нужно настроить MariaDB, установив пароль root. Для этого введите команду:
sudo mysql_secure_installation
Как только вы запустите его, вам будет предложено войти в систему, нажав Enter. Затем вы сможете изменить пароль root и, наконец, ответить на следующие вопросы конфигурации.
Remove anonymous users [Y/n]
Disallow root login remotely [Y/n]
Remove test database and access to it [Y/n]
Reload privilege tables now [Y/n]
Оптимальной конфигурацией было бы ответить Y
на все эти вопросы.
После того, как вы закончили работу с MariaDB, пришло время настроить PHP.
sudo nano /etc/php/8.1/apache2/php.ini
И благодаря редактору изменить эти значения
date.timezone = [your-timezone].
memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 500M
max_execution_time = 300
Вы можете увеличить эти значения в зависимости от мощности вашего сервера.
Сохраните изменения и закройте редактор. Затем примените изменения.
sudo systemctl restart apache2
Создайте новую базу данных на MariaDB для Nextcloud
Следующим шагом будет создание новой базы данных и пользователя для Nextcloud.
Итак, заходим в консоль MariaDB:
sudo mysql -u root -p
Теперь создайте новую базу данных:
CREATE DATABASE nextcloud_db;
Вы также можете присвоить ему другое имя.
Создайте нового пользователя, чтобы избежать работы с пользователем root.
CREATE USER 'nextcloud'@'localhost' identified by 'pass';
Конечно, вы можете изменить имя пользователя и значение пароля.
Установите соответствующие разрешения для новой базы данных для пользователя.
GRANT ALL PRIVILEGES ON nextcloud_db.* TO 'nextcloud'@'localhost';
Обновите разрешения и выйдите из консоли.
FLUSH PRIVILEGES;
quit;
Скачайте и установите Nextcloud
Сначала установите пакеты unzip
и wget
, чтобы иметь возможность загружать и распаковывать Nextcloud.
sudo apt install wget unzip
Теперь выполните загрузку:
cd /tmp/
wget https://download.nextcloud.com/server/releases/latest.zip
Теперь разархивируйте загруженный файл:
unzip latest.zip
Переместите его в папку /var/www/html/
, которая является путем по умолчанию для Apache DocumentRoot.
sudo mv nextcloud/ /var/www/html/
Сделайте пользователя www:data
владельцем папки и установите соответствующие разрешения.
sudo chown -R www-data:www-data /var/www/html/nextcloud
sudo chmod -R 755 /var/www/html/nextcloud
Создайте новую конфигурацию VirtualHost для Nextlcoud.
sudo nano /etc/apache2/conf-enabled/nextcloud.conf
И добавьте следующий контент:
<VirtualHost *:80>
ServerAdmin admin@myWebsite.com
DocumentRoot /var/www/html/nextcloud
ServerName myWebsite.com
ServerAlias www.myWebsite.com
ErrorLog /var/log/apache2/nextcloud-error.log
CustomLog /var/log/apache2/nextcloud-access.log combined
<Directory /var/www/html/nextcloud/>
Options +FollowSymlinks
AllowOverride All
Require all granted
SetEnv HOME /var/www/html/nextcloud
SetEnv HTTP_HOME /var/www/html/nextcloud
<IfModule mod_dav.c>
Dav off
</IfModule>
</Directory>
</VirtualHost>
В этом сегменте самое главное изменить значения ServerName
, ServerAdmin
и ServerAlias
на соответствующие. В данном случае я имею в виду домен и электронную почту.
Сохраните изменения, закройте редактор и примените изменения, включив модули Apache и перезапустив его.
sudo a2enmod rewrite dir mime env headers
sudo systemctl restart apache2
Установить Nextcloud
Теперь вы можете открыть веб-браузер и войти в систему через http://myWebsite.com
Там вам нужно будет создать пользователя-администратора, который является наиболее важным. Далее вам нужно будет настроить параметры базы данных
Затем вам будут показаны некоторые рекомендуемые приложения, а затем экран входа в систему.
После входа в систему вы увидите экран приветствия.
Заключение
Nextcloud — это приложение, которое позволяет вам достичь того, что раньше было столь же сложным, как частное облако.
Надеюсь, вам понравился этот пост и вы поможете нам распространить эту статью среди ваших друзей.