Меню

Установка и настройка nextcloud на ubuntu



Установка и настройка Nextcloud + NGINX на Ubuntu

Рассмотренные примеры подойдут для Linux Ubuntu версий 16, 18 и 20.

Подготовка системы

Синхронизируем время.

Устанавливаем утилиту chrony:

apt-get install chrony

Выставляем нужный часовой пояс:

timedatectl set-timezone Europe/Moscow

* в данном примере московское время.

Разрешаем запуск демона chrony:

systemctl enable chrony

Настройка сервера баз данных

В качестве СУБД используем MariaDB.

apt-get install mariadb-server

Разрешаем автозапуск и стартуем сервис:

systemctl enable mariadb

systemctl start mariadb

Задаем пароль для суперпользователя mysql:

mysqladmin -u root password

Подключаемся к MariaDB, создаем базу данных и пользователя:

> CREATE DATABASE nextcloud DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

> GRANT ALL PRIVILEGES ON nextcloud.* TO nextcloud@localhost IDENTIFIED BY ‘nextcloud’;

Установка и настройка веб-сервера

Устанавливаем PHP, PHP-FPM и необходимые для работы nextcloud модули:

apt-get install php php-fpm php-common php-zip php-xml php-intl php-gd php-mysql php-mbstring php-curl php-imagick

* путь к данной папке зависит от установленной версии php. В данном примере это 7.4.

Снимаем комментарии со следующей строки:

opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

Разрешаем автозапуск php-fpm и перезапускаем его:

systemctl enable php7.4-fpm

systemctl restart php7.4-fpm

* php7.4-fpm зависит от версии установленного php.

NGINX

Nextcloud можно развернуть на NGINX или Apache. В данной инструкции будем использовать первый.

apt-get install nginx

Создаем виртуальный домен и настраиваем его для работы с облачным сервисом:

server <
listen 80;
server_name nextcloud.dmosk.ru;
return 301 https://$server_name$request_uri;
>

server <
listen 443 ssl;
server_name nextcloud.dmosk.ru;

ssl_certificate /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/cert.key;

add_header Strict-Transport-Security «max-age=31536000; includeSubDomains» always;
client_max_body_size 10G;
fastcgi_buffers 64 4K;

rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;

index index.php;
error_page 403 = /core/templates/403.php;
error_page 404 = /core/templates/404.php;

location = /robots.txt <
allow all;
log_not_found off;
access_log off;
>

^/(data|config|\.ht|db_structure\.xml|README) <
deny all;
>

location / <
rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;
rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;
try_files $uri $uri/ index.php;
>

^(.+?\.php)(/.*)?$ <
try_files $1 = 404;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$1;
fastcgi_param PATH_INFO $2;
fastcgi_param HTTPS on;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
>

* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ <
expires modified +30d;
access_log off;
>
>

* где nextcloud.dmosk.ru — домен, на котором будет работать сервис; /etc/nginx/ssl — каталог, в котором будут храниться сертификаты; /var/www/nextcloud — каталог с порталом.

Создаем каталог для хранения сертификатов и переходим в него:

openssl req -new -x509 -days 1461 -nodes -out cert.pem -keyout cert.key -subj «/C=RU/ST=SPb/L=SPb/O=Global Security/OU=IT Department/CN=nextcloud.dmosk.ru/CN=nextcloud»

* данная команда создаст сертификат на 4 года для URL nextcloud.dmosk.ru или nextcloud.

После установки php мог установиться и запуститься apache. Отключаем его:

systemctl stop apache2

systemctl disable apache2

Проверяем конфигурацию nginx, завершаем его автозапуск и перезапускаем сервис:

systemctl enable nginx

systemctl restart nginx

Установка Nextcloud

Устанавливаем пакет unzip:

apt-get install unzip

Заходим на страницу nextcloud и копируем ссылку на скачивание последней версии программы:

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

Распаковываем скачанный архив:

И переносим содержимое архива в каталог /var/www:

mv nextcloud /var/www

Задаем права доступа:

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

Открываем браузер и переходим по адресу https://nextcloud.dmosk.ru, где nextcloud.dmosk.ru — адрес облачного сервиса.

Задаем логин и пароль для администратора. В качестве базы данных выбираем MySQL/MariaDB (если предлагается выбор) и вводим в качестве логина, пароля и базы nextcloud.

Оптимизируем работу базы данных:

sudo -u www-data php /var/www/nextcloud/occ db:convert-filecache-bigint

Тюнинг после установки

Для корректной работы системы выполним дополнительную настройку. После входа в nextcloud под администратором, переходим в настройки для пользователя:

В разделе «Параметры сервера» переходим в Основные сведения:

Читайте также:  Настройка коробки передач в мерседес с

В разделе «Проверка безопасности и параметров» мы можем увидеть список проблем:

Рассмотрим процесс решения некоторых из них.

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sudo nano /etc/hosts

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

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

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

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

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

Выводы

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

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

Об авторе

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

это же owncloud!

Протух твой Owencloud, забудь есть опенсорсный Nextcloud

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

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

Читайте также:  Порт закрыт рекомендовано проверить настройки брандмауэра

Тогда проси провайдера дать тебе статический. А если ты сидишь за NAT-том и еще и динамический IP, то я тебе соболезную.

Есть такие штуки как port mapping (проброс портов) и DDNS для динамических IP. А так штука не плохая. У себя дома настроил, подключил смартфоны жены, детей + с домашних компов/ноутов документы синхронизируются. Фоток уже на 300 Гб за два года накопилось, все облака платные пусть лесом идут.

Есть еще VPN тунели

Для динамических IP существует DDNS. Ну а если NAT то да, дальше никак.

Через VPN можно настроить

На сервере ставь, какой смысл дома от неё.

В маркетплэйсе некст клауда есть плагин, который решает данную проблему.

Кто-то еще apache в 21-ом веке использует как веб-сервер? Печально.

С такой нагрузкой ты даже не заметишь разницы между ngnix, а вообще да можно вместо ngnix и apache поставить openlitespeed

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

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

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

А как установить на Slackware Linux?

вот как можно сделать целую статью на 5к знаков всего из одной команды: snap install nextcloud
Автору удачи 🙂

Ручками круче. Хацкеры типо.

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

Это кулхацкеру выше адресовано

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

вы нашли ответ? у меня такая же проблема.
какокой правильнй алгоритм установки.

Читайте также:  Настройка уведомлений в aliexpress изменение статуса посылки

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

Устанавливаем 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’

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

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

Источник

Adblock
detector