KDM, root login, KDE 4.5.1/4.5.2

Bei KDE 4.5.1 und 4.5.2 ist defaultmäßig die Möglichkeit zum graphischen Login (kdm) für root abgestellt.

Nun könnte ich mich darüber aufregen – aber ich bin inzwischen zu alt für diese laufenden Aufregungen im Zusammenhang mit einer KDE- und Linux-Philosophie, die sich immer mehr an Windows annähert und aus meiner Sicht einen falschen Weg darstellt. Deshalb nur ein paar Anmerkungen aus dem Bauch raus:

Verfolgt man die Diskussionen in diversen Foren zu dem Login-Thema, so fällt einem auf, dass immer wieder mit dem dummen User argumentiert wird, der durch sein Handeln für sein System ein Sicherheitsrisiko darstellt und dem man deshalb systematisch Möglichkeiten wegnehmen muss. Wo hatten wir diese Argumentation kürzlich auch noch? Ach ja, beim Powermanagment unter KDE. Auch da wurden etablierte Möglichkeiten zur Einstellung des CPU Freq Governors beschnitten, weil der User zu dumm ist, die Folgen seines Tuns zu verstehen. Siehe einen entsprechenden Beitrag von mir in diesem Blog (https://linux-blog.anracom.com/2010/09/09/h/).

Ja, ja, der dumme User …. ob er wohl schlauer wird, wenn man ihn immer mehr einschränkt? Ich glaube nicht. Für wahrscheinlich halte ich es aber, dass immer mehr eingeschränkte User auch mehr Unterstützung durch Profis benötigen werden – cui bono ? Red Hat, Novell ? Wer hat eigentlich wirklich einen Vorteil davon, wenn die Hemmschwellen für User, sich auch in der Systemadministration zu versuchen und dabei etwas zu lernen, defaultmäßig immer höher gesetzt werden ?

Mich ärgert diese Default-Beschneidung von Rechten und Möglichkeiten – weil hier Chancen zum Lernen verbaut werden und das Leben einseitig nur den ausgebildeten Administratoren erleichtert wird. Das hat etwas mit Kommerz zu tun – aber nichts mit “Open”.

Wohlgemerkt, ich verstehe die wachsenden Sicherheitsbedürfnisse in einer Welt mit permanenter Anbindung an das Internet sehr gut. Ich verstehe auch, dass man in professionell genutzten Umgebungen mit hohen Sicherheitsanforderungen die Möglichkeiten des Standard-Users beschränkt – z.T. massiv zum Wohle aller. Dies gilt vor allem dann, wenn ein Administrator die (oft genug schwere) Verantwortung für die Sicherheit der Linux-Arbeitsplatz-PCs und des Netzwerkes übernehmen muss. In diesen Fällen sind Einschränkungen angesagt !

Das ging ja aber alles bisher auch schon!

Der erfahrene Admin wußte/weiss, was er dicht machen musste/muss. Auch ohne Default-Beschneidung durch die KDE-Leute und Distributoren. Dafür ist der Admin ja hoffentlich ausgebildet! Umgekehrt gilt das leider nicht:
Der “dumme” User, der Linux auf seinen Privat-PCs nutzt oder ausprobiert, weiss in der Regel nicht, was er tun muss, um die verlorengegangenen Entfaltungsmöglichkeiten bei Bedarf wiederzuerlangen. Und es ist irgendwie nicht einzusehen, dass User auf privaten PCs, für die sie alleine die Verantwortung tragen, von Haus aus in ihren Möglichkeiten beschnitten werden.

Irgendwann werden wir durch den dauernden Hang zur Begrenzung der Möglichkeiten den Linux-User schließlich so eingeschränkt haben, dass Verhältnisse wie heute bei Microsoft eintreten – der User soll gar nicht mehr wissen, was sein System eigentlich macht und worauf er Einfluss nehmen könnte … Tja, das führt dann irgendwann zu Usern die all ihre Dateien in genau ein Verzeichnis legen, weil sie nichts mehr von Filesystemen wahrnehmen (sollen).

Schöne neue Welt … Verstecken statt aufklären …. Möglichkeiten wegnehmen statt mit verständlichen Erläuterungen vor den Risiken zu warnen ….Mangel statt Entfaltungsmöglichkeiten … Angst vor dem User und zu wenig Entwickler-Kapazität für Hilfetexte …. Angst vor der Dummheit der User und zu wenig Mittel, die eigentlichen Sicherheitslücken zu stopfen ? Aber Klicki-Bunti (statt echter Funktionalität) bis zum Abwinken unter KDE ….

Open Source – quo vadis ?

Leider ist die gesamte Diskussion auch technisch zu eng und ähnlich wie bei der Diskussion um Holger Machts Patch zur Reduktion der Möglichkeiten für Power-Management-Möglichkeiten werden auch hier etliche Szenarien vergessen, in denen auch eine normaler User die Chance bekommen muss, ausnahmsweise (!) mal Einstellungen als root über die graphische Oberfläche vornehmen zu können. Ein Beispiel liefern Laptops. Nicht alle Linux-Systeme befinden sich in einer problematischen Umgebung, für die ein Administrator allein die Verantwortung tragen muss.

Hinzu kommt speziell unter KDE noch folgendes: Empfohlen wird ja vielfach, sich bei Bedarf ein Terminalfenster zu öffnen, sich dort als root einzuloggen und dann die benötigten Programme aufzurufen. Gerade das ist aber im Moment unter KDE in vielen Fällen wenig angenehm.

Ein Beispiel liefert Dolphin. Dophin öffnet sich nach dem Aufruf von root zwar rasch, aber wenn man dann als root einzelne Dateien mit einem graphischen Editor öffnen will, wartet man erstmal bis zu 30 Sekunden während das Terminal mit Fehlermeldungen aus der Soprano-Nepomuk-Ecke überschüttet wird und im Hintergrund die Sicherheitslage gecheckt wird (z.B. von apparmor) weil ein Fremduser-Zugriff auf eine graphische Oberfläche erfolgt.

Und dann stolpert man ggf. über hässliche Schrifteinstellungen ohne Glättung etc. – weil halt die KDE-Einstellungen für root nur sehr rudimentär sind. Aber der dumme User weiß ja sicher, wie er von seinem Desktop aus die Desktop-Einstellungen für root verändern kann …

Ich höre schon das Gegen-Totschlag-Argument: Root braucht keine graphischen Programme, wozu gibt es denn “mc” und selbst das ist für Hartgesottene schon zu grapisch …. Außerdem gibt es ja “sudo” und “kdesudo”. Tja, das wird ja spannend, wenn der dumme User auch damit für etliche Zwecke an Grenzen stößt und dann eigentlich anfangen müsste, die sudo-Konfigurationsdatei abzuändern ….

Alles in allem ist mir dieses elitäre Getue zu blöd. Ich möchte mich manchmal (!) auch als root graphisch einloggen – vor allem wenn es wirklich schnell gehen muss. Ich bin root – ich darf das. Deshalb ein paar Hinweise zur Umgehung der Sperren für Opensuse 11.3 für die, die sich nicht einschränken lassen wollen:

Die “KDM”-Einstellungen erfolgen bei Opensuse 11.3 in 2 (!) Dateien:

/usr/share/kde4/config/kdm/kdmrc

/var/adm/kdm/kdmrc.sysconfig

In diesen Dateien muss mindestens im Abschnitt

[X-:*-Core]

folgender Eintrag erfolgen:

AllowRootLogin=true

Bis vor kurzem war das auch genug. Nun haben aber die Suse-Entwickler ein wenig mehr getan und Änderungen an der letzten der beiden genannten Dateien werden bei KDE-Starts rückgängig gemacht. Ein (längerer) Blick in die SuSE-Scripts zeigt jedoch, dass ein Eintrag in folgender Datei für KDM hilft (das habe nicht ich entdeckt sondern nur nachvollzogen – die Ehre gebührt Carlos E. R. (s. den Link zum Opensuse Forum):

Datei:         /etc/sysconfig/displaymanager

Eintrag:         DISPLAYMANAGER_ROOT_LOGIN_LOCAL=”yes”

Diese Eintragsmöglichkeit ist im Moment leider nicht im Yast-Editor für “/etc/sysconfig” enthalten. Es wäre fair von Suse, das da aufzunehmen.

Links

http://forums.opensuse.org/english/get-help-here/install-boot-login/446249-root-logins-not-allowed-2.html

Abschluss: Sicherheit entsteht
auf Dauer durch Wissen und dessen Verbreitung, aber nicht durch die systematische Beschränkung der User!

9650SE-4LPML – ein paar Einstellungen

Wenn man mit einer oder mehreren VMware-Workstation unter Linux hantiert, ist man froh über einen guten I/O. Gestern hat mich jemand in diesem Zusammenhang auf meine Erfahrungen mit 3ware-Controllern angesprochen.

Pauschal konnte und kann ich darauf nicht antworten – man müsste für eine solide Einschätzung systematische Vergleiche mit anderen Controllern durchführen. Dazu fehlen mir im Moment schlicht die Ressourcen. Es gibt aber interessaante Diskussionen im Internet. Ich empfehle den folgenden Beitrag

http://makarevitch.org/rant/raid/

Siehe auch die dortigen Links mit wirklich interessanten Statements und Erfahrungen zu 3ware-Controllern unter Linux. Hochinteressant finde ich vor allem die Vergleiche mit SW-Raid-Konfigurationen unter Linux, die mich ab und zu doch an meinen Investitionen in HW-Raid für Desktops zweifeln lassen.

Dennoch und aus dem Bauch heraus: Meine Erfahrungen sind im Mittel nicht schlecht, aber gerade mit laufenden VMware-Workstations wird der Platten I/O auf meine Opensuse Kisten bisweilen für kurze Momente zu einem echten, spürbaren Engpass. Zumindest, wenn man sich nicht ein wenig um die (begrenzten) Einstellmöglichkeiten des Controllers und auch des Linux-Systems kümmert.

Aufgefallen ist mir in der Praxis auch, dass auf meinen Opensuse-Systemen mit Quadcore-Prozessoren unter Last irgendwie immer (oder vor allem) der erste Core hohe WAIT I/O-Werte aufweist. Ich gehe mal davon aus, dass die 3ware-Treiber in Kombination mit dem Kernel den Controllerzugriff und den Datentransfer über genau einen Core handhaben. Auch dazu gibt es Hinweise in einschlägigen Diskussionen im Internet.

Der von mir auf den Desktop-Systemen verwendete Controller “9650SE-4LPML” ist ferner nicht ein System, bei dem man die Performance über große Raid-Stapel mit 12 oder 24 Platten hochziehen könnte. Mit 4 Platten sind die Möglichkeiten halt begrenzt.

Also fängt man an, ein wenig herumzuprobieren und vor ein paar Monaten habe ich tatsächlich mal ein wenig Zeit investiert, um mir mit “Bonnie++” verschiedene Konfigurationen anzusehen. Allerdings nur mit EXT3/Ext4 als Filesystem. Wenn ich auf dieser Basis Empfehlungen geben sollte, dann wären es folgende:

1) 4 Platten – Raid 10

2) Wenn man es sich leisten kann : Eher kein LVM einsetzen.

3) Controller-Parameter: Read-Cache auf “Intelligent” setzen und Write-Cache aktivieren (Battery Unit zur Vermeidung von Datenverlusten/Inkonsistenzen einkalkulieren). StorSave auf “Balance” oder “Performance” setzen. Verwendung von “Queuing” (NTQ Feature der Platten, wenn vorhanden) anschalten.
(Zum Einstellen von Controller-Eigenschaften kann man übrigens gut das übersichtliche “3DM2” benutzen.)

4) Linux-Einstellungen – z.B. für ein Raid-Device, das unter “/dev/sda” anzusprechen ist:

echo “512” > /sys/block/sda/queue/nr_requests

und danach (!):

blockdev   −−setra 16384 /dev/sda

5) VMware-Workstation (konfiguriert für 2 CPU-Cores eines Quad-Core-Systems):
Zuweisung des “vmware-vmx”-Prozesses an zwei andere Prozessor-Cores als den ersten, auf dem zumeist der I/O kontrolliert wird. Also z.B.:

taskset -pc 2,3 <pid des vmware-vmx-Prozesses>

Testet man die Performance unter diesen Bedingungen etwa mit zwei Raid 1 Units, die bei mir unter Linux als “/dev/sda” und “/dev/sdb” erscheinen, so erhält man mit Bonnie++ recht gute Werte für sequentielles Lesen und Schreiben (ca. 10% unter den theroretischen Maximalwerten der Platten). Aber es lohnt sich, auch andere Parameter-Werte – vor allem für blockdev – unter Linux auszuprobieren. Hier konnte ich durchaus messbare Unterschiede feststellen. Hat man gute Werte gefunden, hinterlegt man sich die Einstellungen in einem kleine Startup-Script.
Der Wechsel auf Raid 10 führt dann nochmals zu einer signifikanten Steigerung der I/O-Werte.

