~alpine/aports

main/apache2: startup script cleanups v1 PROPOSED

Valery Kartel: 1
 main/apache2: startup script cleanups

 4 files changed, 30 insertions(+), 150 deletions(-)
Hi, I don't know how to split all changes to multiple patches so I made a
new huge patch for main/apache2 and describe all changes it does.

Also need to think about renaming all 'apache-' packets to 'apache2-', or
all 'apache2-' to 'apache-' because both are present in git

2015-11-30 12:06 GMT+02:00 Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>:
Export patchset (mbox)
How do I use this?

Copy & paste the following snippet into your terminal to import this patchset into git:

curl -s https://lists.alpinelinux.org/~alpine/aports/patches/1817/mbox | git am -3
Learn more about email & git

[alpine-aports] [PATCH] main/apache2: startup script cleanups Export this patch

---
 main/apache2/APKBUILD      |   2 +-
 main/apache2/apache2.confd |   8 ---
 main/apache2/apache2.initd | 168 ++++++++-------------------------------------
 main/apache2/ssl.conf      |   2 +-
 4 files changed, 30 insertions(+), 150 deletions(-)

diff --git a/main/apache2/APKBUILD b/main/apache2/APKBUILD
index 2eb2010..5fadee2 100644
--- a/main/apache2/APKBUILD
+++ b/main/apache2/APKBUILD
@@ -3,7 +3,7 @@
pkgname=apache2
_pkgreal=httpd
pkgver=2.4.17
pkgrel=0
pkgrel=1
pkgdesc="A high performance Unix-based HTTP server"
url="http://httpd.apache.org/"
arch="all"
diff --git a/main/apache2/apache2.confd b/main/apache2/apache2.confd
index aeb3222..58334da 100644
--- a/main/apache2/apache2.confd
+++ b/main/apache2/apache2.confd
@@ -39,14 +39,6 @@ HTTPD_OPTS=
# They are normally dumped to your terminal.
#STARTUPERRORLOG="/var/log/apache2/startuperror.log"

# A command that outputs a formatted text version of the HTML at the URL
# of the command line. Designed for lynx, however other programs may work.
#LYNX="lynx -dump"

# The URL to your server's mod_status status page.
# Required for status and fullstatus
#STATUSURL="http://localhost/server-status"

# Method to use when reloading the server
# Valid options are 'restart' and 'graceful'
# See http://httpd.apache.org/docs/2.2/stopping.html for information on
diff --git a/main/apache2/apache2.initd b/main/apache2/apache2.initd
index 2975e7a..29f4730 100755
--- a/main/apache2/apache2.initd
+++ b/main/apache2/apache2.initd
@@ -1,154 +1,42 @@
#!/sbin/openrc-run

extra_commands="configdump configtest modules virtualhosts"
extra_started_commands="fullstatus graceful gracefulstop reload"
pidfile=${PIDFILE:-/run/apache2/httpd.pid}
configfile=${CONFIGFILE:-/etc/apache2/httpd.conf}
serverroot=${SERVERROOT:-/var/www}
command=${HTTPD:-/usr/sbin/httpd}
command_args="-d $serverroot -f $configfile $HTTPD_OPTS"
extra_started_commands="reload"
required_files=$configfile
required_dirs="$serverroot/modules $serverroot/logs"
retry=${TIMEOUT:-10}

depend() {
	need net
	use mysql dns logger netmount postgresql
	after sshd firewall
	use dns logger netmount
}

configtest() {
	ebegin "Checking ${SVCNAME} configuration"
	checkconfig
	eend $?
}

checkconfd() {
	PIDFILE="${PIDFILE:-/run/apache2/httpd.pid}"
	TIMEOUT=${TIMEOUT:-10}

	SERVERROOT="${SERVERROOT:-/var/www}"
	if [ ! -d ${SERVERROOT} ]; then
		eerror "SERVERROOT does not exist: ${SERVERROOT}"
		return 1
	fi

	CONFIGFILE="${CONFIGFILE:-/etc/apache2/httpd.conf}"
	[ "${CONFIGFILE#/}" = "${CONFIGFILE}" ] && CONFIGFILE="${SERVERROOT}/${CONFIGFILE}"
	if [ ! -r "${CONFIGFILE}" ]; then
		eerror "Unable to read configuration file: ${CONFIGFILE}"
		return 1
	fi

	HTTPD_OPTS="${HTTPD_OPTS} -d ${SERVERROOT}"
	HTTPD_OPTS="${HTTPD_OPTS} -f ${CONFIGFILE}"
	[ -n "${STARTUPERRORLOG}" ] && HTTPD_OPTS="${HTTPD_OPTS} -E ${STARTUPERRORLOG}"
	return 0

}

checkconfig() {
	checkconfd || return 1

	${HTTPD} ${HTTPD_OPTS} -t 1>/dev/null 2>&1
start_pre() {
	ebegin
	[ -n "$STARTUPERRORLOG" ] && command_args="-E $STARTUPERRORLOG $command_args"
	$command $command_args -t  2>/dev/null
	ret=$?
	if [ $ret -ne 0 ]; then
		eerror "${SVCNAME} has detected an error in your setup:"
		${HTTPD} ${HTTPD_OPTS} -t
	fi

	return $ret
}

start() {
	checkconfig || return 1
	checkpath --directory $(dirname $PIDFILE)

	[ -f /var/log/apache2/ssl_scache ] && rm /var/log/apache2/ssl_scache

	ebegin "Starting ${SVCNAME}"
	start-stop-daemon --start \
		--pidfile ${PIDFILE} \
		--exec ${HTTPD} \
		-- ${HTTPD_OPTS} -k start
	eend $?
}

stop() {
	checkconfd || return 1

	ebegin "Stopping ${SVCNAME}"
	start-stop-daemon --stop --pidfile ${PIDFILE} --exec ${HTTPD} \
		--retry ${TIMEOUT}
	eend $?
}

reload() {
	RELOAD_TYPE="${RELOAD_TYPE:-graceful}"

	checkconfig || return 1
	service_started "${SVCNAME}" || return

	if [ "${RELOAD_TYPE}" = "restart" ]; then
		ebegin "Restarting ${SVCNAME}"
		${HTTPD} ${HTTPD_OPTS} -k restart
		eend $?
	elif [ "${RELOAD_TYPE}" = "graceful" ]; then
		ebegin "Gracefully restarting ${SVCNAME}"
		${HTTPD} ${HTTPD_OPTS} -k graceful
		eend $?
	if [ $ret -eq 0 ]; then
		user=$($command $command_args -t -D DUMP_RUN_CFG | grep ^User: | cut -d\" -f2)
		group=$($command $command_args -t -D DUMP_RUN_CFG | grep ^Group: | cut -d\" -f2)
		checkpath --directory --owner $user:$group --mode 0750 ${pidfile%/*}
		[ -L $serverroot/run ] && rm $serverroot/run
		ln -s ${pidfile%/*} $serverroot/run
		[ -f $serverroot/run/scache ] && rm $serverroot/run/scache
	else
		eerror "${RELOAD_TYPE} is not a valid RELOAD_TYPE. Please edit /etc/conf.d/${SVCNAME}"
		[ -z "$STARTUPERRORLOG" ] && $command $command_args -t
	fi
	eend $ret
}

graceful() {
	checkconfig || return 1
	service_started "${SVCNAME}" || return
	ebegin "Gracefully restarting ${SVCNAME}"
	${HTTPD} ${HTTPD_OPTS} -k graceful
	eend $?
}

gracefulstop() {
	checkconfig || return 1
	ebegin "Gracefully stopping ${SVCNAME}"
	start-stop-daemon --stop --pidfile ${PIDFILE} --exec ${HTTPD} \
		--retry SIGWINCH/${TIMEOUT}
reload() {
	ebegin "Reloading ${SVCNAME}"
	signal=HUP
	[ $RELOAD_TYPE = "graceful" ] && signal=USR1
	start-stop-daemon --signal $signal --pidfile $pidfile --name $SVCNAME
	eend $?
}

modules() {
	checkconfig || return 1

	${HTTPD} ${HTTPD_OPTS} -M 2>&1
}

fullstatus() {
	LYNX="${LYNX:-lynx -dump}"
	STATUSURL="${STATUSURL:-http://localhost/server-status}"

	if ! service_started "${SVCNAME}"; then
		eerror "${SVCNAME} not started"
	elif ! type -p $(set -- ${LYNX}; echo $1) 2>&1 >/dev/null; then
		eerror "lynx not installed!"
	else
		${LYNX} ${STATUSURL}
	fi
}

virtualhosts() {
	checkconfd || return 1
	${HTTPD} ${HTTPD_OPTS} -S
}

configdump() {
	LYNX="${LYNX:-lynx -dump}"
	INFOURL="${INFOURL:-http://localhost/server-info}"

	checkconfd || return 1

	if ! service_started "${SVCNAME}"; then
		eerror "${SVCNAME} not started"
	elif ! type -p $(set -- ${LYNX}; echo $1) 2>&1 >/dev/null; then
		eerror "lynx not installed!"
	else
		echo "${HTTPD} started with '${HTTPD_OPTS}'"
		for i in config server list; do
			${LYNX} "${INFOURL}/?${i}" | sed '/Apache Server Information/d;/^[[:space:]]\+[_]\+$/Q'
		done
	fi
}

diff --git a/main/apache2/ssl.conf b/main/apache2/ssl.conf
index e201954..78358b5 100644
--- a/main/apache2/ssl.conf
+++ b/main/apache2/ssl.conf
@@ -34,7 +34,7 @@ SSLPassPhraseDialog  builtin
#   Configure the SSL Session Cache: First the mechanism 
#   to use and second the expiring timeout (in seconds).
#SSLSessionCache        dc:UNIX:/var/cache/mod_ssl/distcache
SSLSessionCache         shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCache         shmcb:run/scache(512000)
SSLSessionCacheTimeout  300

#   Pseudo Random Number Generator (PRNG):
-- 
2.6.1



---
Unsubscribe:  alpine-aports+unsubscribe@lists.alpinelinux.org
Help:         alpine-aports+help@lists.alpinelinux.org
---
Kaarle, Could you please have a look at this?



On Thu,  5 Nov 2015 16:38:39 +0200
Valery Kartel <valery.kartel@gmail.com> wrote: