Задать вопрос
Все статьи / VDS / Создание и настройка виртуальных машин / Создание изолированной среды для Nextcloud
Найти результаты:
Период:
с:
 
по:
Помощь в поиске

Помощь в поиске

apple banana
Найти записи, которые содержат хотя бы одно из двух слов.

+apple +juice
Найти записи, которые содержат оба слова.

+apple macintosh
Найти записи, которые содержат слово 'apple', но положение записей выше, если они также содержат 'macintosh'.

+apple -macintosh
Найти записи, которые содержат слово 'apple', но не 'macintosh'.

+apple ~macintosh
Найти записи, которые содержат слово 'apple', но если запись также содержит слово 'macintosh', rate it lower than if row does not. Это более "мягкий" чем поиск '+apple -macintosh', для которого наличие 'macintosh' вызывает что записи не будут возвращены вовсе.

+apple +(>turnover <strudel)
Найти записи, которые содержат слова 'apple' и 'turnover', или 'apple' и 'strudel' (в любом порядке), но ранг 'apple turnover' выше чем 'apple strudel'.

apple*
Найти записи, которые содержат такие слова как 'apple', 'apples', 'applesauce', или 'applet'.

"some words"
Найти записи, которые содержат точную фразу 'some words' (например записи содержащие 'some words of wisdom', но не "some noise words").

Создание изолированной среды для Nextcloud

В следующей статье мы создадим изолированный от внешней сети инстанс Nextcloud, который будет доступен только из под VPN по IP-адресу. Подобное решение повышает безопасность хранимых данных.

Подготовка

Для реализации этого решения нам потребуются следующие ресурсы:

Первым делом необходимо создать два сервера. Для Nextcloud и OpenVPN у нас уже имеются готовые решения, которые можно выбрать при заказе услуг. Доступы к серверам поступят после заказа.

Чтобы создать изолированную среду, нам потребуется соединить оба сервера в одну локальную сеть. Включить сервера в локальную сеть можно как во время создании новой услуги VPS (для этого нужно отметить соответствующую опцию при создании услуги), так и уже вручную после её заказа. Для настройки вручную можно воспользоваться следующей инструкцией.

Настройка OpenVPN

OpenVPN по умолчанию уже настроен, какую-либо настройку производить не требуется. Если же нужно внести какие-либо изменения, то можно воспользоваться инструкцией.

Настройка Nextcloud

Дальнейшая настройка производится на сервере с Nextcloud.

  1. Сначала нужно выпустить самоподписанный сертификат для сервиса. Подключитесь к серверу по SSH и выполните команду:
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/nextcloud-selfsigned.key -out /etc/ssl/certs/nextcloud-selfsigned.crt

Данные могут указываться любые, но в Common Name рекомендуется указать локальный IP-адрес сервера.

  1. Так как доступ будет осуществляться по IP-адресу, необходимо убрать упоминания домена по умолчанию. Первым делом нужно удалить символьную ссылку /etc/nginx/sites-enabled/default
unlink /etc/nginx/sites-enabled/default

В файле виртуального хоста nginx по пути /etc/nginx/sites-available/nextcloud внесите следующие изменения:

  • во всех директивах server_name замените тестовый домен на локальный IP-адрес сервера;

  • в директивах ssl_certificate и ssl_certificate_key пропишите пути до ранее сгенерированных сертификатов:

ssl_certificate /etc/ssl/certs/nextcloud-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nextcloud-selfsigned.key;
  • В директивах перенаправления на https версию сайта замените указанный домен на локальный IP-адрес сервера:

if ($host = 10.0.0.99) {
return 301 https://$host$request_uri;
}
  1. Далее нужно прописать локальный IP-адрес вашего сервера в конфигурационном файле самого Nextcloud по пути /var/www/nextcloud/config/config.php. В Trusted Domains замените технический домен на локальный IP-адрес сервера.
  2. Последним этапом является отключение сервера Nextcloud от внешней сети. Сделать это можно в настройках сетевой карты.

В ОС Ubuntu это делается в файле /etc/netplan/50-cloud-init.yaml

Закомментируйте все строки интерфейса ens3, оставив только локальный интерфейс ens4:

network:  
    ethernets:  
        #ens3:  
            #addresses:  
            #- 77.222.60.8/24  
            #- 2a02:408:7722:54:77:222:60:8/64  
            #gateway4: 77.222.60.1  
            #gateway6: 2a02:408:7722:54::1  
            #nameservers:  
                #addresses:  
                #- 8.8.8.8  
                #- 8.8.4.4  
                #- 2001:4860:4860::8888  
                #- 2001:4860:4860::8844  
                #search: []  
            #optional: true
             ens4:
            addresses:
            - 10.0.0.99/27
  1. Сохраните файл и выполните команду
netplan generate
  1. Перезагрузите сервер.

Готово, теперь сервер доступен по локальному IP-адресу, при этом для доступа потребуется предварительно подключиться к серверу OpenVPN.

Использование домена вместо IP-адреса для подключения к Nextcloud

Если нужно, чтобы доступ к Nextcloud был по определенному домену (например, nextcloud.example.ru), то вместо локального IP-адреса при настройке потребуется везде указывать данный домен.

Чтобы работал резолвинг данного домена внутри сети, нужно на обоих серверах добавить следующую запись в файл /etc/hosts:

10.0.0.99 nextcloud.example.ru

где вместо 10.0.0.99 указывается локальный IP адрес сервера Nextcloud, а вместо nextcloud.example.ru - ваш домен.

Данный домен необязательно должен существовать, так как резолвинг будет происходить локально.

Предыдущая статья
Обслуживание приложений Flask с помощью Nginx и Gunicorn в Ubuntu
Следующая статья
Удаленный рабочий стол на VDS с Ubuntu 24.04