Mit unterschiedlichen Schedulern habe ich auch rumgespielt. Irgendwie erschienen mir die Unterschiede aber nicht so signifikant zu sein.

Ich hoffe, ein paar von den Hinweisen helfen auch anderen weiter.

KDE Power Management – so bitte nicht ….

Es gibt Dinge, da enden das Verständnis und die Nachvollziehbarkeit. Und man fragt sich, wie der Open Source Betrieb inzwischen eigentlich funktioniert.

Offenbar immer mehr nach dem Motto: Der User ist zu doof …. und deshalb nehmen wir ihm nützliche Dinge weg, weil einige Leute ihre Vorurteile und ihren Einfluss geltend machen.

Bis KDE 4.4 gab es ein nettes ansprechendes Feature in den KDE Systemeinstellungen – nämlich eine hinreichend umfassende Möglichkeit, sich Profile für das “power management” (hier CPU governor) zusammenzuklicken. Eigentlich genau das, was man sich als Normal-User, aber auch als Entwickler so wünscht, wenn man auf einem Desktop oder Laptop unter wechselnden Bedingungen arbeitet und nicht jede Einstellung zum “power management” über die Konsole eingeben will. Eine runde und wie ich finde auch durchdachte Sache rund um HAL und power-devil …

Aber H. mag das nicht … und H. findet anscheinend, dass die Anwender zu blöd sind, die Folgen ihres Tuns abzuschätzen. Also dringt H. darauf, dass ein halbwegs komfortables Tool zur Einstellung des CPU-Frequenzverhaltens und andere Schrauben für das Energieverhalten eines Systems aus KDE entfernt wird. H. weiss: Das ist nix für eine GUI, denn der GUI-Benutzer ist einfach zu dumm. Und weil H. die KDE-Anwender und moderne CPUs kennt, weiss er auch, dass solche Features zu 99,8% überflüssig ist. So ein Laptop weiss schon, wann er sich drosseln muss ….und überhaupt die Energieveschwendung ….und die Wunder einer effizienten “On Demand” Welt ….

