Beginnen wir mit Layouts. Layouts sind toll. Besonder gut gefallen mir die Sizer von wxWidgets. Hier geht es aber um Qt, und Qt bringt ein ähnliches System mit. Wir starten mit dem „Absolute Layout“, in dem alle Komponenten fest ausgerichtet sind (X und Y). Wie das funktioniert und warum ich davon abrate, dieses Layout zu nutzen, in diesem Video.
Monat: Februar 2022
YouTube-Kurztipp: WPStatistics mit C++, wxWidgets und DSLib aus MySQL auslesen und als Website anzeigen
Ich bin krank, kann momentan nichts sinnvolles machen, weil ich mich nicht konzentrieren kann und dachte mir, ich baue mal eine Website mit C++, um meine WPStatistics in vereinfachter Form anzusehen. Auch dachte ich mir: Warum nicht aufnehmen? Das habe ich getan.
Ich nutze dazu:
- C++
- wxWidgets
- DSLib
- (Mac)VIM
- iTerm
- MySQL
- FreeBSD
- FreeBSD Jail
- GitHub
- make (Makefile)
- MySQL-Workbench
- Apache
- FastCGI
Vielleicht interessiert es ja jemanden, wie man einfach mit C++ eine Website bauen kann. Ich würde mich sehr über Feedback freuen.
Redmine-Reihe Nachtrag 2: Git-Repository anbinden
Als Entwickler wirst du dieses Feature lieben. Es ist problemlos möglich, Versionskontrollsysteme, bspw. Git, Subversion, usw. in eine Projekte innerhalb von Redmine einzubinden.
In diesem Video zeige ich dir, wie es geht.
Hier noch mein Update-Script:
#!/bin/sh
BACKUPPATH="/server/redminegit"
LOGFILE="${BACKUPPATH}/update.log"
date > "${LOGFILE}"
for dir in `find "${BACKUPPATH}/" -type d -depth 1 -not -path '*/\.*'`
do
cd $dir
echo $dir >> "${LOGFILE}"
git pull 2>> "${LOGFILE}" >> "${LOGFILE}"
echo "" >> "${LOGFILE}"
done
date >> "${LOGFILE}"
Und mein Cronjob:
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/libexec:/usr/local/sbin/
HOME=/var/log
*/15 * * * * /server/redminegit/update
KooKooK 0007: Jail auf FreeBSD erstellen, starten und einrichten
Da die Serverkomponente unseres Projekts tatsächlich auf einem Server laufen soll und wir auch noch einen Datenbankserver brauchen, richte ich in diesem Video ein Jail auf FreeBSD dafür ein.
Neues YouTube-Video – Qt-Tutorial 015: Signals
In diesem Video zeige ich, wie man ein eigenes Signal erstellt und sich mit einem Slot darauf verbinden kann.
Wir legen zuerst in der Header-Datei im Bereich „signals:“ ein Signal an, bspw. void mySignal();. Dann können wir das mit „emit mySignal();“ aufrufen. Alle verbundenen Slots werden dann automatisch aufgerufen.
Neues YouTube-Video – FreeBSD-Grundkurs 004: FreeBSD herunterladen
In diesem Video zeige ich, wo man FreeBSD herunterlädt und was ihr herunterladen solltet.
Herunterladen kann man FreeBSD unter https://www.freebsd.org.
Redmine-Reihe Nachtrag 1: Plugins installieren
Ja, auch unter Redmine gibt es Plugins. Das ist toll, denn so kann man sich das ohnehin schon geniale Redmine weiter erweitern und anpassen. Ich zeige mal am CKEditor, wie man ein Plugin installiert.
Beim CKEditor handelt es sich um einen WYSIWYG-Editor für nahezu alle Textareas von Redmine. Normal sterbliche Benutzer sind damit einfach in der Lage, Texte direkt zu formatieren und die Formatierungen auch zu sehen.
Und wie das funktioniert, sehen wir in diesem Video.
Letztlich ist es einfach. Wir gehen auf unseren Server, auf dem Redmine installiert ist (übrigens: für dieses Plugin braucht man Git (FreeBSD: pkg install git)), wechselt ins Redmine-Plugin-Verzeichnis (FreeBSD: cd /usr/local/www/redmine/plugins) und zieht das zip-Package herunter (FreeBSD: fetch https://github.com/a-ono/redmine_ckeditor/archive/master.zip). Dann wird es entpackt (unzip master.zip) und richtig benannt (mv redmine_ckeditor-master redmine_ckeditor).
Wir wechseln ein Verzeichnis nach oben (cd ..) und führen dann folgende Befehle aus:
bundle install
rake redmine:plugins:migrate RAILS_ENV=production
Dann starten wir Apache einmal durch (FreeBSD: service apache24 restart) und aktivieren noch den Texteditor unter Administration -> Konfiguration -> Textformatierung = Ckeditor:
Fertig sind wir.
KooKooK 0006: E-Mail-Adresse einrichten
Abgesehen von der Website für dieses Projekt, die wir später einrichten, müssen wir noch den E-Mail-Server einrichten (Domain, virtusertable, usw.) und das Postfach im E-Mail-Programm einrichten (Thunderbird).
Neues YouTube-Video – Qt-Tutorial 014: Slots
Nachdem wir uns grundlegendes zu den Signals und Slots in Qt angesehen haben, zeige ich heute, wie man sich auf Signale konnektieren kann. Dazu zeige ich zwei Methoden über das GUI in QtCreator und eine direkt im Code.
Ein Slot lässt sich recht einfach verbinden. Ein Beispiel:
connect(myPushButton, &QPushButton::clicked, this, &MainWindow::mySlot);
Neuer Kurztipp: WordPress auf FreeBSD installieren
WordPress auf FreeBSD zu installieren, ist recht einfach. In diesem Blog-Artikel sowie dem verlinkten Video zeige ich, wie das ganz schnell, einfach und unkompliziert funktionert.
Folgende Voraussetzungen mache ich für dieses Tutorial
- FreeBSD ist installiert und gepatcht
- Packages stehen auf latest und nicht auf quaterly
- MySQL ist installiert, funktioniert und du hast Zugangsdaten und kannst eine Datenbank anlegen
- Wir nutzen Apache (2.4)
- Im Tutorial nutze ich kein SSL! Wenn du produktiv gehst, solltest du SSL nutzen!
- Nameservereinträge sind alle da
Ich nutze als Domain „wordpress.tgeppert.gg“. Du musst in den Konfigurationen deine Domain anpassen.
Zuerst installierst du alle notwendigen Pakete:
pkg install wordpress apache24 mod_php80 php80-filter
Sofern du Apache noch nicht konfiguriert hast, solltest du in der httpd.conf folgendes anpassen:
- ServerAdmin
- ServerName
- vhost-Eintrag einklammern, so dass er benutzt wird (Include etc/apache24/extra/httpd-vhosts.conf)
In meinem Fall steht dort:
ServerAdmin thorsten@tgeppert.de
ServerName wordpress.tgeppert.gg
Include etc/apache24/extra/httpd-vhosts.conf
Als nächstes konfigurieren wir in den VirtualHost (/usr/local/etc/apache24/extra/httpd-vhosts.conf – wenn du produktiv gehst, dann natürlich /usr/local/etc/apache24/extra/httpd-ssl.conf mit Zertifikaten!):
<VirtualHost *:80>
ServerAdmin thorsten@tgeppert.de
DocumentRoot /usr/local/www/wordpress
ServerName wordpress.tgeppert.gg
DirectoryIndex index.php
AddType application/x-httpd-php .php
<Directory /usr/local/www/wordpress>
Options ExecCGI Includes FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog "/var/log/wordpress.tgeppert.gg-error_log"
CustomLog "/var/log/wordpress.tgeppert.gg-access_log" common
</VirtualHost>
Wir starten dann noch den Apache einmal oder einmal neu (denke daran: /etc/rc.conf <- apache24_enable=“YES“):
service apache24 start ODER service apache24 restart
Dann kannst du mit dem Webbrowser bereits die URL (in meinem Fall http://wordpress.tgeppert.gg) aufrufen und WordPress konfigurieren.