MySQL Datenbank für externen Zugriff

Multiminer

New Member
Hallo,

Ich hoffe mal, das ich das richtige Forum ausgewählt habe. Ansonsten bitte ich dies zu entschuldigen.

Ich habe mir am Sonntag einen Windows 2012 R2 V-Root Server gemietet. Bisher hatte ich hauptsächlich Linux (Ubuntu) Root oder V-Root Server. Daher bin ich in diesem Bereich noch nicht so fit. Diesen habe ich auch nur gemietet um darauf einen Arma 3 Altis Life Server zu installieren.

Die Installation hat auch ohne größere Probleme geklappt.
Da wir allerdings mehrere Leute sind, von denen sich manche nicht wirklich auskennen, würde ich gerne die MySQL Datenbank in der die Spielerdaten gespeichert werden für den externen Zugriff (also ohne remote control) freigeben. Bei Linux habe ich dazu immer phpMyAdmin genutzt, was ich nun auch machen wollte. Doch leider klappt das nicht wirklich.

Ich habe mir also die passenden Dateien Heruntergeladen, in den entsprechenden Ordner verschoben und im ISS-Manager eine neue Webseite angelegt. Dann noch die Rechte eingestellt und wollte dann über den Browser darauf connecten. (Port natürlich auch frei gegeben)

Jedoch egal ob ich es local über den Browser auf dem Root Server mache oder über einen externen Browser auf meinem PC, kommt immer die gleiche Seite (Siehe Anhang).

Ich habe mir schon tutorials auf YouTube angeschaut (falls ihr eins kennt - Englisch oder Deutsch - das das gut beschreibt könnt ihr dies natürlich auch gerne schicken), doch auch wenn ich es genau so mache wie beschrieben komme ich immer wieder zur gleichen Seite.

Ich kann mir nicht erklären, woran dies liegen könnte und würde mich sehr über Hilfe jeder art freuen.

Vielen Dank im Vorraus!

Multiminer
 

Attachments

danton

Debian User
Ich habe mit IIS noch nicht groß zu tun gehabt, aber ich meine mal in einer Schulung gehört zu haben, dass sich die verschiedenen Scriptsprachen in ASP.NET registrieren - und das scheint bei dir nicht der Fall zu sein. Also im Server-Manager die notwendigen IIS-Komponenten bei der Features und Rollen hinzufügen.
 

reccon

Member
Ich hab vor einiger Zeit php auf dem IIS 2012 mit folgender Anleitung zum Rennen gebracht:

1. php runterladen und z.B. nach C:\PHP entpacken/installieren
2. Öffnen Sie IIS-Manager, wählen Sie den Hostnamen Ihres Computers im
Bereich Verbindungen aus, und doppelklicken Sie dann auf
Handlerzuordnungen.
3. Klicken Sie im Bereich Aktion auf Modulzuordnung hinzufügen.
4. Geben Sie unter Anforderungspfad die Zeichenfolge *.php ein.
5. Wählen Sie im Menü Modul die Option "FastCgiModule" aus.
6. Geben Sie im Feld Ausführbare Datei den vollständigen Pfad zur Datei
"Php-cgi.exe" ein, z. B. C:\PHP\Php-cgi.exe.
7. Geben Sie in das Feld Name einen Namen für die Modulzuordnung ein, z.
B. FastCGI.
8. Click
9. Wählen Sie den Hostnamen Ihres Computers im Bereich Verbindungen aus,
und doppelklicken Sie dann auf Standarddokument.
10. Klicken Sie im Bereich Aktion auf Hinzufügen. Geben Sie Index.php in
das Feld Name ein, und klicken Sie auf OK.
11. Click Geben Sie Default.php in das Feld Name ein, und klicken Sie auf
OK.
 

Multiminer

New Member
FastCgiModule

Danke für eure/Ihre Antworten!

Ich habe ASP.NET bereits schon installiert - hat aber leider nichts gebracht.


Wenn ich eine Modulzuordnung hinzufügen will, dann wird mir "FastCgiModule" nicht bei Modul angezeigt. Wenn ich es Manuell anlege kommt folgende Fehlermeldung: ""FastCgiModule" ist kein bekanntes systemeigenes Modul. Geben Sie mindestens ein aktiviertes systemeigenes Modul an"

Habt ihr/Sie eine Idee, was ich noch probieren kann?
 

danton

Debian User
Die CGI-Unterstützung auch?
Zu finden bei den Rollen -> Webserver (IIS) - Webserver -> Anwendungsentwicklung
 

SilentChris

New Member
Wenn noch nicht zu viel rumgefuddelt wurde, dann schau dir mal dieses Tool von Microsoft an: https://www.microsoft.com/web/downloads/platform.aspx

