Linux-Apache-PHPMyAdmin-MariaDB-Python-Kombination möglich?

mschrak

Commander
Registriert
Sep. 2009
Beiträge
2.203
Hallo zusammen,

ich hatte mir eigentlich vorgenommen, Python anhand einer DB-Anwendung unter Linux zu erlernen, und jetzt tue ich schon seit Tagen kaum etwas anderes, als überhaupt nur die benötigten Bestandteile zum Laufen zu bringen... (bzw. das zu versuchen, Erfolg hatte ich noch nicht). Ich habe sogar schon aus Frust überlegt, auf Windows umzusteigen, damit ich mich auf das Wesentliche konzentrieren kann und mich nicht mit tausend Abhängigkeiten, manuellen Konfigurationen und Inkompatibiläten herumschlagen muss. Das widerstrebt mir aber doch zu sehr.

Kann mir jemand ein gutes (und einwandfrei funktionierendes) zielorientiertes Tutorial für die saubere Installation folgender Komponenten empfehlen oder mir mal sagen, was ich falsch mache (wir reden hier über eine komplette von 0 anfangende Neuinstallation auf dem Rechner, kein verhunztes System, keine Exotenhardware etc.):
  • Linux (die bestgeeignete Distro für diesen Zweck. Ich habe jetzt schon mehrere durchprobiert und jedes Mal 1/2 h + für die Installation geopfert. Versucht habe ich Mint, MX Linux, CentOS, Debian. Dies wären auch meine bevorzugten Kandidaten)
  • Apache
  • PHP
  • PHPMyAdmin
  • MariaDB
  • Python 3.6 aufwaertz incl. tkinter und einem guten MariaDB-connector

Ich habe leider das Gefühl, dass ich über jedes erdenkliche Problem stolpere, das man in diesem Kontext haben kann. Und wenn ich denke, ich habe es nun endlich, funktioniert irgendetwas nicht oder nur bedingt. Ich gebe mal ein paar Beispiele:
  • Ich war glücklich mit MX Linux. Bis ich gemerkt habe, dass diese nur python 3.5 (und nix darüber) kann, offenbar wegen des genutzten Debian stable von 2016 (?). Problem ist, dass gerade einige DB-Operationen sowie Formatierungselemente in 3.7 eben deutlich anders sind als in 3.5, Und dann frage ich mich 20 Minuten, was ich bei dem Python Tutorial falsch mache und warum das bei dem Typen auf Youtube funktioniert und bei mir nicht.
  • Die LAMP Installation führt bei mir grundsätzlich zu Problemen. Warum weiss ich nicht, vermutlich, weil alle Distros schon das ein oder andere davon installiert haben, die jeweils anderen Komponenten aber nicht mit alten / neuen Versionen zurechtkommen (es ist zum reinbeissen)
  • Zuletzt hatte ich alles ohne Fehlermeldung unter Linux Mint 19.2 installiert (auch wenn ich einiges über die Konsole, anderes komischerweise nur über synaptic installieren konnte), aber dann habe ich PHPMyAdmin soweit, dass es sich mit der DB verbindet, da kommen bei jeder SQL-query haufenweise Fehlermeldungen.

Ist das denn wirklich so kompliziert, das sauber zum Laufen zu bringen, oder sollte ich mir eingestehen, dass ich einfach zu dumm bin und stattdessen lieber weiter .exe Dateien doppelklicke?

Ich bin für jede Hilfe sehr dankbar.
Ich finde es zB auch extrem schwer, exakt herauszufinden, welche Pakete ich genau benötige. Ich habe immer unterschwellig das Gefühl, die Fehler kommen daher, dass bestimmte Pakete nicht oder falsch oder an der falschen Stelle oder in der falschen Reihenfolge oder in der falschen Version installiert sind. Habe ich denn zB alles für MariaDB erforderliche, wenn ich mit apt-get install mariadb-server mariadb-client installiere? Oder fehlt mir dann hinterher irgendetwas für die Zusammenarbeit mit PHPmyAdmin?

