User Tools

Site Tools


serveurs:serveurs_start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
serveurs:serveurs_start [2023/09/17 16:48] – [big blue button] julienserveurs:serveurs_start [2025/11/10 19:53] (current) julien
Line 5: Line 5:
  
 ===== Installation Koozali 10.1 ===== ===== Installation Koozali 10.1 =====
 +
 +1-télécharger l'iso de Koozali SME
 +2-l'installer sur une clefs usb
 +3-démarrer votre serveur avec la clef usb
 +4-suivre les instructions de l'installation : https://wiki.koozali.org/SME_Server:Documentation:Administration_Manual:Chapter5#Installing_the_Software
 +
 +Nous reviendrons dans le détails pour cela mais les concepts restent les mêmes que pour les versions précédentes si ce n'est qu'il y a de petit rajout au démarrage comme l'utilisation de la souris et la possibilité de configurer plusieurs aspects de votre serveur de façon graphique (clavier, source d'installation...etc)
 +
  
  
Line 14: Line 22:
 ===== wordpress et php-fpm ===== ===== wordpress et php-fpm =====
  
 +Koozali 10.1 est passé sur un système de gestion php le php-fpm
 +Pour gérer les différentes versions de nos wordpress qui pour certains n'ont pas été mis à jour depuis un moment nous avons opté pour une solution facilement manipulable via le server-manager : https://wiki.koozali.org/Webhosting
 +facile à installer et facile à utiliser pour gérer vos différents version wordpress / php
 +<code>
 +yum --enablerepo=smecontribs install smeserver-webhosting
 +</code>
 +ensuite tout se passe dans server-manager, vous pouvez ainsi choisir le php pour chacune de vos Ibays.
  
 +Avant de réaliser cet opération certains wordpress aiguiller sur une mauvaise version de php créé des erreurs dans les logs de segmentation fault (alloc mem) 
 +https://github.com/matomo-org/matomo/issues/20290
 ===== update dokuwiki ===== ===== update dokuwiki =====
  
