Deze tutorial legt uit hoe je ownCloud 9 kunt installeren op een DirectAdmin installatie met nginx als webserver. De nginx configuratie die in de ownCloud documentatie staat werkt prima in combinatie met DirectAdmin, maar er moeten wel enkele aanpassingen gedaan worden om alles 100% werkend te krijgen. In elke nginx configuratie wordt door DirectAdmin een webapps.conf bestand ingeladen en dit blokkeert de WebDAV werking van ownCloud.

Voor de ownCloud 9 nginx configs, bekijk de documentatie.

Er zijn verschillende methodes om nginx correct in te stellen voor ownCloud. Hieronder worden er twee beschreven;

  • Custom templates aanmaken en in stellen voor ownCloud
  • nginx.conf aanpassen en locken met chattr

In deze tutorial wordt er vanuit gegaan dat je ownCloud al geïnstalleerd hebt, alleen de nginx configuratie wordt hierin uitgelegd. Ook wordt er vanuit gegaan dat je ownCloud installeert op een HTTPS verbinding. Indien je dit niet doet dan is het noodzakelijk om de configuratie hierop aan te passen.

Tutorial voor het laatst bijgewerkt op 24 januari 2017


Methode 1: Custom templates

1. Custom HTTPd Configurations

In DirectAdmin, als Admin ga naar Custom HTTPd Configurations. Selecteer dan vervolgens je domein waarop je ownCloud hebt geïnstalleerd.

In de CUSTOM1 box, plak het volgende en pas het naar eigen instellingen aan;

|*if SSL_TEMPLATE="1"|
upstream php-handler-*DA-USER* {
 server unix:/usr/local/php70/sockets/*DA-USER*.sock;
}
|*endif|

In CUSTOM4, plak het volgende en pas het naar eigen instellingen aan;

|*if SSL_TEMPLATE="1"|

plak hierin de nginx config zoals in de ownCloud docs. Dit kan wijzigen per ownCloud versie.

|*endif|

 

2. Templates kopieren en aanpassen

In de standaard nginx configs wordt een webapps.conf bestand ingeladen. Hierin staat het volgende;

if ($request_method !~ ^(GET|HEAD|POST)$ ) {

return 444;

}

Dit blokkeert de WebDAV werking van ownCloud. Daarom moet dit configuratie bestand niet ingeladen worden. De andere configuraties in dit bestand staan ook al in de ownCloud nginx configuratie.

Voer de volgende commando’s uit om een custom nginx template aan te maken:

cd /usr/local/directadmin/data/templates/
cp nginx_server_secure.conf custom/.
cd custom
nano nginx_server_secure.conf

Zoek nu naar het regeltje (onderaan) waar de webapps.conf wordt ingevoegd. Plaats dit eromheen;

|*if DOMAIN!="voorbeeld-domein"|
de include
|*endif|

Nu wordt het webapps.conf bestand niet meer ingeladen in het domein waarop ownCloud staat geïnstalleerd. Bij alle andere domeinen wel. Als laatste is het nog nodig om de configs te herschrijven;

cd /usr/local/directadmin/custombuild
./build rewrite_confs

 

Methode 2: nginx.conf locken met chattr

Een snellere manier is om de nginx.conf zo aan te passen zoals het voorbeeld in de ownCloud documentatie. Om wijzigingen door DirectAdmin tegen te gaan (zoals met het commando ./build rewrite_confs) kun je het bestand locken. Dit doe je met chattr.

cd /usr/local/directadmin/data/users/*user*
chattr +i nginx.conf

Nu is het nginx.conf bestand gelocked en kan DirectAdmin dit bestand niet meer aanpassen. Ook zelf kun je geen aanpassingen meer doen. Om het bestand te unlocken en wijzigingen weer toe te laten doe je het volgende;

chattr -i nginx.conf

Nu is het bestand unlocked en kun je weer wijzigingen aanbrengen.