Anstatt aber etwas tun, um den “Dummen” die Folgen ihres Handelns z.B. in Hilfetexten oder an Beispielen in der GUI zu erläutern – nein, da nehmen wir ihnen die Möglichkeit was einzustellen lieber gleich ganz weg. Per Patch – und schon sind bewährte Einstellmöglichkeiten, die der User aber sicher ganz falsch verwenden wird, in KDE 4.5 nicht mehr drin. Am besten wäre es allerdings, auch noch die Einstellmöglichkeiten an der Konsole – sprich die “solid-powermanagement”-Optionen zu beschneiden ….. Blöd irgendwie nur, dass das im Patch beabsichtigte reine On/Off-Schalten von Energiespar-Einstellungen für die CPU-Frequenz auch nicht so recht funktioniert ….

An was erinnert mich diese Art der “Argumentation” doch noch? Wie hies doch gleich das System mit der GUI, bei der der User so wenig wie möglich mit Nachdenken belastet werden soll ? Wollte man mit Linux nicht weg von einer solchen Politik?

Die Phantasie von H. reicht offenbar nicht so weit, dass er sich vorstellen kann, dass es KDE-Nutzer gibt, die grafische Oberflächen nicht nur zum Üben von Openoffice auf einem Laptop einsetzen. Dass man z.B. bei Bedarf (und bequem) ein bestimmtes Power-Management-Profile aktivieren möchte, wenn mehrere VMware Workstations auf einer Linux-Workstation zeitweise mit konstanter Frequenz auf unterschiedlichen CPU-Cores laufen sollen und müssen – sowas kommt in in der Welt von H. nicht vor. Und dass man manchmal die Frequenz konstant auf das niedrigst mögliche Niveau setzen will, um die Performance von Programmen für solche Verhältnisse zu testen – neh’ das braucht es in der on demand Welt nicht. Und dass es einen Bedarf für Powermanagement-Profile bei Anwendern mit älteren Laptops geben mag, die sich nicht alle 2 Jahre ein neues Gerät leisten können? Egal …. Und dass man bei manchen Laptops gezielt die niedrigste CPU-Frequenz einstellen mag, weil sonst die Lüfter unter Linux und KDE laufend anspringen? Egal ….

Und selbst wenn – der typische Linux- und KDE-User kann die Folgen seines Klickens auf all die schönen bunten Features auf dem KDE-Schirm ja eh’ nicht einschätzen ….

Hinweisen wollte ich die anderen dummen 0,02% KDE-Mitbenutzer, die die früheren Möglichkeiten zum Einstellen von Powermanagement-Profilen eventuell doch vermissen, noch auf die Möglichkeit von

solid-powermanagement query cpufreq
und
solid-powermanagement set
cpufreq <value>

Ich meine für die Zeit, bis H. auch das zum Wohle der Anwender, im Sinne des Fortschritts und einer heilen “on demand” Welt eliminiert hat.

Bliebe noch die Diskussion um die Zukunft von HAL – aber auch in einer Zukunft ohne HAL sollte die Frage, ob und warum man dem User Kontroll-Möglichkeiten entzieht, vielleicht in einem anderen Stil diskutiert und evtl. auch über andere Verfahren zur Entscheidung gebracht werden.

Links

http://forum.kde.org/viewtopic.php?f=22&t=88774&p=167797#p167797
http://kubuntuforums.net/forums/index.php?topic=3113359.0
http://osdir.com/ml/kde-devel/2010-03/msg00055.html

http://dot.kde.org/2007/04/24/road-kde-4-solid-brings-hardware-configuration-and-control-kde?page=1
http://wiki.ubuntuusers.de/Solid
http://en.wikipedia.org/wiki/Solid_%28KDE%29

https://bugzilla.redhat.com/show_bug.cgi?id=550486

http://forum.kde.org/viewtopic.php?f=66&t=31708

Kontact, Kmail, Address Book – Nachtrag 2

Nachdem ich gerade auf einem PC mal wieder Opensuse 11.3, KDE 4.5, Kontact und Kmail installiert habe, eine kleine Hilfestellung dazu, wie man Kontact-Adressbücher auch unter Kmail und seiner automatischen Addressbuch-Suche/-Vervollständigung zum Laufen bekommt.

Standardmäßig ist Kontact ja mit einem Adressbuch “Persona Contacts” ausgestattet. Trägt man dort Adressen ein, so erwartet man, dass diese Adressen bei Anlage einer neuen Mail als Vorschläge auftauchen, wenn man die ersten Buchstaben der Adresse in eine Adressleiste der neuen Mail eintippt. Dies ist leider nicht der Fall. Aber ein kleiner Trick – nämlich ein Umweg über die KDE-Systemeinstellungen für Resourcen – führt zum Erfolg. Inzwischen nicht nur für die unter Kontact als “traditionelle” Adressbücher bzeichneten Ressourcen, sondern auch für reine Akonadi Adressbücher.

