Parcours ORKA · Déploiement
Déployer une plateforme ORKA
De la machine virtuelle Debian fraîchement installée à une plateforme ORKA complète, accessible sur votre réseau local et prête à accueillir vos utilisateurs.
Votre objectif
Ce que vous allez construire
Nous allons partir d’une VM Debian presque vide et ajouter chaque composant dans l’ordre où ORKA en a besoin.
Étape 1
Préparer la machine virtuelle
Le parcours commence après l’installation de Debian. Votre hyperviseur peut être VMware, Proxmox, Hyper-V, Nutanix ou toute autre solution capable d’héberger une VM Linux.
ORKA dispose ainsi de ses propres ressources, de son propre système et de règles réseau clairement identifiables. Les sauvegardes, mises à jour et opérations de maintenance deviennent également plus simples à maîtriser.
Configuration recommandée
Les besoins réels dépendent du nombre d’utilisateurs, du volume de documents et de votre politique de rétention. Commencez simplement, puis mesurez avant d’augmenter les ressources.
Informations à réunir avant de commencer
Étape 2
Comprendre ce que vous allez installer
ORKA n’est pas un programme isolé. La plateforme repose sur plusieurs composants, chacun ayant une responsabilité précise.
NGINX est le seul service applicatif visible par les utilisateurs. PHP-FPM et MariaDB restent accessibles uniquement depuis la VM.
Le navigateur parle à NGINX. NGINX transmet les traitements dynamiques à PHP-FPM. Symfony interroge MariaDB. Chaque brique reste à sa place.
Étape 3
Se connecter à Debian
Depuis votre poste d’administration, ouvrez un terminal puis connectez-vous avec l’utilisateur créé pendant l’installation de Debian.
ssh Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
Résultat attendu
Linux orka01 6.x-amd64
administrateur@orka01:~$
Utilisez un compte nominatif membre du groupe sudo. Vous conserverez
ainsi une meilleure traçabilité des opérations d’administration.
Étape 4
Préparer le système
Une installation fraîche peut déjà contenir des paquets devenus obsolètes depuis la publication de l’image ISO. La première opération consiste donc à mettre le système à jour.
sudo apt update
sudo apt full-upgrade -y
sudo apt autoremove --purge -y
Installer les outils de base
sudo apt install -y \
curl \
wget \
git \
unzip \
nano \
ca-certificates \
gnupg \
lsb-release \
acl \
ufw
Configurer le nom de la machine
sudo hostnamectl set-hostname orka01
hostnamectl
Demandez par exemple la création de orka.exemple.lan pointant vers
l’adresse IP de la VM. Vos utilisateurs n’auront pas à mémoriser une adresse IP.
Debian est à jour, les outils nécessaires sont présents et la VM possède un nom clairement identifiable sur votre infrastructure.
Étape 5
Configurer le pare-feu de la VM
Le pare-feu applique une règle simple : refuser par défaut les connexions entrantes, puis autoriser uniquement les services nécessaires.
Une mauvaise règle pourrait interrompre votre session distante. Adaptez
192.168.10.0/24 au véritable sous-réseau d’administration.
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow from 192.168.10.0/24 to any port 22 proto tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
Vérification
sudo ufw status verbose
Ouvrez ensuite une seconde session SSH avant de fermer la première. Vous confirmez ainsi que la règle d’administration fonctionne réellement.
Étape 6
Installer et sécuriser MariaDB
Les risques, incidents, audits, applications et paramètres sont enregistrés dans la base. L’application utilisera un compte SQL dédié, limité à la seule base ORKA.
sudo apt install -y mariadb-server mariadb-client
sudo systemctl enable --now mariadb
sudo systemctl status mariadb --no-pager
Sécuriser l’installation
sudo mariadb-secure-installation
Retenez les choix suivants :
Créer la base et l’utilisateur ORKA
Utilisez un secret long, aléatoire et conservé dans votre coffre-fort de mots de passe.
sudo mariadb
CREATE DATABASE orka
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE USER 'orka_user'@'localhost'
IDENTIFIED BY 'REMPLACEZ_PAR_UN_SECRET_LONG';
GRANT ALL PRIVILEGES ON orka.*
TO 'orka_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Vérifier que MariaDB reste locale
sudo ss -lntp | grep 3306
Le service doit écouter sur 127.0.0.1:3306 ou ne pas exposer
0.0.0.0:3306.
MariaDB est démarrée, sécurisée et prête à recevoir uniquement les données d’ORKA avec un compte applicatif dédié.
Étape 7
Installer PHP-FPM
NGINX reçoit la requête puis la confie à PHP-FPM. PHP-FPM exécute Symfony, produit une réponse et la retourne à NGINX, qui la transmet au navigateur.
sudo apt install -y \
php8.4 \
php8.4-cli \
php8.4-fpm \
php8.4-mysql \
php8.4-curl \
php8.4-xml \
php8.4-mbstring \
php8.4-intl \
php8.4-bcmath \
php8.4-zip \
php8.4-gd \
php8.4-ldap \
php8.4-opcache
Configurer les limites utiles à ORKA
sudo nano /etc/php/8.4/fpm/php.ini
memory_limit = 256M
upload_max_filesize = 50M
post_max_size = 50M
max_execution_time = 120
date.timezone = Europe/Paris
sudo systemctl restart php8.4-fpm
sudo systemctl enable php8.4-fpm
php -v
sudo systemctl status php8.4-fpm --no-pager
Le fichier /etc/php/8.4/fpm/php.ini concerne le site Web.
Le fichier /etc/php/8.4/cli/php.ini concerne les commandes lancées
depuis le terminal.
Étape 8
Installer Composer
Composer télécharge les bibliothèques PHP déclarées par ORKA. Symfony s’appuie sur ces composants pour fonctionner.
cd /tmp
curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php8.4 composer-setup.php \
--install-dir=/usr/local/bin \
--filename=composer
rm composer-setup.php
Vérifiez la signature de l’installateur avec le condensat publié par Composer avant son exécution. Cette vérification pourra également être intégrée à votre procédure d’industrialisation.
composer --version
Étape 9
Installer Node.js
Il sert principalement à transformer le code Vue.js en fichiers statiques optimisés. Une fois le frontend construit, NGINX sert directement ces fichiers.
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
node -v
npm -v
Si votre paquet de distribution contient déjà le dossier
frontend/dist, Node.js n’est pas indispensable à l’exécution.
Il reste néanmoins utile pour reconstruire le frontend lors de certaines mises à jour.
Étape 10
Installer NGINX
NGINX est l’accueil de votre plateforme. Il reçoit les utilisateurs, sert l’interface Vue.js et transmet les requêtes applicatives à PHP-FPM.
sudo apt install -y nginx
sudo systemctl enable --now nginx
sudo nginx -t
sudo systemctl status nginx --no-pager
À ce stade, l’adresse IP de la VM doit afficher la page d’accueil par défaut de NGINX. Ce test confirme que le serveur Web écoute correctement.
Étape 11
Déployer ORKA
Créer le répertoire de la plateforme
sudo mkdir -p /var/www/orka
sudo chown -R "$USER":www-data /var/www/orka
sudo chmod 2755 /var/www/orka
Copier puis décompresser l’archive
sudo cp ~/orka-v1.zip /var/www/orka/
cd /var/www/orka
unzip orka-v1.zip
rm orka-v1.zip
/var/www/orka
├── backend
│ ├── bin
│ ├── config
│ ├── public
│ ├── src
│ └── var
└── frontend
├── src
└── dist
Installer le backend Symfony
cd /var/www/orka/backend
APP_ENV=prod composer install \
--no-dev \
--optimize-autoloader \
--no-interaction
Construire le frontend
cd /var/www/orka/frontend
cp .env.production.example .env.production
nano .env.production
npm ci
npm run build
npm ci lorsque le fichier package-lock.json est fourni
Cette commande installe exactement les versions de dépendances validées lors de la construction de la version ORKA.
Appliquer des permissions maîtrisées
sudo chown -R "$USER":www-data /var/www/orka
sudo find /var/www/orka -type d -exec chmod 2755 {} \;
sudo find /var/www/orka -type f -exec chmod 0644 {} \;
sudo mkdir -p /var/www/orka/backend/var
sudo chown -R www-data:www-data /var/www/orka/backend/var
sudo find /var/www/orka/backend/var -type d -exec chmod 2770 {} \;
sudo find /var/www/orka/backend/var -type f -exec chmod 0660 {} \;
Si votre version d’ORKA utilise un répertoire distinct pour les documents,
appliquez-lui également un propriétaire www-data et des permissions
d’écriture limitées au service Web.
Étape 12
Publier ORKA avec NGINX
La configuration suivante sert le frontend Vue.js et transmet les routes
/api et /install au contrôleur Symfony.
sudo nano /etc/nginx/sites-available/orka.conf
server {
listen 80;
listen [::]:80;
server_name orka.exemple.lan;
root /var/www/orka/frontend/dist;
index index.html;
client_max_body_size 50M;
access_log /var/log/nginx/orka_access.log;
error_log /var/log/nginx/orka_error.log;
# Interface Vue.js
location / {
try_files $uri $uri/ /index.html;
}
# API Symfony
location ^~ /api {
try_files "" @orka_backend;
}
# Assistant d’installation ORKA
location ^~ /install {
try_files "" @orka_backend;
}
# Fichiers publics éventuellement servis par Symfony
location ^~ /uploads {
alias /var/www/orka/backend/public/uploads;
try_files $uri @orka_backend;
}
# Contrôleur frontal Symfony
location @orka_backend {
include fastcgi_params;
fastcgi_pass unix:/run/php/php8.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME /var/www/orka/backend/public/index.php;
fastcgi_param DOCUMENT_ROOT /var/www/orka/backend/public;
fastcgi_param SCRIPT_NAME /index.php;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param HTTPS $https if_not_empty;
}
# Aucun fichier PHP ne doit être exécuté directement
location ~ \.php$ {
return 404;
}
# Protection des fichiers cachés, sauf ACME
location ~ /\.(?!well-known).* {
deny all;
}
}
Si le paquet fourni utilise d’autres chemins publics, ajoutez-les explicitement
avant le bloc location /. N’exposez jamais l’intégralité du dossier
backend.
Activer le site
sudo ln -s /etc/nginx/sites-available/orka.conf \
/etc/nginx/sites-enabled/orka.conf
sudo rm -f /etc/nginx/sites-enabled/default
sudo nginx -t
sudo systemctl reload nginx
Résultat attendu
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
NGINX connaît maintenant ORKA. Il sert l’interface Web, transmet les appels applicatifs à PHP-FPM et conserve des journaux séparés.
Étape 13
Activer HTTPS sur le réseau local
Même sur un VLAN interne, HTTPS protège les identifiants, les sessions et les données échangées entre les navigateurs et ORKA.
Installer un certificat fourni par votre PKI
sudo install -d -m 0750 -o root -g www-data /etc/nginx/tls/orka
sudo install -m 0644 orka.exemple.lan.crt \
/etc/nginx/tls/orka/orka.crt
sudo install -m 0640 orka.exemple.lan.key \
/etc/nginx/tls/orka/orka.key
Configurer la redirection HTTP vers HTTPS
server {
listen 80;
listen [::]:80;
server_name orka.exemple.lan;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name orka.exemple.lan;
ssl_certificate /etc/nginx/tls/orka/orka.crt;
ssl_certificate_key /etc/nginx/tls/orka/orka.key;
# Reprendre ici les blocs root, location et logs
# de la configuration ORKA précédente.
}
sudo nginx -t
sudo systemctl reload nginx
curl -Ik https://orka.exemple.lan
La validation HTTP nécessite généralement que le serveur soit joignable depuis Internet. La validation DNS peut éviter cette exposition, mais demande un domaine public et la maîtrise de sa zone DNS.
Étape 14
Et si votre entreprise possède déjà un reverse proxy ?
Certaines organisations centralisent toutes les publications Web sur un équipement dédié : NGINX, HAProxy, Apache, F5, FortiWeb, Traefik ou une passerelle applicative. Dans ce cas, la VM ORKA reste sur son VLAN et le frontal d’entreprise lui transmet les connexions.
Le TLS peut être terminé sur le reverse proxy central, puis réémis vers ORKA. Pour une défense en profondeur, conservez également HTTPS entre le frontal et la VM.
Exemple de frontal NGINX externe
server {
listen 443 ssl;
server_name orka.exemple.fr;
ssl_certificate /etc/nginx/tls/orka/fullchain.pem;
ssl_certificate_key /etc/nginx/tls/orka/privkey.pem;
location / {
proxy_pass https://192.168.20.40;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 10s;
proxy_read_timeout 120s;
}
}
Autorisez le port 443 de la VM ORKA uniquement depuis l’adresse du reverse proxy central, tout en conservant SSH depuis le VLAN d’administration.
sudo ufw delete allow 443/tcp
sudo ufw allow from 192.168.20.10 to any port 443 proto tcp
sudo ufw status numbered
Le client reste libre de choisir son architecture. ORKA fonctionne directement sur le réseau local ou derrière le dispositif de publication déjà en place.
Étape 15
Vérifier la plateforme
Une installation n’est terminée que lorsque chaque composant a été contrôlé indépendamment, puis dans son fonctionnement global.
Contrôler les services
sudo systemctl is-active nginx
sudo systemctl is-active php8.4-fpm
sudo systemctl is-active mariadb
sudo nginx -t
sudo ufw status verbose
sudo ss -lntp
Consulter les journaux
sudo tail -n 100 /var/log/nginx/orka_error.log
sudo journalctl -u php8.4-fpm -n 100 --no-pager
sudo journalctl -u mariadb -n 100 --no-pager
sudo tail -n 100 /var/www/orka/backend/var/log/prod.log
Terminer avec l’assistant ORKA
Assistant d’installation
Configurez la connexion SQL, créez le premier administrateur et finalisez l’installation de la plateforme.
Vérifiez la présence du verrou d’installation et assurez-vous que l’assistant ne peut plus être relancé sans action volontaire de l’administrateur.
Parcours terminé
Votre plateforme ORKA est prête
Vous êtes parti d’une VM Debian presque vide. Vous disposez maintenant d’une plateforme Web complète, cloisonnée et accessible à vos utilisateurs.
Ce que vous avez appris
Comprendre le rôle de Debian, NGINX, PHP-FPM, Symfony et MariaDB.
Limiter les flux réseau grâce au pare-feu local.
Déployer une application Vue.js et Symfony sur une VM Linux.
Publier ORKA directement sur un VLAN ou derrière un reverse proxy.
Chiffrer les échanges avec un certificat adapté à votre organisation.
Vérifier chaque service et retrouver les journaux utiles au diagnostic.
Vous n’avez pas seulement installé ORKA. Vous avez compris comment construire une plateforme Linux moderne et vous savez désormais où intervenir pour l’exploiter.
Poursuivre