Инструменты пользователя

Инструменты сайта


vji:wikijs:start

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki