Главная >> Инструкции >> Установка NextCloud на Ubuntu 20.04

Установка NextCloud на Ubuntu 20.04

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

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


Содержание статьи

Установка NextCloud в Ubuntu 20.04

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

Для начала необходимо обновить индекс пакетов при помощи команды:

sudo apt update

j9SAJVWom+5GQAAAABJRU5ErkJggg==

Apache - это веб-сервер, который необходим для работы системы (в частности для отображения веб-интерфейса). Для его установки выполните:

sudo apt -y install apache2

Подробная установка Apache рассмотрена в статье установка LAMP стека в Ubuntu 20.04

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

MariaDB - это сервер баз данных, который используется в NextCloud для хранения данных. Для установки сервера необходимо выполнить команду:

sudo apt -y install mariadb-server-10.3 mariadb-client

Затем для первоначальной настройки выполните такую команду и следуйте инструкциям скрипта настройки:

sudo mysql_secure_installation

Подробная установка MariaDB рассмотрена в статье Установка MariaDB в Ubuntu 20.04

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

Для работы NextCloud требуется язык PHP, а также некоторые его модули и библиотеки. Будет установлен PHP версии 7.4. Данная версия уже присутствует в официальных репозиториях Ubuntu 20.04. Для установки PHP и всех необходимых модулей необходимо выполнить одну команду:

sudo apt -y install php7.4 php7.4-gd php7.4-mysql php7.4-curl php7.4-mbstring php7.4-intl php7.4-gmp php7.4-bcmath php-imagick php7.4-xml php7.4-zip libapache2-mod-php7.4

После установки PHP можно проверить что интерпретатор языка PHP успешно установился, выполнив команду для проверки версии PHP:

php --version

Команда вернула версию PHP это означает что PHP успешно установлен в системе.

Шаг 4: Настройка базы данных

Теперь необходимо создать базу данных для NextCloud. Сначала необходимо авторизоваться в СУБД при помощи команды:

sudo mysql -u root -p

Здесь root - имя пользователя. А ключ -p запрашивает пароль, который был задан на этапе запуска скрипта настройки безопасности. После входа в консоль СУБД необходимо поочередно выполнить следующие команды для создания базы данных и пользователя:

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

GRANT ALL PRIVILEGES ON nextcloud.* TO 'username'@'localhost';

FLUSH PRIVILEGES;

EXIT;

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

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

NextCloud необходимо устанавливать не из репозиториев, а скачав архив с программой с официального сайта:

wget https://download.nextcloud.com/server/releases/nextcloud-22.2.0.tar.bz2

Далее необходимо распаковать скачанный архив:

tar -xjvf nextcloud-22.2.0.tar.bz2

На выходе будет создана директория nextcloud. Данную директорию необходимо скопировать в корневую директорию веб-сервера. По умолчанию корневой директорией в apache является папка /var/www/:

sudo cp -r nextcloud /var/www/

Далее необходимо изменить владельца директории /var/www/nextcloud/ с пользователя root на пользователя www-data:

sudo chown -R www-data:www-data nextcloud/

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

На данном этапе производиться настройка конфигурационного файла nextcloud. Открываем файл при помощи любого текстового редактора:

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

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

<VirtualHost *:80>
DocumentRoot /var/www/nextcloud/
ServerName example1.com
<Directory /var/www/nextcloud/>
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
<IfModule mod_dav.c>
Dav off
</IfModule>
</Directory>
</VirtualHost>

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

sudo nano /etc/hosts

И добавляем строку:

127.0.0.1 example1.com

Где example1.com – имя домена в которое вы будете использовать в браузере для обращения в NextCloud.

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

В терминале необходимо ввести последовательно следующие команды:

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

Далее перезапускаем Apache при помощи команды:

sudo systemctl restart apache2

Шаг 8. Первоначальная настройка Nextcloud

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

Так же по желанию можно задать директорию для хранения пользовательских данных или оставить выбор по умолчанию:

dlALX3AFmVAAAAAASUVORK5CYII=

