# Vitualhost und MySQL Datenbank + PHPMyAdmin



## nchristoph (8. September 2010)

Hallo zusammen

Ich hab nach dem Tutorial von supernova mehrere Hosts erstellt.

Jetzt versuch ich schon die ganze Zeit, pro VHost eigene Datenbanken zu erstellen bzw. bei PHPMyAdmin nur die Datenbanken für den User anzeigen zu lassen.

Irgendwie find ich allerding keinen richtigen Lösungsansatz. Bei Google bin ich auch nicht wirklich fündig geworden.

Ich benutze die letzte Xampp version.

Kann mir wer helfen?


----------



## Bratkartoffel (8. September 2010)

Hallo,

ich verstehe dein Problem nicht ganz. Der Webserver mit seinen VHosts ist doch komplett unabhängig vom Datenbankserver?

Gruß
BK


----------



## nchristoph (8. September 2010)

Wenn ich jetzt z.b. 127.0.0.3/phpmyadmin eingebe sehe ich ALLE Datenbanken.

Ich denke mal, das ich da einen eigenen MySQLbenutzer anlegen muss, damit ich nur bestimmte Datenbanken sehe und nicht alle.

Sehe ich das richtig?


----------



## Bratkartoffel (8. September 2010)

Hallo,

ah, jetz versteh ich was du meinst. Ja, das solltest du. Standardmäßig ist bei phpmyadmin und xampp der Login auf den Datenbankserver nicht geschützt, das heißt eigentlich könnte eh jeder alles mit der Datenbank machen.

Daher solltest du folgende Schritte durchführen:
*1. Passwort für root ändern* (Auf der Startseite gibts nen Link "Passwort ändern")
*2. phpmyadmin Login einschalten* (in der c:\xampp\phpmyadmin\config.inc.php)

```
$cfg['blowfish_secret'] = 'irgendwas zufälliges!'
$cfg['Servers'][$i]['auth_type'] = 'cookie';
```
Diese Zeilen einfach suchen / hinzufügen falls noch nicht vorhanden. Speichern, und nochmal versuchen: http://127.0.0.1/phpmyadmin

Nun sollte er nach einer Seitenaktualisierung nach einem Benutzer und Passwort fragen. Hier gibst du root und dein Passwort ein, dann solltest wieder mit allen Rechten angemeldet sein.

*3. Jetzt musst du noch für jeden VHost eine Datenbank mit jeweils einem Benutzer anlegen*
phpmyadmin Startseite -> Rechte -> Neuen Benutzer hinzufügen:
Die Felder füllst du dann wie du meinst aus. Bei Host schreibst du "localhost" rein. Unterhalb der Textfelder sind Auswahlkreise, hier wählst du "Erstelle eine Datenbank mit gleichem Namen und gewähre alle Rechte".

Somit hast du eine Datenbank erstellt und passend dazu einen Benutzer der nur auf diese Datenbank alle Rechte hat.

Falls noch Fragen sind, einfach stellen 

Gruß
BK


----------



## nchristoph (8. September 2010)

Jetzt hab ich folgende Warnung:

Die Erweiterung mcrypt kann nicht geladen werden. Bitte überprüfen Sie Ihre PHP-Konfiguration.

In der PHP ini ist vor mcrypt die Raute weg.


----------



## Bratkartoffel (8. September 2010)

Hi,

die Warnung ist normal, liegt mit dem XAMPP zusammen. phpmyadmin würde die mcrypt-Erweiterung unterstützen, jedoch ist die bei dem XAMPP anscheinend nicht mit dabei. Habe xampp schon länger nicht mehr hergenommen, es sollte aber meiner Erinnerung nach keine Probleme machen.

Gruß
BK


----------



## nchristoph (8. September 2010)

Ok jetzt funktionierts. 

Eines noch: Wie kann ich die maximale Anzahl an Datenbanken festlegen, die ein User erstellen kann?


----------



## Bratkartoffel (8. September 2010)

Hallo,

bei der obigen Konfiguration hat jeder Benutzer genau *eine* Datenbank. Mehr kann er selber nicht erstellen. Ich denke aber, du willst die Datenmenge begrenzen, die der Nutzer speichern darf, oder?

