Opzet structuur van de home server:
    • Er wordt gebruik gemaakt van smeserver 9.2, in eerste instantie opgezet als private server and gateway.
    • Local ip = 192.168.1.1 | extern ip = 192.168.0.190 (gelijk aan DHCP lease van de Telenet router).
    • Security instellingen en contribs worden toegepast.
    • De server wordt verbonden met de Telenet router via het extern IP; lokaal wordt geen verbinding voorzien voor maximale veiligheid. Enkel bij onderhoud/installatie wordt lokaal verbonden mits de fysieke internetkabel is ontkoppeld.
    • Via http://se.nicoliv/home is het Xoops portaal bereikbaar. De ibay 'home' is beveiligd met een wachtwoord.
    • In Mint is via /etc/hosts het adres 192.168.0.190 se.nicoliv toegevoegd voor domeinnaam-toegang.

SSH Probleem oplossen binnen SMESERVER

Dit probleem ontstaat omdat SME Server 9.2 verouderde host keys gebruikt (ssh-dss en ssh-rsa), terwijl nieuwere OpenSSH-versies deze standaard niet meer accepteren.

Oplossing 1: Tijdelijk vanaf Linux Mint

ssh -oHostKeyAlgorithms=+ssh-rsa jouwgebruikersnaam@10.0.0.1

Of voor DSS-keys:

ssh -oHostKeyAlgorithms=+ssh-dss jouwgebruikersnaam@10.0.0.1

Oplossing 2: Permanent instellen

Voeg dit toe aan ~/.ssh/sshd_config:

Host smeserver
    HostName 10.0.0.1
    User jouwgebruikersnaam
    HostKeyAlgorithms +ssh-rsa,ssh-dss
    

Daarna kun je gewoon:

ssh smeserver

SME Server 9.2 - Let's Encrypt met acme.sh

Inleiding

Deze handleiding legt uit hoe je acme.sh installeert en een automatisch vernieuwend Let's Encrypt-certificaat aanvraagt en toepast op SME Server 9.2.

Let op: sinds versie 2.8.5 gebruikt acme.sh standaard ZeroSSL als certificaatprovider. In deze handleiding vervangen we dat door Let's Encrypt. Het certificaat krijgt een B rating zonder verdere aanpassingen en SSL Labs maakt melding van een onvolledige chain, maar het werkt. Er is zo ook een contrib waarmee je het met zero ssl aan boord kunt nemen en misschien als je nadien de opdracht geeft om het verder door letsencrypt te laten afhandelen, dat dan de 'onvolledige chain' niet langer een probleem vormt.

Stap 1: Installeer SOCAT

SOCAT is vereist voor bepaalde validatieopties.

Stap 2: Installeer acme.sh

curl https://get.acme.sh | sh -s email=uw_email_adres

Herstart daarna je shell of voer uit:

source ~/.bashrc

Stap 3: Stel Let's Encrypt in als standaard

acme.sh --set-default-ca --server letsencrypt

Stap 4: Vraag certificaat aan voor casahosting.ddns.net

acme.sh --issue -d casahosting.ddns.net --webroot /home/e-smith/files/ibays/Primary/html

Stap 5: Installeer certificaat en stel automatisch herladen in

Voer onderstaand commando uit. Dit kopieert de juiste bestanden naar de correcte locaties én zorgt ervoor dat na vernieuwing Apache automatisch herstart wordt:

acme.sh --install-cert -d casahosting.ddns.net \
--key-file       /etc/pki/tls/private/casahosting.ddns.net.key \
--fullchain-file /etc/pki/tls/certs/casahosting.ddns.net.crt \
--ca-file        /etc/pki/tls/certs/casahosting.ddns.net-ca.crt \
--reloadcmd      "service httpd-e-smith restart"

Stap 6: Configureer SME Server voor je certificaat

config setprop modSSL key /etc/pki/tls/private/casahosting.ddns.net.key
config setprop modSSL crt /etc/pki/tls/certs/casahosting.ddns.net.crt
config setprop modSSL ca /etc/pki/tls/certs/casahosting.ddns.net-ca.crt
signal-event console-save

Stap 7: Controleer de automatische vernieuwing

acme.sh plaatst automatisch een cronjob in /var/spool/cron/root of via cron.d. Controleer dit via:

cat /var/spool/cron/root | grep acme.sh

Voorbeeld:

15 3 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null

Zo wordt elke nacht om 03:15 gecontroleerd of vernieuwing nodig is.

Extra: Handmatige hernieuwing testen

Je kunt een test uitvoeren met:

acme.sh --renew -d casahosting.ddns.net --force

Volg de onderstaande stappen om de root SSH-toegang te verbieden via de templates-custom:

Stappenplan:

  1. Maak de custom template-directory aan voor sshd_config:
    mkdir -p /etc/e-smith/templates-custom/etc/ssh/sshd_config
  2. Kopieer het 40PermitRootLogin bestand naar de custom template-map:

    Gebruik het volgende commando:

    cp /etc/e-smith/templates/etc/ssh/sshd_config/40PermitRootLogin /etc/e-smith/templates-custom/etc/ssh/sshd_config/40PermitRootLogin
  3. Pas de waarde aan in het custom bestand:

    Open het bestand in een teksteditor:

    nano /etc/e-smith/templates-custom/etc/ssh/sshd_config/40PermitRootLogin

    Verwijder alles en voeg vervolgens de regel toe:

    PermitRootLogin no

    Bewaar het bestand.

  4. Herbouw het configuratiebestand:

    Gebruik het expand-template commando om de configuratie aan te passen:

    /sbin/e-smith/expand-template /etc/ssh/sshd_config

    Start daarna de SSH-service opnieuw:

    service sshd restart
  5. Controleer of de wijziging correct is toegepast:

    Gebruik het volgende commando om het configuratiebestand te controleren:

    cat /etc/ssh/sshd_config

    Je zou nu onder andere de regel PermitRootLogin no moeten zien staan.

