Nextcloud — облачная платформа для хранения файлов, ответвление проекта OwnCloud.
На тесте установлю в Ubuntu Server 18.04 LTS последнюю версиею Nextcloud (на момент написания статьи была 15).
Первым делом установим необходимые компоненты:
sudo apt-get install apache2 mysql-server php libapache2-mod-php php-json php-mysql php-bz2 php-curl php-gd php-imagick php-intl php-mbstring php-xml php-zip php-memcache php-bcmath php-gmp
Активируем необходимые модули apache2:
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime
sudo a2enmod setenvif
sudo a2enmod ssl
И перезапустим его чтобы применить изменения:
sudo service apache2 restart
Скачиваем Nextcloud:
cd ~
wget --no-check-certificate https://download.nextcloud.com/server/releases/latest.tar.bz2
Можно сверить контрольные суммы MD5 или SHA256 чтобы убедится что архив не поврежден:
wget --no-check-certificate https://download.nextcloud.com/server/releases/latest.tar.bz2.md5
wget --no-check-certificate https://download.nextcloud.com/server/releases/latest.tar.bz2.sha256
md5sum -c latest.tar.bz2.md5 < latest.tar.bz2
sha256sum -c latest.tar.bz2.sha256 < latest.tar.bz2
Распакуем архив в директорию веб сервера, установим права и удалим его:
sudo tar -C /var/www -xvjf ~/latest.tar.bz2
sudo chown -R www-data:www-data /var/www/nextcloud/
rm ~/latest.tar.bz2
rm ~/latest.tar.bz2.md5
rm ~/latest.tar.bz2.sha256
Создадим файл веб конфигурации (в редакторе nano клавиши Ctrl+X для выхода, y/n для сохранения или отмены изменений):
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>
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
</IfModule>
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</Directory>
Активируем конфигурацию так:
sudo a2ensite nextcloud
или так:
sudo ln -s /etc/apache2/sites-available/nextcloud.conf /etc/apache2/sites-enabled/nextcloud.conf
Перезапустим apache2:
sudo service apache2 restart
Создаём mysql пользователя и базу данных:
mysql -u root -p
CREATE DATABASE nextcloud;
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON nextcloud.* TO nextcloud@localhost;
flush privileges;
quit
Откроем в браузере https://HOST/nextcloud/ укажем данные и нажмем «Завершить установку».
Стандартная директория хранения файлов пользователей /var/www/nextcloud/data.
В конфигурации PHP /etc/php5/apache2/php.ini укажем date.timezone, остальные параметры уже указаны в файле /var/www/nextcloud/.htaccess
Для безопасной передачи данных рекомендую обязательно настроить SSL.
В настройках nextcloud, в меню «Администрирование» можно увидеть дополнительные рекомендации по настройке.
Установка Nextcloud завершена.
Посмотреть версию Nextcloud можно так:
cd /var/www/nextcloud
sudo -u www-data php occ -V
Статус сервера:
sudo -u www-data php occ status
Просмотр списка установленный приложений:
sudo -u www-data php occ app:list
Активация/деактивация приложения:
sudo -u www-data php occ app:enable NAME
sudo -u www-data php occ app:disable NAME
Просмотр конфигурации:
sudo -u www-data php occ config:list
sudo -u www-data php occ config:list --private
Сканирование файлов и обновление кэша (необходимо выполнить, например если данные были добавлены в директорию пользователя по FTP или перемещены внутри операционной системы):
sudo -u www-data php occ files:scan USERNAME
sudo -u www-data php occ files:scan --all
sudo -u www-data php occ files:scan --all --no-interaction --quiet
Смотрите также мои статьи:
- Установка Certbot в Ubuntu
- Настройка Nginx для Nextcloud
- Копирование данных в Nextcloud по FTP
- Двухфакторная аутентификация в Nextcloud
- Решение «Internal Server Error» при открытии Nextcloud
- Мониторинг Nextcloud в Zabbix
- Перенос директории DATA
- Перенос Nextcloud на другой сервер
- Фоновые задания через Cron