Das lädt, installiert, aktiviert und konfiguriert alle nötigen Module für PHP unter Windows samt den SQL Treibern falls nötig. Einfach runterladen, starten und nach PHP suchen. Anschließend die gewünschte PHP Version installieren (Abhängigkeiten werden automatisch aufgelöst und mit installiert, Achtung bei der Auswahl von PHP. Es gibt auch Pakete für IIS Express die wir auf dem Server nicht wollen). Fertig.

Anschließend befindet sich in deinem IIS ein neuer Punkt "PHP Manager" über den du alles weitere konfigurieren kannst (global oder für jede Site einzeln) wie z.B. Default Document, PHP Version, PHP Module, ...

Nimmt einem die Erstkonfiguration ab und erspart einem unnötige Arbeit.
 

reccon

Member
Wenn ich eine Modulzuordnung hinzufügen will, dann wird mir "FastCgiModule" nicht bei Modul angezeigt. Wenn ich es Manuell anlege kommt folgende Fehlermeldung: ""FastCgiModule" ist kein bekanntes systemeigenes Modul. Geben Sie mindestens ein aktiviertes systemeigenes Modul an"
Wenn "FastCgiModule" nicht zur Auswahl steht, musst du noch "CGI" über die Rollen und Features beim IIS hinzufügen.
 

Attachments

Multiminer

New Member
Danke für eure Antworten

Hallo,

leider hatte ich unter der Woche nicht genug Zeit um mich mit dem Probelm auseinander zu setzen. Nun habe ich allerdings eure Tipps mal ausprobiert und es kommt jetzt auch eine neue "Fehlermeldung":

Fatal error: Uncaught Error: Call to undefined function mb_detect_encoding() in C:\inetpub\wwwroot\PhPmyadminBackup\libraries\php-gettext\gettext.inc:177 Stack trace: #0 C:\inetpub\wwwroot\PhPmyadminBackup\libraries\php-gettext\gettext.inc(282): _encode('The %s extensio...') #1 C:\inetpub\wwwroot\PhPmyadminBackup\libraries\php-gettext\gettext.inc(289): _gettext('The %s extensio...') #2 C:\inetpub\wwwroot\PhPmyadminBackup\libraries\core.lib.php(306): __('The %s extensio...') #3 C:\inetpub\wwwroot\PhPmyadminBackup\libraries\core.lib.php(961): PMA_warnMissingExtension('mbstring', true) #4 C:\inetpub\wwwroot\PhPmyadminBackup\libraries\common.inc.php(102): PMA_checkExtensions() #5 C:\inetpub\wwwroot\PhPmyadminBackup\index.php(13): require_once('C:\\inetpub\\wwwr...') #6 {main} thrown in C:\inetpub\wwwroot\PhPmyadminBackup\libraries\php-gettext\gettext.inc on line 177
Dies kam, nachdachdem ich die Tipps von reccon (1-11) befolgt habe. Leider kann ich damit nicht besonders viel Anfangen. Ein Screenshot lohnt sich hierbei nicht besonders, da diese Nachricht im Browser einfach nur als Text angezeigt wird! Zur Info: CGI habe ich inzwischen installiert.

Ich hoffe, das mir jemand weiter helfen kann.

Danke im Vorraus!
 

reccon

Member
War denn die passende dll in dem ext Verzeichnis, oder musstest du eine runter laden?

Hast du in der .ini geschaut dass die dll nicht auskommentiert ist?

Hast du dir ne phpinfo gemacht um zu gucken, ob sie geladen wird?
 

Multiminer

New Member
War denn die passende dll in dem ext Verzeichnis, oder musstest du eine runter laden?

Hast du in der .ini geschaut dass die dll nicht auskommentiert ist?

Hast du dir ne phpinfo gemacht um zu gucken, ob sie geladen wird?
Danke für deine/Ihre Antwort,
die dll war bereits in dem Verzeichnis.
Ja, in der .ini ist diese nicht auskommentiert.

Die phpinfo Seite hab ich mal als Anhang dazu gepackt (als ZIP, da man hier keine htm Dateien hochladen darf)

Leider kenne ich mich da zu wenig aus, villeicht kannst/können du/Sie mal drüber schauen.

Vielen Dank im Vorraus!
 

Attachments

reccon

Member
Die dll scheint nicht geladen zu werden.

Wo hast du denn die php Dateien bzw die dll liegen?

In der PATH Variable steht C:\Program Files (x86)\PHP\v5.4
Als extension_dir ist C:\php\ext konfiguriert
 

Multiminer

New Member
Die dll scheint nicht geladen zu werden.

Wo hast du denn die php Dateien bzw die dll liegen?

In der PATH Variable steht C:\Program Files (x86)\PHP\v5.4
Als extension_dir ist C:\php\ext konfiguriert
Danke für deine Antwort. Dies lag vermutlich daran, das ich zuerst PHP über Webplattform-Installer installiert hatte und danach den Anweisungen von dir gefolgt bin, in denen du geschrieben hast, ich soll sie nach C/PHP/... entpacken. Nun habe ich beides auf C:\Program Files (x86)\PHP\v5.6 konfiguriert.

Jetzt kommt auch eine neue Fehlermeldung:
Server Error
500 - Internal server error.
There is a problem with the resource you are looking for, and it cannot be displayed.

Jetzt wollte ich nochmal die phpinfo Seite aufrufen und da kommt nun auch ein Error (-> Screenshot)! Zur Info: Ich habe nur den Pfad unter Handlerzuordnungen bei FastCGI (die ich vorher nach deiner Anleitung gemacht hatte) auf "C:\Program Files (x86)\PHP\v5.6\php-cgi.exe" geändert.
Doch scheinbar hat das (der Fehlermeldung nach zu schließen) nicht geklappt.

Was soll ich nun machen?
 

Attachments

reccon

Member
Hmm...mach mal bitte ne Eingabeaufforderung auf und gib nacheinander die beiden Sachen ein.

Code:
php --ini
php C:\inetpub\wwwroot\phpinfo.php
Was kommt als Ergebnis?


Hab die Anleitung gerade nochmal am Testrechner probiert (nach C:\php) und außer dass mir C++ redistributable gefehlt hat, hat sie funktioniert :confused:
 

Multiminer

New Member
Hmm...mach mal bitte ne Eingabeaufforderung auf und gib nacheinander die beiden Sachen ein.

Code:
php --ini
php C:\inetpub\wwwroot\phpinfo.php
Was kommt als Ergebnis?


Hab die Anleitung gerade nochmal am Testrechner probiert (nach C:\php) und außer dass mir C++ redistributable gefehlt hat, hat sie funktioniert :confused:
Seltsam Seltsam... Wenn ich "php --ini" eingebe öffnet sich ein kleines Fenster mit dem Namen "CLI" und dann kommt: "CLI funktioniert nicht mehr" und darunter: "Das Programm wird aufgrund eines Problems nicht richtig ausgeführt. Das Programm wird geschlossen und Sie werden benachrichtigt, wenn eine Lösung verfügbar ist."

Bei dem zweiten Befehl das gleiche! Da stimmt doch irgendetwas nicht...
 

Multiminer

New Member
Hat geklappt super Danke!

Hey,

vielen vielen Dank für deine Hilfe!!!
Es hat geklappt! Es lag tatsächlich daran!

Falls du noch lust hast kannst du mir villeicht noch eine Frage beantworten, bei Linux konnte ich einen Benutzer anlegen und diesem so Rechte geben, sodass er nur auf bestimmte Ordner/Dateien/Programme zugreifen konnte. So etwas ähnliches bräuchte ich jetzt auch (oder 2. Möglichkeit unten beschrieben).

Ich benutze TADST als Programm um meinen Arma 3 Server zu starten. Das Problem ist, das dann immer nur einer sich als Administrator anmelden kann (Also über Remotedesktop...) aber, wenn ich etwas am Server arbeite, kann dann niemand anders den Arma 3 Server starten/stoppen. Dazu müsste ich also einen Benutzer anlegen, der sich über Remote Desktop anmelden kann und nur auf diesen einen Ordner mit diesem einen Programm zugreifen kann.

Falls dies nicht geht: Könnte man auch irgendwie ein "Webinterface" erstellen, das nur zum starten und stoppen des Server verantwortlich ist? Das Problem ist nämlich das TADST durch drücken auf "Launch" nach dem man das richtige Profil ausgewählt hat ein weiteres Programm öffnet (Arma 3 launcher). Den Server stoppen kann man nur indem man des Fenster von Arma 3 schließt oder den Prozess beendet.

Vielen Dank im Vorraus
 

reccon

Member
Du kannst doch einfach einen weiteren Benutzer anlegen, ihn in die Gruppe "Remotedesktopbenutzer" packen, damit er sich per Remotedesktop anmelden kann.
Und mit Rechtsklick-Eigenschaften-Sicherheit gibst du dann dem neuen Benutzer Zugriff auf alles (Ordner/Dateien) was man zum starten von Arma3 braucht (wenn er das als normaler Benutzer nicht eh schon hat).

Oder meinst du was anderes?
 

Multiminer

New Member
Danke für deine Antwort,

ich hatte die Woche über leider viel zu tun und keine Zeit zu antworten. Ja, das habe ich bereits getan, ich meinte aber eher das Einschränken der Rechte, sodass der Benutzer eben nur das kann was er können muss und nicht mehr, da ein solcher Benutzer sogar in die Systemsteuerung kommt und das darf nunmal garnicht sein.

Er sollte generell nur auf die Daten zugriff haben, die er wirklich benötigt!

Hast du da eine Idee?
 
Top