FreeNAS und Webserver

pedro85

Member
hallo zusammen,

bin neu hier und hoffe ihr könnt mir bei meinem problem evtl. helfen. ich sollte noch dazu sagen, dass ich vor freenas noch nie etwas mit bsd zu tun hatte...

den server habe ich zum laufen gebracht und mich auch schon etliche stunden damit befasst. würde sagen das ich es im groben geschnallt habe wie die kiste tickt :)

so, nun zu meinem eigtlichen problem: der webserver.

würde gerne eine kleine hp auf dem server hosten. der zugriff vom internet funktioniert auch schon wunderbar (über dyndns). aber das einzige was ich erreiche ist das webgui.

soweit nicht schlecht. aber ich habe bedenken, wenn ich jetzt meine dateien in den ordner des webgui lege, dass ich das gui nicht mehr erreiche.

nach langen rum und num habe ich eine zweite netzwerkarte eingebaut mit dem gedanken, dass ich das gui mit der einen ip und die hp über die andere ip erreiche.

aber wie stelle ich das ein?? nach langem rumprobieren kein erfolg.

google- bzw. forensuche verlief auch etwas ernüchternd zu diesem thema. in einigen threads las ich sogar das es garnicht möglich wäre eine hp auf dem server zu hosten. naja, nichts gegen computerbild, aber überall wo bild draufsteht bin ich skeptisch...:)

hoffentlich habe ich mich halbwegs verständlich ausgedrückt^^ ach ja, ich habe die version 0.7

schon mal danke für eure antworten!!

gruß pedro
 
naja, ein webserver läuft ja eh schon auf der kiste (wegen der GUI), aber sofern du nur einen normalen internetanschluss hast, wirst du da keine 2 IP-adressen rauflegen können (die du dann extern erreichen könntest).

Ciao
 
die zweite ip wäre ja auch nur zu wartungszwecken im lokalen lan. ich weiß nur nicht wo ich einen ordner anlegen soll oder einstellen kann worauf der webserver zugreift ohne das gui zu löschen (also gui und hp getrennt erreichbar, gui nur lokal)
 
ich denke am bequemsten ist es eine zweite istanz von dem webserver laufen zu lassen und in deinem router anfragen von extern auf die Frenasbox auf zb port 81 umnzuleiten.
 
also einen zweiten server im server laufen zu lassen? kannst du mir vllt. sagen wie ich das machen kann?

wäre eine gute lösung, da die eigentliche funktion vom server getrennt vom webserver laufen würde.
 
da gibts sicherlich mehre Möglichkeiten, allerdings bin ich im moment nicht 100% fit was freebsd im speziellen die startskripte angeht.

man könnte zb auch apache neben lighthttpd installieren, da kommt sich wahrscheinlich am wenigsten in die quere, oder den dienst in eine jail auslager, oder mit vhosts arbeiten.

am einfachsten ist wahrschienlich apache zu installieren und in der minmalkonfig einfach an einen andren port zu binden, wenn auf deinem sever genug leistung übrig ist würd ich das mal probiern.
 
hallo nochmal,

habe die sache mit dem apache weiter verfolgt, komme aber irgendwie nicht weiter. googlen brachte auch nicht wirklich was.
hat jemand das schon mal versucht bzw hinbekommen??

gruß pedro
 
[spam]
also deine website kannst du auch bei mir hosten. die ist dann rund um die uhr erreichbar, macht sich nicht extra auf dem stromzähler bemerkbar. du kannst dich auf deine site konzentrieren und dir kann mit rat und tat geholfen werden. das macht alles sehr viel einfacher.
[/spam]
 
den server habe ich zum laufen gebracht
so, nun zu meinem eigtlichen problem: der webserver.

aber das einzige was ich erreiche ist das webgui.
FreeNAS kenn ich nicht, aber laut dessen Doku ist der "Webserver" ja ein Service den man aktivieren kann.

Da das (standardmäßige) WebGUI ja schon Port 80 belegt, dürfte der Webserver Service dann auf einem anderen Port laufen. Jedenfalls kann man wohl für beide die Ports (separat) einstellen welche sie benutzen sollen.

Besser sollte das aber jemand im FreeNAS Forum (oder Mailingliste) wissen.
 
Kannst du mal von einer anderen Kiste aus diesen Befehl absetzen?

curl -I ip_des_nas

und dann die Ausgabe hier posten?
Der Befehl greift den http-Header des Administrationsinterfaces ab und man kann aus diesem schliessen, welcher Webserver da bereits läuft.
Im nächsten Schritt muss man nur noch schauen, wie man für diesen Webserver einen virtuellen Host anlegen kann.

Das port 80 bereit belegt ist, stellt kein Hindernis dar. Ein virtueller Host kann am gleichen Port bedient werden, der Webserver verteilt die Anfragen. Das ist überhaupt kein grosses Ding, jeder Hoster machts so.
 
habe den header rausgefunden. es ist ein lighttppd server. die server config habe ich auch gefunden und mir ein paar gedanken darüber gemacht. wenn ich einen zweiten ordner, zb. www2 anlege und das in der config eintrage, müsste er ja auf den zweiten ordner zugreifen.

ABER: dann erreiche ich das gui nicht mehr oder?

wie anfangs schon erwähnt bin ich ein noob was BSD angeht und ich hab ein bisschen muffe davor, dass ich das gui nicht mehr erreiche...

hier der header:

http://192.168.0.250/
GET / HTTP/1.1
Host: 192.168.0.250
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.6) Gecko/20091201

Firefox/3.5.6
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: PHPSESSID=dc2cfeb6f74cd3442ff06c02122bca9f

HTTP/1.1 200 OK
X-Powered-By: PHP/5.2.8
Expires: 0
Last-Modified: Thu, 17 Dec 2009 23:28:04 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Type: text/html
Transfer-Encoding: chunked
Date: Thu, 17 Dec 2009 23:28:04 GMT
Server: lighttpd/1.4.23
 
Den lighttpd kannst du nach deinen Wünschen konfigurieren wie du willst.
Das Problem unter FreeNAS ist, das die lighttpd.config in einem mfsroot.gz steckt. Das mfsroot.gz wird nach jedem Start in eine Ram Disk entpackt.
Von dort aus läuft das System. Man müsste also die config anpassen und das mfsroot.gz neu erstellen so wie ich das nach kurzen durchschauen verstanden habe.
 
aha, dass heißt also ich müsste diese mfsroot.gz quasi extern bearbeiten und dann beim booten laden lassen?

wäre es nicht einfacher über ports zb. einen apache zu installieren?
 
aha, dass heißt also ich müsste diese mfsroot.gz quasi extern bearbeiten und dann beim booten laden lassen?
Ja.
wäre es nicht einfacher über ports zb. einen apache zu installieren?

Das wäre scharweinlich etwas schwieriger. Du müsstest dafür Pakete zusammenschnüren, die alle Abhängigkeiten erfüllen, eine Entwicklungsumgebung mit Compiler zusammenstellen, etc.

Dazu kommt dann wieder das Problem mit dem Port, auf dem der Server lauschen soll. Es kann sich immer nur genau ein Programm an einen Port binden. Port 80 ist aber durch lighthttpd belegt. Ein zusätzlicher Webserver muss also an einem anderen Port lauschen.
Zudem fänd ichs unlogisch. Auf der Kiste läuft ein Webserver. Einen zusätzlichen zu installieren bedeutet zusätzliche Arbeit. Sicherheitsupdates müssten per Hand eingespielt werden usw.

Die Änderungen im Tarball vorunehmen halte ich für den richtigen Weg.
 
klingt logisch.

mir geht es im endeffekt auch nur um das gui. wenn ich das nich mehr erreiche (weil der server eben die hp hostet) bin ich aufgeschmissen :)

manga schrieb von einer zweiten instanz vom server. ist das eine akzeptable lösung in hinsicht auf stabilität und sicherheit? und mit wieviel rumbasteln ist das verbunden??
 
machs dir leicht uind installier apache 1.3 da findet sich am leichtesten doku und es gibt kein rumgefrickel an inrgendwelchen konfigs.

pkg_add -r apache13 sollte ihn inklusive der abhängigkeiten installieren

apache_enable="YES" in der /etc/rc.conf ihn starten

das Dokumenten verzeichnis in der /usr/local/etc/apache/httpd.conf auf ein verzeichnis setzen das lighthhtpd garantiert nicht nimmt zb.:

DocumentRoot "/usr/local/www/meinapache"

da packst du deine webseiten rein und es sollte rudimentär laufen.


ach ja, und "Listen 81" nicht in der httpd.conf vergessen, damit er auf port 81 hört.
 
manga schrieb von einer zweiten instanz vom server. ist das eine akzeptable lösung in hinsicht auf stabilität und sicherheit? und mit wieviel rumbasteln ist das verbunden??

Definitiv mehr Frickelei, als kurz nen Virtuellen Host im bestehenden httpd einzurichten. Zudem kann sich dann eine zweite Instanz auch nicht mehr an Port 80 binden.
Such mal im Netz nach lighthttpd und virtueller Host. Dann siehst du, wie einfach das ist.
 
Mein lightly ist z.B. so eingerichtet:

Code:
server.modules = ( "mod_access","mod_accesslog","mod_fastcgi","mod_cgi")

# Defaultserver auf [COLOR="Red"]blablafoo.ath.cx[/COLOR]
server.document-root = "[COLOR="Red"]/mnt/www/data[/COLOR]"

# log & pid files
server.errorlog = "/var/log/lighttpd.error.log"
server.pid-file = "/var/run/lighttpd.pid"

index-file.names = ( "index.php", "index.html","index.htm", "default.htm" )
server.event-handler = "freebsd-kqueue"

# which extensions should not be handle via static-file transfer
static-file.exclude-extensions = ( ".cgi", ".php", ".rb", "~", ".pl", ".inc" )

server.username = "www"
server.groupname = "www"

# Defaultserver rennt mit perl
cgi.assign = ( "web.cgi" => "", )

# iCalendar auf www.athome.lan rennt mit PHP
$HTTP["host"] =~ "[COLOR="Red"]www.athome.lan[/COLOR]" {
  server.document-root = "[COLOR="Red"]/usr/local/www/data/[/COLOR]" }
fastcgi.server = ( ".php" => ( "localhost" =>
    ("socket" => "/var/run/lighttpd/php-fastcgi.socket",
     "bin-path" => "/usr/local/bin/php-cgi", "min-procs" => 1,
     "max-procs" => 1 )))

# Enable IPV6 and IPV4 together
server.use-ipv6 = "enable"
$SERVER["socket"] == "0.0.0.0:80" { }

Die IP's sollten in deinem LAN natürlich auflösbar sein.
 
Zurück
Oben