So, das Problem ist gelöst.
Vielen Dank für Eure Tipps. Hier noch einmal eine kurze Zusammenfassung, vielleicht hilft's ja dem einen oder der anderen.
Es ging darum, neben einem laufenden Webserver/FTP/mysql die lampp-Suite (zumindest den Apache und mysql) zu Testzwecken parallel laufen zu lassen.
Meine Schwierigkeiten hatten übrigens mit den Änderungen zu tun, die
./lampp security in
./etc/my.cnf vornimmt.
Antwortet man beim Security-Check auf die Frage
- Code: Select all
XAMPP: MySQL ist ueber's Netzwerk erreichbar.
XAMPP: Normalerweise wird dies nicht benoetigt. Soll ich es abschalten? [ja]
mit "ja" werden die Client-Einstellungen in
my.cnf für den Port überschrieben und auf Port = 0 gesetzt. - Das muss man entweder nachträglich wieder anpassen, oder man antwortet hier einfach mit "nein". Das bedeutet, der lampp-mysqld ist über das Netzwerk erreichbar. Also auf jeden Fall Passwörter setzen!
Hier die ausführliche Variante:
Um den zweiten mysqld zum Laufen zu bekommen habe ich folgende Änderungen vorgenommen (selbtverständlich nicht ohne vorher von den entsprechenden Dateien ein Backup zu erstellen):
In
./lampp/etc/my.cnf- Code: Select all
[client]
#password = your_password
port = 3306
socket = /opt/lampp/var/mysql/mysql.sock
...
[mysqld]
port = 3306
socket = /opt/lampp/var/mysql/mysql.sock
habe ich in beiden Fällen (client und mysqld) die Ports angepasst, so dass
my.cnf so aussah:
- Code: Select all
[client]
#password = your_password
port = 3333
socket = /opt/lampp/var/mysql/mysql.sock
...
[mysqld]
port = 3333
socket = /opt/lampp/var/mysql/mysql.sock
(Bei mir läuft kein DEC Notes, das normalerweise an diesem Port lauscht.)
@zschendh: Ein Anpassen der Socket-Einstellungen war nicht nötig, da mein Standard-mysqld seine Sockets woanders hinschreibt.
Dann noch
httpd.conf und
lampp selbst mit den nötigen Ports versorgt (schließlich läuft auf Port 80 mein Production-Webserver):
In
./lamp/etc/httpd.conf(Dieser Teil ist nur nötig, wenn auch der Webserver auf einem anderen Port laufen soll. - Ich habe in diesem Fall keine Anpassungen für https vorgenommen.)
- Code: Select all
Listen 80
geändert in
- Code: Select all
Listen 8888
und in
./lampp/lampp die Anfragen ob auf den entsprechenden Ports schon jemand ein offenes Ohr hat:
[Zeile 172]
- Code: Select all
if testport 80
ändern in
- Code: Select all
if testport 8888
[Zeile 221]
- Code: Select all
if testport 3306
ändern in
- Code: Select all
if testport 3333
Damit sollte eigentlich alles in trockenen Tüchern sein. Dann wollen wir Apache und mysql mal starten. Ich starte beide Server von Hand, da ja mein "offizieller" FTP-Server bereits läuft.
- Code: Select all
myserver:/opt/lampp # ./lampp startapache
XAMPP: Starte Apache mit SSL (und PHP5)...
myserver:/opt/lampp # ./lampp startmysql
XAMPP: Starte MySQL...
myserver:/opt/lampp #
Wunderbar. Ein Blick nach ps zeigt mir, dass httpd und mysqld laufen. Also gucken wir doch mal unter
http://myserver.de:8888 und voila! - da isser. Auch phpmyadmin funktioniert einwandfrei.
Natürlich habe ich als erstes den Sicherheitscheck aufgerufen und muss feststellen, dass - wie es ja auch in der Dokumentation steht - das ganze System ziemlich unsicher ist. Also wieder zurück zur Kommandozeile und fix
- Code: Select all
myserver:/opt/lampp # ./lampp security
eingegeben. Hier gibt es die Abfrage:
- Code: Select all
...
XAMPP: MySQL ist ueber's Netzwerk erreichbar.
XAMPP: Normalerweise wird dies nicht benoetigt. Soll ich es abschalten? [ja]
Natürlich antworte ich mir 'ja'. Doch dann:
- Code: Select all
XAMPP: Abgeschaltet!
XAMPP: Stoppe MySQL...
XAMPP: Starte MySQL...
XAMPP: MySQL muss gestartet sein um die Sicherheit ueberpruefen zu koennen.
XAMPP: MySQL muss gestartet sein um die Sicherheit ueberpruefen zu koennen.
...
Nanu?! Ein Blick in
./var/mysql/myserver.err zeigt folgende Einträge:
- Code: Select all
...
060610 23:41:47 mysqld started
060610 23:41:47 [ERROR] Can't start server: Bind on TCP/IP port: Address already in use
060610 23:41:47 [ERROR] Do you already have another mysqld server running on port: 3306 ?
060610 23:41:47 [ERROR] Aborting
...
Das war dann der Moment, wo ich nicht mehr weiter wusste. Offenbar hat ./lampp security irgendwas verändert und jetzt versucht MySQL doch, an Port 3306 zu lauschen, was natürlich Wurst ist.
Der Blick in
./etc/my.cnf zeigt:
- Code: Select all
# commented out by lampp security
#port = 3333
port = 0
Da sind sie hin, meine Änderungen. Hier muss man die Anpassungen von lampp security also wieder rückgängig machen:
- Code: Select all
port = 3333
#port = 0
Nochmal zur Kommandozeile:
- Code: Select all
myserver:/opt/lampp # ./lampp startmysql
XAMPP: Starte MySQL...
myserver:/opt/lampp #
...und alles läuft. Hurra! Und nochmal danke.
Ein Absichern von phpmyadmin und die nötigen Änderungen in ./phpmyadmin/config.inc.php überlasse ich als Hausaufgabe den geneigten Lesern.
HTH,
jwl