Gnox
Anmeldungsdatum: 2. März 2014
Beiträge: 55
|
Hey Leute, ich habe jetzt lange Zeit alleine in meiner lokalen Entwicklungsumgebung WordPress Webseiten erstellt (LAMP). Nun möchte ich, dass ein weiterer Rechner (Rechner2) über das LAN, ebenfalls auf meinen Rechner (Rechner1) zugreifen kann. Mit ifconfig habe ich geprüft und bekomme die inet Adresse: 192.168.1.101. Wenn ich diese Adresse nun im Rechner2 aufrufe, bekomme ich die Apache2 Ubuntu Default Page angezeigt. Will ich dann aber auf dem Rechner2 z.B. 192.168.1.101/wordpress aufrufen, bekomme ich nur ein ERR_CONNECTION_REFUSED; "localhost hat die Verbindung abgelehnt". Was muss ich tun, damit ich von Rechner2 auf Rechner1 zugreifen kann?
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5335
|
Gnox schrieb: Hey Leute, ich habe jetzt lange Zeit alleine in meiner lokalen Entwicklungsumgebung WordPress Webseiten erstellt (LAMP). Nun möchte ich, dass ein weiterer Rechner (Rechner2) über das LAN, ebenfalls auf meinen Rechner (Rechner1) zugreifen kann. Mit ifconfig habe ich geprüft und bekomme die inet Adresse: 192.168.1.101. Wenn ich diese Adresse nun im Rechner2 aufrufe, bekomme ich die Apache2 Ubuntu Default Page angezeigt. Will ich dann aber auf dem Rechner2 z.B. 192.168.1.101/wordpress aufrufen, bekomme ich nur ein ERR_CONNECTION_REFUSED; "localhost hat die Verbindung abgelehnt".
An dieser Stelle ist die Konfiguration des Webservers unerlaesslich. Wenn der Webserver auf Rechner1 einen Fehler wirft und meint, der Server auf localhost ist nicht erreichbar, agiert der Webserver wohl nur als Proxy fuer einen weiteren Server? Ich bin verwirrt. Weiters: Kannst du auf Rechner1 ueber http://192.168.1.101/ bzw. http://192.168.1.101/wordpress auf die Website zugreifen? Lauscht der Webserver dort auf allen Interfaces? (Anscheinend schon, denn sonst wuerde diese eigenartige Fehlermeldung anders lauten, ausser jene ist falsch)
|
Gnox
(Themenstarter)
Anmeldungsdatum: 2. März 2014
Beiträge: 55
|
Da habe ich mich wohl nicht klar genug ausgedrückt ☺ Nicht Rechner1 gibt den Error aus, der Error wird im Browser (Chrome) auf Rechner2 ausgegeben. Ja, auf Rechner1, also dort, wo auch der Apache läuft, kann ich problemlos auf 192.168.1.101 und 192.168.1.101/wordpress zugreifen. Und wie gesagt: Rechner2 kann auch auf 192.168.1.101 zugreifen - kommt aber in der Verzeichnisstruktur nicht höher (192.168.1.101/irgendwas). Was mir noch aufgefallen ist: Wenn ich die Adresse 192.168.1.101/wordpress im Browser auf Rechner2 eingebe, dann wandelt der Browser (oder ist es der Apache auf Rechner1) diese in localhost/wordpress um... Mann, diese Apachegeschichten sind einfach immer endlos komplex und kompliziert 🙄
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5335
|
Gnox schrieb: Was mir noch aufgefallen ist: Wenn ich die Adresse 192.168.1.101/wordpress im Browser auf Rechner2 eingebe, dann wandelt der Browser (oder ist es der Apache auf Rechner1) diese in localhost/wordpress um...
Na da haben wirs doch! Du hast eine Weiterleitung eingerichtet, die auf localhost zeigt und nicht auf den korrekten Host. Wenn du die Umleitung korrigierst (unabhaengig von der Domain oder IP hardcoden), dann sollte dieses Problem geloest sein.
|
Gnox
(Themenstarter)
Anmeldungsdatum: 2. März 2014
Beiträge: 55
|
Und wo korrigiere ich das? Meine /etc/apache2/sites-available/000-default.conf sieht so aus: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 | <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
ServerName localhost
<Directory /var/www/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
# 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>
|
Muss ich den "ServerName" ändern?
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5335
|
Gnox schrieb: Und wo korrigiere ich das?
Dort, wo du die Weiterleitung auf /wordpress eingerichtet hast.
Meine /etc/apache2/sites-available/000-default.conf sieht so aus:
Nein, hier sehe ich keine Weiterleitung. Vielleicht eine .htaccess ?
|
Gnox
(Themenstarter)
Anmeldungsdatum: 2. März 2014
Beiträge: 55
|
sebix schrieb: Vielleicht eine .htaccess ?
So, habe die .htaccess aus /var/www/html/wordpress ausgegraben: 1
2
3
4
5
6
7
8
9
10
11
12 |
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>
# END WordPress
|
Leider verstehe ich da nur noch Bahnhof 😳 Wie weiter? Die .htaccess im Root-Verzeichnis des Servers /var/www/html ist leer...
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5335
|
Gnox schrieb: So, habe die .htaccess aus /var/www/html/wordpress ausgegraben:
Da ist auch keine Weiterleitung drinnen. Du kannst ja mal per grep localhost /etc/apache2/* -r suchen.
|
Gnox
(Themenstarter)
Anmeldungsdatum: 2. März 2014
Beiträge: 55
|
Das Resultat der Suche: | gnox@uburog:~$ grep localhost /etc/apache2/* -r
/etc/apache2/conf-available/servername.conf:ServerName localhost
/etc/apache2/sites-available/default-ssl.conf: ServerAdmin webmaster@localhost
/etc/apache2/sites-available/000-default.conf: ServerAdmin webmaster@localhost
/etc/apache2/sites-available/000-default.conf: ServerName localhost
|
Habe also versucht, den ServerName in den entsprechenden Files zu ändern und jeweils Apache neu gestartet | sudo service apache2 restart
|
Allerdings brachte auch das keinen Erfolg. Zusätzlich habe ich auf Rechner2 testweise die /etc/hosts angepasst und localhost auf localhost.1 umgestellt. Jetzt wandelt der Browser (auf Rechner2) die Adresse 192.168.1.101/wordpress in www.localhost.com/wordpress um. Strange oder?!
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5335
|
Gnox schrieb: Das Resultat der Suche:
:/ Zusätzlich habe ich auf Rechner2 testweise die /etc/hosts angepasst und localhost auf localhost.1 umgestellt. Jetzt wandelt der Browser (auf Rechner2) die Adresse 192.168.1.101/wordpress in www.localhost.com/wordpress um. Strange oder?!
Da kommt jetzt auch das Verhalten von Firefox dazu. Die Weiterleitung auf localhost findet weiterhin statt. Allerdings kann nun FF den Hostnamen lokal nicht aufloesen und probiert nun www.localhost.com Es koennte sich weiters noch um einen fueheren Permanent redirect handeln. Hast du es schon mal mit einem anderen Browser oder netcat versucht? | > netcat 192.168.1.101 80
GET /wordpress HTTP/1.1
Host: 192.168.1.101
|
Mit zwei Leerzeilen abschliessen.
|
Gnox
(Themenstarter)
Anmeldungsdatum: 2. März 2014
Beiträge: 55
|
Netcat meint "moved permanently": 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 | user@user-laptop:~$ nc 192.168.1.101 80
GET /wordpress HTTP/1.1
Host: 192.168.1.101
HTTP/1.1 301 Moved Permanently
Date: Mon, 18 Jul 2016 17:25:45 GMT
Server: Apache/2.4.7 (Ubuntu)
Location: http://192.168.1.101/wordpress/
Content-Length: 318
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://192.168.1.101/wordpress/">here</a>.</p>
<hr>
<address>Apache/2.4.7 (Ubuntu) Server at 192.168.1.101 Port 80</address>
</body></html>
|
The document has moved <a href="http://192.168.1.101/wordpress/">here</a>
Aber unter 192.168.1.101/wordpress/ ist ja eben die Seite nicht erreichbar. :confused:
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5335
|
Was ergibt eigentlich grep wordpress /etc/apache2/* -r ?
Gnox schrieb: Netcat meint "moved permanently": The document has moved <a href="http://192.168.1.101/wordpress/">here</a>
Ja dann halt /wordpress /
| > nc 192.168.1.101 80
GET /wordpress/ HTTP/1.1
Host: 192.168.1.101
|
|
Gnox
(Themenstarter)
Anmeldungsdatum: 2. März 2014
Beiträge: 55
|
sebix schrieb: Was ergibt eigentlich grep wordpress /etc/apache2/* -r ?
Gar nichts. Und netcat mit /wordpress/ 1
2
3
4
5
6
7
8
9
10
11
12 | user@user-laptop:~$ nc 192.168.1.101 80
GET /wordpress/ HTTP/1.1
Host: 192.168.1.101
HTTP/1.1 301 Moved Permanently
Date: Mon, 18 Jul 2016 18:04:50 GMT
Server: Apache/2.4.7 (Ubuntu)
X-Powered-By: PHP/5.5.9-1ubuntu4.17
X-Pingback: http://localhost/wordpress/xmlrpc.php
Location: http://localhost/wordpress/
Content-Length: 0
Content-Type: text/html; charset=UTF-8
|
Könnte es sein, dass hier ein Berechtigungsproblem vorliegt?
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5335
|
Also weiter: egrep 'rewrite|redirect' /etc/apache2/ -ir Irgendwo muessen die weiterleitungen ja versteckt sein. Weiters kannst du den LogLevel mach hochdrehen (debug): https://httpd.apache.org/docs/2.4/mod/core.html#loglevel Könnte es sein, dass hier ein Berechtigungsproblem vorliegt?
Berechtigungen?
|
Gnox
(Themenstarter)
Anmeldungsdatum: 2. März 2014
Beiträge: 55
|
Nach langem hin und her habe ich nun des Rätsels Lösung gefunden; und zwar liegt das Problem gar nicht beim Server / Apache, sondern viel eher bei WordPress selber. Die config-Files sehen nun so aus: /etc/apache2/sites-available/000-default.conf
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ServerName localhost
<Directory /var/www/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
/etc/apache2/conf-available/servername.conf
ServerName localhost
/etc/hosts
127.0.0.1 localhost
127.0.1.1 meinspezialserver
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
/etc/hostname
meinspezialserver In WordPress unter Einstellungen → Allgemein → WordPress-Adresse (URL) und Einstellungen → Allgemein → Website-Adresse (URL) ganz einfach die Basis-Adresse von http://localhost/meineseite in http://meinspezialserver/meineseite ändern. Zusätzlich eben noch die oben genannten Anpassungen gemacht, d.h. dort ebenfalls "meinspezialserver" eingetragen. Nun kann Rechner2 auf Rechner1 zugreifen, wie gewünscht.
|