Вышла новая версия NextCloud 11! Это полноценная альтернатива ownCloud. В данном руководстве мы подробно расскажем, как установить персональное облачное хранилище NextCloud на VPS с операционной системой Ubuntu 16.04, используя Apache, MariaDB и PHP7.
Содержание статьи
- 1 Сравнение NextCloud и ownCloud
- 2 Исходные условия
- 3 Инсталляция сервера NextCloud 11 на Ubuntu 16.04
- 4 Формирование базы данных и учетной записи пользователя в MariaDB.
- 5 Активация бинарного логирования в MariaDB.
- 6 Настройка файла виртуального хоста Apache для Nextcloud.
- 7 Завершите процесс установки в вашем интернет-браузере.
- 8 Гарантируйте безопасность, используя протокол HTTPS.
- 9 Клиент для персональных компьютеров с операционной системой Linux.
- 10 Конфигурация кэша Redis для NextCloud
Сравнение NextCloud и ownCloud
NextCloud представляет собой ответвление (форк) открытого проекта ownCloud. Вот ключевые отличия:
- Это полностью открытый исходный код. Все функции, в том числе и корпоративные, доступны в открытом доступе. NextCloud предлагает платные услуги поддержки, но не реализует корпоративный продукт.
- Он ставит сообщество выше, чем ownCloud.
Исходные условия
Для того чтобы воспользоваться данным руководством, вам потребуется:
- Сервер на базе Ubuntu 16.04. Зарегистрируйтесь по этой ссылке и получите $10 в виде бесплатного кредита на VPS от Digital Ocean.
- Имя домена.
- Стек LAMP установлен на Ubuntu 16.04. Ознакомьтесь с этим простым руководством. Установите Apache, MariaDB и PHP7 (стек LAMP) на Ubuntu 16.04 LTS.
После выполнения предварительных требований, вернитесь сюда и продолжайте чтение.
Инсталляция сервера NextCloud 11 на Ubuntu 16.04
Загрузите zip-архив сервера NextCloud на свой сервер. На данный момент последняя стабильная версия – 11.0.1, но вам может потребоваться обновить номер версии. Чтобы узнать актуальную версию, посетите сайт https://nextcloud.com/install и нажмите на кнопку загрузки.
wget https://download.nextcloud.com/server/releases/nextcloud-11.0.1.zip
sudo apt install unzip unzip nextcloud-11.0.1.zip
В текущем рабочем каталоге будет организован новый каталог под названием nextcloud. Переместите созданный каталог и все его содержимое в корневую директорию сервера Apache.
sudo cp - r nextcloud /var/www/
После этого необходимо дать пользователю Apache (www-data) разрешение на запись.
sudo chown www-data:www-data /var/www/nextcloud/ - R
Формирование базы данных и учетной записи пользователя в MariaDB.
Подключитесь к серверу баз данных MariaDB, используя эту команду:
mysql - u root - p
После этого необходимо создать базу данных для Nextcloud. В данном руководстве база данных будет именоваться nextcloud, но вы можете выбрать любое другое название по вашему усмотрению.
create database nextcloud;
Создайте нового пользователя для базы данных. Вы можете выбрать любое удобное имя для него. Не забудьте заменить your-password на желаемый вами пароль.
create user nextclouduser@localhost распознан по 'your-password';
Выдайте данному пользователю все права доступа к базе данных nextcloud.
grant all privileges on nextcloudnextclouduser@localhost распознан по 'your-password';
Отмените привилегии и покиньте систему.
flush privileges; exit;
Активация бинарного логирования в MariaDB.
Внесите изменения в конфигурационный файл mysqld.
sudo nano /etc/mysql/mariadb.conf.d/50-server. cnf
Включите следующие три строки в раздел [mysqld].
log-bin = /var/log/mysql/mariadb-bin log-bin-index = /var/log/mysql/mariadb-bin. index binlog_format = mixed
Бинарный лог должен быть в смешанном формате. После этого сохраните файл и закройте его. Затем перезапустите службу MariaDB.
sudo systemctl restart mysql
Теперь бинарный лог активирован в MariaDB.
Настройка файла виртуального хоста Apache для Nextcloud.
В каталоге /etc/apache2/sites-available мы сформируем файл nextcloud.conf.
sudo nano /etc/apache2/sites-available/nextcloud.conf
Скопируйте и вставьте приведенные ниже строки в файл. Замените текст, выделенный красным, на ваше реальное доменное имя. Также необходимо указать ваше доменное имя на IP-адрес вашего сервера Ubuntu в системе DNS.
Сохраните изменения в файле и закройте его. После этого создайте символическую ссылку на каталог /etc/apache2/sites-enabled/.
sudo ln - s /etc/apache2/sites-available/nextcloud.conf /etc/apache2/sites-enabled/nextcloud.conf
Активируйте указанные модули Apache.
sudo a2enmod rewrite headers env dir mime setenvif ssl
Убедитесь, что все нужные модули PHP установлены.
sudo apt install php7.0-common php7.0-gd php7.0-json php7.0-curl php7.0-zip php7.0-xml php7.0-mbstring
Перезапустите сервер Apache, чтобы активировать указанные модули Apache и PHP.
sudo systemctl restart apache2
Завершите процесс установки в вашем интернет-браузере.
Теперь в адресной строке вашего веб-браузера введите название вашего домена. Например,
nextcloud. your-domain.com
Вам будет предложено зарегистрировать учетную запись администратора. Папка данных служит для хранения файлов пользователей. Для повышения уровня безопасности рекомендуется размещать директорию данных вне корневой папки веб-приложения Nextcloud, например, в /var/www/nextcloud-data, которую можно создать с помощью следующей команды:
sudo mkdir /var/www/nextcloud-data/
После этого проверьте, что пользователь Apache (www-data) обладает правами на запись в папку с данными.
sudo chown www-data:www-data /var/www/nextcloud-data - R
Если вас беспокоит возможность кражи имени пользователя и пароля, сначала рекомендуется активировать HTTPS (см. инструкции ниже), а затем ввести свои учетные данные и информацию о базе данных.

После этого укажите имя пользователя базы данных, название базы данных и пароль, которые вы создали ранее, для подключения Nextcloud к базе данных MariaDB.

После окончания установки вам будет представлен веб-интерфейс Nextcloud. Поздравляю! Теперь вы можете начать пользоваться им в качестве своего личного облачного хранилища.

Гарантируйте безопасность, используя протокол HTTPS.
Если вы установили nextCloud на своем локальном компьютере, этот шаг можно пропустить.
HTTPS защищает от атак типа «человек посередине» и предотвращает перехват паролей. Мы можем бесплатно получить сертификат TLS/SSL от Let’s Encrypt CA. Сначала нужно установить клиент certbot, который в репозитории Ubuntu все еще называется letsencrypt. Для установки клиента и плагина для Apache используйте следующую команду.
sudo apt install letsencrypt python-letsencrypt-apache
Введите следующую команду, чтобы получить бесплатный сертификат TLS/SSL. Не забудьте заменить текст, выделенный красным, на ваши реальные данные.
sudo letsencrypt --apache --agree-tos --email ваш-адрес-электронной-почты - d nextcloud. ваш-домен.com
Вы получите возможность выбрать между простым и надежным вариантом. Рекомендуется остановиться на надежном варианте, чтобы все http-запросы перенаправлялись на https.

По нажатию кнопки ОК, вы получите и установите бесплатный сертификат TLS/SSL на свой сервер Apache.

Теперь снова зайдите на ваш сайт Nextcloud. Вы заметите, что он автоматически перенаправляется на https.
Стандартная настройка SSL в Apache не включает заголовок безопасности HSTS. Для его добавления необходимо внести изменения в файл конфигурации SSL.
sudo nano /etc/apache2/sites-available/nextcloud-le-ssl.conf
Добавьте указанные строки в файл сразу после строки SSLCertificateKeyFile.
Сохраните изменения в файле и закройте его. После этого перезапустите Apache.
sudo systemctl reload apache2
Клиент для персональных компьютеров с операционной системой Linux.
Клиент NextCloud можно установить на Ubuntu 16.04 или Ubuntu 17.10 с помощью официального PPA, применив следующие команды.
sudo add-apt-repository ppa:nextcloud-devs/client sudo apt update sudo apt install nextcloud-client
Если вы используете среду рабочего стола Gnome, просто перейдите в Настройки > Онлайн-аккаунт >NextCloud (ownCloud) позволяет вам настроить систему для работы с файлами. Кроме того, вы можете удобно получить доступ к своим данным Nextcloud через WebDAV.
Конфигурация кэша Redis для NextCloud
Замечание: использование кэша Redis не является обязательным. Вы можете пропустить этот раздел без опасений.
При переходе на страницу администратора nextCloud вы можете заметить следующее уведомление:
Не настроен кэш памяти. Чтобы улучшить производительность, пожалуйста, настройте кэш памяти, если он доступен.
Мы настроим кэширование памяти для nextCloud, используя Redis. Установите сервер Redis из репозитория для Ubuntu 16.04.
sudo apt install redis-server
Вы можете узнать версию, используя:
redis-server - v
Redis server v=3.0.6 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=687a2a319020fa42
Теперь мы можем удостовериться, что сервер Redis функционирует.
systemctl status redis

На основе представленного скриншота можно заметить, что сервер функционирует, а автозапуск активирован. В случае, если он по какой-либо причине не работает, выполните следующую команду:
sudo systemctl start redis-server
Если автозапуск не активирован при загрузке, вы можете воспользоваться следующей командой для его включения:
sudo systemctl enable redis-server
Теперь приступим к настройке Redis в роли кеша для nextCloud. Установите расширение PHP, необходимое для работы с Redis.
sudo apt install php-redis
Убедитесь, что расширение активно.
php --ri redis
Расширение Redis активировано, и установлена версия 2.2.8, что превышает минимальную необходимую версию 2.2.5+ для nextCloud. Вам, возможно, потребуется вручную активировать расширение Redis, перезапустив Apache.
sudo systemctl restart apache2
или введя следующую команду:
sudo phpenmod redis
Затем внесите изменения в файл конфигурации nextCloud.
sudo nano /var/www/nextcloud/config/config.php
Вставьте указанные строки перед строкой );.
'memcache. distributed' => '\OC\Memcache\Redis', 'memcache. local' => '\OC\Memcache\Redis', 'memcache. locking' => '\OC\Memcache\Redis', 'redis' => array( 'host' => 'localhost', 'port' => 6379, ),

Сохраните файл и закройте его. Затем вернитесь на страницу администратора NextCloud, и предупреждение о кэшировании памяти должно исчезнуть.
Поздравляем! Вам удалось успешно настроить личное облачное хранилище NextCloud на VPS с Ubuntu 16.04, используя Apache, MariaDB и PHP7.
Ваши комментарии, вопросы и идеи всегда будут рады услышать. Если этот пост оказался для вас полезным, не забудьте подписаться на нашу бесплатную рассылку. Также можете следить за нами в Google+, Twitter или лайкнуть нашу страницу на Facebook.

