portweiterleitung auf eine virtualbox mit apache2 magento-sh

Alles, was den Apache betrifft, kann hier besprochen werden.

portweiterleitung auf eine virtualbox mit apache2 magento-sh

Postby RobertinoM » 17. May 2015 19:22

Hallo zusammen ich habe folgendes Problem:

Ich habe auf in eine virtuelle Maschine ein Ubuntu 15.04 mit MySQL/PHP5/Apache2 installiert, dann einen Magento Shop als Testumgebung ins Verzeichnis /var/www/html/magento

soweit alles gut, der Shop läuft auch fein, der Host hat eine feste IP 192.168.2.95 und den hostname TheMachine, wenn ich aus dem internen Netz auf den Shop zugreife ist alles fein http://192.168.2.95/magento funktioniert

Jetzt das Problem:

Ich konfiguriere auf der Fritz.Box eine Port-Weiterleitung , dafür habe ich bei no-ip.biz einen Host eingetragen die Weiterleitung ist Port 8088 extern auf 80 intern auf TheMachine/192.168.2.95

Wenn ich nun den Shop aufrufe passiert folgendes er scheint eine Verbindung mit http://HOSTXXX.no-ip.biz/magento aufzubauen und dann switched es im Adressbar auf 192.168.2.9.5/magento

Rufe ich dagegen http://HOSTXXX.no-ip.biz/ auf bekomme ich die Apache default Seite, bei http://HOSTXXX.no-ip.biz/phpinfo.php kriege ich auch prompt und korrekt die Info-Seite angezeigt.

Ich habe in einer anderen VirtualBox eine ownCloud installiert die sich über http://HOSTXXX.no-ip.biz/owncloud einwandfrei aufrufen und auch synchen läßt.

Wer kann mir da helfen. Ich weiss es nicht mehr weiter..

Danke im Voraus Robertino
RobertinoM
 
Posts: 15
Joined: 17. May 2015 19:10
Operating System: Ubuntu 15.04

Re: protweiterleitung auf eine virtualbox mit apache2 magent

Postby Nobbie » 17. May 2015 19:30

Dein Problem ist der Port 8088. Ich kann nicht einmal erkennen, wo Du den Port angibst (was absolute Pflicht ist), wenn Du von außen zugreifst. Sicherlich hat Magento auch seinerseits irgendwelche Rewrites oder Weiterleitungen konfiguriert, die gehen alle am Port 8088 kaputt, davon weiß Dein Magento ja nichts. Außerdem hast Du wahrscheinlich Magento so eingerichtet, dass es auf der internen IP läuft (irgendeine Servervariable), aber das resultiert dann in Weiterleitungen auf LAN IPs hinaus, die im WWW unbekannt sind. Ziemlich verhackt.

Wieso hast Du das mit dem Port 8088 gemacht und wieso benutzt Du ihn dann nicht einmal?
Nobbie
 
Posts: 13181
Joined: 09. March 2008 13:04

Re: portweiterleitung auf eine virtualbox mit apache2 magent

Postby RobertinoM » 17. May 2015 19:37

Therotisch sollte es so laufen

auf der Fritzbox wir von extern auf Port 8088 zugegriffen, dann auf 80 auf der lokalen und retour. Das heißt ja eigentlich dass der Apache mit Magento es nicht mitbekommt

In der Fritzbox gibt es die Internetfreigaben. Da gibst du an Port extern: 8088 auf Port intern 80, Rechnername und Hostnamen

Habe es auch schon mit Port 80 probiert, das komische ist egal wie ich es mache

1) die default Seite kommt immer
2) die phpinfo.php auch

3) Nichts aus einem Unterverzeichnis kommt raus, was mich halt verwirrt ist das switchen im Adressbar von http://HOSTXXX.no-ip.biz/magento auf 192.168.2.95/magento
4) habe Testweise die phpinfo in das Unterverzeichnis /var/www/magento kopiert und kann sie auch nicht mehr aufrufen ...

Nobbie was meinst du mit Port 8088 nicht benutzt???
RobertinoM
 
Posts: 15
Joined: 17. May 2015 19:10
Operating System: Ubuntu 15.04

Re: portweiterleitung auf eine virtualbox mit apache2 magent

Postby Nobbie » 17. May 2015 19:43

RobertinoM wrote:Therotisch sollte es so laufen

auf der Fritzbox wir von extern auf Port 8088 zugegriffen


Und wie sieht Dein Zugriff von extern aus?

RobertinoM wrote:dann auf 80 auf der lokalen und retour. Das heißt ja eigentlich dass der Apache mit Magento es nicht mitbekommt


Das ist in der Theorie UND in der Praxis falsch, weil in Magento Weiterleitungen einprogrammiert sind, die nicht intern auf dem Server ausgeführt werden, sondern zurück an den Browser und der fordert neu an. Und wenn der draußen ist, muss der erneut (was ich aber nach wie vor nicht sehe) via Port 8088 zugreifen. Wie soll das gehen?

Alles andere ist nicht komisch, sondern logisch. Du hast ein tiefgreifendes Verständnisproblem, wie der Datenfluss stattfindet. Es fängt schon bei "Adam und Eva" an, wie greifst Du via Port 8088 auf die Fritzbox zu? Das sehe ich hier nicht.
Nobbie
 
Posts: 13181
Joined: 09. March 2008 13:04

Re: portweiterleitung auf eine virtualbox mit apache2 magent

Postby RobertinoM » 17. May 2015 19:46

Ich sehe es gerade dass ich den Link falsch beschrieben habe

er lautet natürlich http;//HOSTXXX.no-ip.biz:8088/magento

Und wie schon geschrieben .. auch mit simple Port 80 geht es nicht.

Also Fritz externer Port 80, intern 80 auf IP und Host
RobertinoM
 
Posts: 15
Joined: 17. May 2015 19:10
Operating System: Ubuntu 15.04

Re: portweiterleitung auf eine virtualbox mit apache2 magent

Postby Nobbie » 17. May 2015 19:56

RobertinoM wrote:Ich sehe es gerade dass ich den Link falsch beschrieben habe

er lautet natürlich http;//HOSTXXX.no-ip.biz:8088/magento


Ok, jetzt verstehst Du aber auch, warum ich das frage.

Und Dein zweites (und endgültiges Problem) besteht darin, dass Du bei Installation von Magento (das hast Du möglicherweise schon viel früher getan, als diese ganze Fritzbox Geschichte) als Servername (oder Host oder Domain - ich kenne die Installation nicht, aber das Problem ist immer das gleiche) die lokale LAN IP 192.168.2.95 angegeben hast. Das funktioniert aber nicht, wenn Du von außen zugreifst. Du musst Magento so einrichten, dass an dieser Stelle nicht 192.168.2.95 steht, sondern Dein Zugriff von draußen, nämlich HOSTXXX.no-ip.biz:8088 - das ist der Knackpunkt.

Entweder musst Du Magento neu einrichten, oder Du musst irgendwo die Stelle finden, wo Meganto genau diese Information aufbewahrt und dann dort ändern. Das kann in einer Textdatei stehen, das kann in einer MySQL Datenbank stehen, das kann in einem PHP Script stehen - das weiß ich nicht, hier ist kein Magento Forum. Im Zweifel in einem Magento Forum nachfragen.
Nobbie
 
Posts: 13181
Joined: 09. March 2008 13:04

Re: portweiterleitung auf eine virtualbox mit apache2 magent

Postby RobertinoM » 17. May 2015 20:01

Ja klar nachdem ich den Text nochmal gelesen habe war mir klar warum du fragst...

Ist halt so wenn man die ganze Zeit das Zeug vor Augen hat. Denn Portforwarding etc. habe ich unter Windows in den letzten 20 Jahren an genug Servern gemacht

Aber ich habe NULL Erfahrung mit LAMP ...

Was mich fuxt ist nur bei magento wirst du nach keiner IP gefragt oder nach einem hostname oder sowas... Außerdem ... dann wäre er ja nicht mehr von intern erreichbar..

Und das Problem besteht ja auch wenn ich die phpinfo.php aus /var/www/html ins /var/www/html/magento verschiebe

Denn auf die hat ja garantiert nichts mit magento zu tun
RobertinoM
 
Posts: 15
Joined: 17. May 2015 19:10
Operating System: Ubuntu 15.04

Re: portweiterleitung auf eine virtualbox mit apache2 magent

Postby glitzi85 » 17. May 2015 20:18

Ich vermute Magento verwendet dafür eine .htaccess-Datei. Das würde auch das Problem mit der phpinfo Erklären. Selbst wenn du das gefixt bekommst, wird das ganze vermutlich nicht funktionieren da dann die Links nicht passen etc.
Alternative wäre die Verwendung von mod_proxy. Der schreibt dir dann auch schön den Hostnamen in IPs um und umgedreht.
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Re: portweiterleitung auf eine virtualbox mit apache2 magent

Postby RobertinoM » 17. May 2015 20:22

Servus Glitzi

als alter Widoof Mann sprichst du für mich eine fremde Sprache..

.htaccess habe ich gesehen ...

und ist bitte mod_proxy? Ich lerne ja auf meine alten Tage gerne neues...

BG Tino
RobertinoM
 
Posts: 15
Joined: 17. May 2015 19:10
Operating System: Ubuntu 15.04

Re: portweiterleitung auf eine virtualbox mit apache2 magent

Postby glitzi85 » 17. May 2015 20:38

mod_proxy ist das Proxy-Modul von Apache. Macht genau das ;-)
Ist in zwei Richtungen verwendbar, nur eine ist für die interessant. Die Idee dahinter ist dass du einen Proxy-Server hast, der beim Aufruf einen dahinterliegenden Server aufruft (oder z.B. mehrere zur Lastverteilung). Wird gern auf Firewalls verwendet, Portweiterleitung funktioniert ja nur zu einem Server, wenn du aber 5 interne Webserver hast und die unter verschiedenen Subdomains laufen lassen willst geht das nur mit nem Proxy (oder verschiedenen IPs oder verschiedenen Port).

Prinzipiell sähe das bei dir so aus:

Code: Select all
<VirtualHost *:80>
        ServerName localhost
        DocumentRoot /var/www/html/
</VirtualHost>

<VirtualHost *:80>
        ServerName XXX.no-ip.biz
        ProxyPass / http://192.168.2.95/
        ProxyPassReverse / http://192.168.2.95/
        <Location />
                Order allow,deny
                allow from all
        </Location>
</VirtualHost>


Musst nur Sicherstellen dass das mod_proxy-Modul (+ mod_proxy_http) auch geladen ist.

Wenn du jetzt von extern auf deinen Server zugreifst wird durch die Host-Angabe im HTTP-Request der zweite vHost ausgeführt. Dieser verbindet sich im Hintergrund zur IP und liefer im Prinzip alles zurück was er von dort bekommt. Redirects müssten automatisch umgeschrieben werden. Es könnte noch notwendig sein die Ausgabe zu verändern, dafür wäre dann mod_proxy_html zuständig.
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Re: portweiterleitung auf eine virtualbox mit apache2 magent

Postby RobertinoM » 17. May 2015 20:43

Okay der erste Teil ist verstanden das ist unter Windows ja nicht anders

mod_proxy habe ich mal installiert... muss nur noch verstehen wie das mit dem Loadmodule funktioniert...

Und dann die andere Frage wo trage ich denn bitte den code ein?

Bin ich froh das Forum gefunden zu haben ...

Danke dir..
RobertinoM
 
Posts: 15
Joined: 17. May 2015 19:10
Operating System: Ubuntu 15.04

Re: portweiterleitung auf eine virtualbox mit apache2 magent

Postby glitzi85 » 17. May 2015 20:49

Wenn du den Stock-Apachen von Ubuntu verwendest:

Code: Select all
a2enmod proxy


Danach den Webserver neu starten:

Code: Select all
apachectl graceful


Bezüglich der VirtualHosts: Poste bitte mal den Inhalt der zwei Dateien aus /etc/apache2/sites-enabled/

Ich nehme an du verwendest Ubuntu 14.04, 15.04 gibt es nicht.
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Re: portweiterleitung auf eine virtualbox mit apache2 magent

Postby RobertinoM » 17. May 2015 20:55

Okay mod_proxy runtergeladen installiert und wohl auch mit deiner Hilfe enabled und Apache neugestartet

Hier der Code

<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html

# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

Und ich habe da nur eine Datei 000-default.conf mehr ist da nicht
RobertinoM
 
Posts: 15
Joined: 17. May 2015 19:10
Operating System: Ubuntu 15.04

Re: portweiterleitung auf eine virtualbox mit apache2 magent

Postby glitzi85 » 17. May 2015 21:04

OK, dann häng in der Datei 000-default.conf das hier einfach unten ran:

Code: Select all
<VirtualHost *:80>
        ServerName XXX.no-ip.biz
        ProxyPass / http://192.168.2.95/
        ProxyPassReverse / http://192.168.2.95/
        <Location />
                Order allow,deny
                allow from all
        </Location>
</VirtualHost>


Die zweite Datei in dem Ordner ist möglicherweise nur vorhanden wenn mod_ssl installiert ist.
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Re: portweiterleitung auf eine virtualbox mit apache2 magent

Postby RobertinoM » 17. May 2015 21:08

So getan

"internal server error.. etc"

aber das sehr schnell.... ;-)

ach ja .. und ubuntu ist 15.04 frisch von der ubuntu seite... in 32bit..
Last edited by RobertinoM on 17. May 2015 21:26, edited 2 times in total.
RobertinoM
 
Posts: 15
Joined: 17. May 2015 19:10
Operating System: Ubuntu 15.04

Next

Return to Apache

Who is online

Users browsing this forum: No registered users and 2 guests