Vorgehen für ein traditionelles Adressbuch:

Ic beschreibe hier die Schritte beispielhaft für das Adressbuch eines Open-Xchenage-Servers. Das geht aber genauso für Adressbücher auf Ordner, File und VCF-basis.

  • Schritt 1: Man starte Kontact, wechsle dort in den Bereich Kontakte. Klick mit der rechten Maustaste in den Bereich “Address Books”. Auswahl “Add address book”. Nachfolgend Auswahl von “KDE Address Book (traditional)”.
  • Schritt 2: Im folgenden Dialog Auswahl “OpenXchange-Server”. Dann die Server-Angaben vervollständigen. Z.B.:
    URL: http://OX.meinedomaine.de (falls der Server OX heisst und über diesen Namen (DNS) ansprechbar ist).
    USer und Passwort angeben. Danach den Button “Select Folder” wählen und eines der zugänglichen persönlichen oder globalen Adressbücher auf dem Open-Xchange Server auswählen.

  • Schritt 3: Ggf. im Dialog zum OX-Adressbuch auch noch angeben, ob man immer das ganze Adressbuch laden will oder nur die Änderungen seit der letzten Synchronisation. Diese Entscheidung hängt im Besonderen von der Größe des Adressbuchs, der Frequenz der Aktualisierung und der resultierenden System- und Netz-Belastung ab.
  • Schritt 4: Name des Adressbuchs auf dem lokalen System angeben. Dieser Name legt de Bezeichnung als lokaler Folder und auch als Akonadi-Resource fest. Danach “Finish”. Nun sollten die Adressen vom Server geladen und mit dem Inhalt der eben angelegten lokalen KDE-Adsressbuch-Ressource abgeglichen werden.
  • Schritt 5: Dieser Schritt ist von besonderer Bedeutung und muss leider und unverständlicherweise manuell durchgeführt werden! Öffnen von KDE’s “Systemeinstellungen”. Unter KDE 4.5 geht man nun auf den Punkt “Persönliche Informationen / KDE Ressourcen”. Dort wählt man in der Ressourcen-Auswahl “Kontakte”. Dann “Hinzufügen”. In dem nachfolgenden Dialog “OpenXchange-Server”. Die nachfolgenden Punkte entsprechen exakt denen von Schritt 2. Danach klicken wir “Anwenden”.
  • Schritt 6: Über die “Akonadi-Einrichtung” (Startmenü -> Suchen -> “Akonadi”) prüfen, dass das Addressbuch auch als Akonadi-Resource angelegt ist.
  • Schritt 7: Systemeinstellungen schließen, Kontact schließen, ausloggen, KDE neu starten, einloggen, Kmail öffnen.
  • Schritt 8: Testen, dass beim Schreiben einer neuen Mail die automatische Adress-Completion für Adressen aus der angelegten OX-“Address Book”-Ressource funktioniert.

Vorgehen für ein Akonadi-Adressbuch:

Wir können die Beschreibung hier auf die unter Opensuse bereits angelegte Akonadi-Adressbuch-Ressource beschränken. Andere Akonadi-Ressourcen muss man halt vorher anlegen (u.a. über Kontact). Angelegt ist unter OPensuse das Akonadi-Adressbuch “Personal Contacts”.

  • Schritt 1: Verifizieren, das das zu verwendende Akonadi-Adressbuch “Personal Contacts” bereits als Akonadie-Ressource existiert. Hierfür kann man erneut die “Akonadi-Einrichtung” benutzen.
  • Schritt 2: Öffnen von KDE’s “Systemeinstellungen”. Unter KDE 4.5 geht man nun erneut auf den Punkt “Persönliche Informationen / KDE Ressourcen”. Dort wählt man in der Ressourcen-Auswahl “Kontakte”. Dann “Hinzufügen”. Im folgenden Dialog “Akonadi-Adressbücher” wählen. Danach erscheinen in einem weiteren Dialogfenster dann die bereits als Akonadi-Ressourcen erfassten reine Akonadi-Adressbücher, aber auch die traditionellen Adressbücher, die inzwischen als Akonadi Ressourcen erfasst und verfügbar gemacht wurden. Hier wählen wir natürlich die Akonadi-Resource “Personal Contacts”. Abschließend klicken wir auf “Anwenden”.
  • Schritt 3: Systemeinstellungen schließen, Kontact schließen, ausloggen, KDE neu starten, einloggen, Kmail öffnen.
  • Schritt 4: Testen, dass beim Schreiben einer neuen Mail die automatische Adress-Vervollständigung mit Adressen aus der neuen Akonadi-Adressbuch-Resource “Personal Contacts” funktioniert.

Die Akonadi Ressource “Personal Contacts” lässt sich übrigens weiter in verschiedene Unterrordner untergliedern. Auch diese Unterordner kann man als aeparate Adressbuch-Ressourcen ansprechen.

Fazit