Wie gesagt, ich bin für jede Hilfe dankbar. Ich benötige eine sauber artbeitende Umgebung...

Danke schon mal,

Martin
 
Nimm dir Ubuntu oder Debian.
Dafür gibt es auch die meisten Tutorials.
 
Hi,

es wäre wichtig zu wissen, was genau bei der LAMP Installation schief geht. Ubuntu schon mal getestet? Vermutlich größte Community, entsprechend viele und gute Tuts!

VG,
Mad
 
ich würde ein Debian nehmen, davon die Netinstall-CD, dann ein frisches Linux installieren und hier
https://www.howtoforge.de/ nachlesen, wie man einen LAMP-server installiert - geht recht einfach und ist auf deutsch.

z.B. LAMP - https://www.howtoforge.de/anleitung/debian-9-lamp-server-tutorial-mit-apache-php-7-und-mariadb/
den Rest musst du dir auf dieser Seite selbst suchen

und PYTHON - https://linuxize.com/post/how-to-install-python-3-7-on-debian-9/ (leider nur englisc)

so - jetzt bin ich raus.
 
Zuletzt bearbeitet:
mschrak schrieb:
Kann mir jemand ein gutes (und einwandfrei funktionierendes) zielorientiertes Tutorial für die saubere Installation folgender Komponenten empfehlen oder mir mal sagen, was ich falsch mache (wir reden hier über eine komplette von 0 anfangende Neuinstallation auf dem Rechner, kein verhunztes System, keine Exotenhardware etc.)
Verabschiede dich von Tutorials. Diese Schritt für Schritt Anleitungen bringen einem nur sehr wenig, vor allem kein Verständnis. Zudem veralten die Tuts fröhlich und helfen bei speziellen Fragestellungen sowieso nicht.
Wenn du LAMP installierst, auch da würde ich davon abraten den ganzen Lamp Stack / virtuelle Pakete zu installieren. Beschäftige dich lieber im Detail mit deinem Problem, überlege wie du sie lösen kannst und installiere nur die notwendigen Pakete/Programme. Beschäftige dich bitte auch mit der Config eben dieser Programme. Also mindestens fröhliches Manpages lesen und die entsprechenden Ordner/Dateien in /etc/ überfliegen ;)
Das macht erst einmal viel Aufwand, das Verständnis welches sich dabei entwickelt sparten zukünftig aber viel Zeit beim Lösen auftretender Probleme.


Mal was Anderes, wieso Python und PHP für ein und das selbe Projekt? PHP und Python überdecken sich in vielen Stellen in ihren Fähigkeiten. Da würde ich versuchen sauber alles in nur einer dieser Sprachen abzuwickeln. Natürlich außer die Abfragen der Datenbank, da ist die klar abgegrenzte Domäne von SQL.

Bei den von dir beschriebenen Problemen, macht halt ein Thread zu deinen Problemen auf. Dokumentiere dort deine Absichten / dein Ziel und dein Vorgehen möglichst genau (Terminalbefehle). Vieles lässt sich lösen ;)
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Nase und snaxilian
Das Projekt mache ich im Wesentlichen in Python. PHP ist nur mit dabei wegen PHPMyadmin und weil ich damit rechne, dass ich Fertigkeiten in PHP für eines der nachfolgenden Projekte gebrauchen kann, die etwas mehr Web- / Html-basiert sind.

Zum Ganzen: Ich glaube, dass ich besser lerne, wenn ich ein konkretes Projektziel verfolge und mit mit den Einzelschritten den Weg dahin erarbeite. Software ist ja inzwischen zu komplex, abstrakt und umfangreich, um noch zu sagen "Ich lerne das erst mal und setze es dann um". Deshalb stört es mich ja auch, dass ich mich immer wieder in Nebenkriegsschauplätzen verfranse und dann bis mitten in der Nacht Fehler behebe... was ich jetzt auch wieder tun werde.
 
