104 řádky
3.0 KiB
Markdown
104 řádky
3.0 KiB
Markdown
# czchan
|
|
|
|
100% český imidžbórdový skript
|
|
|
|
> 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 nekrochan psql -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`.
|