Skip to content
Cette page a été générée et traduite avec l'aide de l'IA. Si vous remarquez des inexactitudes, n'hésitez pas à contribuer. Modifier sur GitHub

Installation

PRX-WAF prend en charge trois méthodes d'installation. Choisissez celle qui convient le mieux à votre flux de travail.

Recommandé

Docker Compose est le moyen le plus rapide de démarrer. Il lance PRX-WAF, PostgreSQL et l'interface d'administration en une seule commande.

Prérequis

ExigenceMinimumNotes
Système d'exploitationLinux (x86_64, aarch64), macOS (12+)Windows via WSL2
PostgreSQL16+Inclus dans Docker Compose
Rust (compilation depuis sources uniquement)1.82.0Non nécessaire pour l'installation Docker
Node.js (compilation de l'interface d'administration uniquement)18+Non nécessaire pour l'installation Docker
Docker20.10+Ou Podman 3.0+
Espace disque500 Mo~100 Mo binaire + ~400 Mo données PostgreSQL
RAM512 Mo2 Go+ recommandé pour la production

Méthode 1 : Docker Compose (Recommandé)

Clonez le dépôt et démarrez tous les services avec Docker Compose :

bash
git clone https://github.com/openprx/prx-waf
cd prx-waf

# Examinez et modifiez les variables d'environnement dans docker-compose.yml
# (mot de passe de base de données, identifiants admin, ports d'écoute)
docker compose up -d

Cela démarre trois conteneurs :

ConteneurPortDescription
prx-waf80, 443Proxy inverse (HTTP + HTTPS)
prx-waf9527API d'administration + Interface Vue 3
postgres5432Base de données PostgreSQL 16

Vérifiez le déploiement :

bash
# Vérifier l'état des conteneurs
docker compose ps

# Vérifier le point de terminaison de santé
curl http://localhost:9527/health

Ouvrez l'interface d'administration à http://localhost:9527 et connectez-vous avec les identifiants par défaut : admin / admin.

Changer le mot de passe par défaut

Changez le mot de passe admin par défaut immédiatement après la première connexion. Allez dans Paramètres > Compte dans l'interface d'administration ou utilisez l'API.

Docker Compose avec Podman

Si vous utilisez Podman au lieu de Docker :

bash
podman-compose up -d --build

DNS Podman

Lors de l'utilisation de Podman, l'adresse du résolveur DNS pour la communication inter-conteneurs est 10.89.0.1 au lieu du 127.0.0.11 de Docker. Le fichier docker-compose.yml inclus gère cela automatiquement.

Méthode 2 : Installation Cargo

Si vous avez Rust installé, vous pouvez installer PRX-WAF depuis le dépôt :

bash
git clone https://github.com/openprx/prx-waf
cd prx-waf
cargo build --release

Le binaire se trouve à target/release/prx-waf. Copiez-le dans votre PATH :

bash
sudo cp target/release/prx-waf /usr/local/bin/prx-waf

Dépendances de compilation

La compilation Cargo compile les dépendances natives. Sur Debian/Ubuntu, vous pourriez avoir besoin :

bash
sudo apt install -y build-essential pkg-config libssl-dev

Sur macOS, les Xcode Command Line Tools sont nécessaires :

bash
xcode-select --install

Configuration de la base de données

PRX-WAF nécessite une base de données PostgreSQL 16+ :

bash
# Créer la base de données et l'utilisateur
createdb prx_waf
createuser prx_waf

# Exécuter les migrations
./target/release/prx-waf -c configs/default.toml migrate

# Créer l'utilisateur admin par défaut (admin/admin)
./target/release/prx-waf -c configs/default.toml seed-admin

Démarrer le serveur

bash
./target/release/prx-waf -c configs/default.toml run

Cela démarre le proxy inverse sur les ports 80/443 et l'API d'administration sur le port 9527.

Méthode 3 : Compilation depuis les sources (Développement)

Pour le développement avec rechargement en direct de l'interface d'administration :

bash
git clone https://github.com/openprx/prx-waf
cd prx-waf

# Compiler le backend Rust
cargo build

# Compiler l'interface d'administration
cd web/admin-ui
npm install
npm run build
cd ../..

# Démarrer le serveur de développement
cargo run -- -c configs/default.toml run

Compiler l'interface d'administration pour la production

bash
cd web/admin-ui
npm install
npm run build

Les fichiers compilés sont intégrés dans le binaire Rust au moment de la compilation et servis par le serveur API.

Service systemd

Pour les déploiements de production sur métal nu, créez un service systemd :

ini
# /etc/systemd/system/prx-waf.service
[Unit]
Description=PRX-WAF Web Application Firewall
After=network.target postgresql.service

[Service]
Type=simple
User=prx-waf
ExecStart=/usr/local/bin/prx-waf -c /etc/prx-waf/config.toml run
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
bash
sudo systemctl enable --now prx-waf
sudo systemctl status prx-waf

Vérifier l'installation

Après l'installation, vérifiez que PRX-WAF est en cours d'exécution :

bash
# Vérifier le point de terminaison de santé
curl http://localhost:9527/health

# Vérifier l'interface d'administration
curl -s http://localhost:9527 | head -5

Connectez-vous à l'interface d'administration à http://localhost:9527 pour vérifier que le tableau de bord se charge correctement.

Étapes suivantes

Released under the Apache-2.0 License.