Line 21: Line 38:
  
 ===== vérification SSL ===== ===== vérification SSL =====
 +Voici notre plus gros point noir ces derniers tempps... depuis que l'on est forcé d'utilisation une certification extérieur "officiel" pour nos serveurs indépendant, cela devient un casse tête.
 +
 +Pour mieux comprendre ce qui se passe par ici : https://en.wikipedia.org/wiki/Certificate_authority
 +
 +Il y a des solutions qui prennent du temps et de bricoler comme celle du self signed certificate... ce n'est pas hyper clair pour nous pour l'instant, nous l'avons expérimenté et nous n'avons pas réussi...
 +On va y revenir dessus et nous mettrons le résultat ici.
 +En attendant, la solution de passer par une instance extérieur est notre choix pour notre DNS principal, on utilise Gandi pour nos DNS et donc pour notre cerfication SSL.
 +Pour comprendre les différences entres les différents certificats : https://wiki.koozali.org/Certificates_Concepts
 +
 +Pour la solution dite "commercial" via Gandi il y a quand même du boulot :
 +
 +Il faut tout d'abord générer le certificat de votre serveur :
 +
 +**Générer une clefs RSA et un code CSR**
 +<code>
 +openssl req -nodes -newkey rsa:2048 -sha256 -keyout myserver.key -out server.csr -utf8
 +</code>
 +
 +
 +Pour ces commandes vous allez avoir plusieurs questions sur votre organisation, adresse, ville...etc (pensez-y)
 +
 +Ensuite nous allons installer l'outil de configuration du certificat SSL dans server-manager
 +<code>
 +yum install smeserver-certificate --enablerepo=smecontribs
 +</code>
 +
 +Dans le server-manager vous aurez accès à une interface particuliére avec 3 tableaux différents pour inscrire vos codes et certificats
 +
 +Avant d'inscrire vos certificats dans ces cases, il vous faudra créer votre reconnaissance de certificat chez votre DNS provider, dans notre cas Gandi.
 +Il faut aller sur l'interface de gestion de vos DNS et acheter un Certificat SSL / TLS (soit pour 1 adresse pour de multiple) nous avons fait le choix d'une seule pour le moment (notre DNS principal) pour pouvoir ensuite expérimenter d'autres type de confirguration que celle du commercial.
 +
 +Une fois que vous avez pris une option SSL pour votre DNS, il vous sera demander de fournir la clef RSA et le code CSR que vous avez généré sur votre serveur, il faudra les copier dans les bonnes cases de votre fournisseur de DNS.
 +
 +Une fois que vous aurez validé l'ensemble de ces étapes et acheter votre certification extérieur (valable seulement pendant 1 an) tous les ans il faudra de nouveau renouveler votre certificats SSL
 +
 +Vous allez maintenant pouvoir : 
 +
 +1-télécharger votre serveur.crt et le mettre dans la 1ere case de l'interface de server-manager (SSL)
 +
 +2-copier votre clef RSA dans la 2eme case, celle là vous l'avez généré vous-même
 +
 +3-télécharger le certificat intermediaire  CA officiel dont vous collerez le code dans la 3ème case
 +
 +Il faut sauver tout ça et tester que vous n'avez plus besoin de valider un certificat pour votre site/nom de domaine
 +Les erreurs que nous avons rencontré ont essentiellement consisté à coller les cerficats au mauvais endroit.... en général il n'y a plus d'accès au site... faîtes donc attention mais tout est reversible avec la commande :
 +<code>
 +signal-event certificate-revert
 +</code>
 +
 +enfin pour tester que votre SLL est en place : https://www.ssllabs.com/ssltest
 +
 +
 +Si vous êtes perdu, pour ce perdre encore plus, il y a plein de docs par ici : https://docs.gandi.net/en/ssl/index.html
 +
 +
 +
 +===== Certificat SSL multi-domaine (multisite) avec validation DNS =====
 +
 +Quand on héberge plusieurs sites sur le même serveur (multisite), un certificat "mono-domaine" ne suffit plus.
 +On peut alors utiliser un certificat multi-domaine (SAN / Subject Alternative Names) qui couvre plusieurs noms de domaine en une seule fois.
 +
 +**Exemples :**
 +
 +  * example.org — site principal
 +  * noiselab.org — autre projet
 +  * festival.net — événement
 +  * artist-name.art — site perso
 +
 +L'idée : un seul certificat installé sur SME, mais qui liste tous ces domaines dans les SAN.
 +
 +==== 1. Pré-requis ====
 +
 +  * SME Server 10 avec le panneau **SSL certificates management** (voir le tuto mono-site ci-dessus)
 +  * Accès aux **zones DNS** de tous les domaines (chez Gandi ou autres registrars)
 +  * Un fournisseur de certificats supportant les SAN (par ex. Gandi *Standard Multi-domaines*)
 +
 +
 +==== 2. Générer une clé et un CSR multi-domaine (SAN) ====
 +
 +Sur SME, on va générer :
 +  * une **clé privée** (server.key)
 +  * un **CSR** (Certificate Signing Request) contenant plusieurs noms de domaine (SAN)
 +
 +OpenSSL sur SME (version 1.0.x) ne gère pas les SAN directement.  
 +On crée donc un petit fichier de configuration.
 +
 +Créer le fichier `/root/openssl-san.conf` :
 +
 +<code ini>
 +[ req ]
 +default_bits       = 2048
 +prompt             = no
 +default_md         = sha256
 +req_extensions     = req_ext
 +distinguished_name = dn
 +
 +[ dn ]
 +C  = FR
 +ST = Votre-Region
 +L  = Votre-Ville
 +O  = Votre-Organisation
 +CN = example.org
 +
 +[ req_ext ]
 +subjectAltName = @alt_names
 +
 +[ alt_names ]
 +DNS.1 = example.org
 +DNS.2 = noiselab.org
 +DNS.3 = festival.net
 +DNS.4 = artist-name.art
 +DNS.5 = autre-domaine.tld
 +</code>
 +
 +Puis générer la clé et le CSR :
 +
 +<code bash>
 +openssl req -new -nodes -newkey rsa:2048 \
 +  -keyout /root/server.key \
 +  -out /root/server.csr \
 +  -config /root/openssl-san.conf
 +</code>
 +
 +Vérifiez que les SAN sont bien inclus :
 +
 +<code bash>
 +openssl req -noout -text -in /root/server.csr | grep -A1 "Subject Alternative Name"
 +</code>
 +
 +
 +==== 3. Commander le certificat multi-domaine chez le fournisseur ====
 +
 +Sur votre interface (ex : Gandi) :
 +
 +  - Créez un **certificat SSL Standard / multi-domaine**
 +  - Indiquez comme **Nom Commun (CN)** le domaine principal (ex : `example.org`)
 +  - Ajoutez les autres domaines dans la liste SAN (`noiselab.org`, `festival.net`, etc.)
 +  - Collez le contenu complet du fichier `/root/server.csr` (du `-----BEGIN CERTIFICATE REQUEST-----` au `-----END CERTIFICATE REQUEST-----`)
 +  - Choisissez la méthode de validation **par enregistrement DNS**
 +
 +
 +==== 4. Validation DNS (DCV) ====
 +
 +Le fournisseur demande d’ajouter des enregistrements CNAME spécifiques dans vos DNS.  
 +Exemple d’instructions :
 +
 +<code>
 +Please add record "_dnsauth.example.org. IN CNAME _xxx.dcv.your-ca.com."
 +Please add record "_dnsauth.noiselab.org. IN CNAME _xxx.dcv.your-ca.com."
 +Please add record "_dnsauth.festival.net.  IN CNAME _xxx.dcv.your-ca.com."
 +</code>
 +
 +Dans la zone DNS de chaque domaine, ajoutez :
 +
 +  * **Nom / Host :** `_dnsauth`  
 +  * **Type :** CNAME  
 +  * **Cible :** `_xxx.dcv.your-ca.com.`  
 +
 +**Exemple (Gandi – vue avancée) :**
 +<code>
 +_dnsauth   CNAME   10800   _xxx.dcv.your-ca.com.
 +</code>
 +
 +**Attention :**
 +  * Ne touchez pas aux enregistrements A/MX existants.
 +  * Supprimez les anciens CNAME DCV s’ils existent pour le même nom.
 +  * Vérifiez vos enregistrements CAA si vous en utilisez.
 +
 +Après ajout de tous les CNAME :
 +  * Attendez 15 à 30 minutes (propagation DNS)
 +  * Relancez la vérification dans l’interface du fournisseur
 +
 +Une fois validé, téléchargez :
 +  * le **certificat serveur (.crt / .pem)**
 +  * la **chaîne intermédiaire** (CA / bundle)
 +
 +
 +==== 5. Installer le certificat multi-domaine dans SME Server 10 ====
 +
 +Dans **server-manager → SSL certificates management** :
 +
 +  1. **SSL certificate (server.crt)**  
 +     → collez le contenu complet du certificat multi-domaine téléchargé
 +
 +  2. **SSL private key (server.key)**  
 +     → collez le contenu de la clé privée générée au début (`/root/server.key`)
 +
 +  3. **SSL intermediate chain certificate**  
 +     → collez la chaîne intermédiaire fournie (souvent un fichier `GandiCert.pem`)
 +
 +Cliquez sur **Save**.
 +
 +En cas d’erreur (plus d’accès web) :
 +
 +<code bash>
 +signal-event certificate-revert
 +</code>
 +
 +
 +==== 6. Vérifier le certificat multi-domaine ====
 +
 +Ouvrez dans un navigateur :
 +  * https://example.org  
 +  * https://noiselab.org  
 +  * https://festival.net  
 +
 +Dans les infos du certificat :
 +  * la date de validité doit être correcte
 +  * tous les domaines doivent apparaître dans **Subject Alternative Names (SAN)**
 +
 +Pour tester en ligne :  
 +→ https://www.ssllabs.com/ssltest
 +
 +
 +**Références utiles :**
 +  * https://wiki.koozali.org/Certificates_Concepts  
 +  * https://docs.gandi.net/en/ssl/  
 +  * https://en.wikipedia.org/wiki/Certificate_authority
 +
 +
 +
 +
 +
 +
  
  
Line 27: Line 268:
  
  
 +===== crontab =====
  
-===== big blue button =====+la solution classique via le terminal n'est plus trop possible (on a pas cherché plus que ça) 
 +Notamment car il y a un crontab-manager dans le server-manager à installer directement 
 + 
 +<code> 
 +yum install smeserver-crontab_manager --enablerepo=smecontribs 
 +</code> 
 + 
 +puis tout se passe dans l'interface, vous pouvez rajouter autant de routine cron que vous voulez. 
 + 
 +Si vous voulez être sûr du boulot, on a toujours la commande 
 +<code> 
 +more /etc/crontab 
 +</code> 
 + 
 + 
 + 
 +===== big blue button - raté (17/09/2023) =====
  
 C'est une très bonne initiative C'est une très bonne initiative
Line 86: Line 344:
 tout à l'air de passer mais revenue à la config sur nextcloud, toujours les mêmes erreurs : "API URL is invalid" tout à l'air de passer mais revenue à la config sur nextcloud, toujours les mêmes erreurs : "API URL is invalid"
  
 +ON LAISSE TOMBER POUR LE MOMENT!
  
  
serveurs/serveurs_start.1694962120.txt.gz · Last modified: 2023/09/17 16:48 by julien