Standardmäßig gilt hier das Limit von MySQL an sich (~4 GB). Wie du es einzeln ändern kannst, weiß ich nicht. Aber in der my.cnf gibt es eine Einstellung die du deinen Bedürfnissen global anpassen kannst.

Gruß
BK


----------



## nchristoph (8. September 2010)

Also bei mir kann jeder Benutzer unendlich viele Datenbanken anlegen mit der obigen Konfiguration.

Ich werd mal in die my.cnf reinschauen


----------



## Bratkartoffel (8. September 2010)

Hi,



Bratkartoffel hat gesagt.:


> [...]
> bei der obigen Konfiguration hat jeder Benutzer genau *eine* Datenbank. Mehr kann er selber nicht erstellen.
> [...]


 
nein, er kann nicht unendlich viele *Datenbanken* anlegen, nur Tabellen in seiner Datenbank.

Wenn er es doch kann, dann schau mal bitte nochmal unter "Rechte", ob der Benutzer unter "Globale Rechte" irgendwo einen Haken hat. Wenn ja, dann einfach entfernen und speichern.

Gruß
BK


----------



## nchristoph (8. September 2010)

Ich weis wo der Fehler liegt: 

Ich hab ihm auf alle Datenbanken, die mit seinem Namen anfangen alle Rechte gegeben.

Wie funktioniert das dann bei Webhostern? Die bieten ja auch Pakete mit 10, 15 usw Datenbanken an.

Gibt es eigentlich kostenlose alternativen zu Plesk oder Confixx unter Windows?

Ich finde zwar jede Menge Links, aber bei genauerer betrachtung laufen die mittlerweile nur noch unter linux.

Ich sehe wenig sinn darin, zum herumprobieren 100te Euro auszugeben.


----------



## Bratkartoffel (8. September 2010)

Hallo,

Habe selbst einen Webspace bei all-inkl.com mit (ich glaub) 3 Datenbanken. Diese kann ich über eine Weboberfläche selbst anlegen, mit dem Passwort und allem. Im Hintergrund wird das wahrscheinlich über ein eigenes kleines Script automatisiert erstellt.

Plesk oder was ähnliches habe ich noch nicht benutzt, hab ich noch nicht gebraucht  Aber wie schon gesagt, alleine mit Konsolenbefehlen könntest du eigentlich alles was zu einer Benutzerverwaltung gehört selbst machen. VHosts kannst du in deine Apache-Konfiguration auch automatisiert eintragen lassen, alles was mit Datenbanken zu tun hat, kannst du mit dem Programm mysql machen.

Kann es sein, dass du auch sowas wie einen Hoster aufziehen möchtest? Dann würde ich dir sehr stark von XAMPP abraten, die Software ist nicht für den Produktivbetrieb geeignet. Da lauern eine Menge Sicherheitsprobleme, XAMPP ist eigentlich dafür gedacht, *nur* auf dem lokalen Rechner, vorallem zum Testen von Scripts, zu laufen. Sobald das von aussen erreichbar sein soll, würde ich die Server von Grund auf selbst installieren. Hier könnte ich auch ein paar Tutorials / Hilfen anbieten 

Gruß
BK


----------



## nchristoph (8. September 2010)

Der Hintergedanke der ganzen Sache ist der:

Ich soll für meinen Freund nen Webserver aufbauen der unter anderem auch einige Subseiten haben soll für verschiedenste Sachen. 

Ich probiere lieber erstmal lokal herum, damit ich ungefähr weis, was auf mich zukommt.

Im Endeffekt wird das wahrscheinlich ein Win 2k8 Server werden, da mein Freund denkt, Linux ist von Hackern. Jedem dass seine denk ich mal.

Ich verwende deswegen Xampp, da es, wie du schon sagst, für Lokaleseiten gedacht ist, im richtigen Betrieb werd ich Apache von grundauf neu aufbauen und nicht Xampp benutzen.

Ich persönlich denke: Server = Linux und fertig. da ist alles sicher und weniger Arbeit als mit Windoof ist es auch nicht.

Bei All-inkl.com ist es halt KAS, also auch nix anderes als Plesk, Cpanel, Confixx usw. usw.

Ich würde halt gerne eine OS Software verwenden, die ich unter Windows und Linux einsetzten kann, damit ich mich nicht wieder in eine andere Software einarbeiten muss.


----------

