Umzug einer Web-Anwendung von Raspi auf Synology

Status
Für weitere Antworten geschlossen.

Ulfberht

Benutzer
Mitglied seit
29. Dez 2018
Beiträge
59
Punkte für Reaktionen
0
Punkte
6
Hallo,

ich nutze eine web-basierte Anwendung für meine Familie auf einem Raspi, einschließlich einer Datenbank und phpmyadmin. Die Datei ist nicht über's Internet aufrufbar, außer per VPN unserer mobilen Geräte.

Auf meiner Synology habe ich web-station über das Paketzentrum installiert (php 5,6 und 7, apache 2.2 und 2.4).

In das Verzeichnis volume1/web habe ich alle meine Dateien vom Raspi kopiert, in phpmayadmin importierte ich die Daten der alten Datenbank. phpmyadmin befindet sich volume1/web/phpmyadmin.

Wenn ich wie vorher über IP-Synology/index.html starte, funktioniert alles, außer der Zugriff auf die Daten der Datenbank.

Ich habe keine Ahnung, was es für Auswirkungen hat, welchen web-end-server ich in web-station eingestellt habe - ich habe alle Konstellationen ausprobiert. Auf dem Raspi nutze ich Apache, nginx kenne ich noch nicht. An den Dateien selber habe ich nichts geändert.

Hat jemand einen Tipp für mich, was ich noch machen muss, was ich nicht beachtet habe?
 

cyorps

Benutzer
Mitglied seit
05. Nov 2011
Beiträge
441
Punkte für Reaktionen
0
Punkte
0
In der Regel existiert innerhalb der Webanwendung eine Konfiguration, die die Informationen zur DB-Verbindung bereitstellt. Hast du diese Konfiguration schon auf die neue Umgebung angepasst?
 

Ulfberht

Benutzer
Mitglied seit
29. Dez 2018
Beiträge
59
Punkte für Reaktionen
0
Punkte
6
Eine Regel habe ich nicht eingearbeitet.

Ich greife so auf die Datenbank zu:

$con = mysqli_connect("",$n,$p);
mysqli_select_db($con, "vokabeln");

"" ist localhost, $n der Nutzer, $p das Paßwort

Liegt es daran, dass sich phpmayadmin nicht im localhost befindet?
 

cyorps

Benutzer
Mitglied seit
05. Nov 2011
Beiträge
441
Punkte für Reaktionen
0
Punkte
0
Dazu fallen mir zwei Sachen ein. Wenn du die DB auf MariaDB10 migiert hast oder auf deiner Syno MariaDB5 und MariaDB10 laufen, musst du noch den Port für die Datenbank übergeben. Das wäre bei MariaDB5 der Port 3306 und bei MariaDB10 der Port 3307. Hast du neben der Migration der Daten auch den DB-Benutzer mit Passwort für diese DB angelegt/migriert?
 

Ulfberht

Benutzer
Mitglied seit
29. Dez 2018
Beiträge
59
Punkte für Reaktionen
0
Punkte
6
Um den Zugang zu testen, habe ich den Nutzer mit Kennwort in das Zugangsformular eingebaut. Auf dem Raspi funktioniert das. Von daher sollte das nicht den Fehler verursachen.

Ich habe mir noch einmal die installierten Pakete angesehen. Es ist nur MariaDB 10 installiert, nur diese wird im Paketzentrum angeboten.

Ich stehe im Moment auf dem Schlauch, wie ich die Datenbank öffne und dabei den Port mit angebe. Ich konnte dazu gerade nichts im Internet finden. Oder muss dafür eine config-Datei von phpmyadmin geändert werden?
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.385
Punkte für Reaktionen
1.199
Punkte
234
Du musst den Port in deiner eigenen PHP-Anwendung konfigurieren.
Ggf. noch in der Webstation > PHP prüfen, ob die passende mysql-Extension aktiviert ist.
 

Ulfberht

Benutzer
Mitglied seit
29. Dez 2018
Beiträge
59
Punkte für Reaktionen
0
Punkte
6
Ich habe im Paket php alle Erweiterungen aktiviert, bei „allgemeine Einstellungen“ Web Station Apache 2.2 und php 5.6.

Unter dem Reiter „Kern“ kann ich sehen, dass mysqli.default_port auf 3306 eingestellt, mysqli.default_host leer ist.

ServerIP/info.php funktioniert nicht, ServerIP/phpmyadmin funktioniert.

Kannst du mir bitte kurz sagen, was du mit „Port in der eigenen Anwendung konfigurieren“ meinst? In meinen eigenen Html- und php-Dateien, die auf dem Raspi und vorher auf einem Windows-Rechner liefen, brauchte ich nichts einzustellen. Deshalb weiß ich im Moment nicht, was ich tun muss.
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.385
Punkte für Reaktionen
1.199
Punkte
234
Wenn mariaDB auf Port 3306 hört, hat sich das erübrigt.
Nochmal die Frage:
... Hast du neben der Migration der Daten auch den DB-Benutzer mit Passwort für diese DB angelegt/migriert?
 

Ulfberht

Benutzer
Mitglied seit
29. Dez 2018
Beiträge
59
Punkte für Reaktionen
0
Punkte
6
Ich habe die alten Nutzer gelöscht und neu angelegt. Unter hostname habe ich die Vorgabe „%“ gelassen, bei den Rechten „Daten“ und „Struktur“ ausgewählt.
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.385
Punkte für Reaktionen
1.199
Punkte
234
Ich bin da nicht so firm drin, aber stell mal bitte auf 'localhost' statt '%'.
(ich bin auch immer froh, wenn die Verbinungen funktionieren ;))
 

