Intranet maken op webserver

Pagina: 1
Acties:
  • 177 views sinds 30-01-2008

Acties:
  • 0 Henk 'm!

  • ik222
  • Registratie: Maart 2007
  • Niet online
Ik heb hier een server (Linux Fedora Core 7) staan die onder andere dient als webserver (Apache, PHP, MySQL). Nu zou ik op deze server ook graag een intranet maken dat dus alleen vanuit mijn eigen LAN bereikbaar is. Op dit intranet moet net als op de website ook gebruik gemaakt gaan worden van PHP en MySQL.

Nu is mijn vraag hoe ik dit het beste aan kan pakken, zelf zat ik te denken aan virtual hosts op de Apache server maar als ik die volgens de normale manier aanmaak dan zijn die ook beschikbaar van buiten af volgens mij en dat is nou net niet de bedoeling. Uiteraard heb ik het eerst geprobeerd op google maar ik krijg daar eigenlijk geen bruikbare resultaten.

Iemand die weet hoe ik dit het beste aan kan pakken?

Alvast bedankt in ieder geval!

Acties:
  • 0 Henk 'm!

  • basz
  • Registratie: April 2000
  • Laatst online: 22-03 13:20

basz

Professioneel prutser

Als je fedorabak de router ís, is het een kwestie van een virtual host aan een adapter binden en that's it maar omdat je anders deze vraag waarschijnlijk niet had gesteld ga ik even niet uit van die situatie.

Voorzichtige aanname; Je hebt je server naar buiten openstaan via een portforward in je router? Dan is die splitsing idd moeilijk te maken, tenzij je wilt werken met iptables e.d..
Wat je ook kan doen, is de externe pagina draaien op poort 81 ofzo, en de interne op poort 80. Je portforward pas je hierop aan zodat externe bezoekers op poort 80 van je buiten-ip naar poort 81 van je server worden omgeleid. Je interne bezoekers gaan niet via de router dus komen gewoon op poort 80 van je server.

Zoiets. Met een virtual host op poort 81 voor extern dus en op poort 80 voor intern.

[ Voor 19% gewijzigd door basz op 23-10-2007 10:22 ]


Acties:
  • 0 Henk 'm!

  • ik222
  • Registratie: Maart 2007
  • Niet online
basz schreef op dinsdag 23 oktober 2007 @ 10:19:
Voorzichtige aanname; Je hebt je server naar buiten openstaan via een portforward in je router? Dan is die splitsing idd moeilijk te maken, tenzij je wilt werken met iptables e.d..
Wat je ook kan doen, is de externe pagina draaien op poort 81 ofzo, en de interne op poort 80. Je portforward pas je hierop aan zodat externe bezoekers op poort 80 naar poort 81 van je server worden omgeleid. Je interne bezoekers gaan niet via de router dus komen gewoon op poort 80 van je server.

Zoiets. Met een virtual host op poort 81 voor extern dus en op poort 80 voor intern.
Ik heb op mij router inderdaad poort 80 geforward naar het interne IP van de server.

Acties:
  • 0 Henk 'm!

  • basz
  • Registratie: April 2000
  • Laatst online: 22-03 13:20

basz

Professioneel prutser

ik222 schreef op dinsdag 23 oktober 2007 @ 10:22:
[...]


Ik heb op mij router inderdaad poort 80 geforward naar het interne IP van de server.
Dan is wat ik voorstelde dus een makkelijke oplossing. 2 virtual hosts; de huidige site zet je weg op poort 81 en op poort 80 zet je een nieuwe virtual host op voor intern.
De portforward aanpassen in je router zodat poort 80 van extern doorgetikt wordt naar poort 81 intern en klaar ben je.

Acties:
  • 0 Henk 'm!

Anoniem: 50683

Kijk eens hier, je kan dit bereiken zonder gedoe met rare poortmappings:
http://httpd.apache.org/docs/1.3/vhosts/examples.html

Acties:
  • 0 Henk 'm!

  • ik222
  • Registratie: Maart 2007
  • Niet online
Anoniem: 50683 schreef op dinsdag 23 oktober 2007 @ 10:27:
Kijk eens hier, je kan dit bereiken zonder gedoe met rare poortmappings:
http://httpd.apache.org/docs/1.3/vhosts/examples.html
Dus eigenlijk wat men hier voorstelt is een virtualhost maken op poort 8080 en daar dan het intranet op laten draaien als ik het goed begrijp?

Acties:
  • 0 Henk 'm!

Anoniem: 50683

Nee iets als deze:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  Port 80
   ServerName www.mijndomein.nl

    NameVirtualHost 111.22.33.44

    <VirtualHost 111.22.33.44>
    DocumentRoot /www/domain
    ServerName www.mijndomein.nl
    ...
    </VirtualHost>
   
    <VirtualHost 192.168.1.> 
    DocumentRoot /www/intranet
    ServerName intranet.local
    ...
    </VirtualHost>

Dus puur op IP based configuratie, die 2e virtuals host zal alleen actief zijn op je interne ip.
(kan het nu niet ff uitproberen zelf, maar zou zo moeten werken)

Acties:
  • 0 Henk 'm!

  • basz
  • Registratie: April 2000
  • Laatst online: 22-03 13:20

basz

Professioneel prutser

Anoniem: 50683 schreef op dinsdag 23 oktober 2007 @ 10:39:
Nee iets als deze:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  Port 80
   ServerName www.mijndomein.nl

    NameVirtualHost 111.22.33.44

    <VirtualHost 111.22.33.44>
    DocumentRoot /www/domain
    ServerName www.mijndomein.nl
    ...
    </VirtualHost>
   
    <VirtualHost 192.168.1.> 
    DocumentRoot /www/intranet
    ServerName intranet.local
    ...
    </VirtualHost>

Dus puur op IP based configuratie, die 2e virtuals host zal alleen actief zijn op je interne ip.
(kan het nu niet ff uitproberen zelf, maar zou zo moeten werken)
toon volledige bericht
Puur ip-based zal dit met een NAT-router niet gaan werken. Een nat-router adresseert z'n doorgestuurde pakketjes namelijk niet aan je externe ip (111.22.33.44 in dit voorbeeld) maar aan het interne ip. Je server zal dus altijd denken dat de request op het interne ip binnenkwam. Externe bezoekers krijgen zo dus alsnog je intranet. >:)
Op hostname kan het wel, maar als je niet wil dat iemand van buitenaf op je intranet kan meeloeren, zou ik die weg niet inslaan. Een vermelding met 'intranet' op ip 111.22.33.44 in m'n hosts-file is snel gemaakt... ;)

En bovenal moet hij dan wel een domeinnaam hebben die aan z'n ip gekoppeld is natuurlijk, waarvan ik niet weet of dat wel zo is.

[ Voor 37% gewijzigd door basz op 23-10-2007 10:57 ]


Acties:
  • 0 Henk 'm!

  • basz
  • Registratie: April 2000
  • Laatst online: 22-03 13:20

basz

Professioneel prutser

Anoniem: 50683 schreef op dinsdag 23 oktober 2007 @ 10:27:
Kijk eens hier, je kan dit bereiken zonder gedoe met rare poortmappings:
http://httpd.apache.org/docs/1.3/vhosts/examples.html
Dat is precies hetzelfde als wat ik voorstelde maar dan net het omgekeerde zeg maar. Alleen maak je het op deze manier voor interne bezoekers moeilijker het intranet te bereiken omdat ze :8080 achter de url moeten tikken. Ik betwijfel of iedere gebruiker daar mee overweg kan. De portmappings zaten er juist om die reden in (en aangezien hij portmappings nu toch al gebruikt...).

[ Voor 9% gewijzigd door basz op 23-10-2007 11:02 ]


Acties:
  • 0 Henk 'm!

Anoniem: 50683

basz schreef op dinsdag 23 oktober 2007 @ 10:53:
[...]
Puur ip-based zal dit met een NAT-router niet gaan werken. Een nat-router adresseert z'n doorgestuurde pakketjes namelijk niet aan je externe ip (111.22.33.44 in dit voorbeeld) maar aan het interne ip. Je server zal dus altijd denken dat de request op het interne ip binnenkwam. Externe bezoekers krijgen zo dus alsnog je intranet. >:)
Op hostname kan het wel, maar als je niet wil dat iemand van buitenaf op je intranet kan meeloeren, zou ik die weg niet inslaan. Een vermelding met 'intranet' op ip 111.22.33.44 in m'n hosts-file is snel gemaakt... ;)

En bovenal moet hij dan wel een domeinnaam hebben die aan z'n ip gekoppeld is natuurlijk, waarvan ik niet weet of dat wel zo is.
hm zou idd zo kunnen zijn, ik werk zelf met een linux bak, die tevens m'n router is, apache luistert dus idd dan op 2 ip adressen.

Acties:
  • 0 Henk 'm!

  • basz
  • Registratie: April 2000
  • Laatst online: 22-03 13:20

basz

Professioneel prutser

Anoniem: 50683 schreef op dinsdag 23 oktober 2007 @ 11:02:
[...]

hm zou idd zo kunnen zijn, ik werk zelf met een linux bak, die tevens m'n router is, apache luistert dus idd dan op 2 ip adressen.
Zie ook mijn eerste antwoord. :+

Acties:
  • 0 Henk 'm!

Anoniem: 85345

Dat met die virtualhosts is idd een goede oplossing maar er zijn meerdere wegen.

In je apache config kun je ook zoiets zetten als onderstaande, kan binnen een virtualhost of erbuiten.

code:
1
2
3
4
5
<Directory /path/naar/intranet/directory>
                AllowOverride All
                Allow from 10.0.0.0/8 192.168.0.0/16
                Deny from All
</Directory>

Acties:
  • 0 Henk 'm!

  • basz
  • Registratie: April 2000
  • Laatst online: 22-03 13:20

basz

Professioneel prutser

Anoniem: 85345 schreef op dinsdag 23 oktober 2007 @ 11:09:
Dat met die virtualhosts is idd een goede oplossing maar er zijn meerdere wegen.

In je apache config kun je ook zoiets zetten als onderstaande, kan binnen een virtualhost of erbuiten.

code:
1
2
3
4
5
<Directory /path/naar/intranet/directory>
                AllowOverride All
                Allow from 10.0.0.0/8 192.168.0.0/24
                Deny from All
</Directory>
Eensch, ook een hele goede oplossing. Als toevoeging op de named virtualhosts dan welteverstaan.

Acties:
  • 0 Henk 'm!

  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 14:15

Koffie

Koffiebierbrouwer

Braaimeneer

Leuk dat we op nu allerlei manieren gaan posten, maar zo'n geweldig topic vind ik dit niet eerlijk gezged.
Met een beetje zoeken kom je hier toch wel uit ?
Je kunt 2 kanten uitgaan:

- Laten draaien op een andere port (een apart instance van apache, of een 2e host)
- Gebruik maken van hostheaders, waarbij je regelt dat de document root van je intranet nooit of te nimmer bereikbaar is vanuit de document root van je public CD, EN dat als er geen hostheader is de default Document root van je public site getoond word.

Zwembad (te koop) - Braaihok (te koop) - Bouwproject -BraaiTV - Funda

Pagina: 1

Dit topic is gesloten.