Unter Opensuse 11.3 und KDE 4.5 kann man traditionelle Adressbücher und Akonadi-Adressbücher nebeneinander mit Kmail verwenden. Schade nur, dass es nicht mit dem Anlegen der jeweiligen Adressbücher unter Kontact getan ist, sondern dass der User zusätzlich manuell “Ressourcen”-Einstellungen in den “Systemeinstellungen” vornehmen muss.

Man versteht, dass die Ressourcenverwaltung unter den KDE-Systemeinstellungen künftig eine sehr weitgehende Flexibilität und sehr feine Anpassungen bzgl. der von den KDE-Programmen tatsächlich einzusetzenden Ressourcen bieten wird. Im Moment ist dies für Kontact-Anwender aber nicht ersichtlich – zumal im Falle von OX-Kalendern tatsächlich ein automatischer Eintrag als KDE-Ressource erfolgt. Hier sollten die KDE-Entwickler die Usability verbessern und weitere Hinweise und Dialoge in Kontacts Adrssbuc-Bereich einbauen.

Lokale MySQL-/PhpMyAdmin-Installation

Als IT-Mensch ist man oft unterwegs und möchte gerne die Zeit mit seinem Laptop für Entwicklungsarbeiten benutzen – in meinem Fall für LAMP-Applikationen. Für derartige Web-Applikationen benötigt man auf einem solchen lokalen Test- und Entwicklungssystem neben einem Apache-Web-Server i.d.R. auch einen lokalen Datenbankserver, den man dann eventuell mit PhpMyAdmin verwalten will. Ich gebe hier ein paar kurze Hinweise zur Installation von MySQL unter Opensuse 11.3. Wir besprechen hier nur die einfachst mögliche Installation. Sind keine speziellen Anforderungen gegeben, reicht das für Entwicklertests vieler einfacher Anwendungen schon aus.

PhpMyAdmin und vermutlich auch die zu testenden PHP-Applikationen erfordern einen bereits vorhandenen Web-Server mit PHP-Modul. Wie man sich den verschafft, habe ich in einem früheren Beitrag dargestellt.

https://linux-blog.anracom.com/2010/07/25/lokaler-apache-test-server-fur-php5/

MySQL-Installation

