WireGuard является одним из наиболее популярных и простых в использовании VPN-решений, предоставляющих безопасное сетевое соединение. Если вы ищете быстрый и простой способ развернуть собственный VPN-сервер WireGuard с WEB-интерфейсом, то Docker-контейнер представляет отличное решение. В этой статье мы рассмотрим, как установить и запустить Docker-контейнер WireGuard с WEB-интерфейсом за одну команду, а также как подключиться к нему с различных устройств.
Для начала необходимо установить Ansible, инструмент автоматизации развертывания приложений на удаленных серверах. Выполните следующую команду для установки Ansible:
sudo apt install ansibleТакже чтобы ansible подключатся к удаленному серверу через пароль установите:
sudo apt install sshpassДалее создайте файл inventory.yml, в котором нужно указать данные для подключения к серверу, например:
---
all:
hosts:
ИмяСервера1:
ansible_host: IP_Адрес
ansible_user: Пользователь
# SSH порт
ansible_port: 22
# Для этого устанавливали sshpass
ansible_ssh_pass: ПарольЗамените ИмяСервера, IP_Адрес, Пользователь и Пароль на соответствующие значения для вашего сервера.
Теперь можно выполнить команду для развертывания WireGuard WEB UI сервера с помощью Docker-контейнера:
ansible-playbook -i ./inventory.yml -l ИмяСервера1 ./wireguard/install_wireguard_server.yml -e PasswordServer=990990Здесь ИмяСервера - имя вашего сервера, PasswordServer - пароль для WEB-версии WireGuard. После успешного выполнения команды, WEB-версия WireGuard будет доступна по URL: IP_Адрес:51821. По умолчанию пароль 990990
Чтобы подключиться к VPN-серверу WireGuard с вашего телефона, выполните следующие шаги:
-
Установите приложение WireGuard на свой телефон.
-
Отсканируйте QR-код, как показано на скриншоте ниже:
-
Нажмите "Добавить" и сохраните настройки VPN.
Для подключения к VPN-серверу WireGuard на Linux выполните следующие шаги:
-
Получите файл конфигурации для подключения к VPN-серверу. Выглядит он примерно так:
-
Установить WireGuard
sudo apt install wireguard
-
Скопируйте файл конфигурации в папку
/etc/wireguard/с помощью следующей команды:cp ИмяКонфигурации.conf /etc/wireguard/
-
Подключитесь к VPN-серверу WireGuard с помощью следующей команды:
sudo wg-quick up ИмяКонфигурации
-
Чтобы отключиться от VPN, выполните следующую команду:
sudo wg-quick down ИмяКонфигурации
Теперь у вас есть свой собственный WireGuard VPN сервер с WEB-интерфейсом, развернутый с помощью Docker-контейнера. Вы можете подключиться к нему с различных устройств, включая телефоны и компьютеры с Linux. WireGuard предоставляет безопасное и эффективное шифрованное соединение, которое защищает вашу приватность и обеспечивает безопасность передачи данных в интернете.
В современном мире облачные хранилища данных становятся все более популярными. Они предлагают удобный способ хранить, синхронизировать и обмениваться файлами, обеспечивая доступ к ним с любого устройства и из любой точки мира. Однако, многие пользователи предпочитают иметь полный контроль над своими данными и использовать собственные серверы для развёртывания облачных хранилищ. В этой статье мы рассмотрим, как развернуть NextCloud - одно из самых популярных облачных хранилищ с открытым исходным кодом - на HTTPS всего за одну команду.
Мы покажем вам пример команды развёртывания NextCloud на HTTPS, которую можно использовать для создания собственного облачного хранилища данных. Также рассмотрим создание резервной копии файлов NextCloud с помощью RSYNC и создание бесплатного доменного имени для обеспечения доступа к вашему облачному хранилищу из интернета.
Данная статья будет полезна как начинающим пользователям, которые только начинают знакомиться с NextCloud, так и опытным системным администраторам, которые хотят упростить и автоматизировать процесс развёртывания и управления своим облачным хранилищем.
Создайте на сервере папку по пути /mnt/extdisk. Это может быть смонтированный внешний диск
-
Посмотреть список всех дисков
sudo lsblk # Получить список дисков и их размер sudo blkid # Получить UID диска
-
Создать точку(папку) монтирование для диска
sudo mkdir /mnt/extdisk
-
Добавить диск в конфигурационный файл
/etc/fstabsudo nano /etc/fstab
UUID=cf0d6629-2bd3-4874-94bf-053e750ae973 /mnt/extdisk auto defaults 1 0
cf0d6629-2bd3-4874-94bf-053e750ae973- Это примерный UUID
-
Теперь можно применить изменения, выполнив команду . Это применит настройки из файла fstab и монтирует ваш внешний диск в указанную точку монтирования.
sudo mount -a
Или это можно сделать вручную
sudo mount /dev/sdX1 /mnt/extdisk
Чтобы от монтировать диск, выполните:
sudo umount /mnt/extdisk
Пример команды для развёртывания NextCloud на HTTPS можно найти в репозитории NextCloud Docker на GitHub: https://github.com/nextcloud/docker/tree/master/.examples/docker-compose/insecure/postgres/fpm.
- Выполните следующую команду, чтобы передать переменные из командной строки во время запуска
docker-compose:
ansible-playbook -i ./inventory.yml -l ИмяСервера1 ./nextcloud/install_nextcloud_server.yml -e POSTGRES_PASSWORD=10101010 -e UUID_EXTERNAL_DISK=cf0d6629-2bd3-4874-94bf-053e750ae973- Параметр
POSTGRES_PASSWORD- пароль для базы данных PostgreSQL. - Параметр
UUID_EXTERNAL_DISK- uuid вашего внешнего диска, его можно получить черезblkid
- Подождите около 2 минут, чтобы все приложения запустились.
- Перейдите по URL-адресу
https://Хост. - Создайте учётную запись администратора, указав следующие данные:
- Пользователь: nextcloud
- Пароль: nextcloud10101010
- Рекомендуется пропустить установку рекомендуемых расширений.
DISK=$HOME
ansible-playbook -i ./inventory.yml -v -l ИмяСервера1 ./nextcloud/backup_nextcloud_server.yml -e LOCAL_PATH_BACKUP="$DISK/backup_nextcloud"- Параметр
LOCAL_PATH_BACKUP- путь на локальной машине, куда будет сохранена резервная копия.
- Зарегистрируйтесь на
https://my.noip.com/. - Войдите в панель управления
https://my.noip.com/dynamic-dns. - Создайте доменное имя:
- Новое доменное имя.
- Адрес сервера.
- Развернуть
FileBrowserна удаленном сервере
ansible-playbook -i ./inventory.yml -v -l ИмяСервера1 ./filebrowser/up.yml- Конфигурации из контейнера FileBrowser будет храниться в папке
/home/filebrowser_confна удаленном сервере. Команда ниже скачивает эту папку с удаленного сервера в локальную папку./filebrowser/filebrowser_conf
ansible-playbook -i ./inventory.yml -v -l ИмяСервера1 ./filebrowser/download_conf.yml- Вы можете смонтировать локальную папку на удаленный сервере через обратный SHH туннель и
sshfs
LOCAL_PATH="..."
LOCAL_PASSWORD="..."
ansible-playbook -i ./inventory.yml -v -l ИмяСервера1 ./filebrowser/local_mount.yml -e LOCAL_USER=$USER -e LOCAL_PATH="'$LOCAL_PATH'" -e LOCAL_PASSWORD=$LOCAL_PASSWORDЧто делает команда:
ssh -R -N 8989:localhost:22 root@95.163.237.188 &Данная команда устанавливает удаленное пробросление порта через SSH на удаленной машине с IP-адресом 95.163.237.188.
Подробнее, она создает проброс порта, где порт 8989 на удаленной машине будет перенаправляться на порт 22 (стандартный порт SSH) на локальной машине (той, с которой выполняется команда). То есть, когда удаленный сервер будет получать соединение на порт 8989, это соединение будет перенаправляться на порт 22 локальной машины.
Команда выполняется от имени пользователя root на удаленной машине, что означает, что у вас должны быть права администратора на этой машине для ее выполнения.