mschrak schrieb:
Zum Ganzen: Ich glaube, dass ich besser lerne, wenn ich ein konkretes Projektziel verfolge und mit mit den Einzelschritten den Weg dahin erarbeite. Software ist ja inzwischen zu komplex, abstrakt und umfangreich, um noch zu sagen "Ich lerne das erst mal und setze es dann um".

Ein Fehlschluss, das was die Software an Komplexität mitbringt hat sie meist weil damit typische Probleme ihrer Anwender gelöst werden sollen [1]. Wenn du ein Projekt angehst wirst du eben jene Probleme wiederfinden. An der Stelle zu wissen was die entsprechenden Technologien können hilft dir unmittelbar. Sowohl weil du viel besser planen kannst wie du dein Projekt entwirfst und weil du irgendwo im Hinterkopf hast, dass es für auftretende Teilproblem schon einen Ansatz in deiner vorhandenen Infrastruktur gibt. Das spart wesentlich mehr Zeit als bei jedem Furz zu googeln und das nächste Framework zu nutzen nur weil es beim ersten Treffer auf Stackoverflow empfohlen wurde.

Das fängt bei PHPmyAdmin bereits an. PHPmyAdmin extern aus dem Netz erreichbar zu haben ist eine Einladung an Alle. Hier solltest du dich mit den Alternativen beschäftigen (Zugriff mittels MySQL Workbench über einen Tunnel zum Beispiel).
Als Hinweis, mein privater Server hat kein MySQL laufen, ein PHPmyAdmin wird schon gar nicht ins Netz exponiert, mein Zugriffslog sieht trotzdem so aus:

Code:
user@server:/var/log/apache2$ cat access.log.1 | grep -i phpmyadmin | wc -l
204

Also nochmal die Bitte, beschäftige dich mit dem Kram und ignoriere Tutorials! Außer natürlich du verstehst im Detail was die einzelnen Schritte bewirken und vor allem WIESO sie durchgeführt haben.

[1] Zumindest bei den Grundlegenden Sachen wie Webservern, PHP Interpretern/Modulen, ...
 
Kleiner Hinweis noch, weil nach der besten Distro gefragt und auch schon mehrfach neu installiert wurde: Die Distro ist nur dann wirklich wichtig, falls man bestimmte Versionen eines Programms/Bibliothek aus den Paketquellen nutzen muss/will. Grundsätzlich sollten die Distro-Pakete zusammen funktionieren. Ist der Software-Stand zu alt, muss man eine neuere Distro wählen. Wenn man selbst Software installiert, muss man die Abhängigkeiten natürlich selbst beachten. Hier war es wohl eine veraltete phpMyAdmin Version, die nicht mit der PHP-Version kompatibel war.

Um sich nicht den Paketquellen auszuliefern, aber auch nicht direkt in das System eingreifen zu müssen, kann man Programme wie Podman, Docker etc. verwenden, die eine leichtgewichtige "Virtualisierung" ermöglichen. Damit kann man die Server-Umgebung simulieren, neue Versionen ausprobieren, Konfigurationen teilen... Sehr nützlich, braucht aber natürlich auch wieder etwas Einarbeitung.
 
Danke, das ist ein wertvoller Hinweis. Zumal ich mit rel. alter HW arbeite und jede Neuinstallation ziemlich lange dauert. Wenn ich mal wieder den Kopf frei habe, werde ich mir das mal ansehen.
 
mschrak schrieb:
Deshalb stört es mich ja auch, dass ich mich immer wieder in Nebenkriegsschauplätzen verfranse und dann bis mitten in der Nacht Fehler behebe
Die Nebenkriegsschauplätze machst Du aber selbst auf, indem Du halt solch ein Quatsch wie mit PHPMyadmin machst und dabei sogar noch nebenbei etwas PHP lernen willst.
Eigentlich brauchst Du im ersten Schritt nur Python und MySQL (oder von mir aus auch MariaDB). Alles andere von dem LAMP-Zeugs ist zunächst gar nicht nötig.
 
Zurück
Oben