wildcar's home

Wireguard server on Ubuntu

https://www.wireguard.com/quickstart/
Manual
https://git.zx2c4.com/wireguard-tools/about/src/man/wg.8

sudo apt install wireguard
wg genkey | tee server-privatekey | wg pubkey > server-publickey

~/wg/wg-server.conf

[Interface]
PrivateKey = yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk=
ListenPort = 51820
[Peer]
PublicKey = xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg= #client public key
AllowedIPs = 10.192.122.3/32
wg setconf wg0 ~/wg/wg-server.conf
ip link add dev wg0 type wireguard
ip address add dev wg0 10.60.10.1/24
ip link set up dev wg0

wg genkey | tee server-privatekey | wg pubkey > server-publickey
wg setconf wg0 /etc/wireguard/wg0.conf

Проверка доступности извне порта сервера (проверяется с клиентской машины)
nc -z -v -u 91.149.254.78 51820
Проверка, что TCP пакеты доходят до сервера (проверяется на сервере)
tcpdump -n -i eth0 port 51820
https://habr.com/ru/articles/709920/
https://losst.pro/ustanovka-wireguard-v-ubuntu
https://docs.vultr.com/how-to-install-wireguard-vpn-on-ubuntu-24-04

kvas DNS routing for keenetic router

Main wiki
https://github.com/qzeleza/kvas/wiki
Tags
https://github.com/qzeleza/kvas/blob/main/opt/etc/conf/tags.list
Проверка доменов сайта

window.domains = [...new Set(performance.getEntriesByType('resource').map(r => (new URL(r.name)).hostname))]; console.log(domains);

Очистка DNS windows

ipconfig /flushdns

Очистка DNS браузера

chrome://net-internals/#dns

Используемые DNS
powershell:

Get-DnsClientServerAddress

cmd:

cmd:

Добавить локальный host в DNS: /opt/etc/hosts

192.168.1.1 localserver

Перезапустить DNS

/opt/etc/init.d/S56dnsmasq restart

или

kvas update

Midnight Commander и редактор micro настройка

Для работы с терминальными сессиями удобно использовать Терминал Windows
Хорошо настраивается и имеет приятный вид и интерфейс
https://apps.microsoft.com/detail/9n0dx20hk701

Для удобства работы в MC в рамках терминала можно сделать следующие настройки:

Переход на папку выше через backspace:
Глобальные настройки сочетаний клавиш здесь:

/etc/mc/mc.keymap

Меняем

CdParentSmart = backspace

Smart имеется ввиду, что команда не будет срабатывать, если в строке команд есть текст
Подключаем редактор micro
https://micro-editor.github.io/index.html
Позволяет пользоваться клавиатурными командами Ctrl-C, Ctrl-V и т. д.
Позволяет использовать буфер обмена терминала — он будет прозрачен как в терминале, так и на хосте

Устанавливаем micro

sudo apt install micro xclip

Меняем редактор по умолчанию в mc

Находим куда установился micro

whereis micro

Отключаем в MC встроенный редактор

Отключаем в MC встроенный редактор

Поменять настройку какой внешний редактор будет использовать MC можно разными способами

  1. Вызываем команду
selected_editor

и выбираем нужный редактор, если нужного редактора в списке нет,

  1. Редактируем файл настроек selected_editor
micro ~/.selected_editor

правим строку

SELECTED_EDITOR="/usr/bin/micro"

если пакет sensible-utils (куда входит selected_editor) недоступен,

  1. Устанавливаем переменную среды EDITOR
    в файл ~.bashrc добавляем строку:
EDITOR=/usr/bin/micro

Устанавливаем настройку буфера обмена на терминал и отключаем автокопирование в буфер выделения

В micro Ctrl-E

set clipboard terminal
set useprimary false

Устанавливаем выход из  micro по клавише Esc

в файл ~/.config/micro/bindings.json добавить строку (если там уже есть комбинации строку нужно дописать к ним, поставив после последней запятую:

{
"Esc": "Quit"
}

Все настройки, указанные здесь, распространяются только на текущего пользователя и при запуске MC от имени root (sudo root) нужно настроить то же самое для root

Подключение WinSCP с root правами

https://winscp.net/eng/docs/faq_su
Узнать, где находится sftp-server можно командой

whereis sftp-server

With SFTP protocol, you can use SFTP server option on SFTP page of Advanced Site Settings dialog to execute SFTP binary under a different user. With OpenSSH server, you can specify:

sudo /usr/lib/sftp-server

Добавить в /etc/sudoers.d файл, скажем wildcar_sftp с содержимым:

username ALL=NOPASSWD: /usr/lib/sftp-server

Тюнинг Nextcloud

Советы по тюнингу Nextcloud, когда в общих сведениях о сервере выдаются ошибки и предупреждения:

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

https://kurazhov.ru/nextcloud-tuning/#12
APCu not available for local cache
Изменить /etc/php/8.3/cli/php.ini

apc.enable_cli=1

Разрешённое максимальное значение использования памяти PHP ниже рекомендуемого значения 512 MB

sudo apt install php-fpm
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.3-fpm

Изменить /etc/php/8.3/fpm/php.ini
и /etc/php/8.3/apache2/php.ini

memory_limit = 512M

и перезапустить PHP и Apache

sudo systemctl restart php8.3-fpm
sudo systemctl reload apache2

Модуль PHP OPcache настроен неправильно
Изменить /etc/php/8.3/fpm/php.ini

opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.memory_consumption=256
opcache.save_comments=1
opcache.revalidate_freq=1

и перезапустить PHP и Apache

sudo systemctl restart php8.3-fpm
sudo systemctl reload apache2

Установка Portainer для Docker

Выдержка из инструкций:
https://docs.portainer.io/start/install-ce/server/docker/linux
https://timeweb.cloud/tutorials/docker/ustanovka-i-ispolzovanie-portainer

Установка Portainer через Docker

mkdir ~/portainer 
cd ~/portainer 
cat > docker-compose.yml

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

services:
  portainer:
    image: portainer/portainer-ce:lts
    container_name: portainer
    ports:
      - 8000:8000
      - 9443:9443
    volumes:
      - portainer_data:/data
      - /var/run/docker.sock:/var/run/docker.sock
    restart: always
volumes:
    portainer_data:

Нажимаем Ctrl-C
Создаем том для хранения базы данных

sudo docker volume create portainer_data
sudo docker compose up -d

Установка Docker на Ubuntu

Выдержка из документации: https://docs.docker.com/engine/install/ubuntu/
Set up Docker’s apt repository.

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Install the latest version

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Основные команды Docker:
docker images — выводит список образов, которые загружаются или создаются на хосте Docker
docker pull — загружает образы из удалённого репозитория Docker Hub
docker run — запускает образ Docker в качестве контейнера
docker ps — выводит список всех контейнеров, запущенных на хосте Docker
docker start — запускает остановленный контейнер
docker stop — останавливает работающий контейнер
docker restart — перезапускает контейнер
docker rm — удаляет один или несколько контейнеров, которые уже остановлены
docker pull — загружает образы из удалённого репозитория Docker Hub

Ранее Ctrl + ↓