Tweaks / Addons A.K.A. The Underground > Web Station mods

Virtual Host gebruiken op de webserver

(1/4) > >>

jaccoslok:
Ik zag hier vragen over op het forum staan en heb het onderstaande met succes kunnen testen. Voorwaarde is wel dat de instantie waar je je (sub)domeinen hebt geregistreerd, wildcards als bijvoorbeeld "*.slok.com" toestaat. Mijn eigen domein is slok.com, voor het testen van de virtual host mogelijkheden van Apache heb ik als subdomein "test.slok.com" gekozen. Ook is het handig als je de Telnet of SSH patch hebt toegepast, anders kun je onderstaand stappenplan niet uitvoeren  :shock:... Onderstaande is getest op een DS-207+

Maak voordat je dit stappenplan uitvoert backups  :|  van de genoemde bestanden zodat je ingeval het niet lukt, terug kun naar de oude situatie, dit is op eigen risico en ik geef geen garantie :!:

Stap 1: zorg dat Webstation aan staat
Er zou nu op volume1 een directory 'web'  moeten voorkomen, maak hierin een subdirectory en plaats hierin je website welke onder het subdomein of nieuwe domein moet gaan draaien.

Stap 2: de juiste configuratie file editen met vi (over vi staan genoeg manuals op Internet, dus ga ik hier niet beschrijven:

--- Code: ---vi /usr/syno/apache/conf/httpd.conf-user
--- Einde van code ---


Dit bestand wordt bij het opstarten van de webserver gekopieerd naar httpd.conf, kwam hier achteraf achter, was even verwarrend... Vi opent het bestand een laat de inhoud zien. Je moet nu het hekje bij de onderstaande regel weghalen:

--- Code: ---# Include conf/extra/httpd-vhosts.conf
--- Einde van code ---

Zodat de regel er as volgt uitziet:

--- Code: ---Include conf/extra/httpd-vhosts.conf
--- Einde van code ---

Nu het bestand afsluiten en opslaan. Hou er rekening mee dat bij firmware updates httpd.conf-user zal worden vervangen, maak hiervan dus een backup als je gaat updaten!

Stap 3: het bestand httpd-vhosts.conf aanmaken en configureren

--- Code: ---vi /usr/syno/apache/conf/extra/httpd-vhosts.conf
--- Einde van code ---
vi opent een leeg bestand (het bestand bestaat standaard niet) met de naam httpd-vhosts.conf, neem onderstaande configuratie hierin over:

--- Code: ---NameVirtualHost *

# Virtuele host voor de standaard website (belangrijk!)
<VirtualHost *>
  ServerName www.slok.com
  DirectoryIndex index.php index.html index.htm index.shtml
  DocumentRoot /var/services/web
  <Directory "/var/services/web">
    AllowOverride all
  </Directory>
</VirtualHost>

# Virtuele host voor de 2e test website
<VirtualHost *>
  ServerName test.slok.com
  DirectoryIndex index.php index.html index.htm index.shtml
  DocumentRoot /var/services/web/test
  <Directory "/var/services/web/test">
    AllowOverride all
  </Directory>
</VirtualHost>
--- Einde van code ---
Wijzig alles naar je eigen wensen (waar slok en test in voorkomt moet veranderen, laat dat duidelijk zijn:-) : bij ServerName test.slok.com: vul hier in wat jou gebruikers in Eplorer moeten ingeven om naar de juiste website te gaan (dit wordt door Apache opgepikt zodat je de juiste pagina's voorgeschoteld krijgt), bij DocumentRoot: geef hier aan waar de website op de Synology staat, het moet een subdirectory van /volume1/web zijn, het is niet mogelijk hiervan af te wijken, dat heb ik al geprobeerd maar geeft in Explorer een fout dat de pagina niet geopend kan worden.

Nu denk je wellicht: "/var/services/web???" Juist: dit is een link naar /volume1/web, even ter info.

Sluit nu het bestand in vi af en sla het op.

Stap 4: de webserver opnieuw starten:

--- Code: ---/usr/syno/etc.defaults/rc.d/S97apache-user.sh restart
--- Einde van code ---
Hierdoor wordt de webserver opnieuw gestart en worden de gewijzigde httpd configuratiebestanden gelezen.

Nu zou je de website moeten kunnen openen in je Explorer!  8) Als je nog meer sites wil hosten, kun je deze als VirtualHosts toevoegen aan httpd-vhosts.conf volgens het voorbeeld. Ik raad overigens niet aan veel websites op dit gadget te plaatsen, daar zijn echte webservers voor uitgevonden :?

Ik hoop dat jullie hier wat aan hebben en hoor graag de reacties  :D  

Jacco Slok

dinges:
Jacco,

Is het dan wel zo dat als je bijvoorbeeld een virtuele host hebt gemaakt voor blog.website.nl en iemand zou bloggie.website.nl ingeven dat hij dan automatisch word doorverwezen naar de http://www.website.nl?
Oftewel als hij de subdomein niet kent gaat hij dan over naar de "default" /web folder?

Groeten,
Richard

jaccoslok:
In dat geval zal hij inderdaad de default website tonen.

gr. Jacco

dinges:
Om daar nog even op voort te borduren:

Ik heb op dit moment 2 domeinen, en ik zou graag via die virtuele hosts onderscheid willen maken waar men op de NAS terecht komt.

situatie:
domeinen: 1.nl & 2.com
Subdomeinen: portfolio.1.nl & portfolio.2.com

Wat ik nou graag wil is dat bij aanroepen van
-portfolio.1.nl de website word geopend op /volume1/web/portfolio
-portfolio.2.com de website word geopend op /volume1/web/2.com
-elkeanderetekst.1.nl de website /volume1/web
-elkeanderetekst.2.com de website /volume1/web/com

jaccoslok:

--- Citaat van: "dinges" ---Wat ik nou graag wil is dat bij aanroepen van
-portfolio.1.nl de website word geopend op /volume1/web/portfolio
-portfolio.2.com de website word geopend op /volume1/web/2.com
-elkeanderetekst.1.nl de website /volume1/web
-elkeanderetekst.2.com de website /volume1/web/com
--- Einde van citaat ---

Hoi Dinges (volgens mij heette je toch anders?)

Als je onderstaande in je Virtual Host file plakt zou het moeten werken:


--- Code: ---NameVirtualHost *

# Virtuele host voor de standaard website (belangrijk!)
<VirtualHost *>
  ServerName elkeanderetekst.1.nl
  DirectoryIndex index.php index.html index.htm index.shtml
  DocumentRoot /var/services/web
  <Directory "/var/services/web">
    AllowOverride all
  </Directory>
</VirtualHost>

# Virtuele host voor elkeanderetekst.2.com
<VirtualHost *>
  ServerName elkeanderetekst.2.com
  DirectoryIndex index.php index.html index.htm index.shtml
  DocumentRoot /var/services/web/com
  <Directory "/var/services/web/com">
    AllowOverride all
  </Directory>
</VirtualHost>

# Virtuele host voor portfolio.1.nl
<VirtualHost *>
  ServerName portfolio.1.nl
  DirectoryIndex index.php index.html index.htm index.shtml
  DocumentRoot /var/services/web/portfolio
  <Directory "/var/services/web/portfolio">
    AllowOverride all
  </Directory>
</VirtualHost>

# Virtuele host voor portfolio.2.com
<VirtualHost *>
  ServerName portfolio.2.com
  DirectoryIndex index.php index.html index.htm index.shtml
  DocumentRoot /var/services/web/2
  <Directory "/var/services/web/2">
    AllowOverride all
  </Directory>
</VirtualHost>

--- Einde van code ---

groeten Jacco

Navigatie

[0] Berichtenindex

[#] Volgende pagina

Naar de volledige versie