Вы хотели бы иметь собственный аналог Dropbox или Google Drive? Если вы занимаетесь фото, видео или просто много путешествуете и привозите кучу снимков и записей — наверняка. Однако многих останавливал тот факт, что в большинстве случаев программы такого рода проприетарные. А за фирменные NAS-ы нужно выложит кругленькую сумму. Но, как оказалось, не всё так плохо. Ведь есть NextCloud.

Разработчик Фрэнк Карлитшек, который ранее работал в OwnCloud, Inc, после ухода из компании разработал NextCloud и продолжает развивать его совместно с другими разработчиками OwnCloud. И сегодня мы поговорим о том, как установить Nextcloud в Ubuntu 18.04.

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

Шаг 1: Установка веб-сервера Apache

Это веб-сервер, который нужен для работы системы. Устанавливаем его командой в Терминале:

sudo apt install apache2

После этого вводим команду:

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf

Это отключит список каталогов для Apache. После этого нужно остановить, запустить и активировать службу Apache2. Это позволит ей запускаться при загрузке ОС. Выполняем команды:

sudo systemctl restart apache2
sudo systemctl enable apache2

Шаг 2: Установка MariaDB

Это сервер баз данных, который используется в NextCloud. Установим его командой:

sudo apt install mariadb-client mariadb-server

После установки по аналогии с Apache вводим команды:

sudo systemctl restart mariadb
sudo systemctl enable mariadb

Это позволит серверу стартовать при запуске ОС. Далее настраиваем параметры безопасности. Вводим команду:

sudo mysql_secure_installation

После этого система задаст несколько вопросов, отвечаем на них так:

Перезапускаем сервер базы данных командой:

sudo systemctl restart mariadb

Шаг 3: Установка PHP и дополнительных модулей

Для работы установим новый PHP 7.1. Его пока нет в стандартных репозиториях Ubuntu, поому ставим из сторонних. Выполняем команды:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php

Затем обновляем список пакетов:

sudo apt update

Устанавливаем PHP 7.1 и остальные пакеты одной командой:

sudo apt install 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

Производим настройку после установки. Вводим команду:

sudo nano /etc/php/7.1/apache2/php.ini

В файле находим нужные строчки и ставим как в примере (таймзону можете поставить свою). Для поиска по файлу используется комбинация Ctrl + W. Для записи изменений — Ctrl + O. Для выхода — Ctrl + X.

file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 100M
display_errors = Off
date.timezone = Russia/Moscow

Шаг 4: Настройка таблиц для NextCloud

Теперь нужно сконфигурировать первую базу MariaDB. Для авторизации на сервере вводим:

sudo mysql -u root -p
CREATE DATABASE nextcloud;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'new_password_here';
GRANT ALL ON nextcloud.* TO 'nextclouduser'@'localhost' IDENTIFIED BY 'user_password_here' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

На этом шаге мы создали базу, юзера в ней, назначили ему пароль и дали пользователю все права для работы с базой.

Шаг 5: Установка движка NextCloud

Сам NextCloud нужно устанавливать не из репозиториев, а с сайта. Это также делаем в Терминале. Вводим:

cd /tmp && wget https://download.nextcloud.com/server/releases/nextcloud-11.0.1.zip
unzip nextcloud-11.0.1.zip
sudo mv nextcloud /var/www/html/nextcloud/

После распаковки настраиваем NextCloud:

sudo chown -R www-data:www-data /var/www/html/nextcloud/
sudo chmod -R 755 /var/www/html/nextcloud/

Шаг 6: Настройка Apache

Это шаг, на котором мы настроим работу пользователей с контентом в облаке. Для этого вводим:

sudo nano /etc/apache2/sites-available/nextcloud.conf

В открывшийся пустой файл копируем следующие данные:

<VirtualHost *:80>
     ServerAdmin admin@example.com
     DocumentRoot /var/www/html/nextcloud/
     ServerName example.com
     ServerAlias www.example.com
     Alias /nextcloud "/var/www/html/nextcloud/"
     <Directory /var/www/html/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
          <IfModule mod_dav.c>
            Dav off
          </IfModule>
        SetEnv HOME /var/www/html/nextcloud
        SetEnv HTTP_HOME /var/www/html/nextcloud
     </Directory>
     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Сохраняем (Ctrl + O) и выходим (Ctrl + X). Далее открываем /etc/hosts и добавляем туда строку:

sudo nano /etc/hosts

127.0.0.1 example.com

Шаг 7: Активация модулей NextCloud

В терминале вводим последовательно команды:

sudo a2ensite nextcloud.conf
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime

Перезапускаем службу командой:

sudo systemctl restart apache2

Шаг 8. Тестирование работы Nextcloud

 

Теперь открываем браузер и заходим по адресу, который мы внесли ранее. В нашем случае это http://example.com. Если всё сделано правильно, вы увидите стартовую страницу NextCloud. Там можно авторизоваться в базе данных и начать работу.

Выводы

Как видим, установка NextCloud Ubuntu не является чем-то сложным. Разумеется, потом нужно сконфигурировать сервер под себя, подумать насчёт бесперебойной работы, бэкапов и прочего. Но это уже более тонкие материи. Сама же процедура никаких проблем не приносит.

Источник: losst.ru