Сегодня я покажу в шагах, как установить на 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.