Vandaag bestaat mijn website 8 jaar! Het lijkt alsof het gisteren was toen ik “een website” vroeg als verjaardagscadeau…
Auteur archieven: Vincent Lammens
FTP gebruiken in Python
Het is zeer eenvoudig om bestanden te uploaden met FTP en Python:
from ftplib import FTP_TLS
with FTP_TLS("ftp.server.be") as ftp:
ftp.login("gebruikersnaam","wachtwoord1234")
ftp.prot_p() # Gebruik een versleuteld datakanaal
# Upload bestand
with open("testdata.json","rb") as f:
ftp.storbinary("STOR testdata.json",f)
# Bestanden oplijsten
print(ftp.nlst())
# Bestand downloaden
with open("testdata2.json","wb") as f:
ftp.retrbinary("RETR testdata.json",f.write)
# Maak een map
ftp.mkd("/testdir/")
# Ga in een map
ftp.cwd("/testdir/")
print(ftp.nlst())
# Ga terug naar de "hoofdmap"
ftp.cwd("/")
print(ftp.nlst())
Hetzner storage box mounten met SSHFS
Ik heb onlangs een Storage box van hetzner gehaald, maar woud deze mounten binnen mijn Debian server. Na heel wat prutsen is het me uiteindelijk gelukt met deze instellingen:
eert moeten we fuse en sshfs installeren:
sudo apt install fuse sshfs
Vervolgens kunnen we onze systemd mount file aanmaken als “/etc/systemd/system/mnt-bigstorage.mount” met de volgende inhoud (pas aan waar nodig
[Unit]
Description=Hetzner Storage Box sshfs mount
Requires=network-online.target
After=network-online.service
[Install]
WantedBy=multi-user.target
[Mount]
What=u1234@u1234.your-storagebox.de:~/
Where=/mnt/bigstorage
Type=sshfs
Options=_netdev,allow_other,x-systemd.automount,IdentityFile=/home/vincent/.ssh/id_ed25519,reconnect,uid=1001,gid=1001,default_permissions,ssh_command=ssh,user=vincent,group=vincent -4 -p 23
Nu kunnen we het mounten met “systemctl start mnt-bigstorage.mount”
Nieuwe skyz uploadmethode: SFTP push
Het is vanaf vandaag ook mogelijk om via SFTP gegevens naar Skyz te sturen. Dit werkt in principe hetzelfde als de URL methode, enkel kan je nu rechtstreeks naar Skyz uploaden. Let wel dat je enkel .txt bestanden kan uploaden.

Linkrot oplossen in WordPress
Mijn site is bijna 7 jaar oud, maar daardoor is er natuurlijk al heel wat “linkrot” (vooral omdat ik al heel wat manieren heb geprobeerd om mijn site te beheren). Met de “Redirection” Plugin van John Godley kan je heel eenvoudig alle 404 errors loggen en redirects aanmaken.
Ik ga dit de komende weken doen voor deze site, om een poging te doen om linkrot tegen te gaan.
ProFTPD Quota’s
Binnen Skyz gebruik ik ProFTPD zodat enkele gebruikers hun weerstationsgegevens als bestand kunnen uploaden. Het gaat nog altijd om een zeer beperkt aantal gebruikers die via SFTP gegevens doorsturen, maar om toch een beetje limieten te zetten zodat de opslag niet vol geraakt, heb ik onlangs quota’s ingesteld. Aangezien een databestand van een weerstation meestal klein is, is een limiet van 5MB/gebruiker in mijn geval zeker ruim voldoende.
Plaats het volgende in /etc/proftpd/conf.d/quota.conf:
QuotaEngine on
QuotaLog /var/log/proftpd/quota.log
QuotaLimitTable file:/etc/proftpd/ftpquota.limittab
QuotaTallyTable file:/etc/proftpd/ftpquota.tallytab
QuotaOptions ScanOnLogin
vervolgens moeten we de quotafiles maken:
ftpquota --create-table --type=limit
ftpquota --create-table --type=tally
Nu kunnen we een gebruiker een quota geven, gebruik de tool hieronder om het quota commando te genereren:
Een volgende stap is om het SFTP-gebruikersbeheer & quota te automatiseren, zodat elk weerstation automatisch een SFTP gebruiker krijgt, en vervolgens de uitleesfunctie te integreren in skyz zodat een gebruiker via SFTP gegevens kan sturen zonder tussenkomst van mij.
Verbeterde weergave weerstationsgrafieken
De grafieken bij de weerstations voor Temperatuur en Wind zijn lichtjes verbeterd binnen Skyz: De temperatuurgrafiek toont nu ook de gevoelstemperatuur (groene arcering), en de windgrafiek kan nu ook de 10min gemiddelde waarde tonen (de waarde die het station meestuurt). De windstoten worden dan in een rode arcering getoond. Voor de windgrafieken kan een stationseigenaar nog altijd terug gaan naar de oude weergave (enkel windstoten) of ook een weergave met enkel de 10min gemiddelde waarde.
Ook de weerstations in de buurt zijn nu zichtbaar, standaard worden de 2 dichtste getoond, met een knop om alle stations in de buurt (25km, max 25 stations) te tonen, met een grafiek eronder om de temperatuur te vergelijken met de stations in de buurt.




Wandeling Bulskampveld
Galerij
Deze galerij bevat 10 foto's.
ProFTPD configureren met SFTP en virtuele accounts
Dit is een “update” voor mijn post uit 2023 waar ik proftpd installeerde met FTPS (FTP+TLS).
We kunnen proftpd installeren met:
sudo apt install proftpd proftpd-mod-crypto
vervolgens moeten we /etc/proftpd/proftpd.conf bewerken en de regel waar port 21 staat in commentaar zetten
vervolgens kunnen we het volgende in /etc/proftpd/conf.d/sftp.conf plaatsen:
LoadModule mod_sftp.c
LoadModule mod_sftp_pam.c
SFTPEngine on
Port 2222
SFTPLog /var/log/proftpd/sftp.log
# Configure both the RSA and DSA host keys, using the same host key
# files that OpenSSH uses.
SFTPHostKey /etc/ssh/ssh_host_rsa_key
SFTPAuthMethods password publickey
SFTPAuthorizedUserKeys file:/etc/proftpd/authorized_keys/%u
# Enable compression
SFTPCompression delayed
Dit schakeld SFTP in op poort 2222. We gebruiker hier niet poort 22 omdat deze al gebruikt is door OpenSSH.
Vervolgens kunnen we de virtuele gebruikers configureren. Deze laten ons toe om aparte SFTP gebruikers te maken per project, die achterliggend dezelfde systeemgebruiker hebben.
Maak het bestand “/etc/proftpd/conf.d/virtual-users.conf” aan en plaats er het volgende in:
DefaultRoot ~
RequireValidShell off
AuthUserFile /etc/proftpd/ftpd.passwd
AuthGroupFile /etc/proftpd/ftpd.group
AuthOrder mod_auth_file.c
WtmpLog off
vervolgens moeten we de bestanden maken die de gebruikersconfiguraties bevatten:
touch ftpd.passwd ftpd.group
chmod 600 ftpd.passwd ftpd.group
nu kunnen we een gebruiker aanmaken. Ik gebruik hier het UID/GID van de www-data gebruiker: 33.
sudo ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=weerstation --uid=33 --gid=33 --home=/var/www/weerstation --shell=/bin/false
Als we nu proftpd herstarten (systemctl restart proftpd) kunnen we inloggen met onze nieuwe virtuele gebruiker.
hier zijn nog wat handige links naar de ProFTPD documentatie
Skyz updates gepauzeerd
Ik ga Skyz updates even pauzeren. Alles blijft gewoon werken maar er komen voorlopig geen nieuwe functies meer. Er volgt later meer info.