Далее необходимо ввести данные для подключения к базе данных. Необходимо ввести имя пользователя, пароль пользователя, имя базы данных и адрес СУБД, которые были заданы ранее на этапе настройки базы данных для NextCloud:

QIV8iC6V2PkAAAAASUVORK5CYII=

По желанию можно установить дополнительное ПО такое как календарь, контакты и тд. Для этого необходимо поставить галочку напротив пункта снизу - Install recommended apps:

FcpIRh4XfClDjofwAqERfC102dHAAAAABJRU5ErkJggg==

После установки всех компонентов отобразится интерфейс NextCloud:

kf7yqyN4TqMAAAAASUVORK5CYII=

Шаг 9. Использование Nextcloud

Для загрузки файлов в NextCloud необходимо перейти в раздел Files который располагается сверху:

wIYot8KjtpZPwAAAABJRU5ErkJggg==

Далее нажать на символ Плюс. В выпадающем меню необходимо выбрать пункт Upload file для выбора необходимого файла из операционной системы. Так же в этом же меню можно создавать директории, текстовые файлы, таблицы, презентации:

d19v8COyFafEMXuX4AAAAASUVORK5CYII=

Загруженные файлы будут отображаться ниже:

9y6uJ93Eu+7AAAAAElFTkSuQmCC

Выводы

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

Creative Commons License
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

28 комментариев к “Установка NextCloud на Ubuntu 20.04”

  1. NextCloud это fork проекта owncloudони там во мнениях не сошлись и разделились, как по мне он более перспективный.

    Ответить
  2. Суть Nextcloud — в подключении к облаку с любого устройства. А как мне это сделать, если IP динамический (в основном, у всех так)? Очевидно, что написанный текст бесполезен без этой информации.

    Ответить
  3. ASUS x550C Runtu 18-04

    Содержание статьи:

    Как установить NextCloud на Ubuntu 18.04
    Шаг 1: Установка веб-сервера Apache
    Шаг 2: Установка MariaDB
    Шаг 3: Установка PHP и дополнительных модулей
    Шаг 4: Настройка таблиц для NextCloud
    Шаг 5: Установка движка NextCloud
    Шаг 6: Настройка Apache
    Шаг 7: Активация модулей NextCloud
    Шаг 8. Тестирование работы Nextcloud
    Выводы

    Как установить NextCloud на Ubuntu 18.04
    Шаг 1: Установка веб-сервера Apache

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

    NextCloud

    sudo apt install apache2

    NextCloud

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

    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

    NextCloud

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

    sudo systemctl restart mariadb
    sudo systemctl enable mariadb

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

    sudo mysql_secure_installation

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

    NextCloud

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

    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 и остальные пакеты одной командой: --конфликт, конфликт, конфликт а дальше ничего.

    Ответить
  4. У snap много ограничений 🙁
    -нет возможности изменить расположение хранилища
    -нет поддержки samba
    А так для дома самое оно!

    Ответить
  5. Здравствуйте. Столкнулся с такой задачей при установке Ubuntu 18 был выбор установить этот самый nextcloud (из коробки). Однако apache, из коробки, сам по себе не шел после поэтому мне пришлось установить "лампу". Но после того как установился Apache nextcloud перестал запускаться, вернее так: если выключить Apache то nextcloud запускается, а если включить то нет соответственно. Как сделать так чтобы он запускался вместе с Apache? Спасибо

    Ответить
  6. А зачем столько мучений если есть snap пакет? Обновляется атомарно, автоматически, работает как сервис, отполированы зависимости. Установить можно в любой дистр 1-2 командами.

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

    После этого видим:

    E: Unable to locate package libapache2-mod-php7.1
    E: Couldn't find any package by glob 'libapache2-mod-php7.1'
    E: Couldn't find any package by regex 'libapache2-mod-php7.1'
    E: Unable to locate package php7.1-common
    E: Couldn't find any package by glob 'php7.1-common'
    E: Couldn't find any package by regex 'php7.1-common'
    E: Unable to locate package php7.1-mbstring
    E: Couldn't find any package by glob 'php7.1-mbstring'
    E: Couldn't find any package by regex 'php7.1-mbstring'
    E: Unable to locate package php7.1-xmlrpc
    E: Couldn't find any package by glob 'php7.1-xmlrpc'
    E: Couldn't find any package by regex 'php7.1-xmlrpc'
    E: Unable to locate package php7.1-soap
    E: Couldn't find any package by glob 'php7.1-soap'
    E: Couldn't find any package by regex 'php7.1-soap'
    E: Unable to locate package php7.1-apcu
    E: Couldn't find any package by glob 'php7.1-apcu'
    E: Couldn't find any package by regex 'php7.1-apcu'
    E: Unable to locate package php7.1-smbclient
    E: Couldn't find any package by glob 'php7.1-smbclient'
    E: Couldn't find any package by regex 'php7.1-smbclient'
    E: Unable to locate package php7.1-ldap
    E: Couldn't find any package by glob 'php7.1-ldap'
    E: Couldn't find any package by regex 'php7.1-ldap'
    E: Unable to locate package php7.1-redis
    E: Couldn't find any package by glob 'php7.1-redis'
    E: Couldn't find any package by regex 'php7.1-redis'
    E: Unable to locate package php7.1-gd
    E: Couldn't find any package by glob 'php7.1-gd'
    E: Couldn't find any package by regex 'php7.1-gd'
    E: Unable to locate package php7.1-xml
    E: Couldn't find any package by glob 'php7.1-xml'
    E: Couldn't find any package by regex 'php7.1-xml'
    E: Unable to locate package php7.1-intl
    E: Couldn't find any package by glob 'php7.1-intl'
    E: Couldn't find any package by regex 'php7.1-intl'
    E: Unable to locate package php7.1-json
    E: Couldn't find any package by glob 'php7.1-json'
    E: Couldn't find any package by regex 'php7.1-json'
    E: Unable to locate package php7.1-imagick
    E: Couldn't find any package by glob 'php7.1-imagick'
    E: Couldn't find any package by regex 'php7.1-imagick'
    E: Unable to locate package php7.1-mysql
    E: Couldn't find any package by glob 'php7.1-mysql'
    E: Couldn't find any package by regex 'php7.1-mysql'
    E: Unable to locate package php7.1-cli
    E: Couldn't find any package by glob 'php7.1-cli'
    E: Couldn't find any package by regex 'php7.1-cli'
    E: Unable to locate package php7.1-mcrypt
    E: Couldn't find any package by glob 'php7.1-mcrypt'
    E: Couldn't find any package by regex 'php7.1-mcrypt'
    E: Unable to locate package php7.1-ldap
    E: Couldn't find any package by glob 'php7.1-ldap'
    E: Couldn't find any package by regex 'php7.1-ldap'
    E: Unable to locate package php7.1-zip
    E: Couldn't find any package by glob 'php7.1-zip'
    E: Couldn't find any package by regex 'php7.1-zip'
    E: Unable to locate package php7.1-curl
    E: Couldn't find any package by glob 'php7.1-curl'
    E: Couldn't find any package by regex 'php7.1-curl'

    Ответить
  8. Привет!
    Хотел бы подсказать, что если подключить ElasticSearch и немного его настроить, то у вас будет работать и поиск по самим документам (начиная от простых текстовых файлов и заканчивая либраофисныи и мсофисными форматами). Проверено в том числе и на табличных файлах.

    Будут вопросы по этой связке - почту добавил 🙂

    Ответить
  9. На Ubuntu 20.04 не встал. Ничего не заработало. Надо инструкцию пересматривать/разбираться. "Из коробки" не канает. Пробовал несколько раз.

    Ответить
  10. что такое Proxifier?

    Proxifier – это программа, которая позволяет перенаправлять интернет-трафик приложений через прокси-серверы. Она полезна для тех, кто хочет повысить уровень безопасности и анонимности своих интернет-соединений или обойти географические блокировки. Proxifier поддерживает разные типы прокси и даёт возможность настраивать, какие приложения должны использовать определённые прокси-серверы, что делает её удобным инструментом для управления сетевым трафиком.

    Ответить

Оставьте комментарий