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

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

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

Как установить 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 и остальные пакеты одной командой:

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

Выводы

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

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

Оцените статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (4 оценок, среднее: 3,75 из 5)
Загрузка...

16 комментариев

  1. Евгений Июль 3, 2018 Ответить
  2. Руслан Июль 3, 2018 Ответить
  3. Антон Июль 3, 2018 Ответить
    • Илья Июль 3, 2018 Ответить
      • Kit Июль 4, 2018 Ответить
    • Romio Июль 3, 2018 Ответить
    • Роман Июль 4, 2018 Ответить
    • Дмитрий Июль 7, 2018 Ответить
  4. Роман Июль 4, 2018 Ответить
  5. Александр Июль 4, 2018 Ответить
  6. dimaelectronik Июль 4, 2018 Ответить
    • h4zzkR Июль 22, 2018 Ответить
  7. volshebnik Сентябрь 7, 2018 Ответить
  8. Sergey sht Сентябрь 9, 2018 Ответить
  9. Sozertsatel Сентябрь 14, 2018 Ответить

Ответить

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: