Žijí v mých zdech
Tento commit je obsažen v:
rodič
d93605ab27
revize
02f51b49be
98
README.md
98
README.md
@ -3,101 +3,3 @@
|
|||||||
100% český imidžbórdový skript
|
100% český imidžbórdový skript
|
||||||
|
|
||||||
> 100% český přestože je kód anglicky...
|
> 100% český přestože je kód anglicky...
|
||||||
|
|
||||||
Brzy dostupný na https://czchan.org/.
|
|
||||||
|
|
||||||
## Tutoriál nebo něco
|
|
||||||
|
|
||||||
Pravděpodobně to běží jenom na Linuxu, ale nikdo na serverech Windows stejně nepoužívá. Tutoriál počítá se systémem Ubuntu a je možné, že je nekompletní.
|
|
||||||
|
|
||||||
### Nainstaluj Rust
|
|
||||||
|
|
||||||
Ne, nejsem transka (zatím).
|
|
||||||
|
|
||||||
```
|
|
||||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
|
||||||
```
|
|
||||||
|
|
||||||
### Nainstaluj ostatní požadavky
|
|
||||||
|
|
||||||
```
|
|
||||||
# Potřebné ke kompilaci
|
|
||||||
sudo apt install binutils build-essential libssl-dev libpq-dev postgresql
|
|
||||||
# Potřebné k funkci
|
|
||||||
sudo apt install imagemagick ffmpeg
|
|
||||||
```
|
|
||||||
|
|
||||||
### Vytvoř databázi
|
|
||||||
|
|
||||||
```
|
|
||||||
sudo adduser nekrochan --system --disabled-login --no-create-home --group
|
|
||||||
sudo passwd nekrochan # Nastavíme heslo pro systémového uživatele
|
|
||||||
sudo -iu postgres psql -c "CREATE USER nekrochan WITH PASSWORD 'password';"
|
|
||||||
sudo -iu postgres psql -c "CREATE DATABASE nekrochan WITH OWNER nekrochan;"
|
|
||||||
```
|
|
||||||
|
|
||||||
### Automatická konfigurace
|
|
||||||
|
|
||||||
```
|
|
||||||
chmod +x ./configure.sh
|
|
||||||
./configure.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
### Nastartuj server
|
|
||||||
|
|
||||||
```
|
|
||||||
cargo run --release
|
|
||||||
```
|
|
||||||
|
|
||||||
### Vytvoř nástěnku
|
|
||||||
|
|
||||||
Po kompilaci by se měl spustit server na https://localhost:7000/. Stránka ti pravděpodobně řekne, že ještě nebyla inicializována domovní stránka. Je potřeba vytvořit nástěnku. Nejdříve je ale potřeba vytvořit administátorský účet.
|
|
||||||
|
|
||||||
Heslo v příkladu je "password", můžeš použít příklad a heslo změnit potom v administrátorském rozhraní.
|
|
||||||
|
|
||||||
```
|
|
||||||
sudo -iu postgres psql -d nekrochan -c "INSERT INTO accounts (username, password, owner, permissions) VALUES ('admin', '$2y$10$jHl27pbYNvgpQxksmF.N/O0IHrfFBDY1Tg/qBX/UwrMa3j7owkiQm', true, '131072'::jsonb);"
|
|
||||||
```
|
|
||||||
|
|
||||||
Po příkazu budeš muset restartovat server, aby se změna projevila v mezipaměti.
|
|
||||||
|
|
||||||
Nástěnka lze vytvořit po přihlášení na https://localhost:7000/login na stránce https://localhost:7000/staff/boards
|
|
||||||
|
|
||||||
### Automatický start
|
|
||||||
|
|
||||||
Nejprve vytvoříme složku pro nekrochan a zkopírujeme tam potřebné soubory.
|
|
||||||
|
|
||||||
```
|
|
||||||
sudo mkdir -p /srv/nekrochan
|
|
||||||
sudo chown nekrochan:nekrochan /srv/nekrochan
|
|
||||||
sudo cp -r ./target/release/nekrochan Nekrochan.toml ./pages ./static ./uploads /srv/nekrochan/
|
|
||||||
```
|
|
||||||
|
|
||||||
Nyní vytvoříme skript pro systemd, aby server automaticky nastartovat po zapnutí počítače. Uložíme ho jako `/etc/systemd/system/nekrochan.service`.
|
|
||||||
|
|
||||||
```
|
|
||||||
[Unit]
|
|
||||||
Description=Nekrochan
|
|
||||||
After=network.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
User=nekrochan
|
|
||||||
ExecStart=/srv/nekrochan/nekrochan
|
|
||||||
WorkingDirectory=/srv/nekrochan
|
|
||||||
Environment=RUST_LOG="info"
|
|
||||||
Restart=on-failure
|
|
||||||
|
|
||||||
ProtectSystem=yes
|
|
||||||
PrivateTmp=true
|
|
||||||
MemoryDenyWriteExecute=true
|
|
||||||
NoNewPrivileges=true
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
```
|
|
||||||
|
|
||||||
### Další konfigurace
|
|
||||||
|
|
||||||
Většinu možností najdeš v souboru `Nekrochan.toml`. Vlastní stránky (např. pravidla, faq apod.) můžeš nahrávat do složky `pages`.
|
|
||||||
|
|
||||||
Také budeš pravděpodobně chtít nastavit reverzní proxy, např. NGINX. IP adresu posílej serveru v hlavičce `X-Forwarded-For` a kód země (potřebný pro vlajky) v hlavičce `X-Country-Code`.
|
|
||||||
|
Načítá se…
Odkázat v novém úkolu
Zablokovat Uživatele