Mail archive
alpine-aports

Re: [alpine-aports] [PATCH] main/apache2: startup script cleanups

From: Natanael Copa <ncopa_at_alpinelinux.org>
Date: Mon, 30 Nov 2015 10:04:59 +0100

Kaarle, Could you please have a look at this?



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

> ---
> 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
> _at_@ -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
> _at_@ -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
> _at_@ -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
> _at_@ -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):



---
Unsubscribe:  alpine-aports+unsubscribe_at_lists.alpinelinux.org
Help:         alpine-aports+help_at_lists.alpinelinux.org
---
Received on Mon Nov 30 2015 - 10:04:59 GMT