FTP-Server schickt keine Antwort?

Hallo Leute,

Ich habe von der letzten Frage https://www.gutefrage.net/frage/ftp-ueber-fsockopen-von-php meinen Code Erweitert/Umgebaut:

<?php
class FTP_TEST{

    private $username;     private $password;     private $server;     private $port;     private $timeout;     private $conn;     private $username_return;     private $password_return;     private $test;     private $test2;

    public function __construct($username,$password){         $this->password = $password;         $this->username = $username;         $this->server = "link_to_server";         $this->port = 21;         $this->timeout = 20;     }

    private function connect(){         $this->conn = ftp_ssl_connect($this->server,$this->port,$this->timeout);     }     private function close(){         ftp_close($this->conn);     }     private function secure(){         if (is_resource($this->conn)) {             $command = ftp_raw($this->conn, 'AUTH TLS');             $responseCode = (int) substr($command[0], 0, 3);

            if ($responseCode === 234) {                 // AUTH TLS success                 return true;

            } else { // if TLS rejected try SSL

                $command = ftp_raw($this->conn, 'AUTH SSL');                 $responseCode = (int) substr($command[0], 0, 3);

                if ($responseCode === 234) {                     // SSL authentication success                     return true;

                } else {
                    // Cannot secure the data channel and command channel
                    return false;
                }
            }
        }else{
            return false;
        }
    }
    private function login(){
        print_r(ftp_raw($this->conn,"OPTS UTF8 ON"));
        $tmp_str_user = "USER " . $this->username;
        $tmp_str_pass = "PASS " . $this->password;
        $this->test2 = array("user"=>$tmp_str_user,"pass"=>$tmp_str_pass);
        $this->username_return = ftp_raw($this->conn,trim($tmp_str_user));
        $this->password_return = ftp_raw($this->conn,trim($tmp_str_pass));
        $this->test = ftp_raw($this->conn,"NOOP");
    }
    public function make_test(){
        $this->connect();
        if($this->secure()){
            $this->login();
            $this->close();
            return array($this->test2,$this->username_return,$this->password_return,$this->test);
        }else{
            //Es konnte keine TLS/SSL - Verbindung hergestellt werden
            return "0.TLS-SSL";
        }
    }
}
$ftp = new FTP_TEST("user","pass");
print_r($ftp->make_test());
?>

Ich habe den Code einmal mit einem Filezilla-Server versucht da hat dieser Funktioniert(habe ohne SSL getestet).

Nun habe ich es mit meinem echten FTP-Server versucht (PureFTPd auf Debian10) jedoch bekomme ich ab AUTH TLS auf keinen Command mehr eine Antwort.

Auf dem FTP-Server ist ein gültiges SSL-Zertifikat hinterlegt und der Server antwortet auch (wenn ich die Befehle z.B. über Filezilla Client) schicke.

Danke schonmal für die Hilfe!

Server, Computer, Internet, Technik, FTP, PHP, FTP-Server, Socket
1 Antwort
FTP über fsockopen von PHP?

Hallo Leute,

ich habe mir folgenden Code zusammengebastelt:

<?php
  // Öffnen eines Sockets
  $fp = fsockopen("das-ist-ein.ftp-server.de", 21, $errno, $errstr);

  if (!$fp) {
    echo "ERROR:" . $errno . "-" . $errstr . "<br />";
    echo "<br /><br />";
    // Zusätzliche Ausgabe
    print_r($fp);
  }
  else {
    // Ausgabe, das hier die eigentliche Rückgabe startet
    echo "ANFANG VOM BEFEHLE SENDEN:<br />";
    // TLS enable
    echo fwrite($fp, "AUTH TLS\n");
    // Rückgabe von TLS (234 ....)
    echo "<br />1. " .fread($fp, 1024).'<br>';
    // Benutzernamen übermitteln
    fwrite($fp, "USER irgendein_benutzer\n");
    // Hier sollte eine Rückgabe kommen, dass Benutzer ok, aber Passwort benötigt
    echo "<br />2. " .fread($fp, 1024).'<br>';
    // Passwort übermitteln
    fwrite($fp, "PASS geheimes_passwort\n");
    // Hier Rückgabe von Server nach Login
    echo "<br />3. " .fread($fp, 1024).'<br>';
  }

  // Socket schließen
  fclose($fp);
?>

Dieser sollte eigentlich alle Nachrichten bis nach Login ausgeben.

Das Verbinden zum Server funktioniert immer. Der AUTH TLS auch. Nur die anderen Befehle halt nicht mehr (obwohl diese für FTP verwendet werden).

Meine Vermutung ist, dass der Server ein paar Momente braucht, um einen Befehl auszuführen und eine Rückgabe zu geben. Diese Vermutung lässt sich begründen, da ich beobachtet habe, dass ich, wenn der Server gut ausgelastet ist, (> 80%) die Rückgabe von "AUTH TLS" erst bei "2. " oder "3. " bekomme.

Meine Frage jetzt:

Gibt es in PHP eine Funktion, die solange wartet, bis der Response vom Socket fertig angekommen ist?

Btw:

Die Lösung mit

while (!feof($fp))

funktioniert nicht und endet in einem Laufzeitfehler von PHP (auch ohne ! etc.), auch wenn ich die maximale Laufzeit schon bei über 10min hatte.

Die Lösung mit socket_recv funktioniert auch nicht. Wenn ich diese verwende, kommt: "socket_recv() schlug fehl; Grund: Success".

Falls sich jetzt jemand die Frage stellt, warum ich nicht einfach die normalen FTP-Befehle von PHP nutze:

Ich benötige die 2-3 Nachrichten nach dem Login als Auswertung und die Standard-FTP-Befehle geben keine Rückgabe bzw. nur true oder false zurück.

Computer, Technik, Programmieren, FTP, Login, PHP, Technologie, Webserver, Socket
1 Antwort
VPN mit Proxy-Verbinden?

Hallo Leute,

und zwar:

Ich habe mir Local einen Proxy Server eingerichtet der den Internettraffic cached.

Daten: IP: 192.168.178.25 Port: 13343

Jetzt mein Problem:

Ich habe Geräte wie Laptop per Einstellungen Konfiguriert das sie den Lokalen Proxy mit entsprechender IP von oben Benutzen sollen.

Wenn ich den Laptop jedoch jetzt mit einem Anderen Netzwerk Verbinde (was durchaus vorkommt) bekomme ich in Firefox erst mal eine Fehlermeldung das (logischerweiße) der Proxy nicht verfügbar sei.

Im Internet bin ich dann auf die "Lösung" gekommen das man doch einfach eine DynDNS zulegen soll und entsprechenden Port freigeben und dann über die DynDNS und den freigegebenen Port Connecten sollte. Ich meine das Funktioniert sicher, da ich aber einen Porxy verwende der nur Interne IP´s "zulässt" kann ich das vergessen und ich meine Sicherheitstechnisch ist ein offen im Internet verfügbare Proxy auch nicht der Hit.

Jetzt meine Frage:

Kann ich auf (selben) oder andern Server einen VPN-Server aufsetzen der sich automatisch mit dem Proxy-Server verbindet?

Sprich das der VPN-Server den Traffic von "außen" nach "innen" leitet, und dann aber gezwungenermaßen über den Proxy sich mit dem Internet verbindet?

(Achtung! Ich möchte auch wenn auf dem Gerät das sich mit dem VPN - Verbindet nicht konfiguriert ist das es den Proxy nutzen soll ebenfalls der Proxy automatisch vom VPN-Server verwendet wird)

Infos:

Grundsätzlich kann ich jeden VPN-Server verwenden der unter Linux (genauer Debian) verfügbar ist.

Proxy Server läuft Squid mit SquidGuard auf Ubuntu

Der wichtigste Punkt ist das der Proxy immer verwendet wird wenn man über VPN verbunden ist egal ob der Proxy am Endgerät konfiguriert ist oder nicht

Server, Computer, Internet, Netzwerk, LAN, Proxy, VPN, Cache, Laptop
1 Antwort
Welchen Sas Controller?

Hallo Leute,

[ACHTUNG! WARNUNG] Ich bin auf gebiet NAS bzw DAS nur bischen erfahren und mit SAS-Platten hate ich noch nichts zu tun.

Meine Frage:

Und zwar möchte ich mir einen gebrauchten "HPE StorageWorks D2700 25x 2.5" SAS Einschübe, 2x Netzteile, AJ941A" kaufen.

Nun habe ich keinen Plan was ich noch dazu kaufen muss. auf der seite sehe ich noch das 2x ein I/O-Modul verbaut ist.

Laut diesem DB https://www.uli-ludwig.de/mediafiles/Sonstiges/HP-StorageWorks-D2600-2700-Handbuch.PDF ist der darauf vorfindbare RJ45-Port jedoch nur für Wartung zuständig und man soll den Speicher per SAS-Port freigeben.

Da ich mich hier 0,0 auskenne dacht ich mir Frage ich euch was ich dann noch so brauche. Ich habe was gelesen von einen HPE Smart Array Controller jedoch habe ich keine Ahnung was das ist und wenn es mehrere gibt welchen ich brauche.

Falls wichtig:

Ich möchte 25* 2TB-SAS Festplatten verbauen die mir ein Freund gebraucht verkauft hat für insg. 500€.

Mein Heimnetz ist überall auf 1GB/s ausgelegt und stellenweise sogar mit 10GB/s per Glasfaser verbunden.

Konfiguriert soll das ganze als Netzwerkspeicher werden der per RAID 60 abgesichert ist(evtl. auch ZFS (wenn möglich)).

Und nur falls sich jetzt wer fragt für was ich soviel Speicher brauche:

Es soll als externe Sicherung dienen für die meine Firma(läuft momentan auch schon nur das der alte speicher momentan aus einem Raid 10 besteht und nur 10TB kapazität hat und die bald voll sind)

Computer, Technik, SAS, HP, LAN, NAS, Technologie, Controller, Spiele und Gaming
1 Antwort
Hilfe bei Pure-FTP?

Hallo Leute,

Ich versuche nun schon seit 4 Tagen Pure-FTP mit MySql zum Laufen zu bringen.

Ich bin nach dieser Anleitung vorgegangen:

https://bit.ly/2vMv67W

nur mit dem unterschied das es nicht unter Ubuntu 12.10 läuft sondern unter RaspbianOS auf neustem Stand(Soweit funktioniert auch alles).

Nun mein Problem:

Ich habe einen User angelegt(test_ftp) mit dem Terminalbefehl "adduser".

Logge ich mich mit diesem ein so funktioniert dieses Wunderbar.

Ich komme nur in mein festgelegtes Homeverzeichnis, kann UP- und Downloaden etc.

Nun wenn ich wie beschrieben einen User in MySql anlege per PHPMyAdmin kommt jedoch immer ein Fehler.

Filezilla liefert zwar "User OK" zurück, dies ist halt nur wertlos den das bekomme ich auch zurück wenn ich einen User verwende wie "ahgkakfdfajhlfk" der nicht existiert.

Config(MySQL):

MYSQLSocket      /var/run/mysqld/mysqld.sock
#MYSQLServer     localhost
#MYSQLPort       3306
MYSQLUser       pureftpd
MYSQLPassword   [DAS_RICHTIGE_PASSWORT]
MYSQLDatabase   pureftpd
#MYSQLCrypt md5, cleartext, crypt() or password() - md5 is VERY RECOMMENDABLE uppon cleartext
MYSQLCrypt      md5
MYSQLGetPW      SELECT Password FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "" OR ipaccess LIKE "\R") MYSQLGetUID     SELECT Uid FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "" OR ipaccess LIKE "\R")
MYSQLGetGID     SELECT Gid FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "" OR ipaccess LIKE "\R") MYSQLGetDir     SELECT Dir FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "" OR ipaccess LIKE "\R")
MySQLGetBandwidthUL SELECT ULBandwidth FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "" OR ipaccess LIKE "\R") MySQLGetBandwidthDL SELECT DLBandwidth FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "" OR ipaccess LIKE "\R")
MySQLGetQTASZ   SELECT QuotaSize FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "" OR ipaccess LIKE "\R") MySQLGetQTAFS   SELECT QuotaFiles FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "" OR ipaccess LIKE "\R")

Config(alles):

ChrootEveryone   yes
TrustedGID  2001
BrokenClientsCompatibility   yes
MaxClientsNumber  500
Daemonize  yes
MaxClientsPerIP  100
VerboseLog  yes
DisplayDotFiles  no
AnonymousOnly  no
NoAnonymous  yes
SyslogFacility  ftp
DontResolve   yes
MaxIdleTime  15
MySQLConfigFile  /etc/pure-ftpd/db/mysql.conf
UnixAuthentication   yes
AnonymousCanCreateDirs   no
MaxLoad  4
AntiWarez  yes
Umask   133:022
MinUID  100
AllowUserFXP  no
AllowAnonymousFXP    no
ProhibitDotFilesWrite  no
ProhibitDotFilesRead   no
AutoRename   no
AnonymousCantUpload   no
AltLog  clf:/var/log/pureftpd.log
AltLog  stats:/var/log/pureftpd.log
AltLog  w3c:/var/log/pureftpd.log
NoChmod yes
KeepAllFiles  yes
CreateHomeDir yes
MaxDiskUsage  80
NoRename  yes
CustomerProof  yes
PerUserLimits  3:20

Zweite Config wurden Leerzeichen entfernt.

Danke schonmal im Vorraus!

Server, Computer, Technik, Anleitung, FTP, Client, Config, MySQL
1 Antwort
Docker Network via Brücke mit Ausenwelt verbinden?

Ja moin Leute,

Ich stellte hier schonmal eine Ähnliche Frage.

Da ich bei dieser nicht zur gewollten lösung gekommen bin habe ich mich nochmal Intensiv damit beschäftigt.

Wer jetzt nicht Nachsehen will welche Frage das war:

Ich habe einen NAS der gibt Lokal das verzeichnis /data frei

Durch Docker Swarm-Mode habe ich dann einen Docker Swarm mit jetzt insg. 10 physischen Servern aufgesetzt

Nun läuft in diesem Swarm ein Apache Server der auf das je Interne Verzeichnis /webserver zugreift

Das Freigegebene Verzeichnis des NAS, also /data, ist per --mount type=bind,source="/data",destination=/webserver in den Docker Service (bzw. die Parallellaufenden Docker Container) eingebunden.

(das Verzeichnis /data ist auf jedem PC per CIFS mit dem NAS verbunden)

So nun ist es so das es eine MGR-NODE gibt die alle Request´s annimmt und dann je nach lasst verteilt und auf die einzelnen PC´s (bis auf sich selbst) verteilt.

Soweit haut alles auch super hin und es kann auch sein das wenn ich zwei anfragen mache das Anfrage A von Server 1 und Anfrage B von Server 2 beantwortet wird.

Nun mein "Problem" in den Logfiles (die auf einen anderen ordner auf der NAS sind) taucht immer die Node-MGR-IP auf (also 10.0.0.2) und nicht die "externe" bzw. die wirklich zugreifende IP.

Ich möchte jedoch das wenn ich von extern mit der IP 123.124.125.234 zugreife das diese auch in den Logs auftaucht und nicht 10.0.0.2

Nun habe ich mich bisschen mit diesem Thema auseinandergestetzt und herausgefunden das das irgentwie mit dem von docker erstellten subnetz zu tun hat. Ich fand auch mehrere Anleitungen wie ich das umconfigurieren kann jedoch alle nur für nginx und nichts für apache2 etc.

Nun zur eigentlichen Frage wie kann ich es schaffen das die externe IP an das docker subnetwork weitergegeben wird. Ich meine für den Port gibt es ja -p 80:80 gibt es dann auch ein -ip : ? oder etwas in der Art? oder muss ich irgentwie ein eigenes Subnetz per Docker einrichten? oder wie geht das? wie gesagt ich habe 0,0 % ahnung da ich leider hier nicht durchsteige

Computer, Technik, Service, container, NAS, Technologie, Apache2, SWARM, docker, Spiele und Gaming
1 Antwort
Windows 7 auf Windows 10 updaten Fehler?

Hallo Leute,

ich bin gerade dabei meinen "alten" PC von Win7 auf Win10 up-zu-daten.

Hierzu habe ich mir das Update-Tool von Microsoft heruntergeladen.

Nun funktionierte alles (Download, Vertifizierung, Systemanforderungen erfüllt, ... ) nur jetzt kann ich es nicht installieren da immer die meldung (Avira AntiVir muss manuel deinstalliert werden da dieß nicht mit Win10 kompatibel ist (o. ä. weiß nicht mehr genau) ) kommt.

Nun habe ich schon alles Versucht ich habe es deinstalliert den Regcleaner von Avira drüber laufen lassen, dann wieder installiert, wieder deinstalliert, allen möglichen anleitungen im Internet gefolgt ........

Nur jedes mal kommt wieder dieser "Fehler"

Auserdem ist mir Aufgefallen das unter "Alle Systemsteuerelemente" trotz deinstallation immer Noch "Avira AntiVir" Punkt vorhanden ist. Zusätzlich finden sich noch RegKeys in der Regestry die sich aber nicht löschen lassen da schreibgeschützt.

Die drei "Rest"-Datein im C:\Windows\System32\drivers - Ordner (avgntflt.sys avipbb.sys avkmgr.sys) lassen sich ebenfalls nicht löschen da man die Berechtigung der Gruppe "Administratoren" haben muss(wohl gemerkt ich bin der einzige Nutzer auf dem PC und habe alle Admin-Rechte etc)

Kann mir hierbei jemand helfen? oder gibt es da Tool etc?,

Was nicht funktioniert hat:

Die 3 datein PER .bat datei löschen lassen

den Ordner C:\Windows\System32 und ...\drivers ordner mit takeown in cmd "übernehmen"

Der Reg-Cleaner von Avira selbst

das deinstallieren über revo uninstaller mit anschließender suche auf "Intensiv" und alles was gefunden wurde entfernen lassen

...

Die neusten Win7 updates im Updatecenter sind geladen und installiert worden

Der hier verwendete Virenschutz ist Avira AntiVir Free

Microsoft, Windows 7, Chip, Avira, Upgrade, Windows 10
2 Antworten
Problem mit Docker?

Problem mit Docker

und zwar haut bei mir der Befehl

RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli

nicht hin.

Ich erstelle ein Image über ein Dockerfile (docker build -t [name] .)

Das Image basierd auf debian:latest

Danach wird apt-get update & apt-get upgrade ausgeführt

Dann werden Komponenten installiert (sudo, apache2, php, cron, ...)

und wiederum danach werden die apache2 Konfigurierung angepasst das der Apache2-Server auf /webserver das DocumentRoot setzt

Soweit alles gut.

jetzt kann ich über den docker run befehl den parameter --mount hinzufügen und darüber ein externes Verzeichnis auf /webserver binden.

Bis hier her Funktioniert alles noch.

