Nextcloud
Nextcloud - облачное хранилище файлов.
- Сайт: https://nextcloud.com
- Лицензия: AGPL-3.0
Установка
Для работы Nextcloud необходим настроенный web-сервер.
Необходимые пакеты:
apache2 apache2-mod_php5 apache2-mod_ssl apache2-mod_fcgid php5 php5-zip php5-dom php5-mbstring php5-gd2 php5-curl php5-pdo php5-xmlreader php5-openssl php5-fileinfo
Это можно сделать с помощью команды:
# apt-get install apache2 apache2-mod_php5 apache2-mod_ssl apache2-mod_fcgid php5 php5-zip php5-dom php5-mbstring php5-gd2 php5-curl php5-pdo php5-xmlreader php5-openssl php5-fileinfo
Рассмотрим установку Nextcloud на сервер c Apache2 с помощью web-установщика.
У web-сервера должны быть права на запись в директорию с файлом setup-nextcloud.php
Права можно назначить, временно, добавив пользователя apache2 в группу webmaster:
# usermod -a -G webmaster apache2 # systemctl restart httpd2
Зайдите на сайт https://nextcloud.com/install/ в раздел Download -> Web-installer и скачайте в корень вашего web-сервера /var/www/html файл setup-nextcloud.php:
# cd /var/www/html/ # wget https://download.nextcloud.com/server/installer/setup-nextcloud.php
Далее переходим по ссылке:
http://your_web_server_adress/setup-nextcloud.php
И следуем инструкциям установщика. По умолчанию Nextcloud устанавливается в подпапку ./nextcloud После установки удалим пользователя apache2 из группы webmaster:
# gpasswd -d apache2 webmaster
Далее необходимо настроить систему кэширования:
Установим следующие пакеты:
# apt-get install php5-apcu memcached php5-memcached
Добавляем службу memcached в автозагрузку и стартуем ее:
# systemctl enable memcached # systemctl start memcached
Добавим в config.php (находится в папке /var/www/html/nextcloud/config/) следующие строки:
'memcache.local' => '\OC\Memcache\APCu', 'memcache.distributed' => '\OC\Memcache\Memcached', 'memcached_servers' => array( array('localhost', 11211), ),
Теперь создадим конфигурационный файл нашего сайта и настроим SSL-доступ
Включим 443 порт:
# a2enport https
Для правильной работы SSL нам необходимы SSL-сертификаты. Их можно купить или сгенерировать:
1. Создаем ключ корневого хранилища, наш самый главный ключ:
openssl genrsa -des3 -out nextcloud-domain-ca.key 2048
2. Создаем и зашифровываем ключом корневого хранилища корневой сертификат, сертификат издателя сертификатов:
openssl req -new -x509 -days 3650 -key nextcloud-domain-ca.key -out nextcloud-domain-ca.crt
3. Создаем ключ веб-сервера, который вы намерены защитить сертификатом:
openssl genrsa -des3 -out nextcloud.key 1024
4. Создаем запрос на подписание сертификата веб-сервера:
openssl req -new -key nextcloud.key -out nextcloud.csr
5. Создаем и подписываем сертификат веб-сервера, используя запрос на сертификат, корневой ключ и корневой сертификат:
openssl x509 -req -in nextcloud.csr -out nextcloud.crt -sha1 -CA nextcloud-domain-ca.crt -CAkey nextcloud-domain-ca.key -CAcreateserial -days 3650
6. Apache2 будет требовать при запуске пароль к ключу веб-сервера. Если это вам не нужно, сделайте страховую копию ключа веб-сервера: cp nextcloud.key nextcloud.key.dist и очистите пароль ключа веб-сервера командой:
openssl rsa -in nextcloud.key.dist -out nextcloud.key
7. В итоге у нас будут следующие файлы:
nextcloud.crt - сертификат нашего сервера nextcloud.csr - запрос на сертификат nextcloud.key - ключ сертификата нашего сервера nextcloud-domain-ca.crt - корневой сертификат nextcloud-domain-ca.key - ключ корневого сертификата
Скопируем стандартный конфигурационный файл:
# cd /etc/httpd2/conf/sites-available/ # cp default_https.conf nextcloud.conf
Добавим наш сайт в разрешенные, разрешим все модули и перезапустим web-сервер:
# a2ensite nextcloud # a2enmod ssl # systemctl restart httpd2