Willkommen zum dreiteiligen Workshop: Redmine 4. Ich habe mir überlegt, ich mache einen kleinen Redmine-Einsteigerkurs. Dieser geht über drei Kapitel:
Redmine 4 installieren (in meinem Fall auf FreeBSD 13)
Redmine 4 für Administratoren (GUI)
Redmine 4 für Benutzer (GUI)
In diesem Video und Blog-Artikel geht es darum, wie man Redmine einfach installieren kann. Ich setze dafür folgendes voraus:
Du hast ein lauffähiges und vollständig gepatchtes FreeBSD 13 (oder neuer)
Du hast einen lauffähigen PostgreSQL-Server (wie das geht, erfährst du hier und hier)
Nameservereinträge sind bereits vorhanden (in meinem Fall heißt mein Host redmine.gug-it.gg, welchen ich hier auch in der Beschreibung überall nutze. Das musst du natürlich anpassen!)
So wird es gemacht
Erstelle einen Datenbankbenutzer. Wie das bei deiner PostgreSQL-Version geht, entnimmst du den Manuals. Achte darauf, dem Benutzer ein verschlüsseltes Kennwort zu geben. Ich habe noch ein (uraltes) PostgreSQL 9.5 auf meiner Testmaschine laufen (du solltest hoffentlich was neueres haben), und da geht es so:
createuser -E -P redmine
Dann erstellst du noch die Datenbank, was bei mir so geht:
createdb -E unicode -O redmine redmine
und vergisst natürlich nicht den Eintrag in der pg_hba.conf
host redmine redmine 192.168.0.168/24 password
Denke daran, Datenbanknamen, Datenbankbenutzer und IP anzupassen!
Ich nutze Apache in der Version 2.4. Wenn du was anderes benutzt, dann musst du leider schauen, wie du es ans Rennen bekommst. Ich installiere also alle benötigten Pakete:
In der httpd.conf (/usr/local/etc/apache24) setzt du, wenn du es noch nicht getan hast, den Servernamen sowie die E-Mail-Adresse (wobei die auch im VHost eingerichtet wird). Weiterhin entfernst du bei den Zeilen:
LoadModule rewrite_module libexec/apache24/mod_rewrite.so
LoadModule fastcgi_module libexec/apache24/mod_fastcgi.so
Include etc/apache24/extra/httpd-vhosts.conf
die Raute (#) vorne, so dass die Zeilen genutzt werden innerhalb der Konfiguation. Und der aufmerksame Leser weiß es: ich nutze hier jetzt im Beispiel kein SSL! Bitte mache das, und mache das auf jeden Fall, wenn Redmine im Internet hängt! Das wäre jetzt einfach nur zu aufwendig für das Tutorial.
Server-Kram liegt bei mir unter /server. Web-Kram dementsprechend unter /server/web/<sld>/<t(hird)ld>. Passe die Konfiguration bei dir an. Dementsprechend richte ich das Verzeichnis folgendermaßen ein:
Dann bearbeite ich die Datei /usr/local/etc/apache24/extra/httpd-vhosts.conf (du hoffentlich /usr/local/etc/apache24/extra/httpd-ssl.conf). Da füge ich folgenden Eintrag hinzu:
Die bearbeiten wir dann mit dem Editor unserer Wahl und geben die richtigen Daten ein:
production:
adapter: postgresql
database: redmine
host: thorsten.jails.gug-it.gg
username: redmine
password: "redmine"
# Use "utf8" instead of "utfmb4" for MySQL prior to 5.7.7
encoding: utf8
Nicht vergessen, ich nutze PostgreSQL. Wenn du MySQL oder anderes nutzt, musst du das natürlich beachten! Mein Datenbankserver liegt auf “thorsten.jails.gug-it.gg”.
Als nächstes müssen wir noch ein paar Module zu unserem Redmine hinzufügen. Wir erstellen im Verzeichnis /usr/local/www/redmine die Datei Gemfile.local mit folgendem Inhalt:
und trage dann in usr/local/www/redmine/config/configuration.yml folgendes ein:
attachments_storage_path: /server/files/redmin
Ich lasse an dieser Stelle die E-Mail-Konfiguration mal aus, weil das recht spezifisch ist. Kommt ganz darauf an, was du brauchst, aber schau dir die Konfigurationsdatei einmal an und du wirst schnell verstehen, wie das funktioniert.
Wenn wir dann Apache starten (oder neustarten), können wir auf Redmine zugreifen. Die Standardzugangsdaten lauten:
Benutzername: admin, Kennwort: admin
Du wirst direkt aufgefordert, dein Kennwort zu ändern. Jetzt kannst du direkt loslegen.
Lange habe ich überlegt, ob ich nicht eine Video-Reihe zu FreeBSD machen sollte, da ich im deutschsprachigen Bereich nichts aktuelles und vollständiges kenne.
Ich beginne hier einmal mit der Reihe und stelle vor, was ich vorhabe.
Ich dachte mir, ich mache mal ein Video zum Thema: wie installiere ich PostgreSQL auf FreeBSD. Hier ist der Link.
In dieser Anleitung gehe ich davon aus, dass wir ein frisch installiertes FreeBSD 13 auf dem Rechner haben. Schauen wir uns erst einmal an, welche PostgreSQL-Versionen zur Verfügung stehen:
# pkg search postgresql | grep server
Neben Version 9.6 und 10 bis 13 gibt es bei mir in den Packages die Version 14. Genau diese möchten wir auch installieren:
# pkg install postgresql14-server
Wir bestätigen die Installation des Pakets sowie dessen Abhängigkeiten mit [y] gefolgt von [Enter]. Je nach Internetgeschwindigkeit kann das Herunterladen ein wenig dauern. Bei mir werden, auf einem frischen FreeBSD, 167MB heruntergeladen.
Nach der Installation fügen wir folgende Zeilen in die /etc/rc.conf ein:
Zeile 1 bedeutet, dass PostgreSQL beim Starten des Betriebssystems automatisch gestartet werden soll und sich auch mit „service“ und „start“ starten lässt (anstelle mit onestart).
Zeile 2 legt fest, wo im Dateisystem die Datenbanken liegen sollen. In meinem Fall lautet der Pfad „/server/database/postgresql“. Den müssen wir aber erst erstellen und ihm die richtigen Rechte zuweisen. Wenn du möchtest, dass deine Daten woanders liegen, musst du den Pfad anpassen:
Zeile 3 beinhaltet einige Flags für den Start von PostgreSQL (-s bedeutet „silent“, es werden nur Fehlermeldungen ausgegeben).
In Zeile 4 wird das Standardencoding auf Unicode 8 gestellt.
Ist das alles erledigt, muss zunächst die Datenbank initialisiert werden:
# service postgresql initdb
Wir möchten jetzt aber von außen z.B. mit unserer eigenen Software oder per pgAdmin4 oder mit anderen Datenbanktools auf die Datenbank zugreifen.
Zuerst müssen wir die Datei „/server/database/postgres/postgresql.conf“ bearbeiten und die Zeile mit „listen_addresses“ auf * setzen (oder auf die IP, auf die PostgreSQL lauschen soll).
Dann müssen wir die Datei „/server/database/postgres/pg_hba.conf“ bearbeiten und unter „IPv4 local connections“ eine Zeile anlegen:
Host all all 192.168.0.0/24 password
Hier liegt allerdings der Hund der Sicherheit begraben. Wir sagen damit, dass alle Hosts in dem Netzwerk 192.168.0.0/24 (ihr müsst eure IP natürlich dementsprechend anpassen) mit allen Benutzern auf alle Datenbanken zugreifen können. Das ist schlecht, deshalb überlegt euch ein vernünftiges Sicherheitskonzept! Darum geht es hier allerdings nicht.
Als nächstes können wir PostgreSQL schon starten:
# service postgresql start
Jetzt legen wir noch einen Benutzer an. Nennen wir ihn „Kalle“ und geben ihm auch als Kennwort „Kalle“. Er soll SuperUser sein und Datenbanken anlegen, aber auch löschen können.
# su – postgres
$ createuser -s -P Kalle
Jetzt könnt ihr euch auf euren PostgreSQL-Server verbinden. Achtet darauf, dass dazu der PostgreSQL-Port (Standard 5432) in eurer Firewall freigeschaltet sein muss.
Ich habe es getan, ich habe es wirklich getan. Nachdem manche meinten, ich solle einen YouTube-Kanal aufmachen, und ich immer sagte: “Ich kann sowas nicht, ich kann ja nichtmal vernünftig frei reden.” und mir gesagt wurde: “Jeder hat mal klein angefangen, da wächst du schon hinein.” habe ich für mich beschlossen, ich beginne mal einfach und schaue, was daraus wird.
Ich habe bereits ein paar Videos vorproduziert. Natürlich, wie ich auch erwartet habe, sind sie noch schrecklich. Wenn ich aber nicht anfange und einfach mache, dann kann ich natürlich auch nicht besser werden. Also seid ein wenig nachsichtig (:
Ich werde mit drei, vielleicht vier, Sparten beginnen:
Softwareentwicklung mit Qt
FreeBSD
Kurztipps
und, vielleicht etwas später, macOS-Administration im Netzwerk mit Deployment und vielem mehr
Es ist kaum zu glauben, aber bis vor einer kurzen Zeit benutzte ich keine IDE. Oftmals entwickle ich immer noch gerne ohne IDE, doch für Qt nehme ich QtCreator und ich finde die IDE ganz “nett”. Ich kenne etliche Systeme, und keins gefällt mir tatsächlich so gut wie QtCreator, außer NetBeans für Java vielleicht. Damit bin ich aber vermutlich allein (:
Ich wollte einmal wissen, wie hoch der Aufwand ist, wxWidgets in QtCreator einzubinden. Es ist sehr einfach. Wie es geht, zeigt dieser Artikel.
wxWidgets nutzt auf unixoiden System “wx-config” als Kommandozeilenkonfigurationswerkzeug. Das bedeutet, dass man einfach in seinen Compileraufruf “wx-config” einbaut. Ein einfaches Beispiel könnte:
# c++ *.cpp -o test `wx-config --libs --cppflags`
sein.
Also einfach mal den QtCreator starten und ein neues Konsolenprojekt erstellen. In der Projektdatei (*.pro) dann folgende Zeilen hinzufügen:
Zehn Jahre, nein, mehr als zehn Jahre, habe ich, nahezu ausschließlich, FreeBSD auf meinen Arbeitsplatzrechnern benutzt – auf der Arbeit, wie auch zu Hause.
Vor nunmehr einem Jahr bin ich gewechselt oder, besser gesagt, zurückgewechselt, auf macOS.
Ich liebe FreeBSD, wenn man denn bei einem Betriebssystem von Liebe sprechen kann. Es hat mir immer wahre Freude gemacht, mit dem System, neben meinen zahlreichen Servern und Jails, direkt meine Arbeit zu erledigen. Ungefähr 2009 bin ich in der Firma sowie zu Hause von macOS auf FreeBSD umgezogen, erledigte damit softwareentwicklerische und administrative Aufgaben, und ganz ehrlich: es gab nicht einen Tag, an dem ich aufgrund von Problemen nicht arbeiten konnte. Was ich brauchte, funktionierte in aller Regel gut bis sehr gut. Zuerst nutzte ich einige Jahre WindowMaker, stellte dann aber doch eines Tages, im Wahn des Komforts, auf KDE um und hatte ein hervorragendes Werkzeug, welches kaum Wünsche offen ließ.
Meine Werkzeugkiste war vollständig, doch irgendwann bröckelte es. Es begann mit Problemen meiner doch etwas in die Jahre gekommenen Grafikkarte. Dazu kamen dann die Zwänge, properitäre Software zu nutzen, vor der es mir immer noch schaudert. Weiterhin gab es für ein großes Projekt die Problematik, dass Qt mit meiner Webcam (und auch mit anderen) so überhaupt auf FreeBSD nicht klar kam und ich auch für Android und iOS entwickeln musste.
Schweren Herzens verabschiedete ich mich dann doch von FreeBSD auf der Workstation. Zu Windows, welches ich seit über zwanzig Jahren wie der Teufel das Weihwasser fürchte, wollte ich aber nicht. Da ich über all die Jahre auch immer ein MacBook hatte, welches aber nie mein Hauptsystem war, kam ich zur Überlegung, mir ein vernünftiges System vom Hersteller mit dem angebissenen Apfel zu kaufen. Es wurde das MacBook Pro 16″ aus 2019.
Bis auf den Dauervollausschlag des Lüfters bei angeschlossenen Bildschirmen bin ich sehr zufrieden. Das System bietet vieles, was mein FreeBSD für mich auch bot, und einiges andere mehr.
Auf meinen Servern betreibe ich FreeBSD aber wie gewohnt weiter und könnte glücklicher kaum sein. Selten hat mich ein System so wenig genervt und mich so wenig an Produktivität gehindert.
Aber trotz alle dem, steht meine FreeBSD-Workstation noch immer hier neben mir, mit seinem ZFS, dem RAID und allem, was ich so sehr mag. Ich habe XRDP drauf konfiguriert und nutze es ab und an doch noch für die ein oder andere Aufgabe.