vji:wikijs:start
Различия
Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
vji:wikijs:start [2025/07/23 08:08] – создано vji | vji:wikijs:start [2025/07/23 08:19] (текущий) – vji | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | Полное руководство по развертыванию Wiki.js с HTTPS через Nginx (самоподписанные сертификаты) | + | ====== |
- | 1. Подготовка сервера | + | |
- | 1.1. Обновление системы | + | ===== 1. Подготовка сервера |
+ | |||
+ | ==== 1.1. Обновление системы | ||
+ | < | ||
sudo apt update && sudo apt dist-upgrade -y | sudo apt update && sudo apt dist-upgrade -y | ||
sudo reboot | sudo reboot | ||
- | 1.2. Установка зависимостей | + | </ |
+ | |||
+ | ==== 1.2. Установка зависимостей | ||
+ | < | ||
sudo apt install -y docker docker-compose nginx openssl | sudo apt install -y docker docker-compose nginx openssl | ||
- | 2. Настройка Wiki.js | + | </ |
- | 2.1. Создание секрета для БД | + | ===== 2. Настройка Wiki.js |
+ | |||
+ | ==== 2.1. Создание секрета для БД ==== | ||
+ | < | ||
sudo mkdir -p /etc/wiki | sudo mkdir -p /etc/wiki | ||
sudo openssl rand -base64 32 > / | sudo openssl rand -base64 32 > / | ||
sudo chmod 600 / | sudo chmod 600 / | ||
- | 2.2. Создание Docker-сети и тома | + | </ |
+ | ==== 2.2. Создание Docker-сети и тома | ||
+ | < | ||
docker network create wikinet | docker network create wikinet | ||
docker volume create pgdata | docker volume create pgdata | ||
- | 2.3. Запуск контейнеров Wiki.js | + | </ |
+ | ==== 2.3. Запуск контейнеров Wiki.js | ||
+ | < | ||
docker run -d --name=db \ | docker run -d --name=db \ | ||
-e POSTGRES_DB=wiki \ | -e POSTGRES_DB=wiki \ | ||
Строка 24: | Строка 37: | ||
| | ||
| | ||
+ | </ | ||
+ | < | ||
docker run -d --name=wiki \ | docker run -d --name=wiki \ | ||
-e DB_TYPE=postgres \ | -e DB_TYPE=postgres \ | ||
Строка 36: | Строка 51: | ||
| | ||
| | ||
+ | </ | ||
+ | < | ||
docker run -d --name=wiki-update-companion \ | docker run -d --name=wiki-update-companion \ | ||
-v / | -v / | ||
Строка 41: | Строка 58: | ||
| | ||
| | ||
- | 3. Настройка Nginx + HTTPS | + | </ |
- | 3.1. Генерация SSL-сертификатов | + | ===== 3. Настройка Nginx + HTTPS ===== |
- | sudo mkdir -p / | + | |
+ | ==== 3.1. Генерация SSL-сертификатов | ||
+ | < | ||
+ | sudo mkdir -p / | ||
+ | </ | ||
+ | < | ||
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ | sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ | ||
- | | + | |
- | -out / | + | -out / |
- | -subj "/CN=wikibssz.test" \ | + | -subj "/CN=wiki.test" \ |
- | | + | |
- | sudo chmod 644 / | + | </ |
- | 3.2. Создание конфига Nginx | + | < |
- | sudo tee / | + | sudo chmod 644 / |
+ | </ | ||
+ | ==== 3.2. Создание конфига Nginx ==== | ||
+ | < | ||
+ | sudo tee / | ||
server { | server { | ||
| | ||
- | | + | |
| | ||
} | } | ||
Строка 60: | Строка 86: | ||
server { | server { | ||
| | ||
- | | + | |
- | | + | |
- | | + | |
| | ||
Строка 74: | Строка 100: | ||
} | } | ||
EOF | EOF | ||
- | 3.3. Запуск Nginx в Docker | + | </ |
+ | ==== 3.3. Запуск Nginx в Docker | ||
+ | < | ||
docker run -d --name=nginx-proxy \ | docker run -d --name=nginx-proxy \ | ||
-p 80:80 \ | -p 80:80 \ | ||
Строка 83: | Строка 111: | ||
| | ||
| | ||
- | 4. Проверка работы | + | </ |
- | 4.1. Добавление домена в hosts (если нужно) | + | ===== 4. Проверка работы |
- | echo " | + | |
- | 4.2. Проверка доступности | + | ==== 4.1. Добавление домена в hosts (если нужно) |
- | curl -vk https://wikibssz.test | + | < |
- | 4.3. Проверка логов | + | echo " |
+ | </ | ||
+ | ==== 4.2. Проверка доступности | ||
+ | < | ||
+ | curl -vk https://wiki.test | ||
+ | </ | ||
+ | ==== 4.3. Проверка логов | ||
+ | < | ||
docker logs nginx-proxy | docker logs nginx-proxy | ||
docker logs wiki | docker logs wiki | ||
- | 5. Дополнительные настройки | + | </ |
- | 5.1. Открытие портов в фаерволе | + | ===== 5. Дополнительные настройки |
+ | |||
+ | ==== 5.1. Открытие портов в Firewall | ||
+ | < | ||
sudo ufw allow 80/tcp | sudo ufw allow 80/tcp | ||
sudo ufw allow 443/tcp | sudo ufw allow 443/tcp | ||
- | 5.2. Настройка автоматического обновления сертификатов | + | </ |
+ | ==== 5.2. Настройка автоматического обновления сертификатов | ||
+ | | ||
+ | < | ||
sudo crontab -e | sudo crontab -e | ||
+ | </ | ||
Добавить строку: | Добавить строку: | ||
+ | < | ||
+ | @monthly openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout / | ||
+ | </ | ||
+ | ===== 7. Готово! ===== | ||
- | @monthly openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout / | ||
- | 7. Готово! | ||
- | |||
- | Wiki.js теперь доступен по: | ||
- | HTTP: http:// | + | ---- |
- | HTTPS: https://wikibssz.test | + | >Wiki.js теперь доступен по: |
+ | >HTTP: http:// | ||
+ | >HTTPS: https://wiki.test | ||
- | Для доступа с других устройств добавьте запись в их файл `hosts`: | + | ---- |
- | < | + | >Для доступа с других устройств добавьте запись в их файл `hosts`: |
+ | >< |
vji/wikijs/start.1753258104.txt.gz · Последнее изменение: 2025/07/23 08:08 — vji