Il y avait deux dépôts d'infrastructure et aucune frontière entre eux. La seule distinction défendable — « documentation » d'un côté, « fichiers de configuration » de l'autre — ne tenait plus : infra avait fini par contenir plus de documentation qu'owni, pendant qu'owni décrivait du concret (IP, bases, comptes). Tout vient donc ici : conf/ (vhosts de référence), dns/ (export de zone), services/ (units systemd), scripts/ (sauvegarde) et docs/ (courrier sortant, certificats, sauvegardes, et le déploiement par service). Dans ce sens plutôt que l'inverse parce qu'« owni » nomme la machine, là où « infra » ne dit pas de quoi il s'agit — et c'est le nom que Cédric emploie spontanément, y compris pour le dossier de secrets. Les renvois croisés entre les deux dépôts deviennent des liens internes : un lien vers un dépôt qu'on s'apprête à archiver aurait pourri en silence. Reste une incohérence, signalée plutôt que corrigée à la hâte : docs/admin.md, static.md, wiki.md, dynamic.md et proxy-calendar.md décrivent le déploiement de sites, pas la machine. Ils ont la même place ici que celle que la messagerie n'avait pas — ils devraient rejoindre leurs dépôts. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SFbwnJurBwTs7x7t93ecku
67 lines
2.9 KiB
Text
67 lines
2.9 KiB
Text
# Apache vhost pour alpinux.org (page d'accueil)
|
|
# À créer via ISPConfig : Sites > Ajouter un site web
|
|
# Domaine : alpinux.org + www.alpinux.org | DocumentRoot : /var/www/clients/client1/web1/web
|
|
#
|
|
# Ce vhost gère également la migration SEO depuis l'ancienne infra (DokuWiki)
|
|
# vers la nouvelle (wiki.alpinux.org + alpinux.org)
|
|
|
|
<VirtualHost *:80>
|
|
ServerName alpinux.org
|
|
ServerAlias www.alpinux.org
|
|
Redirect permanent / https://alpinux.org/
|
|
</VirtualHost>
|
|
|
|
<VirtualHost *:443>
|
|
ServerName alpinux.org
|
|
ServerAlias www.alpinux.org
|
|
DocumentRoot /var/www/clients/client1/web1/web
|
|
|
|
# ── Redirections www → sans-www ─────────────────────────────────
|
|
RewriteEngine On
|
|
RewriteCond %{HTTP_HOST} ^www\.alpinux\.org$ [NC]
|
|
RewriteRule ^ https://alpinux.org%{REQUEST_URI} [R=301,L]
|
|
|
|
# ── Migration SEO : anciennes URLs DokuWiki ──────────────────────
|
|
# L'ancien wiki tournait sur DokuWiki avec des URLs de type :
|
|
# /doku.php?id=namespace:page
|
|
# /wiki/doku.php?id=namespace:page
|
|
#
|
|
# Les deux-points (:) sont encodés %3A dans les query strings.
|
|
# On redirige vers wiki.alpinux.org avec des URLs propres.
|
|
|
|
# /doku.php?id=start → wiki.alpinux.org/
|
|
RewriteCond %{QUERY_STRING} ^id=start$ [NC]
|
|
RewriteRule ^/doku\.php$ https://wiki.alpinux.org/ [R=301,L]
|
|
|
|
# /doku.php?id=alpinux:start → wiki.alpinux.org/alpinux/
|
|
RewriteCond %{QUERY_STRING} ^id=alpinux(%3A|:)start$ [NC]
|
|
RewriteRule ^/doku\.php$ https://wiki.alpinux.org/alpinux/ [R=301,L]
|
|
|
|
# /doku.php?id=namespace:page → wiki.alpinux.org/namespace/page/
|
|
# Capture générique : transforme les ":" en "/" dans le chemin
|
|
RewriteCond %{QUERY_STRING} ^id=([a-z0-9_-]+)(%3A|:)([a-z0-9_-]+)$ [NC]
|
|
RewriteRule ^/doku\.php$ https://wiki.alpinux.org/%1/%3/ [R=301,L,NE]
|
|
|
|
# /doku.php?id=page (namespace racine) → wiki.alpinux.org/page/
|
|
RewriteCond %{QUERY_STRING} ^id=([a-z0-9_-]+)$ [NC]
|
|
RewriteRule ^/doku\.php$ https://wiki.alpinux.org/%1/ [R=301,L,NE]
|
|
|
|
# /wiki/* → wiki.alpinux.org/* (si l'ancien wiki était monté en sous-répertoire)
|
|
RewriteRule ^/wiki/(.*)$ https://wiki.alpinux.org/$1 [R=301,L]
|
|
|
|
# ── Fichiers statiques ───────────────────────────────────────────
|
|
<Directory /var/www/clients/client1/web1/web>
|
|
Options -Indexes +FollowSymLinks
|
|
AllowOverride None
|
|
Require all granted
|
|
DirectoryIndex index.html
|
|
</Directory>
|
|
|
|
# Logs
|
|
ErrorLog /var/log/apache2/alpinux.org-error.log
|
|
CustomLog /var/log/apache2/alpinux.org-access.log combined
|
|
|
|
SSLEngine on
|
|
SSLCertificateFile /etc/letsencrypt/live/alpinux.org/fullchain.pem
|
|
SSLCertificateKeyFile /etc/letsencrypt/live/alpinux.org/privkey.pem
|
|
</VirtualHost>
|