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
... 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 staatEr 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:vi /usr/syno/apache/conf/httpd.conf-user
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:
# Include conf/extra/httpd-vhosts.conf
Zodat de regel er as volgt uitziet:
Include conf/extra/httpd-vhosts.conf
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 configurerenvi /usr/syno/apache/conf/extra/httpd-vhosts.conf
vi opent een leeg bestand (het bestand bestaat standaard niet) met de naam httpd-vhosts.conf, neem onderstaande configuratie hierin over:
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>
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:/usr/syno/etc.defaults/rc.d/S97apache-user.sh restart
Hierdoor wordt de webserver opnieuw gestart en worden de gewijzigde httpd configuratiebestanden gelezen.
Nu zou je de website moeten kunnen openen in je Explorer!
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
Jacco Slok