cyorps

Benutzer
Mitglied seit
05. Nov 2011
Beiträge
441
Punkte für Reaktionen
0
Punkte
0
Der universelle Platzhalter '%' ist für die Tests bei der Migration die sicherere Alternative. Da kann man mit dieser Anpassung warten, bis das System läuft. In diesen Fall glaube ich eben nicht, dass der Port 3306 richtig ist. Denn er schreibt, dass er nur MariaDB10 findet, weshalb ich davon ausgehe, dass er die DB auch in die 10er-Version migriert hat. Daher gehe ich wie im Beitrag 4 erwähnt davon aus, dass er den Port 3307 ansprechen muss. Wenn ich davon ausgehe, dass wir von PHP-Code sprechen und diese Information zugrunde lege, sollte es einen Versuch wert sein, mit
PHP:
$con = mysqli_connect("",$n,$p,3307);
als Verbindungsstring zu experimentieren.
 

Ulfberht

Benutzer
Mitglied seit
29. Dez 2018
Beiträge
59
Punkte für Reaktionen
0
Punkte
6
Ich habe den String ausprobiert, ohne Erfolg. Wenn ich eine Seite, die Daten aus der Datenbakn ziehen soll, aufrufe, wird die Seite ohne Fehlerhinweisnund ohne Daten angezeigt.

Ich habe den String auch mit „3306“ ausprobiert, weil in der web station nur dieser Port auftaucht, nicht jedoch 3307.
 

Ulfberht

Benutzer
Mitglied seit
29. Dez 2018
Beiträge
59
Punkte für Reaktionen
0
Punkte
6
Noch eine Frage zu „migrieren“. Ich habe die alte Datenbank exportiert und in MariaDB 10 importiert. Ich habe dann dort die Nutzer gelöscht und neu angelegt. Gehört zu migrieren noch etwas, was ich machen muss?
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.385
Punkte für Reaktionen
1.199
Punkte
234
Den korrekten aktuellen Port findest du, wenn du das Maria10DB SPK startest.
Der universelle Platzhalter '%' ist für die Tests bei der Migration die sicherere Alternative. ….
Ich kann nie auf die DB zugreifen, wenn die Wildcard gesetzt ist. Deshalb hatte ich das geschrieben.
 

Ulfberht

Benutzer
Mitglied seit
29. Dez 2018
Beiträge
59
Punkte für Reaktionen
0
Punkte
6
Wenn ich das Paket MariaDB starte, wird mir nur „10“ angezeigt.

Ich habe in phpMyAdmin beim Nutzer „localhost“ eingegeben - ohne Erfolg.
 

Ulfberht

Benutzer
Mitglied seit
29. Dez 2018
Beiträge
59
Punkte für Reaktionen
0
Punkte
6
genau so sieht es bei mir auch aus. Wenn ich im String „Komma“„3307“ ergänze, komme ich trotzdem nicht an die Daten.
 

Ulfberht

Benutzer
Mitglied seit
29. Dez 2018
Beiträge
59
Punkte für Reaktionen
0
Punkte
6
Ich habe per phpMyAdmin eine neue Datebank "Ulfberht" erstellt, Tabelle "Test" mit "Vorname", "Nachname", die Tabelle mit 3 Namen befüllt, unter anderem mit "Ulfberht"

Wenn ich die Datei, erstellt auf die Schnelle mit dem Text-Editor von Synology, starte:

PHP:
<!DOCTYPE HTML PUBLIC >
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  
 
  </head>
  <body>

  </body>
 </html>
  
  <?php
  $nutzer=Ulfberht;
  $passwort=ulfberht;
  $con = mysqli_connect("",$nutzer,$passwort,3307);
   mysqli_select_db($con, "Ulfberht");
   
   
   
   $sql = "SELECT * FROM Test WHERE Vorname = 'Ulfberht'";
   
   $res = mysqli_query($con, $sql);
   $num = mysqli_num_rows($res);
   if ($num > 0) echo " - Anzahl: " . $num . ":<br>";
   else          echo "Kein Ergebnis<br>";
   
   ?>

Sollte die Anzahl an Treffer angezeigt werden, in dem Fall = 1.

Mir wird aber "kein Treffer" angezeigt. Ich habe das versucht mit der Angabe des Ports und ohne Angabe des Ports.

Ich habe keine Ahnung, warum ich nicht in die Datenbank komme. Das NAS 918+ hat zwei IP-Adressen. Damit kann das aber nicht zusammenhängen, oder?
 

Ulfberht

Benutzer
Mitglied seit
29. Dez 2018
Beiträge
59
Punkte für Reaktionen
0
Punkte
6
Gibt es eine Möglichkeit herauszufinden, ob ich überhaupt den Zugang zur Datenbank erhalten habe? Ich erhalte keinen Fehlerhinweis seitens der Datenbank, wenn ich ein falsches Kennwort in der php-Datei eingebe.

Ich würde ja auch MariaDB10 wieder de- und neuinstallieren - das Paketzentrum bietet das jedoch nicht an.


Wie greift ihr denn auf die Datenbank zu bzw. wie hat ihr die Datenbank installiert. Einfach über das Paketzentrum, oder muss dabei irgend etwas Besonderes beachtet werden?
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.385
Punkte für Reaktionen
1.199
Punkte
234
Klar kannst du im Paketzentrum mariaDB deinstallieren und erneut installieren. Aber da bei dir phpMyAdmin funktioniert (ist ja nichts anderes als deine Webanwendung), würde ich in der Installation kein Problem sehen.
Wie so immer: Versuch macht klug
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat