Установка и настройка Nextcloud 11 на Ubuntu 16.04
Введение
Облачные технологии всё шире входят в нашу повседневную жизнь. Многие из вас уже используют сервисы хранения и синхронизации файлов такие как Dropbox, Google Диск, OneDrive, Яндекс.Диск и множество других и оценили все те преимущества которые они предоставляют. Но пользуясь ими вы физически храните свои файлы на серверах сторонних компаний, ограничены в ряде функций и вынуждены оплачивать выставленные счета за дополнительные опции как расширения доступного объёма и т.д.
Сегодня мы обзаведёмся своим собственным "облачным сейфом" для хранения данных, которое так же позволит синхронизировать и предоставлять общий доступ. И имя ему - Nextcloud .
Он является ответвлением (fork) от другого свободного проекта - OwnCloud. Основал его один из создателей последнего, в т.ч. перетянув значительную долю разработчиков в свою команду.
Демо-версию веб-интерфейса можно найти по адресу https://demo.nextcloud.com/, хотя работать с ним можно с помощью клиентов практически под каждую распространённую операционную систему и через протокол WebDav.
Технические требования
- Ubuntu 16.04
- Пользователь с root-правами
Шаг 1. Устанавливаем Apache, MySQL и PHP (LAMP):
sudo apt-get update
Устанавливаем веб-сервер Apache:
sudo apt-get install apache2
Устанавливаем базу данных MySQL:
sudo apt-get install mysql-server
Задаём и запоминаем пароль администратора MySQL.
Применяем настройки безопасности:
sudo mysql_secure_installation
Вводим пароль администратора MySQL.
Would you like to setup VALIDATE PASSWORD plugin? - No
Change the password for root ? - No
Remove anonymous users? - Yes
Disallow root login remotely? - Yes
Remove test database and access to it? - Yes
Reload privilege tables now? - Yes
Устанавливаем PHP и ряд модулей к нему:
sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql
Шаг 2. Устанавливаем phpMyAdmin:
Это веб-приложение с открытым кодом, написанное на PHP и представляющее собой веб-интерфейс для администрирования MySQL.
sudo apt-get install phpmyadmin
Отмечаем Apache и нажимаем кнопку ОК.
Configure database for phpmyadmin with dbconfig-common? -Yes
Вводим пароль администратора MySQL при запросе.
Настраиваем Apache для работы с ним:
sudo nano /etc/apache2/apache2.conf
Добавляем в начало строку:
Include /etc/phpmyadmin/apache.conf
Перезагружаем Apache:
sudo service apache2 reload && sudo service apache2 restart
Шаг 3. Устанавливаем дополнительные модули для PHP:
sudo apt-get install php-bz2 php-curl php-gd php-imagick php-intl php-mbstring php-xml php-zip
Перезагружаем Apache:
sudo service apache2 reload && sudo service apache2 restart
Шаг 4. Создаём базу данных:
Переходим в браузере на страницу:
http://IP_адрес_сервера/phpmyadmin
Вводим логин root и пароль администратора MySQL и видим достаточно интуитивно-понятный интерфейс. Создаём нового mysql-пользователя нажав на "Учетные записи пользователей" далее "Добавить учетную запись пользователя", заполняем форму ставим отметку "Создать базу данных с таким же именем и предоставить на неё все привилегии.". Нажимаем "Вперёд". Выходим.
Шаг 5. Устанавливаем Nextcloud:
Скачиваем и распаковываем архив:
cd ~
wget --no-check-certificate https://download.nextcloud.com/server/releases/nextcloud-11.0.0.tar.bz2
sudo tar -C /var/www -xvjf ~/nextcloud-11.0.0.tar.bz2
rm ~/nextcloud-11.0.0.tar.bz2
Создаём пару дополнительных папок:
sudo mkdir /var/www/nextcloud/data
sudo mkdir /var/www/nextcloud/assets
Назначаем права доступа к файлам и папкам:
sudo find /var/www/nextcloud/ -type f -print0 | sudo xargs -0 chmod 0640
sudo find /var/www/nextcloud/ -type d -print0 | sudo xargs -0 chmod 0750
sudo chmod 755 /var/www/nextcloud
sudo chown -R root:www-data /var/www/nextcloud
sudo chown -R www-data:www-data /var/www/nextcloud/apps
sudo chown -R www-data:www-data /var/www/nextcloud/assets
sudo chown -R www-data:www-data /var/www/nextcloud/config
sudo chown -R www-data:www-data /var/www/nextcloud/data
sudo chown -R www-data:www-data /var/www/nextcloud/themes
sudo chown -R www-data:www-data /var/www/nextcloud/updater
sudo chmod 644 /var/www/nextcloud/.htaccess
sudo chown root:www-data /var/www/nextcloud/.htaccess
sudo chmod +x /var/www/nextcloud/occ
Шаг 6. Настраиваем Apache:
Создаём файл конфигурации:
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
Включаем необходимый rewrite-модуль:
sudo a2enmod rewrite
Перезагружаем Apache:
sudo service apache2 reload && sudo service apache2 restart
Шаг 7. Производим первоначальную настройку nextcloud:
Переходим в браузере на страницу:
http://IP_адрес_сервера/nextcloud
- Придумываем и указываем логин и пароль учётной записи администратора nextcloud.
- Каталог с данными:
/var/www/nextcloud/data
- Параметры ранее созданной базы данных.
Нажимаем кнопку "Завершить установку"
Шаг 8. Настраиваем nextcloud:
Настройка происходит через веб-интерфейс, в котором имеется множество пояснений разных параметров залогинившись под учёткой администратора nextcloud. Лучше всего начать с добавления новых пользователей. Далее по необходимости, но в целом готов к работе.
Документация (на английском):
Шаг 9. Настраиваем клиент:
Скачиваем и устанавливаем необходимое приложение:
- Windows / OS X / Linux
- Android
- iOS
- Windows Phone
Открываем и указываем данные вашего сервера и созданного аккаунта.
Заключение
В этом руководстве мы описали процедуру установки и настройки Nextcloud. Который представляет собой весьма неплохую альтернативу существующим облачным решениям. Главным его достоинством является установка на собственный сервер и гибкость настройки множества параметров. А учитывая многообразия доступных плагинов, среди которых есть как плагины двухфакторной аутентификации так и совместного редактирования документов, плагины видео-связи и ряд других мы находимся в самом начале знакомства с данной разработкой.
tglnkLinux
-
Чем отличается от Resilio-Sync (https://community.vscale.io/hc/ru/community/posts/211779529)?
-
1yalishanda, во первых Nextcloud имеет открытый исходный код, в отличии от Resilio Sync (ex. BitTorrent Sync).
Хотя открытым аналогом Resilio Sync можно назвать скорее Syncthing ( https://syncthing.net/ ).
Resilio Sync / Syncthing используют p2p передачу трафика и сопутствующие torrent технологии. Они по сути децентрализованы. И файлы хранятся на каждой машине. Специализируются на работе с файлами.
Nextcloud / ownCloud имеют центральный сервер где и хранятся файлы. А клиенты подключаются по протоколу WebDav (такой же стандартный протокол например как и FTP). Очень грубо можно привести аналогию с FTP-сервером. Но в отличии от него имеют расширенные функции такие как хранение/синхронизации контактов и календаря, совместной работы с документами и т.д. Некий аналог GoogleДиск+GoogleКонтакты+GoogleКалендарь+GoogleДокументы+GoogleТаблицы+GoogleВидеозвонки+т.д.
При Nextcloud / ownCloud вы ограниченны свободным местом на диске сервера, при Resilio Sync / Syncthing дисковое пространство ограничено только ресурсами всех подключённых машин в сумме.
-
Alexander Kopytov, облако упоминается хотя бы потому что маркетологи Nextcloud / ownCloud включили его в названия своих продуктов. Слова "Облако" и "облачные технологии" достаточно распространены. В моём понимании "облачный сервер" такой же сервер как и VPS только с повышенным уровнем работоспособности и SLA-показателей.
>> При Nextcloud / ownCloud вы ограниченны свободным местом на диске сервера.
Может не совсем корректно выразился, но дисковое место на любом сервере можно расширить множеством способов, хотя бы примонтировав Яндекс.Диск при помоши davfs2 или хоть хранилище Amazon S3 или Cloud Storage от Selectel например. А уже получившиеся дисковое место задействовать при использовании Nextcloud / ownCloud.
Связка Vscale-сервер + Nextcloud + Облачное хранилище от Selectel вполне рабочий вариант.
-
Конфиг для сервера Caddy https://github.com/caddyserver/examples/blob/master/nextcloud/Caddyfile
-
Может кому пригодится, нашел похожий мануал: Установка NextCloud на Ubuntu 16.04
-
Здравствуйте. Давненько делал по этой инструкции и всё было ОК, а сейчас возникла необходимость запустить облачное хранилище заново. Я установил Nextcloud так же, как и на сайте (https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-nextcloud-on-ubuntu-18-04), но у меня две проблемы, которые я хочу решить. Помогите мне, пожалуйста// Сервер имеет самоподписанный сертификат
-
The __Host prefix mitigates cookie injection vulnerabilities within potential third-party software sharing the same second level domain. It is an additional hardening on top of ‘normal’ same-site cookies;
-
The “Strict-Transport-Security” HTTP header is not set to at least “15552000” seconds. For enhanced security, it is recommended to enable HSTS as described in the security tips.
-
Войдите в службу, чтобы оставить комментарий.
Комментарии
Комментариев: 7