diff options
author | Jakub Jirutka <jakub@jirutka.cz> | 2016-09-22 16:38:59 +0200 |
---|---|---|
committer | Jakub Jirutka <jakub@jirutka.cz> | 2016-09-22 20:48:29 +0200 |
commit | 8f6e4387fd9ca6b6c266b3b2b0c29b0dea8a275b (patch) | |
tree | e3d9aba1d1f4e9cf108bda30ade365146bd18803 /main/owncloud | |
parent | 3a3ffbd8e2b0a4b3e1b8fcf62f913a691bb4dae4 (diff) | |
download | aports-8f6e4387fd9ca6b6c266b3b2b0c29b0dea8a275b.tar.bz2 aports-8f6e4387fd9ca6b6c266b3b2b0c29b0dea8a275b.tar.xz |
main/owncloud: add subpackage -initscript for running with php-fpm
Diffstat (limited to 'main/owncloud')
-rw-r--r-- | main/owncloud/APKBUILD | 43 | ||||
-rw-r--r-- | main/owncloud/fpm-pool.conf | 183 | ||||
-rw-r--r-- | main/owncloud/owncloud-initscript.post-install | 22 | ||||
-rw-r--r-- | main/owncloud/owncloud-initscript.pre-install | 6 | ||||
-rw-r--r-- | main/owncloud/owncloud.confd | 5 |
5 files changed, 255 insertions, 4 deletions
diff --git a/main/owncloud/APKBUILD b/main/owncloud/APKBUILD index c60f283ed6..81abe2453f 100644 --- a/main/owncloud/APKBUILD +++ b/main/owncloud/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Leonardo Arena <rnalrd@alpinelinux.org> pkgname=owncloud pkgver=9.1.1 -pkgrel=0 +pkgrel=1 _contactsver="0.0.0.183" _calendarver="1.3.3" _tasksver="0.9.3" @@ -18,9 +18,9 @@ license="AGPL" depends="$_php ${_php}-ctype ${_php}-curl ${_php}-dom ${_php}-gd ${_php}-iconv ${_php}-json ${_php}-xml ${_php}-xmlreader ${_php}-zlib ${_php}-zip" makedepends="" -subpackages="$pkgname-doc $pkgname-pgsql $pkgname-sqlite $pkgname-mysql - $pkgname-encryption $pkgname-calendar $pkgname-contacts $pkgname-documents - $pkgname-external $pkgname-gallery $pkgname-music +subpackages="$pkgname-initscript $pkgname-doc $pkgname-pgsql $pkgname-sqlite + $pkgname-mysql $pkgname-encryption $pkgname-calendar $pkgname-contacts + $pkgname-documents $pkgname-external $pkgname-gallery $pkgname-music $pkgname-ldap $pkgname-tasks $pkgname-texteditor $pkgname-pdfviewer $pkgname-videoplayer" replaces="$pkgname-plugins" @@ -32,8 +32,11 @@ source="https://download.owncloud.org/community/$pkgname-$pkgver.tar.bz2 $pkgname-music-$_musicver.zip::https://github.com/owncloud/music/releases/download/v$_musicver/music.zip $pkgname-pdfviewer-$_pdfviewerver.tar.gz::https://github.com/owncloud/files_pdfviewer/archive/v$_pdfviewerver.tar.gz $pkgname-tasks-$_tasksver.tar.gz::https://github.com/owncloud/tasks/archive/v$_tasksver.tar.gz + $pkgname.confd + fpm-pool.conf owncloud.config.php " +pkgusers="owncloud" pkggroups="www-data" builddir="$srcdir/$pkgname" @@ -69,6 +72,32 @@ package() { done } +initscript() { + pkgdesc="Init script that runs ownCloud with php-fpm" + depends="$pkgname $_php-fpm" + install="$subpkgname.pre-install $subpkgname.post-install" + + local confdir="$subpkgdir/etc/$_php/php-fpm.d" + local fpm_name="php-fpm${_php:3}" + + if [ "$_php" = "php5" ]; then + confdir="${confdir/php-/}" + fpm_name="php-fpm" + fi + + install -m 755 -o owncloud -d "$subpkgdir"/var/log/$pkgname || return 1 + install -m 700 -o owncloud -d "$subpkgdir"/var/tmp/$pkgname || return 1 + + install -m 644 -D "$srcdir"/fpm-pool.conf \ + "$confdir"/$pkgname.conf || return 1 + + install -m 644 -D "$srcdir"/$pkgname.confd \ + "$subpkgdir"/etc/conf.d/$pkgname || return 1 + + mkdir -p "$subpkgdir"/etc/init.d + ln -s $fpm_name "$subpkgdir"/etc/init.d/$pkgname +} + doc() { pkgdesc="$pkgdesc (documentation)" depends="$pkgname" @@ -218,6 +247,8 @@ a2623501e3e524b973759a9628a4749d owncloud-contacts-0.0.0.183.tar.gz 8452cdd43587469e680597a2c10c830e owncloud-music-0.3.11.zip bd700fdc1b233d4bd9b1fae8afbfac04 owncloud-pdfviewer-9.1.1.tar.gz 84e7e522faa5f4a6bd3c75a29e259bcb owncloud-tasks-0.9.3.tar.gz +ea483e710da2fa9995543d9b5b8ee11e owncloud.confd +779c544fd1900557f4e69504aa28eeed fpm-pool.conf e1081190b2916a7f61fe403a03d8fa06 owncloud.config.php" sha256sums="a6bf3531ebb7e09a11aaae641bc3af933f339261424782841c640bf9df1ba7b9 owncloud-9.1.1.tar.bz2 d6ea14796f27f4cfb6db63b8e3612a71d3e3e6e2d8edffce85df45fcb71c7106 owncloud-contacts-0.0.0.183.tar.gz @@ -227,6 +258,8 @@ e3cd0de34e7de1d9f08d5c7dce5e9f45826cc9e59292b847fa900ca3cdf6b3fc owncloud-calen e480e639e48419977f06822aa92f1245c21a43d9aafc156edb6fd097873a73ca owncloud-music-0.3.11.zip cce263ead882c8520388bc69973ee090c711475473b8990fe64c24abbe475075 owncloud-pdfviewer-9.1.1.tar.gz 0a5ef52ba915e7ec8f124ab7bd2c01f22db27f77343ddfa8d799927711133c55 owncloud-tasks-0.9.3.tar.gz +96d61ee75e8c948f78d31bdb770636819b8d678892a4003168c140fab69861cd owncloud.confd +41dd626e34ea0b0ea3eac13b43a655586097fe746d5a713c0c765dbc2b8c2fa0 fpm-pool.conf d00bdbf610d6994cdb61269620dc0fdb892a43a10895c00060d72731f7acd854 owncloud.config.php" sha512sums="dc83b411e54a233960dd16846b0b711c4f713a24c4b07bcc5441748270fee2e3eeaf3a49442e0caa618d10dae5be2d235ab7366240589a1d6d85e655b355a84e owncloud-9.1.1.tar.bz2 7d0b3808a8734cd6895847ea1986345df71cd7e0633dcf2b8b9989bc9d38c3182bf6d93d75c32378270d124e885d7d730fd1ead5198bd9276de8425a5ff725d3 owncloud-contacts-0.0.0.183.tar.gz @@ -236,4 +269,6 @@ e53cbee137a5785b3709ce259d51e8d33b016b79939e7831f1690ef17e0be8925f9ca71f90d5d882 fde1758a512a960985cbbfde9294f77458fad2cb4801daceedac76a58dbb2862f2586cb17376915cdcb47a768c75be46f863834a96f1148eae98285217491d59 owncloud-music-0.3.11.zip 88d926b79bebd2034324fb2f41cff8672857f686ac5dea052b9f712d3ead4d2c5cb907794db74adb542b3a28cf56f121d61f874c9eccaf352bb271774a070fa7 owncloud-pdfviewer-9.1.1.tar.gz 05903caadaab8c7982cb91b1442d617c777a9d97fcd5406d1b404006fa91ef73251852a53a03cb7fcbed097c1120fc920983c1a24a0e8f1f2e95b230153fd26a owncloud-tasks-0.9.3.tar.gz +7d1fa12f08f74b88d1ba7858a8295f6e5b200f16ed7366af48cc891b8c0074da85df008ed6f920df8b61bdfd5a27ac2a9623309b6334f82051a04067e746023e owncloud.confd +e5afd329faf06acec747cb2af8dea409b6991dcc7aa15e894444899ccaf17502fdfab437cfb91170d1e1aee39385b72f277922dccdd8c6e08cc928b146ccaeda fpm-pool.conf c7aa08cf9b8fb8f61454af3ccc5b743e33b4cc294e6c42ed2eb16894f0a411b22bdc4d8f691964860a7c88ea7255424c1e369063ae37041850a9624b4139d478 owncloud.config.php" diff --git a/main/owncloud/fpm-pool.conf b/main/owncloud/fpm-pool.conf new file mode 100644 index 0000000000..57db4968c2 --- /dev/null +++ b/main/owncloud/fpm-pool.conf @@ -0,0 +1,183 @@ +[global] +; Error log file +; Default Value: log/php-fpm.log +error_log = /var/log/owncloud/php-fpm.log + +; Log level +; Possible Values: alert, error, warning, notice, debug +; Default Value: notice +log_level = warning + +; If this number of child processes exit with SIGSEGV or SIGBUS within the time +; interval set by emergency_restart_interval then FPM will restart. A value +; of '0' means 'Off'. +; Default Value: 0 +emergency_restart_threshold = 10 + +; Interval of time used by emergency_restart_interval to determine when +; a graceful restart will be initiated. This can be useful to work around +; accidental corruptions in an accelerator's shared memory. +; Available Units: s(econds), m(inutes), h(ours), or d(ays) +; Default Unit: seconds +; Default Value: 0 +emergency_restart_interval = 1m + +; Time limit for child processes to wait for a reaction on signals from master. +; Available units: s(econds), m(inutes), h(ours), or d(ays) +; Default Unit: seconds +; Default Value: 0 +process_control_timeout = 10s + + +[owncloud] +; The address on which to accept FastCGI requests. +; Valid syntaxes are: +; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific address on +; a specific port; +; 'port' - to listen on a TCP socket to all addresses on a +; specific port; +; '/path/to/unix/socket' - to listen on a unix socket (the path is *not* +; relative to chroot!) +; Note: This value is mandatory. +listen = /run/owncloud/fastcgi.sock + +; Set permissions for unix socket, if one is used. In Linux, read/write +; permissions must be set in order to allow connections from a web server. Many +; BSD-derived systems allow connections regardless of permissions. +; Default Values: user and group are set as the running user +; mode is set to 0666 +listen.mode = 0660 + +; Choose how the process manager will control the number of child processes. +; Possible Values: +; static ... a fixed number of child processes. +; dynamic ... the number of child processes are set dynamically. +; ondemand ... no children are created at startup; children will be forked +; when new requests will connect. +; Note: This value is mandatory. +pm = ondemand + +; The number of child processes to be created when pm is set to 'static' and the +; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'. +; This value sets the limit on the number of simultaneous requests that will be +; served. +; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand' +; Note: This value is mandatory. +pm.max_children = 15 + +; The number of seconds after which an idle process will be killed. +; Note: Used only when pm is set to 'ondemand' +; Default Value: 10s +pm.process_idle_timeout = 120s + +; The number of requests each child process should execute before respawning. +; This can be useful to work around memory leaks in 3rd party libraries. For +; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS. +; Default Value: 0 +pm.max_requests = 500 + +; The URI to view the FPM status page. If this value is not set, no URI will be +; recognized as a status page. +; Note: The value must start with a leading slash (/). The value can be +; anything, but it may not be a good idea to use the .php extension or it +; may conflict with a real PHP file. +; Default Value: not set +pm.status_path = + +; The ping URI to call the monitoring page of FPM. If this value is not set, no +; URI will be recognized as a ping page. This could be used to test from outside +; that FPM is alive and responding, or to +; - create a graph of FPM availability (rrd or such); +; - remove a server from a group if it is not responding (load balancing); +; - trigger alerts for the operating team (24/7). +; Note: The value must start with a leading slash (/). The value can be +; anything, but it may not be a good idea to use the .php extension or it +; may conflict with a real PHP file. +; Default Value: not set +ping.path = /ping + +; The timeout for serving a single request after which the worker process will +; be killed. This option should be used when the 'max_execution_time' ini option +; does not stop script execution for some reason. A value of '0' means 'off'. +; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) +; Default Value: 0 +;request_terminate_timeout = 0 + +; The timeout for serving a single request after which a PHP backtrace will be +; dumped to the 'slowlog' file. A value of '0s' means 'off'. +; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) +; Default Value: 0 +;request_slowlog_timeout = 0 + +; The log file for slow requests +; Default Value: not set +; Note: slowlog is mandatory if request_slowlog_timeout is set +; Note: the path is *not* relative to chroot. +;slowlog = /var/log/owncloud/php-fpm.slow.log + +; Redirect worker stdout and stderr into main error log. If not set, stdout and +; stderr will be redirected to /dev/null according to FastCGI specs. +; Note: on highloaded environement, this can cause some delay in the page +; process time (several ms). +; Default Value: no +;catch_workers_output = yes + +; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from +; the current environment. +; Default Value: clean env +env[PATH] = /usr/bin:/bin + +; Additional php.ini defines, specific to this pool of workers. These settings +; overwrite the values previously defined in the php.ini. The directives are the +; same as the PHP SAPI: +; php_value/php_flag - you can set classic ini defines which can +; be overwritten from PHP call 'ini_set'. +; php_admin_value/php_admin_flag - these directives won't be overwritten by +; PHP call 'ini_set' +; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no. +; +; Defining 'extension' will load the corresponding shared extension from +; extension_dir. Defining 'disable_functions' or 'disable_classes' will not +; overwrite previously defined php.ini values, but will append the new value +; instead. +; +; Note: path INI options can be relative and will be expanded with the prefix +; (pool, global or /usr/lib/php5.3) + +; Allow HTTP file uploads. +php_admin_flag[file_uploads] = true + +; Maximal size of a file that can be uploaded via web interface. +php_admin_value[memory_limit] = 512M +php_admin_value[post_max_size] = 513M +php_admin_value[upload_max_filesize] = 513M + +; Where to store temporary files. +php_admin_value[session.save_path] = /var/tmp/owncloud +php_admin_value[sys_temp_dir] = /var/tmp/owncloud +php_admin_value[upload_tmp_dir] = /var/tmp/owncloud + +; Log errors to specified file. +php_admin_value[error_log] = /var/log/owncloud/php.error.log + +; OPcache error_log file name. Empty string assumes "stderr" +php_admin_value[opcache.error_log] = /var/log/owncloud/php.error.log + +; Output buffering is a mechanism for controlling how much output data +; (excluding headers and cookies) PHP should keep internally before pushing that +; data to the client. If your application's output exceeds this setting, PHP +; will send that data in chunks of roughly the size you specify. +; This must be disabled for ownCloud. +php_admin_flag[output_buffering] = false + +; Overload(replace) single byte functions by mbstring functions. +; This must be disabled for ownCloud. +php_admin_flag[mbstring.func_overload] = false + +; Never populate the $HTTP_RAW_POST_DATA variable. +; http://php.net/always-populate-raw-post-data +php_admin_value[always_populate_raw_post_data] = -1 + +; Disable certain functions for security reasons. +; http://php.net/disable-functions +php_admin_value[disable_functions] = exec,passthru,shell_exec,system,proc_open,curl_multi_exec,show_source diff --git a/main/owncloud/owncloud-initscript.post-install b/main/owncloud/owncloud-initscript.post-install new file mode 100644 index 0000000000..92db889626 --- /dev/null +++ b/main/owncloud/owncloud-initscript.post-install @@ -0,0 +1,22 @@ +#!/bin/sh + +# It's not needed to be writable for www-data group when running with php-fpm. +for dir in /etc/owncloud \ + /etc/owncloud/config.php \ + /var/lib/owncloud/data \ + /usr/share/webapps/owncloud/apps +do + chmod g-w $dir + chown owncloud $dir +done +chgrp root /etc/owncloud/config.php + +cat <<EOF +* +* Point your web server to /run/owncloud/fastcgi.sock and start ownCloud with +* /etc/init.d/owncloud start. You can modify php-fpm settings in +* /etc/php5/fpm.d/owncloud.conf. +* +EOF + +exit 0 diff --git a/main/owncloud/owncloud-initscript.pre-install b/main/owncloud/owncloud-initscript.pre-install new file mode 100644 index 0000000000..e162bbac1d --- /dev/null +++ b/main/owncloud/owncloud-initscript.pre-install @@ -0,0 +1,6 @@ +#!/bin/sh + +addgroup -S -g 82 www-data 2>/dev/null +adduser -S -D -H -h /var/lib/owncloud -s /sbin/nologin -G www-data -g ownCloud owncloud 2>/dev/null + +exit 0 diff --git a/main/owncloud/owncloud.confd b/main/owncloud/owncloud.confd new file mode 100644 index 0000000000..c4bd6b162f --- /dev/null +++ b/main/owncloud/owncloud.confd @@ -0,0 +1,5 @@ +# Config file for /etc/init.d/owncloud + +name="ownCloud" +user="owncloud" +group="www-data" |