Volg de onderstaande stappen om keepcache=1 in te stellen:

  1. Maak directory:
    mkdir -p /etc/e-smith/templates-custom/etc/yum.conf
  2. Kopieer template:
    cp /etc/e-smith/templates/etc/yum.conf/10main_cachedir /etc/e-smith/templates-custom/etc/yum.conf/10main_cachedir
  3. Aanpassen: Open met nano en zet op keepcache=1.
  4. Herbouw:
    /sbin/e-smith/expand-template /etc/yum.conf
  5. Controle:
    grep keepcache /etc/yum.conf

Stappen om smeserver-user-webspace te installeren:

[root@ns ~]# rpm -ivh smeserver-user-webspace-0.1-5.SME7.noarch.rpm
Restarting httpd-e-smith [ OK ]
Belangrijke Configuratie:

Activeer webruimte voor gebruikers:

config set UserPublicWeb on
expand-template /etc/httpd/conf/httpd.conf
sv h /service/httpd-e-smith

Toegang tot de Server-Manager Alleen vanaf het Lokale Netwerk

Gebruik het volgende commando om de toegang te beperken:

config setprop httpd-admin ValidFrom local

Signaleer de update

Voer het volgende commando uit om de wijziging toe te passen:

signal-event remoteaccess-update

Controleer de configuratie

Controleer of de instelling correct is toegepast met:

config show httpd-admin

Handleiding: Aangepaste SME Server 9.2 ISO maken met Contribs

Deze handleiding beschrijft hoe je een aangepaste SME Server 9.2 installatie-DVD maakt met vooraf geïnstalleerde contribs. Ideaal voor herinstallaties of distributie met eigen pakketten.

1. Voorbereiding

Zorg dat je over het volgende beschikt:

  • Een werkende SME Server 9.2 installatie
  • ISO-bestand van SME Server 9.2 ( bijv. smeserver-9.2.iso)
  • Toegang tot de server via shell (SSH of lokaal)
  • Benodigdheden geïnstalleerd: anaconda, mkisofs, createrepo

2. ISO uitpakken

mkdir -p /root/smeserver/cdrom
mount -o loop smeserver-9.2.iso /mnt
cp -a /mnt/* /root/smeserver/cdrom/
umount /mnt

De volledige ISO zit nu in /root/smeserver/cdrom.

3. Contribs toevoegen

Plaats jouw RPM-bestanden in de Packages/ map:

cp /var/cache/yum/*/*.rpm /root/smeserver/cdrom/Packages/

4. Oude repo verwijderen (optioneel)

Indien aanwezig, verwijder de oude metadata:

rm -rf /root/smeserver/cdrom/repodata

5. Nieuwe repo aanmaken

Gebruik createrepo om de metadata opnieuw aan te maken. Zorg dat je in de cdroot bent:

cd /root/smeserver/cdrom
createrepo -o . Packages/

De repodata/ map wordt nu correct aangemaakt in de root van je ISO-structuur.

6. Controleer structuur

ls /root/smeserver/cdrom

Je zou minstens deze mappen moeten zien:

  • Packages/
  • repodata/
  • images/
  • isolinux/ (voor bootable ISO)

7. Nieuwe ISO maken

cd /root/smeserver
mkisofs -o custom-smeserver.iso \
  -b isolinux/isolinux.bin \
  -c isolinux/boot.cat \
  -no-emul-boot -boot-load-size 4 -boot-info-table \
  -J -R -v -T cdrom/

8. ISO testen en branden

Je kunt de ISO testen in een virtuele machine of branden met een tool zoals Brasero of wodim:

wodim dev=/dev/sr0 custom-smeserver.iso

9. Veelvoorkomende fout tijdens installatie

Fout: SME Server disk not found
Oorzaak: ISO bevat geen correcte repo-metadata of structuur.
Oplossing: Verwijder oude repodata/ en gebruik createrepo -o . Packages/ opnieuw.

10. Extra tips

  • Gebruik --nodeps bij test-installaties van RPM’s om afhankelijkheden te omzeilen, maar wees voorzichtig.
  • Wil je later pakketten via de installer selecteerbaar maken? Voeg ze dan toe aan comps.xml en hergenereer de repo.
  • Voor updates of scripts na installatie: overweeg kickstart-integratie of post-install hooks.

Volg deze procedure om specifiek de smeserver-yum pakketten te updaten vanuit de test-repositories en het systeem daarna correct te herconfigureren.

Stap 1: Update uitvoeren 🛠️

Draai het onderstaande commando om de update op te halen terwijl de standaard repo's tijdelijk worden uitgeschakeld:

yum update smeserver-yum --disablerepo=base,updates --enablerepo=smeupdates-testing,smetest

Stap 2: Herconfigureren & Herstarten 🔄

Na de update is het essentieel om de wijzigingen door te voeren in het systeem en de server opnieuw op te starten:

1. Configuratieschermen herbouwen

signal-event post-upgrade

2. Server herstarten

signal-event reboot

Klaar! Na de herstart zijn de nieuwe YUM-instellingen actief en is je pakketbeheer up-to-date. ✨

Snelkoppelingen & Info

Vergeet niet na elke wijziging in SME templates de expand-template opdracht uit te voeren.

Systeembeheer Tip
Status: Server is online.
Backup: Dagelijks om 03:00.