Установка и настройка Nextcloud в Ubuntu 16.04

Nextcloud – это форк ownCloud, сервер для общего доступа к файлам и централизованного удалённого хранения документов. Приложение во многом напоминает Dropbox.

В отличие от большинства подобных приложений, Nextcloud является приложением с открытым исходным кодом. Кроме того, Nextcloud можно установить на собственный сервер, что устраняет необходимость размещать конфиденциальные данные на сторонних серверах, тем самым увеличивая безопасность данных.

Это руководство поможет установить Nextcloud на сервер Ubuntu 16.04.

Требования

1: Загрузка Nextcloud

Откройте страницу релизов Nextcloud. Перейдите в конец страницы, найдите и скопируйте ссылку .tar.bz2 на последний релиз.

Примечание: Номер последнего релиза может отличаться.

Перейдите в каталог tmp:

cd /tmp

С помощью команды curl и ссылки на релиз Nextcloud загрузите архив:

curl -LO https://download.nextcloud.com/server/releases/nextcloud-10.0.1.tar.bz2

Архив был загружен из надёжного источника; тем не менее, лучше проверить его подлинность и целостность. Для этого вернитесь на страницу Releases, найдите пакет .sha256 для загруженного архива релиза, кликните по нему правой кнопкой мыши и скопируйте ссылку. С помощью команды curl загрузите файл контрольной суммы.

curl -LO https://download.nextcloud.com/server/releases/nextcloud-10.0.1.tar.bz2.sha256

С помощью команды shasum вычислите контрольную сумму архива .tar.bz2 и сравните её со значением в .sha256. Флаг -a определяет алгоритм, -с читает сумму заданного файла и сравнивает с хэшем .tar.bz2.

shasum -a 256 -c nextcloud-10.0.1.tar.bz2.sha256 < nextcloud-10.0.1.tar.bz2
nextcloud-10.0.1.tar.bz2: OK

После этого можно удалить .sha256:

rm nextcloud-10.0.1.tar.bz2.sha256

2: Установка Nextcloud

Чтобы установить Nextcloud, нужно:

  • распаковать загруженный архив и создать каталог document root для Apache;
  • выполнить сценарий, чтобы установить права собственности и доступа к  извлеченным файлам;
  • обновить конфигурации Apache, чтобы сообщить веб-серверу о новом приложении.

Распакуйте архив с помощью команды tar. Флаг –С указывает каталог. Флаг –x распакует архив, -v вернёт развернутый вывод, -j фильтрует архив с помощью утилиты bzip2, -f позволяет задать имя архива, который нужно распаковать.

sudo tar -C /var/www -xvjf /tmp/nextcloud-10.0.1.tar.bz2

Поскольку архив не подогнан под дистрибутив, права собственности и доступа нужно устанавливать самостоятельно. Для этого Nextcloud предоставляет сценарий. Создайте файл для сценария оболочки:

nano /tmp/nextcloud.sh

Вставьте в файл:

#!/bin/bash
ocpath='/var/www/nextcloud'
htuser='www-data'
htgroup='www-data'
rootuser='root'
printf "Creating possible missing Directories\n"
mkdir -p $ocpath/data
mkdir -p $ocpath/assets
mkdir -p $ocpath/updater
printf "chmod Files and Directories\n"
find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640
find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750
chmod 755 ${ocpath}
printf "chown Directories\n"
chown -R ${rootuser}:${htgroup} ${ocpath}/
chown -R ${htuser}:${htgroup} ${ocpath}/apps/
chown -R ${htuser}:${htgroup} ${ocpath}/assets/
chown -R ${htuser}:${htgroup} ${ocpath}/config/
chown -R ${htuser}:${htgroup} ${ocpath}/data/
chown -R ${htuser}:${htgroup} ${ocpath}/themes/
chown -R ${htuser}:${htgroup} ${ocpath}/updater/
chmod +x ${ocpath}/occ
printf "chmod/chown .htaccess\n"
if [ -f ${ocpath}/.htaccess ] then
chmod 0644 ${ocpath}/.htaccess
chown ${rootuser}:${htgroup} ${ocpath}/.htaccess
fi
if [ -f ${ocpath}/data/.htaccess ] then
chmod 0644 ${ocpath}/data/.htaccess
chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess
fi

Запустите сценарий:

sudo bash /tmp/nextcloud.sh
Creating possible missing Directories
chmod Files and Directories
chown Directories
chmod/chown .htaccess

Создайте конфигурационный файл в /etc/apache2/sites-available:

sudo nano /etc/apache2/sites-available/nextcloud.conf

Поместите в него такие параметры:

Alias /nextcloud "/var/www/nextcloud/"
<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>

Сохраните и закройте файл. Чтобы включить сайт, введите:

sudo a2ensite nextcloud
Enabling site nextcloud.
. . .

Также для корректной работы Nextcloud нужно включить модуль mod_rewrite

sudo a2enmod rewrite
Enabling module rewrite.
. . .

Прежде чем перезапустить Apache, нужно обновить индекс пакетов и установить дополнительные модули PHP:

sudo apt-get update
sudo apt-get install  php-bz2 php-curl php-gd php-imagick php-intl php-mbstring php-xml php-zip

Теперь перезапустите Apache:

sudo systemctl reload apache2

Сервер Nextcloud успешно установлен.

3: Создание базы данных MySQL

Войдите в MySQL как администратор:

mysql -u root -p

Введите root-пароль MySQL.

Для хранения данных Nextcloud необходима отдельная БД. В данном руководстве такая БД для простоты будет называться nextcloud, но вы можете выбрать более описательное имя.

CREATE DATABASE nextcloud;

Примечание: Все команды MySQL должны заканчиваться точкой с запятой.

Теперь нужно создать пользователя для управления новой БД и передать ему все права на неё. Наличие отдельной БД и пользователя для каждого приложения очень важно для простоты управления и безопасности. В руководстве пользователь называется nextcloud; вы можете выбрать другое имя.

GRANT ALL ON nextcloud.* to 'nextcloud'@'localhost' IDENTIFIED BY 'set_database_password';

Примечание: Вместо ‘set_database_password’ укажите пароль для этой БД.

После этого нужно сбросить привилегии, чтобы обновить настройки MySQL.

FLUSH PRIVILEGES;

Закройте MySQL:

exit

4: Настройка Nextcloud

Веб-интерфейс Nextcloud доступен в браузере по ссылке:

https://server_domain_or_IP/nextcloud

Если вы используете самоподписанный сертификат, браузер предупредит вас о том, что сайт может быть опасен. Это нормально и происходит потому, что сертификат сайта не подписан центром сертификации, которому браузер может доверять. Данные, передаваемые при соединении, всё равно будут шифроваться. Подтвердите переход, чтобы получить доступ к панели управления Nextcloud. На экране появится приветственная страница и форма для входа.

Чтобы создать аккаунт администратора, выберите имя пользователя и пароль.

Примечание: Использовать имя admin очень опасно.

Откройте ссылку Storage & database. Тут вы увидите настройки БД. Изменять путь в поле Data folder не нужно. В разделе Configure the database укажите данные о БД (имя пользователя, пароль и имя БД).

Нажмите Finish setup, чтобы войти в Nextcloud. На экране появится окно:

A safe home for all your data
Access and share your files, calendars, contacts, mail & more from any device, on your terms

Закройте это окно, чтобы получить доступ к главному интерфейсу приложения.

Теперь вы можете создавать или загружать файлы в своё собственное облачное хранилище.

Заключение

Nextcloud имеет все функции популярных сторонних облачных систем хранения данных. Преимуществом Nextcloud является то, что конфиденциальные данные хранятся на сервере, которым вы можете управлять.

Загрузить плагины и расширения для Nextcloud можно здесь.

Tags: , , ,

2 комментария

Добавить комментарий