summaryrefslogtreecommitdiff
path: root/www/php-nextcloud/MESSAGE
blob: b3c30baa69f9cde77a42d7c19e6828986ced7639 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
===========================================================================
$NetBSD: MESSAGE,v 1.1 2017/01/12 15:07:38 ryoon Exp $

To use Nextcloud, you will need to perform the following steps.

1. If you want to use with MySQL server, install databases/mysql55-*
   and enable it, then create database.

2. Install nginx httpd server, for example www/nginx.

3. Install PHP-FPM, PHP FastCGI Process Magager from www/php-fpm.

4. Be sure to have the following lines in ${PREFIX}/etc/nginx/nginx.conf
   to enable PHP script in http://YOUR_SERVER_NAME/ .
   From http://doc.owncloud.org/server/6.0/admin_manual/installation/installation_source.html .

http {
	include ${PREFIX}/etc/nginx/mime.types;

	upstream php-handler {
		server 127.0.0.1:9000;
	}

server {
	listen 80;
	server_name YOUR_SERVER_NAME;

	root ${PREFIX}/share/nextcloud;

	client_max_body_size 10G; # set max upload size
	fastcgi_buffers 64 4K;

	rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
	rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
	rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;

	index index.php;
	error_page 403 /core/templates/403.php;
	error_page 404 /core/templates/404.php;

	location = /robots.txt {
		allow all;
		log_not_found off;
		access_log off;
	}

	location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
		deny all;
	}

	location / {
		# The following 2 rules are only needed with webfinger
		rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
		rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;

		rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
		rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;

		rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;

		try_files $uri $uri/ index.php;
	}

	location ~ ^(.+?\.php)(/.*)?$ {
		try_files $1 =404;

		include fastcgi_params;
		fastcgi_param SCRIPT_FILENAME $document_root$1;
		fastcgi_param PATH_INFO $2;
		fastcgi_pass php-handler;
	}

	# Optional: set long EXPIRES header on static assets
	location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
		expires 30d;
		# Optional: Don't log access to assets
		access_log off;
	}

}
}

5. Be sure to have the following lines in ${PREFIX}/etc/php-fam.conf
   to restrict access from localhost only.

	listen.allowed_clients = 127.0.0.1

6. Be sure to have the following lines in ${PREFIX}/etc/php.ini.

	extension=curl.so
	extension=dom.so
	extension=gd.so
	extension=iconv.so
	extension=json.so
	extension=mbstring.so
	extension=zip.so
	extension=zlib.so

	extension=pdo.so ;if you select sqlite backend.
	extension=pdo_sqlite.so ;if you select sqlite backend.
	extension=pdo_mysql.so ;if you select MySQL backend.
	extension=pdo_pgsql.so ;if you select PostgreSQL backend.

7. Start PHP-FPM daemon.

	${RCD_SCRIPTS_DIR}/php_fpm start

8. Start nginx httpd server.

	${RCD_SCRIPTS_DIR}/nginx start

6. Access http://YOUR_SERVER_NAME/ and setup.
===========================================================================