В статье рассмотрена установка и настройка своего хранилища паролей vaultwarden.
Заранее должны быть установленs DNS-сервер и LetsEncrypt. Сертификаты на домен и поддомены также должны получены.
1. На момент осени 2024 года, ядро должно быть собрано с options COMPAT_FREEBSD11. Это надо, чтобы собрался rust.
2. Apache должен быть собран с опциями proxy_module, proxy_http_module, proxy_wstunnel_module.
В httpd.conf добавьте:
# Настройки для vaultwarden
LoadModule proxy_module libexec/apache24/mod_proxy.so
LoadModule proxy_http_module libexec/apache24/mod_proxy_http.so
LoadModule proxy_wstunnel_module libexec/apache24/mod_proxy_wstunnel.so
Виртуальный хост будет иметь адрес warden.fbsd.site
<VirtualHost *:443>
ProxyPreserveHost On
ProxyRequests Off
ServerName warden.fbsd.site
DocumentRoot "/usr/local/www/vaultwarden/web-vault"
ProxyPass / http://127.0.0.1:30000/
ProxyPassReverse / http://127.0.0.1:30000/
ErrorLog "/var/log/apache/vw.fbsd.site-error.log"
Include /usr/local/etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /usr/local/etc/letsencrypt/live/fbsd.site/fullchain.pem
SSLCertificateKeyFile /usr/local/etc/letsencrypt/live/fbsd.site/privkey.pem
</VirtualHost>
Перезапускаем апач
3. Установка и настройка Vaultwarden.
Сама софтина находится в /usr/ports/security/vaultwarden. Собирайте с поддержкой web-vault и sqlite.
Создаём и редактируем конфиг.
# cd /usr/local/etc/rc.conf.d
# cp vaultwarden.sample vaultwarden
# openssl rand -base64 48
Вывод команды сохраняем в буфер обмена.
Изменяем нужные нам параметры:
# Прописываем нужный порт. Такой же надо будет вписать в ProxyPass и ProxyPassReverse виртуального хоста.
ROCKET_PORT=30000 # your port here
export ROCKET_PORT
# Прописываем пути в сертификату и ключу, ранее полученных через LetsEncrypt
ROCKET_TLS='{certs = "/usr/local/etc/letsencrypt/live/fbsd.site/fullchain.pem", key = "/usr/local/etc/letsencrypt/live/fbsd.site/key.pem"}'
SIGNUPS_ALLOWED='true'
export SIGNUPS_ALLOWED
DOMAIN='https://warden.fbsd.site'
export DOMAIN
ADMIN_TOKEN=ключ, который вы получили командой openssl rand -base64 48
export ADMIN_TOKEN
Остальное можно оставить как было.
В /etc/rc.conf прописываем vaultwarden_enable="YES" и запускаем сервис:# cd /usr/local/etc/rc.d
# ./vaultwarden start
4. Заходите в https://warden.fbsd.site и нажимаете на "Создать аккаунт". Создаёте и входите с ним.
Всё