- Ajout des pfx

This commit is contained in:
Frogg 2026-05-09 17:35:12 +02:00
parent 61ce577f0c
commit 9a43025037
3 changed files with 74 additions and 37 deletions

50
TODO.md
View File

@ -1,20 +1,46 @@
BUG SMTP PROXMOX
# TODO
ajout l install de net-tools
## Finir JELLYFIN
>> BUG des series dans le nouveau jellyfin
>> VOIR LE PORT HTTPS
>> VERIF LE CERTIFICAT
## Passer à ZABBIX
> mettre le script
> mettre les infos dans le read me pour l install du depart
> config Proxmox (dl le template)
>
> config ndv
>
> config gita
>
> config ca
---------------------------
# INFOS
## system
> /etc/ssl/wildcard
Ajouter les infos pour ajouter le path du ssl
# PROXMOX
changer le pass
> setcap 'cap_net_bind_service=+ep' /usr/lib/jellyfin/bin/jellyfin
> debloquerr les ports sous 1024 pour un user non root
## PROXMOX
> changer le pass
pct exec 105 -- passwd root
aller sur la vm
pct enter 105
nano /etc/pve/lxc/104.conf
> nano /etc/pve/lxc/104.conf
mount lxc
pct set ID -mp0 /mnt/synology_series,mp=/srv/media/series
pct set 104 -mp1 /mnt/synology_films,mp=/srv/media/films
redemarer
> redemarer
pct stop 104
pct start 104
----------------------------------------------------------
@ -22,19 +48,15 @@ pct start 104
# SERVER
> mettre les scripts sur tous les linux
# ZABBIX
> config Proxmox (dl le template)
>
> config ndv
>
> config gita
>
# BONUS
>SCRIPT
option pour desactiver firewall
ANSIBLE
>SCRIPT
dire les ports ouvert de la machine et pour quoi ils le sont
>ANSIBLE

View File

@ -5,6 +5,7 @@
CONFIG_DEB_INSTALL_DEFAULT_CA_SERVER="192.168.0.110"
CONFIG_DEB_INSTALL_DEFAULT_CA_WILDCARD="*.server.home"
CONFIG_DEB_INSTALL_DEFAULT_CA_SERVICES="gitea nginx apache2 mysql postgresql jellyfin"
CONFIG_DEB_INSTALL_DEFAULT_CA_CRON="STEP-CA-RENEWAL"
CONFIG_DEB_INSTALL_JSON='[
{"id": "git_pkg", "label": "Installer Git", "type": "pkg", "params": "git"},

View File

@ -127,7 +127,7 @@ check_deb_sys_clone_ssh_key(){
}
check_deb_sys_cert_install(){
local MARKER="# STEP-CA-RENEWAL"
local MARKER="# $CONFIG_DEB_INSTALL_DEFAULT_CA_CRON"
if crontab -l 2>/dev/null | grep -q "$MARKER"; then
return 0
else
@ -609,6 +609,8 @@ do_deb_sys_cert_install(){
--not-after=8760h \
--force
msg_success "Certificat généré avec succès dans /etc/ssl/wildcard/"
msg_warning "[4/6] Modification des droits de lecture du certificat..."
@ -678,31 +680,43 @@ do_deb_sys_cert_install(){
# 5. Planification
msg_warning "[6/6] Activation du renouvellement automatique..."
# On récupère la liste des services à redémarrer (ceux définis dans ta config)
# On crée une commande de restart groupée : systemctl restart service1 service2
RESTART_CMD=""
for SVC in $CONFIG_DEB_INSTALL_DEFAULT_CA_SERVICES; do
if systemctl is-active --quiet "$SVC"; then
RESTART_CMD="$RESTART_CMD $SVC"
fi
done
# Chemins des fichiers
local CERT_CRT="/etc/ssl/wildcard/server.crt"
local CERT_KEY="/etc/ssl/wildcard/server.key"
local CERT_PFX="/etc/ssl/wildcard/server.pfx"
# Construction de la ligne Cron avec le restart à la fin
# Le "&&" assure que le restart ne se fait QUE si le renew a réussi
STEP_BIN=$(which step)
CRON_COMMAND="$STEP_BIN certificate renew /etc/ssl/wildcard/server.crt /etc/ssl/wildcard/server.key --force >> /var/log/cert-renew.log 2>&1"
# Commande pour générer le PFX sans mot de passe
local PFX_CMD="openssl pkcs12 -export -out $CERT_PFX -inkey $CERT_KEY -in $CERT_CRT -passout pass:"
if [ -n "$RESTART_CMD" ]; then
CRON_COMMAND="$CRON_COMMAND && systemctl restart $RESTART_CMD"
fi
# On assemble tout dans le Cron : Renew -> PFX -> Restart Services
local STEP_BIN=$(which step)
local RENEW_CMD="$STEP_BIN certificate renew $CERT_CRT $CERT_KEY --force"
MARKER="# STEP-CA-RENEWAL"
(
crontab -l 2>/dev/null | sed "/$MARKER/,/$MARKER/d"
echo "$MARKER"
echo "0 0 1 * * $CRON_COMMAND"
echo "$MARKER"
) | crontab -
# Récupération des services à redémarrer
local RESTART_CMD=""
for SVC in $CONFIG_DEB_INSTALL_DEFAULT_CA_SERVICES; do
if systemctl is-active --quiet "$SVC"; then
RESTART_CMD="$RESTART_CMD $SVC"
fi
done
# Construction de la ligne finale
local FULL_COMMAND="$RENEW_CMD >> /var/log/cert-renew.log 2>&1 && $PFX_CMD"
if [ -n "$RESTART_CMD" ]; then
FULL_COMMAND="$FULL_COMMAND && systemctl restart $RESTART_CMD"
fi
# Injection dans la crontab
local MARKER="# $CONFIG_DEB_INSTALL_DEFAULT_CA_CRON"
(
crontab -l 2>/dev/null | sed "/$MARKER/,/$MARKER/d"
echo "$MARKER"
echo "0 0 1 * * $FULL_COMMAND"
echo "$MARKER"
) | crontab -
# Premier export immédiat pour que le fichier existe tout de suite
eval $PFX_CMD
msg_success "Cron mis à jour avec restart automatique des services."