Log inRegister
You are here: Boossy » Ace3Server102

ace3 server102

07 July 2026 - 08:27 | Version 70 |

OS

  • (Ubuntu 24.04 LTS code-name Noble Numbat)
  • Ubuntu 22.04 LTS code-name Jammy Jellyfish

main packages

  • web server: Apache 2.4
  • application server: WildFly 27.0.1.Final (voor ace3, niet geïnstalleerd via de package manager)
  • db server: MySQL 8.0.42 (voor ace3)
  • programmeertaal perl 5.34 (voor de wiki)

lamp values

Server & LAMP info (explio.com)
date values
28/05/2026 Linux version 6.8.0-1031-aws (buildd@lcy02-amd64-033) (x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025
java-1.17.0-openjdk-amd64
Apache Server version: Apache/2.4.52 (Ubuntu) Server built: 2026-05-05T13:26:47
mysql Ver 8.0.42 for Linux on x86_64 (MySQL Community Server - GPL)
perl v5.34.0
Linux kernel version history - Wikipedia

Ubuntu 22.04 LTS (kernel Linux 5.19)
  • release: 21 April 2022
  • EOL April 2027 (5 years standard support), April 2032 (Extended Security Maintenance)
Apache HTTP Server - Wikidata

Apache 2.4.52
  • release: 20 December 2021
MySQL :: MySQL 8.0 Release Notes & EOL MySQL | End of Life (EOL) | Oracle Corporation | Lifecycle

MySQL 8.0.42
  • release: 15/04/2025
  • EOL: April 2026

PuTTY configuration

I'm using KiTTY instead of PuTTY because it can be minimized to the tray and because it can be started minimized.

Before changing any setting, load the AWS-s102 session.

After you've changed any setting, return to the Session category and click on Save.
  • Session
    Host Name (or IP address): 52.208.41.170 (server102.explio.com)
    Port: 22
    • Login
  • Connection
    • Data
      Login details
      Auto-login username: admin
    • SSH
      • Auth
        Authentication parameters
        Private key file for authentication:
        C:\UserKeys\explio-aws102.ppk
        • GSSAPI
      • Tunnels
        Source port: 23306 - Destination: localhost:3306 (database)
        Source port: 28888 - Destination: localhost:80 (server-info, server-status, jk-status, jk-manager)
        Source port: 8084 - Destination: localhost:8084 (ace3dev)
        Source port: 8088 - Destination: localhost:8088 (digwb)
        Source port: 8092 - Destination: localhost:8092 (demo)
        Source port: 8096 - Destination: localhost:8096 (---reserve---)
        Source port: 8100 - Destination: localhost:8100 (elan)
        Source port: 8104 - Destination: localhost:8104 (hu)
        Source port: 8108 - Destination: localhost:8108 (ste)
        Source port: 8112 - Destination: localhost:8112 (ilearn)
        Source port: 8116 - Destination: localhost:8116 (hybrid)
        Het prefix '2' voor 3306 en 8888 wordt gebruikt om geen overlap te hebben met server101.
zie topic PortOffsets

WinSCP configuration

The WinSCP configuration is similar:
  • Host name: ec2-52-208-41-170.eu-west-1.compute.amazonaws.com
  • Port number: 22
  • User name: admin
    • Advanced... button: Advanced Site Settings
      SSH > Authentication:
      Authentication parameters
      Private key file: C:\UserKeys\explio-aws102.ppk
  • sudo su settings:
    • Advanced... button: Advanced Site Settings
      Environment > SFTP:
      SFTP server: sudo su -c /usr/lib/sftp-server

Connectivity test, with active PuTTY connection

e.g. telnet 127.0.0.1 22
port/ip type 127.0.0.1 52.208.41.170
22 ssh cross tick
tunnel destination: 80
tunnelsource: 8888
server-info, server-status,
jk-status, jk-manager
cross
tick
tick
cross
tunnel destination: 3306
tunnel source: 23306
MySQL cross
tick
cross
cross
tunnel dest & src: 8088 digwb tick cross
tunnel dest & src: 8084 dev tick cross
tunnel dest & src: 8092 demo tick cross
tunnel dest & src: 8100 elan tick cross
tunnel dest & src: 8104 hu tick cross
tunnel dest & src: 8108 ste tick cross
tunnel dest & src: 8112 ilearn tick cross
tunnel dest & src: 8116 hybrid tick cross

Upgrade 22.04.5 LTS ► 24.04

Gepland op 13 juli 2027.

etc/apache2 en srv/conf alvast gebackupt mochten we ook certbot installeren:

D:\HybDrive\Shares_full_access\sbo-Public\102 (HOSTING AWS server)\Apache config

Upgrade packages 22.04.2 LTS ► 22.04.5 LTS

Down op 11/07/'25 van 8:38 tot 12:52

Op PXL was dat probleemloos verlopen, hier bleef mysql server sputteren...
sudo apt-get dist-upgrade

Daarna:
Last login: Fri Jul 11 12:38:42 2025 from 91.183.109.216
admin@ip-172-34-4-185:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.5 LTS
Release: 22.04
Codename: jammy

zie timestamp van /proc en /sys

MySQL Server

Issue

Maar !MySQL Server draait dus niet en de ace3-omgevingen geven een 404 (sessions) of een WildFly-scherm (inlog).

Dus setup-procedure proberen herhalen (srv/setup).

Proberen de instructies te volgen van How To Install MySQL 8.0 on Ubuntu 24.04|22.04|20.04 | ComputingForGeeks.

Maar die gaf nog 0.8.33-1 op als versie. Die kon ik downloaden, maar de installatie mislukte / stopte gewoon met de tekst 'Setting up mysql-apt-config (0.8.33-1) ...'
sudo dpkg -i mysql-apt-config_0.8.33-1_all.deb
(Reading database ... 155420 files and directories currently installed.)
Preparing to unpack mysql-apt-config_0.8.33-1_all.deb ...
Unpacking mysql-apt-config (0.8.33-1) over (0.8.33-1) ...
Setting up mysql-apt-config (0.8.33-1) ...

Met sudo dpkg -i installeer je lokaal opgeslagen Debian-pakketten (.deb-bestanden) op Linux-systemen. Het commando vereist administratorrechten (sudo) om de software op het systeem uit te pakken en klaar te maken voor gebruik.

Gewoon sudo apt install mysql-client mysql-server doen, had ook geen zin, want dan wilde hij een andere versie installeren:
The following packages have unmet dependencies:
 mysql-common : Conflicts: mysql-client-8.0 but 8.0.42-0ubuntu0.22.04.2 is to be installed
 Conflicts: mysql-client-core-8.0 but 8.0.42-0ubuntu0.22.04.2 is to be installed
 mysql-server : Depends: mysql-server-8.0 but it is not installable
E: Unable to correct problems, you have held broken packages.

Dan nog volgende geprobeerd:
admin@ip-172-34-4-185:~$ sudo apt update && sudo apt install mysql-server
Get:1 http://repo.mysql.com/apt/ubuntu focal InRelease [12.8 kB]
Get:2 http://repo.mysql.com/apt/ubuntu focal/mysql-8.0 Sources [961 B]
Get:3 http://repo.mysql.com/apt/ubuntu focal/mysql-apt-config amd64 Packages [566 B]
Get:4 http://repo.mysql.com/apt/ubuntu focal/mysql-8.0 amd64 Packages [10.7 kB]
Hit:5 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:6 http://security.ubuntu.com/ubuntu jammy-security InRelease [129 kB]
Get:7 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]
Ign:8 http://security.ubuntu.com/ubuntu impish-security InRelease
Get:9 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [127 kB]
Err:10 http://security.ubuntu.com/ubuntu impish-security Release
 404 Not Found [IP: 91.189.91.81 80]
Get:11 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [2723 kB]
Get:12 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [1221 kB]
Reading package lists... Done
E: The repository 'http://security.ubuntu.com/ubuntu impish-security Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

Solution

Recentste !MySQL Server achterhalen:

https://dev.mysql.com/downloads/repo/apt/

Deze downloaden en installeren:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.34-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.34-1_all.deb 
ls -rtl
whereis mysql
cd /usr
cd bin
ls
sudo ./mysql
cd $HOME
sudo apt install mysql-server
sudo shutdown -r now

En alles kwam goed...

Maar...

Welke MySQL gebruikt hij nu:
  • de gedownloade was 0.8.34
  • maar als ik mysql -V doe, krijg ik 8.0.42
The specific version number 0.8.34-1 refers to the mysql-apt-config package version, not the MySQL server version itself.

https://ace.ste.nl/ en https://www.ace.hu.nl/

Na bijna een week kom ik erachter dat bovenstaande URL's leiden naar een WildFly -pagina...

ace-ste-nl-2025-07-17-15_51_04.png

Bizar genoeg werken de sessions-pagina's en de explio-pagina's van dezelfde omgevingen wel:

STE: HU: Na een herstart kwam bij HU alles in orde.
Bij STE heb ik dat niet gedaan, er zat volk op...
Maar een hard browser refresh leverde ook de inlogpagina op... - dus misschien was het enkel iets bij mij... en diegenen die tijdens de down-periode geprobeerd hebben...

List updated packages

cat /var/log/dpkg.log | grep "\ install\ "
2025-07-11 08:37:00 install ubuntu-pro-client:amd64 <none> 36ubuntu0~22.04
2025-07-11 08:37:01 install ubuntu-pro-client-l10n:amd64 <none> 36ubuntu0~22.04
2025-07-11 08:37:04 install libxcb-randr0:amd64 <none> 1.14-3ubuntu3
2025-07-11 08:37:06 install python3-packaging:all <none> 21.3-1
2025-07-11 12:48:55 install mysql-client:amd64 <none> 8.0.42-1ubuntu20.04
2025-07-11 12:48:55 install mysql-community-server:amd64 8.0.33-1ubuntu20.04 8.0.42-1ubuntu20.04
2025-07-11 12:48:55 install mysql-server:amd64 <none> 8.0.42-1ubuntu20.04

Environments that will/won't switch to server 102 on 16/09/2023

environment switch ok
demo 16/09/2023 DONE
dev 16/09/2023 DONE
digwb 16/09/2023 DONE
elan 16/09/2023 DONE
hu 07/10/2023 DONE
hybrid 16/09/2023 DONE
ilearn 16/09/2023 DONE
ste 04/10/2023 DONE

Scheduled tasks

Plain text

  • dagelijkse backup vd ace3-db's om 3.30u
  • om de 2 minuten digwb login pingen, indien niet in orde, herstart apache
  • backup wiki + svn dagelijks om 1.30u
  • monitor pxl om 00u, 11u, 20u, om 3.40u, 12.40u, 23.40u, en om 7.20u en 16.20u (geen idee waarom ik die tijdstippen heb gekozen...)
  • check of het demo-wachtwoord werd gewijzigd, dagelijks om 23.58u
  • archiveer intakes van STE die ouder zijn dan een jaar, dagelijks om 4u

crontab

# m h dom mon dow command
30 3 * * * /home/admin/scripts/mysqldump_ace3.sh >> /srv/logs/mysqldump_ace3.log 2>&1
*/2 * * * * /home/admin/scripts/apache-keep-alive.sh >> /dev/null 2>&1
30 1 * * * /home/admin/scripts/backup_wiki+svn.sh >> /srv/logs/backup_wiki+svn.log 2>&1
0 0,11,20 * * * /home/admin/scripts/monitor-pxl.sh >> /srv/logs/monitor-pxl.log 2>&1
40 3,12,23 * * * /home/admin/scripts/monitor-pxl.sh >> /srv/logs/monitor-pxl.log 2>&1
20 7,16 * * * /home/admin/scripts/monitor-pxl.sh >> /srv/logs/monitor-pxl.log 2>&1
58 23 * * * /home/admin/scripts/check-demo-user.sh >> /srv/logs/check-demo-user.log 2>&1
00 04 * * * /home/admin/scripts/STE/archiveIntakesGt1yr.sh >> /dev/null 2>&1

Still to do

Op server102 staat wel certbot, maar is het niet actief, eenvoudigweg omdat er geen enkele omgeving opstaat waarvoor we zelf de certificaten maken.

What is it?

lsb_release -a

► Ubuntu 22.04.2 LTS, codename 'jammy'

Difference compared to server101 (Debian 9):
  • UFW or Uncomplicated Firewall
    • momenteel niet actief (sudo ufw status)
    • MySQL: niet geconfigureerd
    • Apache: wel geconfigureerd

Keys


Werkt met een ander .pem-bestand dan server101! Dus keys hernoemd naar explio-aws101.pem en explio-aws102.pem.

Met puttygen een explio-aws102.ppk gemaakt.

In PuTTY een kopie gemaakt van AWS-s101 naar AWS-s102, met volgende wijzigingen:
  • Session > Host Name / IP address: 52.208.41.170
  • Window > Behaviour > Window title: server...
  • Windows > Colours > Default Background: choose a distinctive colour
  • Connection > Data > Login details - Auto-login username: ubuntu
  • Connection > SSH > Auth > Credentials > Private key file for authentication: C:\UserKeys\explio-aws102.ppk.
Ik gebruik voortaan KiTTY ipv !PuTTYTray, omdat PuTTYTray (van 2016) de recentste host key algoritmes niet meer ondersteunt, en KiTTY ook geminimaliseerd kan starten.
Wiki-topic: SwKitty

PuTTY server connection is required for the ace3config tool and the MySQL Workbench .

tijdelijk

Tijdens de overgang:

hosts file entries

52.208.41.170 explio.com # server102
52.208.41.170 www.explio.com # server102
52.208.41.170 www.ace.hu.nl # server102
52.208.41.170 ace.ste.nl # server102

styles

/srv/htdocs/ace3_resources/styles/*-ace3-context.css

body background color gewijzigd

body {
   background-color:#dae5fb;
}

Het hele body-block mag dan achteraf overal weg. Het staat altijd helemaal achteraan, behalve bij dev, waar er ook nog een body::after is. i-learn had geen context.css, dit is nu een kopie van hybrid. Mag na de definitieve switch naar server102 dus weg.

set timezone

Je kunt de timezone zetten per gebruiker, maar dan zal de server.log nog steeds een of twee uur achterlopen, daarom doen we het systeembreed:

sudo timedatectl set-timezone Europe/Paris

check timezone
timedatectl

bron: https://www.hostinger.com/tutorials/how-to-change-timezone-in-ubuntu/#:~:text=To%20do%20so%2C%20open%20Terminal,is%20using%20the%20timedatectl%20command.

admin user creation

create user in sudo group
sudo adduser admin --ingroup sudo

vul enkel een wachtwoord in, laat alle andere vragen onbeantwoord (full name, room, …)

create group admin
sudo groupadd admin

group 'admin' already exists

assign admin as primary group to admin user
sudo usermod -g admin admin

make user admin a clone of user ubuntu
as root user (sudo su):
cd /home/ubuntu
tar cf - . | (cd ../admin;tar xf -)
chown -R admin:admin /home/admin

add user admin to the list with 'sudoers'

vi /etc/sudoers.d/90-cloud-init-users

en daarin:

admin ALL=(ALL) NOPASSWD:ALL

Nu kun je:
  • als admin sudo su doen zonder wachtwoordprompt
  • Become super user / root in !WinSCP
    • Go to your WinSCP profile (Session > Sites > Site Manager)
    • Click on Edit > Advanced… > Environment > SFTP
    • Insert sudo su -c /usr/lib/sftp-server in "SFTP Server" (note this path might be different in your system)
    • Save and connect
Zolang je admin niet aan de sudoers hebt toegevoegd, zul je in WinSCP volgende melding krijgen:

Cannot initialize SFTP protocol. Is the host running a SFTP server?

Adapt A records and SPF records in Telenet MyCloud

  • Domainnamen: explio.com
  • Resource Records tab:
    • A-records: +
      • Hostnaam: server102.explio.com
      • IP-adres: 52.208.41.170
    • SPF-records: breid de bestaande SPF-record uit met ip4:52.208.41.170
  • wiki:

copy files

Voor het kopiëren van de files vraag je IT (Kim) om de SSH-connectie tss. oude en nieuwe server open te zetten.

Daarna, zet de .pem op de target machine
/home/admin/.ssh/explio-aws101.pem

Maak een map aan om de data naartoe te versluizen
mkdir /srv/setup/xfer
cd /srv/setup/xfer

Doe vervolgens een kopieertest:
sudo su
scp -p -r -i /home/admin/.ssh/explio-aws101.pem admin@172.34.12.13:/home/admin/testdir .
  • -p: preserve modification time, access time, file mode (niet te verwarren met hoofdletter -P, dat is voor een alternatief poortnummer, standaard is 22)
  • -r: recursively copy directories
  • -i: identity file
Voor alle opties, zie de scp man page.

Uiteindelijk heb ik rsync gebruikt en niet scp, omdat scp blijkbaar toch de datums niet behield.

Server102 is puur voor ace3, dus enkel ace3-gerelateerde zaken gekopieerd, geen wiki, geen svn, geen …)
rsync -Pav -e "ssh -i /home/admin/.ssh/explio-aws101.pem" admin@172.34.12.13:/srv/backups . > rsync.backups.log
rsync -Pav -e "ssh -i /home/admin/.ssh/explio-aws101.pem" admin@172.34.12.13:/srv/cgi-bin . > rsync.cgi-bin.log
rsync -Pav -e "ssh -i /home/admin/.ssh/explio-aws101.pem" admin@172.34.12.13:/srv/conf . > rsync.conf.log
rsync -Pav -e "ssh -i /home/admin/.ssh/explio-aws101.pem" admin@172.34.12.13:/srv/htdocs . > rsync.htdocs.log
rsync -Pav -e "ssh -i /home/admin/.ssh/explio-aws101.pem" admin@172.34.12.13:/srv/tools . > rsync.tools.log

Wildfly-bomen hebben een andere owner en permissies, dus daar heb ik eerst een tarball van gemaakt op de oude server:
cd /srv
sudo tar -czvf wildfly.tar.gz wildfly-10.1.0.Final/

En terug op de nieuwe
rsync -Pav -e "ssh -i /home/admin/.ssh/explio-aws101.pem" admin@172.34.12.13:/srv/wildfly.tar.gz . > rsync.wildfly.log

Uitpakken:
tar -xf wildfly.tar.gz
  • -x: extract
  • -f: file name

Logs opkuisen:
rm -R standalone-*/log/*

Instance naar de echte wildfly-boom kopiëren:
sudo cp -R ../setup/xfer/wildfly-10.1.0.Final/standalone-demo/ ./standalone-demo/

Zodra de instance op de juiste plaats staat, kun je hem met de alias clean opkuisen:
clean demo

ace3 environments setup

Als sudo su, maak eerst srv eigendom van admin:
chown -R admin:admin srv

01 Java

01.a Java 8

install java 8 !!!! (wildfly 10 werkt niet met java 11; ace3config remote naming, marshalling probleem)
sudo apt-get update
sudo apt-get install openjdk-8-jre
cd /usr/lib/jvm
sudo ln -s java-1.8.0-openjdk-amd64 default-java

java -version

openjdk version "1.8.0_362"
OpenJDK Runtime Environment (build 1.8.0_362-8u372-ga~us1-0ubuntu1~22.04-b09)
OpenJDK 64-Bit Server VM (build 25.362-b09, mixed mode)

01.b Java 17

java -version

openjdk version "17.0.9" 2023-10-17
OpenJDK Runtime Environment (build 17.0.9+9-Ubuntu-122.04)
OpenJDK 64-Bit Server VM (build 17.0.9+9-Ubuntu-122.04, mixed mode, sharing)

02 MySQL

Voor een uitgebreide beschrijving, zie het .txt-bestand in de srv/setup-map.

sudo apt update
apt-cache policy mysql-server
sudo apt install mysql-server >> FAILS
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1-1ubuntu2.1~18.04.22_amd64.deb
sudo dpkg -i libssl1.1_1.1.1-1ubuntu2.1~18.04.22_amd64.deb
sudo apt install mysql-server

mysql -V
mysql Ver 8.0.33 for Linux on x86_64 (MySQL Community Server - GPL)

MySQL Workbench

In order not to have conflicting ports with server101, adapt your ports accordingly in PuTTY:

Connection
  • SSH
    • Tunnels
      Source port: 23306 - Destination: localhost:3306 (database)
Then create a server102 connection in MySQL Workbench

Modifications my.cnf

SET TIME_ZONE
  • sudo vi /etc/mysql/mysql.cnf
  • Onderaan toevoegen:
    [mysqld]
    default-time-zone='Europe/Paris'
  • restart mysql server:
    sudo systemctl restart mysql
Als je nu in mysql de tijd checkt (select now()), zal die correct zijn.
SET MAX_ALLOWED_PACKET
  • sudo vi /etc/mysql/mysql.cnf
  • Onderaan toevoegen, in de sectie [mysqld]:
    max_allowed_packet=1024M
    op 28/01/2026 nogmaals verhoogd: max_allowed_packet=2048M
    en dezelfde dag nog teruggezet op 1024M nadat ik de boosdoenende mediafile had verwijderd
  • restart mysql server:
    sudo systemctl restart mysql
Secure local password

Zie: MySqlBackupCronScript | Explio | Foswiki

03 WildFly

Voor een uitgebreide beschrijving en commando's, zie het .txt-bestand in de srv/setup-map.
  • /home/admin/.bash_aliases gekopieerd van server101 naar server102
  • sudo reboot
  • .bashrc van de user pikt de .bash_aliases automatisch op
Aanpassing van /srv/wildfly/bin/standalone.conf tbv grote mediabestanden: zie Ace3ServerPxl#Te_grote_mediabestanden_geven_een_500_crash:_Java_heap_space

04 Apache + mod_jk

  • Gewoon gekopieerd van server101
  • /srv/conf/server101.conf => server102.conf

Apache 2.4 MPM worker settings

Vergelijk met ApacheConfigServer2VersusServer5#Server3_45_MPM_worker_40digw_44_kleurrijker_44_varia_41

Ik denk dat dit hier de defaults zijn:

/etc/apache2/mods-enabled/mpm_worker.conf default
(used for digwb)
StartServers 2
MinSpareThreads 25
MaxSpareThreads 75
ThreadLimit 64
ThreadsPerChild 25
MaxRequestWorkers 150
MaxConnectionsPerChild 0

05 sendmail

Intructies vh .txt-bestand gevolgd, was meteen succesvol.

06 ace3 instances

Add ejbclient user

Een aparte 2-ace3-add-user.txt gemaakt met daarin de antwoorden aangegeven met >

Als je de boom kopieert van een andere server, is dat vermoedelijk zelfs eigenlijk niet nodig.

demo

WARN-meldingen in de server.log:
sudo vi /etc/sysctl.conf

Voeg onderaan volgende twee regels toe
net.core.rmem_max = 25480000
net.core.wmem_max = 25480000

Herlaad de kernel parameters:
sudo sysctl -p

-p: reload kernel parameters from the (default) sysctl.conf file

dev - digwb - elan - hu - hybrid - ilearn - ste

Telkens op basis van onderstaande, dmv replace all:
  • databases restoren
  • applicatieserver restoren
  • service laten automatisch starten
cd /srv/backups/ace3
gzip -d daily-digwb_*.gz
mysql --login-path=admin -e "create database digwb_content";
mysql --login-path=admin digwb_content < daily-digwb_content.sql
mysql --login-path=admin -e "create database digwb_domain";
mysql --login-path=admin digwb_domain < daily-digwb_domain-1.sql
cd /srv/wildfly
sudo cp -R ../setup/xfer/wildfly-10.1.0.Final/standalone-elan/ ./standalone-elan/
permissions elan
clean elan
sudo update-rc.d wildfly-elan defaults
start elan
sudo reboot

Nu heb je een server met werkende ace3-omgevingen.

Finetuning

keep ssh connection alive

De ssh-verbinding valt altijd weg na een tijdje.

/etc/ssh/sshd_config

Daarin heb je de volgden optie:
ClientAliveInterval 120

Op server101 staat die er twee keer in, één keer met waarde 120 en één keer met waarde 420. Geen idee welke dan precies gebruikt wordt...

log files: redirecten en roteren in /var/log

in /srv/logs, enter per omgeving volgend commando om de symlink te maken:
ln -s ../wildfly/standalone-demo/log demo-logs

In /var/log/wildfly heb je ook ...-console.log-bestanden, die groot kunnen worden (digwb > 2GB). Als je ze roteert, kan dat niet gebeuren. Zie Ace3Logrotate.

cron

  • alleen voor user admin
  • niet voor user root

Voor de keep-alive-scripts is wel mail vereist. Dat is niet standaard geïnstalleerd:
sudo apt-get install mailutils

Ik heb ook het from-adres nu gewijzigd in apache-keep-alive.sh, dus bij een nieuwe server zal ook daar volgende scriptvariabele vervangen moeten worden:
SERVER=server102

cgi-bin

Het lamp.cgi-scriptje (zie verder) werkt, maar de inlogscriptjes werken niet (500 Internal Server Error)!

Het scriptje aanroepen vanaf de prompt levert meer info:
admin@ip-172-34-4-185:/srv/cgi-bin/www.explio.com/login$ ./digwb.cgi
Can't locate CGI.pm in @INC (you may need to install the CGI module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.34.0 /usr/local/share/perl/5.34.0 /usr/lib/x86_64-linux-gnu/perl5/5.34 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl-base /usr/lib/x86_64-linux-gnu/perl/5.34 /usr/share/perl/5.34 /usr/local/lib/site_perl) at ./digwb.cgi line 3.
BEGIN failed--compilation aborted at ./digwb.cgi line 3.

Eventjes zoeken naar cgi.pm:
sudo find / -name CGI.pm -print 2>/dev/null

Levert niets op

Installatie:
# sudo apt-get update
# sudo apt-get install libcgi-pm-perl

Bron: https://ubuntu.pkgs.org/22.04/ubuntu-main-arm64/libcgi-pm-perl_4.54-1_all.deb.html

Nu werken de inlogscriptjes wel. Voor digwb vind je het hier:
/srv/cgi-bin/www.explio.com/login/digwb.cgi

Het scriptje aanroepen doe je met de volgende parameters:
  • u = user
  • p = password
  • l = language (optioneel, standaard 'nl_BE')

Voorbeeldje:
https://www.explio.com/login/digwb.cgi?u=sbo&p=h***5

In de Insert-Excels escapen we + en % in wachtwoorden (zie https://docs.microfocus.com/OMi/10.62/Content/OMi/ExtGuide/ExtApps/URL_encoding.htm), bv.:
=HYPERLINK("https://www.explio.com/login/digwb.cgi?u="&H285&"&p="&SUBSTITUTE(SUBSTITUTE(I285;"%";"%25");"+";"%2B")&"")

Hoewel we dergelijke scriptjes ook voor a·c·e II hadden, was er een issue met het nieuwe scriptje:

Excel hyperlink with query string opens two tabs, except in IE.

Er werd telkens een tab geopend zonder de query string én een tab met de query string - vervelend dus!

Het bleek echter een gekend issue te zijn: de download-link op pagina https://docs.microsoft.com/en-us/office/troubleshoot/error-messages/cannot-locate-server-when-click-hyperlink lost het probleem op.

Manueel kan het ook:

Ga naar of creëer volgende keys (ook als je Office-versie recenter is dan 9.0):

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\9.0\Common\Internet
en
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\9.0\Common\Internet

Creëer binnen elk van die twee keys een DWORD (32-bit) met als naam ForceShellExecute en als waarde 1 .

Accentletters

Er was wel nog altijd een probleem met accentletters, waardoor je de melding 'Fout in gebruikersnaam of verkeerd wachtwoord!' krijgt.

Op 28/04/2026 zag ik het licht en wijzigde:

binmode STDOUT, ":utf8";

in

binmode STDOUT, ":iso-8859-1";

En AI treedt me bij: binmode STDOUT, ":iso-8859-1"; tells Perl to treat the Standard Output (STDOUT) as raw, 8-bit Latin-1 text, forcing character encoding and avoiding UTF-8 conversion. It maps characters directly to the ISO-8859-1 (Latin-1) encoding, often used to bypass character conversion warnings or to handle Western European languages in older systems.

Disable "You have no mail." message at login

zie: server - How can I disable the "No mail" notice on text-based login sessions? - Ask Ubuntu

Dus, in /etc/pam.d/sshd de regel met pam_mail.so aanpassen:
# session optional pam_mail.so standard noenv # [1]
session optional pam_mail.so quiet noenv # [1]

Door de 'quiet' zal er nu enkel nog een melding verschijnen als er effectief mail is.

Varia

  • backup (en andere scripts, monitoring bv.): oké, werken ze? DONE
  • logrotate (/var/log/wildfly) DONE
  • cgi-bin scripts testen DONE
  • apache configuratie: alles wat niet ace3 is eruit gooien DONE
  • setup .txt-bestanden terug kopiëren DONE
  • delete wilfdfly.tar.gz op server101 DONE
  • website www.explio.com DONE
  • wiki DONE

MPM worker settings

Vergelijk met ApacheConfigServer2VersusServer5#Server3_45_MPM_worker_40digw_44_kleurrijker_44_varia_41
/etc/apache2/mods-enabled/mpm_worker.conf default
(used for digwb)
StartServers 2
MinSpareThreads 25
MaxSpareThreads 75
ThreadLimit 64
ThreadsPerChild 25
MaxRequestWorkers 150
MaxConnectionsPerChild 0

Disk space

  • 12/01/2026 - voor het verwijderen van oude logfiles: 78GB gebruikt vd 97GB totaal = 80% = OK
  • 12/01/2026 - na het verwijderen van oude logfiles: 76GB gebruikt vd 97GB totaal = 78% = OK

Beveiligde mappen website

Als je een klant iets wil laten downloaden van de site, kun je dat op een beveiligd gedeelte zetten.

We hebben een gedeelde download-map hier:
URL PAD
https://www.explio.com/download/ /srv/htdocs/shared/download
Als je daar naartoe surft, worden de onbeveiligde submappen getoond, de beveiligde niet.

De beveiligde hebben een .htaccess die er als volgt uitziet, bv. van kleurrijker:
AuthType Basic
AuthName "eXplio Download Area"
AuthUserFile /srv/conf/users
AuthGroupFile /srv/conf/groups
Require group explio kleurrijker

Tijdens de Coronacrisis had ik via Wetransfer codes geleverd aan KDG via een beveiligde .zip. Maar de KDG-medewerkers mochten geen programma's installeren op hun pc, dus geen 7-Zip om de beveiligde .zip uit te pakken. Dus heb ik hier een beveiligde submap bijgemaakt, genaamd codes.
AuthType Basic
AuthName "eXplio Downloads Area"
AuthUserFile /srv/conf/users
AuthGroupFile /srv/conf/groups
Require user blauw

De user blauw heb ik dan wel nog moeten creëren, op volgende onorthodoxe wijze:
admin@ip-172-34-9-243:~$ which htpasswd
/usr/bin/htpasswd
admin@ip-172-34-9-243:~$ cd /usr
admin@ip-172-34-9-243:/usr$ cd bin
admin@ip-172-34-9-243:/usr/bin$ ./htpasswd -c /srv/conf/passwd blauw
New password:
Re-type new password:
Adding password for user blauw

De gegevens uit /srv/conf/passwd heb ik dan gekopieerd in /srv/conf/users:
blauw:$ge3$ncrypte3rd$wachtw00rd

En in groups een group: user(s) combinatie gemaakt (weet niet of dit nodig is):
downloads: blauw

En tot slot de passwd-file verwijderd.

Nadien gesurft naar https://www.explio.com/download/codes/, en die was uitsluitend bereikbaar mits opgave van gebruikersnaam/wachtwoord.

JVM

admin@ip-172-34-12-13:~$ java -XX:+PrintFlagsFinal -version | grep Metaspace
 uintx InitialBootClassLoaderMetaspaceSize = 4194304              {product}
 uintx MaxMetaspaceExpansion               = 5451776              {product}
 uintx MaxMetaspaceFreeRatio               = 70                   {product}
 uintx MaxMetaspaceSize                    = 18446744073709547520 {product}
 uintx MetaspaceSize                       = 21807104             {pd product}
 uintx MinMetaspaceExpansion               = 339968               {product}
 uintx MinMetaspaceFreeRatio               = 40                   {product}
 bool UseLargePagesInMetaspace             = false                {product}

SVN

Overgezet door Dirk.

Logs

daemon.log

Mar 15 16:40:06 ip-172-34-12-13 dhclient[570]: DHCPREQUEST of 172.34.12.13 on eth0 to 172.34.0.1 port 67
Mar 15 16:40:06 ip-172-34-12-13 dhclient[570]: DHCPACK of 172.34.12.13 from 172.34.0.1
Mar 15 16:40:06 ip-172-34-12-13 dhclient[570]: bound to 172.34.12.13 -- renewal in 1689 seconds.

DHCPREQUEST = DHCP client attempts to acquire or renew an IP address from a DHCP server

DHCPACK = DHCP Acknowledgement = final message in the DHCP interaction process sent from a DHCP Server to a DHCP Client, confirming the IP address lease and providing configuration parameters

Disk usage

09/06/2026 - ik zie de volgende disk usage:
  • Total Disk Size: 97G
  • Disk Size · Used Space: 87G
  • Disk Size · Free Space: 11G
Dat is minder dan 15% vrij, dat zie ik niet graag.

Met volgend commando aan de root zie je hoeveel space elke hoofdmap inneemt:
sudo du -sh * | sort -h

Zie verder ook 'gdu', een grafische weergave van de disk usage...

Mappen die doorgaans veel ruimte innemen:
  • /home (downloads, caches, user files)
  • /var (zware logs in /var/log, db files)
  • /usr: geïnstalleerde software, libraries, binaries
  • /tmp: tijdelijke bestanden die niet opgeruimd werden

Systeemlogging beperken

sudo vi /etc/systemd/journald.conf

En daarin volgende regel uitmarkeren en waarde toekennen:
SystemMaxUse=500M

En de service herstarten:
sudo systemctl restart systemd-journald

Leverde meteen een winst op van 3 à 4 GB:
  • Total Disk Size: 97G
  • Disk Size · Used Space: 83G
  • Disk Size · Free Space: 14G
Dan nog directory /home/admin/.cpanm/work leeggemaakt.
  • Total Disk Size: 97G
  • Disk Size · Used Space: 83G
  • Disk Size · Free Space: 15G
Vervolgens
rm -rf $HOME/.cpan/build/*
rm -rf $HOME/.cpan/sources/authors/id
rm -rf $HOME/.cpan/cpan_sqlite_log.*

En nog wat later dan:
  • Total Disk Size: 97G
  • Disk Size · Used Space: 82G
  • Disk Size · Free Space: 16G
En tot slot gdu geïnstalleerd.

zie: Install gdu-disk-usage-analyzer on Ubuntu using the Snap Store | Snapcraft

algemene logs comprimeren die ouder zijn dan 3 dagen

cd /srv/logs
find . -mtime +3 -print -exec gzip {} \;

Veel winst: van 1.2 GB naar een goeie 100MB, dus ruim 1 GB.
Ook logs die root:root zijn worden g(e)zipt (dan zijn ze wel admin:admin), dus ik hoef geen sudo te doen.

Je zou ook nog -name ".log"* kunnen toevoegen, maar de directory bevat enkel .log bestanden, dus het hoeft ook niet echt.

Dit scriptje dan in cron gestoken:

0 2 * * * /home/admin/scripts/compress_old_logs.sh >> /dev/null 2>&1

En ook nog:
sudo sh -c 'rm -rf /var/lib/snapd/cache/*'

Bron: ubuntu core - How to remove uninstalled snaps from cache? - Ask Ubuntu

Maar weet niet of dat nu iets heeft opgeleverd.

tags

cgi .cgi cgi-bin web context contexts webcontext webcontexts

disk usage journal snap usr

³

../setup/xfer
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback