Как установить NextCloud на Ubuntu 18.04

Posted by

Сегодня я покажу в шагах, как установить на Ubuntu 18.04 Server сервис для организации своего хранилища файлов и наработок, но сервис не на базе OwnCloud, а его форка именуемого, как NextCloud. Дело в том, что я перехожу с Ubuntu Trusty на Ubuntu Bionic и моя задача проработать все основные моменты прежде чем мигрировать быть уверенным в том что я получу в итоге. Вот шаги которые я проделал дабы получить желаемое по задаче этой заметки:

ekzorchik@srv-bionic:~$ sudo rm -Rf /var/lib/apt/lists

ekzorchik@srv-bionic:~$ sudo rm -f /var/lib/dpkg/lock

ekzorchik@srv-bionic:~$ sudo apt-get update && sudo apt-get upgrade -y

ekzorchik@srv-bionic:~$ sudo apt-get -y install apache2 mariadb-client mariadb-server software-properties-common unzip

Отключаю список каталогов для Webсервиса Apache 2:

ekzorchik@srv-bionic:~$ sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf

ekzorchik@srv-bionic:~$ sudo systemctl restart apache2

ekzorchik@srv-bionic:~$ sudo systemctl enable apache2

Synchronizing state of apache2.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable apache2

ekzorchik@srv-bionic:~$ sudo systemctl restart mariadb

ekzorchik@srv-bionic:~$ sudo systemctl enable mariadb

ekzorchik@srv-bionic:~$ sudo mysql_secure_installation

  • Enter current password for root (enter for none): none
  • Change the root password? [Y/n] y
  • New password: 712mbddr@
  • Re-enter new password: 712mbddr@
  • Remove anonymous users? [Y/n] y
  • Disallow root login remotely? [Y/n] y
  • Remove test database and access to it? [Y/n] y
  • Reload privilege tables now? [Y/n] y

ekzorchik@srv-bionic:~$ sudo add-apt-repository ppa:ondrej/php

На заметку: Нововведение в Ubuntu 18.04, что после добавления репозитария уже не нужно запускать команду обновления информации о репозитариях, т.е. Sudo apt-get update.

ekzorchik@srv-bionic:~$ sudo apt-get install -y php7.1 libapache2-mod-php7.1 php7.1-common php7.1-mbstring php7.1-xmlrpc php7.1-soap php7.1-apcu php7.1-smbclient php7.1-ldap php7.1-redis php7.1-gd php7.1-xml php7.1-intl php7.1-json php7.1-imagick php7.1-mysql php7.1-cli php7.1-mcrypt php7.1-ldap php7.1-zip php7.1-curl

ekzorchik@srv-bionic:~$ sudo vi /etc/php/7.1/apache2/php.ini

file_uploads = On

allow_url_fopen = On

memory_limit = 128M

upload_max_filesize = 100M

display_errors = Off

date.timezone = Europe/Moscow

ekzorchik@srv-bionic:~$ sudo mysql -u root -p712mbddr@ -e "create database db_nextcloud character set utf8"

ekzorchik@srv-bionic:~$ sudo mysql -u root -p712mbddr@ -e "create user 'us_nextcloud'@'localhost' identified by '612mbddr@'"

ekzorchik@srv-bionic:~$ sudo mysql -u root -p712mbddr@ -e "grant all on db_nextcloud.* to 'us_nextcloud'@'localhost'"

ekzorchik@srv-bionic:~$ cd /tmp && wget https://download.nextcloud.com/server/releases/nextcloud-13.0.4.zip

ekzorchik@srv-bionic:/tmp$ unzip nextcloud-13.0.4.zip

ekzorchik@srv-bionic:/tmp$ sudo mv nextcloud /var/www/html/nextcloud/

ekzorchik@srv-bionic:/tmp$ sudo chown -R www-data:www-data /var/www/html/nextcloud/

ekzorchik@srv-bionic:/tmp$ sudo chmod -R 755 /var/www/html/nextcloud/

ekzorchik@srv-bionic:/tmp$ cd ~

ekzorchik@srv-bionic:~$ sudo nano /etc/apache2/sites-available/nextcloud.conf

#ServerAdmin admin@example.com

DocumentRoot /var/www/html/nextcloud/

#ServerName example.com

#ServerAlias www.example.com

Alias /nextcloud "/var/www/html/nextcloud/"

Options +FollowSymlinks

AllowOverride All

Require all granted

Dav off

SetEnv HOME /var/www/html/nextcloud

SetEnv HTTP_HOME /var/www/html/nextcloud

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

ekzorchik@srv-bionic:~$ sudo unlink /etc/apache2/sites-available/000-default.conf

ekzorchik@srv-bionic:~$ sudo unlink /etc/apache2/sites-available/default-ssl.conf

ekzorchik@srv-bionic:~$ sudo unlink /etc/apache2/sites-enabled/000-default.conf

ekzorchik@srv-bionic:~$ sudo rm /var/www/html/index.html

Активирую модули необходимые для NextCloud:

ekzorchik@srv-bionic:~$ sudo a2ensite nextcloud.conf

ekzorchik@srv-bionic:~$ sudo a2enmod rewrite headers env dir mime

ekzorchik@srv-bionic:~$ sudo apache2ctl configtest

ekzorchik@srv-bionic:~$ sudo systemctl restart apache2

После открываем браузер и в строке адреса указываем URL вида: http://IP&DNS, где IP&DNS — это адрес или доменное имя системы где разворачивается сервис NextCloud. Посмотреть IP-address в системе:

ekzorchik@srv-bionic:~$ ip r | cut -d " " -f 9 | head -n 1

172.33.33.25 → вот этот IP-адрес и указываем строке браузера вида: http://172.33.33.25

После страница браузера примет вид первоначальной настройки сервиса NextCloud по сути все аналогично если Вы уже разворачивали Owncloud.

Произвожу начальную настройку.

Создать учетную запись администратора:

  • Имя пользователя: ekzorchik
  • Пароль: 712mbddr@
  • Каталог с данными: /var/www/html/nextcloud/data
  • Пользователь базы данных: us_nextcloud
  • Пароль базы данных: 612mbddr@
  • Название базы данных: db_nextcloud
  • Сервер: localhost

и нажимаю «Завершить установку»

После следует немного подождать… И вот после я в панели администрирования собственным сервисом организации личных файлов:

Как видно из всех действий проделанных мною на Ubuntu 18.04 Server amd64 все просто и теперь ориентируюсь на заметку посвященную установке OwnCloud on HP MicroServer Gen8 я по аналогии перенесу все файлы из каталога /var/www/html/owncloud/data/ в /var/www/html/nextcloud/data/ и буду пользоваться. Но это только в локальной сети, дабы использовать сервис NextCloud с мобильных устройств следует приобрести у своего интернет провайдера статический айпи адрес, или проверить а может он уже есть и имея, как сделано у меня настроить CNAME запись на запись сервиса Mikrotik Cloud при настроенном пробросе порта получать доступ к файлам.

На этом моя заметка завершена и я прощаюсь, до новых встреч, с уважением автор блога Олло Александр aka ekzorchik.