Die MySQL-Installation unter Opensuse 11 ist mit Yast recht einfach. Für den Server und einige nützliche Tools habe ich folgende Pakete aus dem Standard-SuSE-Repository installiert. (Für aktuellere Versionen und Varianten von MySQl werfe man bei Bedarf einen Blick in folgendes Repository: http://download.opensuse.org/repositories/server:/database/openSUSE_11.3/ )

  • mysql-community-server
  • mysql-community-server-client (!)
  • libmysqlclient16
  • libmysqlclient_r16
  • libmysqld0
  • libqt4-sql-mysql
  • php5-mysql
  • mysql-administrator
  • mysql-gui-tools
  • mysql-query-browser
  • mysql-workbench
  • mytop
  • qt3-mysql
  • perl-DBD-mysql

Nachtrag 20.04.2011:
Die Funktionalität des Pakets “mysql-administrator” ist mittlerweile im Paket “mysql-workbench” aufgegangen. Unter Opensuse 11.4 existiert das Paket “mysql-administrator” deswegen nicht mehr.

(Nebenbei: Man achte auf die feine Unterscheidung in der Paketbezeichnung, die mit der Übernahme von Sun durch Oracle Einzug gehalten hat. Es heißt jetzt an zwei Stellen : community. Ein Synonym für künftig eingeschränkte Funktionalität? Ich ahne schon, dass ich mich bald wieder intensiv mit Postgres auseinandersetzen werde. Überhaupt tauchen Oracle-Embleme inzwischen an jeder Ecke im Linux-System auf. Da merkt man erst, was wir möglicherweise mit Sun verloren haben. Aber das ist ein Thema für sich …. ).

Die genannten Pakete ziehen unter Yast ggf. die Installation weiterer benötigter Pakete nach sich.

Nachtrag – 10.06.2012:
Inzwischen hat ja unter Opensuse 12.3 die Maria DB den MySQL Community Server von Oracle ersetzt. Die Paketliste ändert sich dann in etwa wie folgt. Ich gebe auch einige Pakete an, die vielleicht nicht jeder unbedingt braucht; das hängt davon ab, welche andere SW auf die MySQL-DB zugreifen soll.

  • mariadb
  • mariadb-client
  • mariadb-errormessages
  • mariadb-tools
  • libmysqld18
  • libmysqlclient18
  • libqt4-sql-mysql
  • qt3-mysql
  • mysql-workbench
  • mysql-community-server-errormessages
  • libmysqlcppconn6
  • libgda-3_0-mysql
  • php5-mysql
  • php5-pear-DB
  • perl-DBD-mysql
  • python-mysql
  • libreoffice-base-drivers-mysql
  • mytop

MySQL-Root-Account

Nach der Installation startet man den Datenbankserver unter Opensuse mit ”
rcmysql start”. Der Administrator-Account für die MySQL-Datenbank muss nun gesichert werden, damit nicht jeder Zugriff auf die Verwaltung des Datenbanksystems hat. Das erforderliche MySQL-Root-Passwort setzt man auf der Kommandozeile mit

# mysqladmin   -u   root    password    ‘ein_passendes_Passwort’

(Die Anführungszeichen sind ernst zu nehmen. Der ‘root’-User für MySQL ist übrigens nicht mit dem Linux-System-Verwalter-Account zu verwechseln!).

Nachtrag – 20.04.2011:
Ist der eigene PC/Server benannt und einer Domaine zugeordnet – etwa als “mytux.mydomain.de” -, sollte man zusätzlich

mysqladmin   -u    root    -h    mytux.mydomain.de    password    ‘ein_passendes_Passwort’    -p

ausführen. Man wird dabei nach dem zuvor angegebenen MySQL-Root-Passwort gefragt.

Nachtrag – 10.06.2013:
Unter Opensuse kommt es dabei oft zu einem Fehler der Art “Host ‘mytux.mydomain.de’ is not allowed to connect to this MySQL server”. Ursache ist, dass der Servername nicht in voll qualifizierter Form in die zentrale Tabelle ‘user’ der MySQL-DB eingetragen wurde. Man korrigiert das wie folgt:

# mysql -u root -p
Enter Password :

mysql> use mysql;

mysql> update user set host=”mytux.mydomain.de” where host=”mytux”;
mysql> flush privileges;
mysql> exit;
# mysqladmin   -u    root    -h    mytux.mydomain.de    password    ‘ein_passendes_Passwort’    -p

Alle nachfolgenden Verwaltungsaufgaben – wie die Anlage neuer User und deren Zugriffsrechte von verschiedenen Arbeitsstationen aus – kann man danach mit dem Kommandozeilentool “mysqladmin” oder mit dem grafischen Tool “MySQL Administrator”
/usr/bin/mysql-administrator
durchführen.

Nachtrag – 10.06.2013:
“mysql-administrator” ist als separates Tool seit Opensuse 11.4 verschwunden. Unter aktuellen SuSE-Versionen benutzt muss man dann die Admin-Tools der grafischen “mysql-workbench”, die man per

# mysql-workbench &

aufruft.

Letzteres Tool bietet sich für umfassendere Konfigurationsarbeiten bzgl. der Datenbank als (System-) root an, da die Hauptkonfigurationsdateien

“/etc/my.cnf”
“/etc/mysqlaccess.conf”

aus Sicherheitsgründen nur für root schreibbar angelegt werden.

Hinweis: Will man sich den “MySQL Administrator” graphisch auf die eigene KDE-Useroberfläche oder in den “Arbeitsflächen-Ordner” legen, so gibt man in der Konfiguration des Plasma-Icons als Programmaufruf

“/usr/bin/xdg-su   -c   /usr/bin/mysql-administrator”

an – um den grafischen sudo-Berechtigungsdialog für die Eingabe des root-passwords auf den Schirm zu bekommen. Ähnliches gilt für die Workbench.

Das Kommandozeilentool “mysql” ruft man über

mysql   -u   root    -p

auf und gibt dann danach das oben gesetzte MySQL-root-Passwort ein.

Für einen lokalen Testserver ist das oben Beschriebene als Ausgangsbasis für weitere Arbeiten (Anlegen und Konfiguration der benötigten Datenbanken und Tabellen) hinreichend. Für eine Produktiv-Umgebung sollte man besser eine “secure installation” durchführen. Genaueres dazu findet man unter den Links am Ende des Artikels.

Minimale PhpMyAdmin-Installation

Für unseren
lokalen Testserver wollen wir nun PhpMyAdmin installieren. Auch hier besprechen wir nur die einfachst mögliche Implementierung. Voraussetzung ist, dass auf dem Apache-Server PHP5 installiert ist.

Zunächst prüfen wir, dass zusätzlich folgende Pakete installiert sind:

  • php5-mysql
  • php5-zip
  • php5-bz2
  • php5-mcrypt
  • mcrypt

und bei Bedarf ggf.

  • php5-pear
  • php5-pear-Crypt_Blowfish

Dann laden wir uns von der Seite

http://www.phpmyadmin.net/home_page/downloads.php

phpMyAdmin-3.3.5-all-languages.tar.gz

herunter und entpacken die Dateien in einem lokalen Verzeichnis. Wir gehen davon aus, dass unser lokaler Webserver ein DocumentRoot-Verzeichnis

/srv/www/htdocs

und eine zugehörige Default-Domaine aufweist. Wir legen nun ein Verzeichnis

/srv/www/htdocs/phpmyad

an und kopieren dorthin den Inhalt (!) des vorher aus dem tar-Archiv erzeugten Verzeichnisses “phpMyAdmin-3.3.4-all-languages”.

Danach legen wir ein Verzeichnis

/srv/www/htdocs/phpmyad/config

an und machen es temporär für die Welt schreibbar

chmod 757 /srv/www/htdocs/phpmyad/config

Nun öffnen wir einen lokalen Browser und geben als Adresse an

http://localhost/phpmyad/setup

Auf der neuen Seite drüken wir den Button “Neuer Server”. Im folgenden Dialog “Grundeinstellungen” lassen wir alles unverändert (u.a. den Hostnamen auf “localhost” ) und wählen als Auth-Typ “cookie”. Wir wechseln nun zum Reiter “Serverkonfiguration” und erlauben dort den “root”-Login, damit wir danach Datenbanken anlegen können. Wir speichern dann die Einstellungen. Auf der folgenden Seite wählen wir ggf. “Deutsch” als voreingestellte Sprache und speichern erneut. Wir drücken nun abschließend den Knopf “Laden”.

Im nachfolgenden Schritt kopieren wir die frisch erzeugte config-Datei in das phpmyad-Verzeichnis:

  cp         /srv/www/htdocs/phpmyad/config/config.inc.php          /srv/www/htdocs/phpmyad/

Danach geben wir im Browser ein

http://localhost/phpmyad/

Im nachfolgenden Dialog authentifizieren wir uns als “root” (dies ist der mySQL-root-user) mit dem Passwort, das wir oben am Ende der MySQL-Installation vergeben hatten. Danach sollte die PhpMyAdmin-Oberfläche auftauchen. Nun können wir auf einfache Weise evtl. vorhande Datenbanken importieren, User dazu anlegen und die benötigten Rechte vergeben !

Hinweis:
Die Warnungen und Informationen zur sicheren Verbindung und zur Deaktivierung bestimmter Möglichkeiten sollten uns nachdenklich machen und zu weiteren Arbeiten anregen. Für einen lokalen Testserver ist das ggf. nicht wichtig – wohl aber in Produktivumgebungen! In diesem Beitrag sparen wir uns aber eine Vertiefung.

Abschließender Schritt: Die Schreibrechte auf dem Verzeichnis “config” entfernen wir aus Sicherheitsgründen wieder.

Nachtrag 10.06.2012:
Für aktuelle Versionen von phpMyAdmin geht die Installation in praktisch identischer Weise vor sich. Allerdings will man nach kurzer Zeit sicher die Einstellungen zur aktuellen GUI individualisieren – u.a. weil die zusätzlichen Textangaben zu den Icons viel zuviel Platz wegnehmen. Das nervt total.

Um das in den neuesten Versionen zu erreichen, muss man zusätzliche “config”-Verwaltungstabellen und einen “control user” anlegen. Letzterer muss dann passende Berechtigungen bekommen. Ferner
sind Einträge in der Datei “config.inc.php” zu ergänzen. Zum Anlegen der Verwaltungstabellen kann man die entsprechenden SQL-Statements über ein File “examples/create_tables.sql” importieren. Das File liegt unter dem Wurzelverzeichnis der phpmyadmin-Installation – im oben beschriebenen Fall also unter

/srv/www/htdocs/phpmyad/examples/create_tables.sql

Beschrieben ist das Vorgehen u.a. in folgenden Beiträgen:
http://docs.phpmyadmin.net/en/latest/setup.html#phpmyadmin-configuration-storage
und hier:
http://docs.phpmyadmin.net/en/latest/setup.html#using-authentication-modes
sowie hier:
http://stackoverflow.com/questions/11506224/connection-for-controluser-as-defined-in-your-configuration-failed-phpmyadmin-xa

Der letzte Beitrag fasst netterweise die erforderlichen Schritte zusammen.

Bei der Änderung der “config.inc.php” sind sowohl der “control user” und sein Passwort als auch diverse Tabellennamen der Datenbank “phpmyadmin” für den jeweiligen Server einzutragen. Diese Datenbank wurde beim Import der Datei “examples/create_tables.sq” angelegt.

Bitte beachtet bei den Ausführungen zur “config.inc.php” im letzten Link, dass die Tabellennamen inzwischen einen doppelten Unterstrich nach dem “pma” aufweisen! Also jeweils “pma__” und nicht “pma_” !
Wie die Tabellennamen unter der Datenbank “phpmyadmin” >> “pma_db” in der jeweiligen phpMyAdmin-Installation tatsächlich genau aussehen, prüft man am besten mit phpMyAdmin selbst.

Das ganze Theater bzgl. der GUI-Verwaltung ist aus meiner Sicht zu komplex gemacht. Vielleicht beschreibe ich das mal im Detail in einem eigenen Artikel.

Links

http://de.opensuse.org/MySQL
http://de.opensuse.org/Apache/SSL,_MySQL_und_PHP
http://www.susegeek.com/internet-browser/install-configure-lamp-apachemysqlphp-in-opensuse-110/
http://dev.mysql.com/doc/refman/5.1/de/installing.html
http://dev.mysql.com/doc/refman/5.1/de/default-privileges.html
http://www.howtoforge.com/perfect-server-opensuse11-p4
http://www.unixmen.com/linux-tutorials/237-install-lamp-in-openuse-110-and-111