Difference between revisions of "ApacheSetup"

From Cncz
Jump to: navigation, search
Line 6: Line 6:
  
 
De directory structuur ziet er als volgt uit (we gebruiken hier ''website'' als voorbeeld naam):
 
De directory structuur ziet er als volgt uit (we gebruiken hier ''website'' als voorbeeld naam):
* /var/www/www1/website
+
* '''/var/www/www1/website'''
 
top directory waarbinnen alle bestanden m.b.t. deze website zich bevinden
 
top directory waarbinnen alle bestanden m.b.t. deze website zich bevinden
** /var/www/www1/website/web-docs
+
* '''/var/www/www1/website/web-docs'''
 
De document root voor de website. De standaard situatie voor de web-docs directory wordt lees en schrijfbaar voor de unix group met daarin alleen de users die de website beheren. Daarnaast heeft de user waaronder de website specifieke httpd draait alleen leesrechten.
 
De document root voor de website. De standaard situatie voor de web-docs directory wordt lees en schrijfbaar voor de unix group met daarin alleen de users die de website beheren. Daarnaast heeft de user waaronder de website specifieke httpd draait alleen leesrechten.
** /var/www/www1/website/test-docs
+
* '''/var/www/www1/website/test-docs'''
 
De document root voor een test versie van de website, om bijvoorbeeld een nieuwe versie van je website uit te proberen voordat deze ''life''
 
De document root voor een test versie van de website, om bijvoorbeeld een nieuwe versie van je website uit te proberen voordat deze ''life''
 
gaat. Deze test versie is bereikbaar via poort 8080, d.w.z. gebruik als URL: http://www.website.science.ru.nl:8080/
 
gaat. Deze test versie is bereikbaar via poort 8080, d.w.z. gebruik als URL: http://www.website.science.ru.nl:8080/
 
en poort 4443 voor https, d.w.z. gebruik al URL: http://www.website.science.ru.nl:4443/ (merk op dat de echte site gebruik maakt van poort
 
en poort 4443 voor https, d.w.z. gebruik al URL: http://www.website.science.ru.nl:4443/ (merk op dat de echte site gebruik maakt van poort
 
80 voor http en poort 443 voor https). Lees en schrijfrechten gelijk aan de web-docs directory.
 
80 voor http en poort 443 voor https). Lees en schrijfrechten gelijk aan de web-docs directory.
** /var/www/www1/website/httpd/logs
+
* '''/var/www/www1/website/httpd/logs'''
 
De directory waarin de log bestanden van httpd voor deze website terechtkomen met als belangrijkste access_log en error_log.
 
De directory waarin de log bestanden van httpd voor deze website terechtkomen met als belangrijkste access_log en error_log.
 
Merk op dat wij er sterk op aandringen dat beheerders zelf controleren wat er in met name error_log terecht komt en daar op actie ondernemen
 
Merk op dat wij er sterk op aandringen dat beheerders zelf controleren wat er in met name error_log terecht komt en daar op actie ondernemen
 
om de error_log zoveel mogelijk leeg te houden.
 
om de error_log zoveel mogelijk leeg te houden.
** /var/www/www1/website/httpd-test/logs
+
* '''/var/www/www1/website/httpd-test/logs'''
 
Log directory voor de test versie van de website
 
Log directory voor de test versie van de website
** /var/www/www1/website/writable
+
* '''/var/www/www1/website/writable'''
 
Bij voorkeur de enige directory waar httpd in mag schrijven, standaard maken wij daarin ook een ''sessions'' subdirectory in aan
 
Bij voorkeur de enige directory waar httpd in mag schrijven, standaard maken wij daarin ook een ''sessions'' subdirectory in aan
 
die door php als session_save_path directory gebruikt wordt.
 
die door php als session_save_path directory gebruikt wordt.
 
Als je een schrijfbae directory nodig hebt in je website maak die dan bij voorkeur in deze directory aan.
 
Als je een schrijfbae directory nodig hebt in je website maak die dan bij voorkeur in deze directory aan.
** /var/www/www1/website/cgi-bin
+
* '''/var/www/www1/website/cgi-bin'''
 
de cgi-bin directory voor je website.
 
de cgi-bin directory voor je website.
** /var/www/www1/website/cgi-bin-test
+
* '''/var/www/www1/website/cgi-bin-test'''
 
en natuurlijk een voor de test versie.
 
en natuurlijk een voor de test versie.

Revision as of 07:59, 9 May 2008

Apache Setup

Om de beveiliging van websites te verbeteren gaan we over op een nieuwe opzet voor onze webservers. Tot voor kort was het gebruikelijk om op een webserver één apache httpd te draaien die middels virtual hosts meerdere websites afhandelt. Dat heeft een groot voordeel, alle websites delen de beschikbare pool van httpd processen, maar ook meerdere (grote) nadelen met name wat betreft de onderlinge beveiliging tussen de websites en gemeenschappelijke log files.

Om aan deze nadelen tegemoet te komen is er op de nieuwe web server athos voor een andere opzet gekozen. In plaats van virtual hosts files die door één apache server worden afgehandeld gebruiken we nu per website een eigen httpd met een aparte user per website. Dat heeft tot gevolg dat de bestanden in de web-docs directory niet langer leesbaar hoeven te zijn voor iedereen. Bovendien gaat iedere website nu op een eigen ip-adres draaien wat tot gevolg heeft dat iedere website die https nodig heeft zijn eigen SSL-certificaat kan krijgen.

De directory structuur ziet er als volgt uit (we gebruiken hier website als voorbeeld naam):

  • /var/www/www1/website

top directory waarbinnen alle bestanden m.b.t. deze website zich bevinden

  • /var/www/www1/website/web-docs

De document root voor de website. De standaard situatie voor de web-docs directory wordt lees en schrijfbaar voor de unix group met daarin alleen de users die de website beheren. Daarnaast heeft de user waaronder de website specifieke httpd draait alleen leesrechten.

  • /var/www/www1/website/test-docs

De document root voor een test versie van de website, om bijvoorbeeld een nieuwe versie van je website uit te proberen voordat deze life gaat. Deze test versie is bereikbaar via poort 8080, d.w.z. gebruik als URL: http://www.website.science.ru.nl:8080/ en poort 4443 voor https, d.w.z. gebruik al URL: http://www.website.science.ru.nl:4443/ (merk op dat de echte site gebruik maakt van poort 80 voor http en poort 443 voor https). Lees en schrijfrechten gelijk aan de web-docs directory.

  • /var/www/www1/website/httpd/logs

De directory waarin de log bestanden van httpd voor deze website terechtkomen met als belangrijkste access_log en error_log. Merk op dat wij er sterk op aandringen dat beheerders zelf controleren wat er in met name error_log terecht komt en daar op actie ondernemen om de error_log zoveel mogelijk leeg te houden.

  • /var/www/www1/website/httpd-test/logs

Log directory voor de test versie van de website

  • /var/www/www1/website/writable

Bij voorkeur de enige directory waar httpd in mag schrijven, standaard maken wij daarin ook een sessions subdirectory in aan die door php als session_save_path directory gebruikt wordt. Als je een schrijfbae directory nodig hebt in je website maak die dan bij voorkeur in deze directory aan.

  • /var/www/www1/website/cgi-bin

de cgi-bin directory voor je website.

  • /var/www/www1/website/cgi-bin-test

en natuurlijk een voor de test versie.