Jetzt wenn ich eine index.html aufrufe funktioniert das eine index.php funktioniert auch. Wenn ich jetzt jedoch in der .php Datei folgenden code Benutze(um auf MySql - Server zuzugreifen zu können):

      $mysqli = new mysqli("host_ip","bn","pw","tabelle");
      //echo mysqli_get_host_info($mysqli);
      if ($mysqli->connect_errno) {
          echo "Verbindung fehlgeschlagen: " . $mysqli->connect_error;
          return false;
      }else{
          return $mysqli;
      }

Kommt ein 500-ServerError.

Soweit ich es jetzt ergoogeln konnte muss ich zusätzlich den Port 3306(MySql-Port) Exposen und zusätzlich mit -p 3306:3306 in den docker run befehl einbauen.

Außerdem muss man antscheinend mit

RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli

Das MySqli modul installieren & aktivieren.

Hier ist auch schon das Problem:

Wenn ich mit oben genannten befehl mein Image aus dem Dockerfile erstellen möchte kommt (wenn er an der Stelle mit "RUN docker-php..." ankommt):

RUN docker-php-ext-install mysqli
 ---> Running in bce06404a5ca
/bin/sh: 1: docker-php-ext-install: not found
The command '/bin/sh -c docker-php-ext-install mysqli' returned a non-zero code: 127

Und jetzt meine Frage wie kann ich diesen fehler Beheben, ich weiß leider nicht mehr weiter!

Für die vollständigkeit hier noch der docker run befehl(den ich benutze wenn ich das Funktionierende Image ohne "RUN docker-php-..." nutze):

docker run --name webserver \
-p 80:80 \
-p 3306:3306 \
--mount type=bind,source="/lokaler/pfad",destination=/webserver [name_des_images]
Computer, Technik, Apache, container, Image, MySQL, PHP, Port, Technologie, docker, Spiele und Gaming
2 Antworten
C++: Sonderzeichen lösen Problem aus?

Hallo Leute,

ich habe ein Problem mit Sonderzeichen.

Sonderzeichen wären:

und Zeichen mit Akzent, z.B. ê.

Hier mein Code:

for (auto & p : fs::directory_iterator(VARIABLE)) {
  fs::path pn = p.path();

  if (is_regular_file(pn)) {
    std::string ps = pn.string();
    do_something(ps)
  }
  else {
    give_me_some_error();
  }

Führe ich den Code eingebaut und mit entsprechenden Parametern aus, funktioniert dieser sehr gut und gibt mir auch die richtigen Ergebnisse zurück.

Problem ist, wenn ein oder mehrere (auch andere) Sonderzeichen, wie oben genannt, kommen. Dann wirft er mir bei

std::string ps = pn.string();

einen Fehler (siehe Bild) aus.

Unter Details anzeigen kommt dann:

Unbehandelte Ausnahme bei 0x755135D2 in Test1.exe: Microsoft C++-Ausnahme: std::system_error bei Speicherort 0x0090EF3C.

-

und wenn ich auf Ausnahmeeinstellungen gehe, kommt, dass er von Kernelbase.dll ausgelöst wurde.

Nach langem Suchen via Google habe ich zum einen herausgefunden, ich solle doch statt path() die u8path() nehmen. Das wirft mir jedoch einen Fehler aus (außer ich habe es falsch gemacht, ich bin neu in C++).

Und ich soll in den Einstellungen das Charset auf Unicode umstellen.

Das hat aber alles nichts gebracht.

Infos:

  • Ich nutze die neueste Version von Visual Studio 2019 (heute; 16.12 aktualisiert).
  • Ich habe schon gegoogelt, das hat jedoch nichts gebracht.
  • Die oben gezeigte for-Schleife ist in einer Funktion drinnen, wo die benötigten Parameter übergeben werden.
  • Das Programm funktioniert, solange kein Sonderzeichen kommt.

Ich hoffe, jemand von euch kann mir helfen. Ich bin echt am Verzweifeln.

Weitere Anmerkungen:

Ich habe gerade gesehen, dass mir, wenn ich über den String gehe, zusätzlich noch ausgegeben wird: "Fehler beim Lesen der Zeichenfolge". Ich weiß nicht ob das weiterhilft.

C++: Sonderzeichen lösen Problem aus?
Computer, Fehler, Programmieren, Sonderzeichen, CPP, Visual Studio, UTF-8
1 Antwort
Problem mit MySQL wenn ich Apache2 über anderen Port verbinde?

Hallo,

heute habe ich ein kleines Problem,

und bevor ich eine moralpredigt bekomme das Man apache2 nur auf Port 80 und 443 benutzt:

"Ich weiß jedoch ist es sinnvoll den "Standartserver" (80/443) auf das verzeichnis /darf/jeder/sehen zu leiten und z.B. den "Home-Server" (8080) auf das verzeichnis /streng/geheim zu leiten"

Falls sich jetzt jemand Fragt wie ich das gemacht habe:

Terminal öffnen

cd /etc/apache2

nano ports.conf

hinzufügen von "Listen [DEIN_PORT]"

^X danach Y und ENTER

nano apache2.conf

danach unter den verzeichnisen einen Neuen eintrag beginnend mit "<Directory [/dein/streng/geheimes/verzeichnis]>" und anschließend mit den von dir gewünschten optionen versehen

^X danach Y und ENTER

dann in das Verzeichnis sites-enabled wechseln

cd /sites-enabled

danach entweder eine neue datei mit endung ".conf" erstellen oder die "000-default.conf" erweitern, in meinem Fall:

nano 000-default.conf

hinzufügen eines neuen Virtual host

<Virtualhost *:[DEIN_PORT_DER_IN_DER_PORTS_CONF_STEHT]>
DocumentRoot [DEIN_STRENG_GEHEIMES_VERZEICHNIS] 
ServerName STRENG_GEHEIMER_SERVER 
ServerAdmin SAG_ICH_DIR_NICHT@geheime_email.tld 
</Virtualhost> 

vor dem : muss ein * sein also *:

danach noch ein restart

sudo service apache2 restart

und tada "zweiter" Server läuft (evtl musst du [DEIN_STRENG_GEHEIMES_VERZEICHNIS] noch mit chown etc. modifizieren das Apache die nötigen rechte hat um darauf zugreifen zu können)

Jetzt mein Problem:

Unter dem "Standart" Port von Apache (80) wenn ich mit der datei test.php eine Verbindung zum Mysql - Server herstellen möchte funktioniert dies Prima, sobalt ich die Test.php jedoch auf meinen "zweiten" Server unter Port 8081 schiebe so kommt nur "Verbindung fehlgeschlagen: Connection refused" zum vorschein.

Inhalt von test.php:

<?php
    $db_user = "BENUTZER";
    $db_pw = "PASSWORT";
    $db_place = "DATENBANK";
    $db_server = "192.16x.17x.xxx";
    $mysqli = new mysqli($db_server, $db_user, $db_pw, $db_place);
    $state = true;
    if ($mysqli->connect_errno) {
        return "Verbindung fehlgeschlagen: " . $mysqli->connect_error;
        $state = false;
    }
    echo mysql_get_host_info($mysqli);

Info:

den Verwendeten nutzer habe ich von allen rechten bis hin zu "nur" datenbankspezifische Rechte schon alles durchprobiert. Auch habe ich schon von "localhost" auf "%" auf "192.16x.17x.xxx" etc. umgestellt.

Gehe ich auf 192.16x.17x.xxx/phpmyadmin und verwende den Benutzernamen + Passwort kann ich mich Problemlos einlogen (auch wenn ich über 192.16x.17x.xxx:8081/phpmyadmin einlogen möchte)

Ich sehe mich echt nicht raus als währe es gut wenn jmd den fehler erkennen und finden würde, danke schonmal

Computer, Technik, Programmieren, MySQL, PHP, Technologie, Apache2, phpmyadmin, Spiele und Gaming
3 Antworten