File tree Expand file tree Collapse file tree 3 files changed +72
-30
lines changed Expand file tree Collapse file tree 3 files changed +72
-30
lines changed Original file line number Diff line number Diff line change @@ -10,17 +10,31 @@ if test -f "$APACHE_ENVVARS"; then
1010 . " $APACHE_ENVVARS "
1111fi
1212
13- : " ${APACHE_PID_FILE:= ${APACHE_RUN_DIR:=/ var/ run/ apache2} / apache2.pid} "
14-
15- # setup directories and permissions
16- mkdir -p /run/lock
17- for dir in ${APACHE_RUN_DIR} ${APACHE_LOCK_DIR}
18- do
19- mkdir -p ${dir}
20- chown -R " $APACHE_RUN_USER :$APACHE_RUN_GROUP " " $dir "
21- done
22-
2313# Apache gets grumpy about PID files pre-existing
14+ : " ${APACHE_RUN_DIR:=/ var/ run/ apache2} "
15+ : " ${APACHE_PID_FILE:= $APACHE_RUN_DIR / apache2.pid} "
2416rm -f " $APACHE_PID_FILE "
2517
18+ # create missing directories
19+ # (especially APACHE_RUN_DIR, APACHE_LOCK_DIR, and APACHE_LOG_DIR)
20+ for e in " ${! APACHE_@ } " ; do
21+ if [[ " $e " == * _DIR ]] && [[ " ${! e} " == /* ]]; then
22+ # handle "/var/lock" being a symlink to "/run/lock", but "/run/lock" not existing beforehand, so "/var/lock/something" fails to mkdir
23+ # mkdir: cannot create directory '/var/lock': File exists
24+ dir=" ${! e} "
25+ while [ " $dir " != " $( dirname " $dir " ) " ]; do
26+ dir=" $( dirname " $dir " ) "
27+ if [ -d " $dir " ]; then
28+ break
29+ fi
30+ absDir=" $( readlink -f " $dir " 2> /dev/null || :) "
31+ if [ -n " $absDir " ]; then
32+ mkdir -p " $absDir "
33+ fi
34+ done
35+
36+ mkdir -p " ${! e} "
37+ fi
38+ done
39+
2640exec apache2 -DFOREGROUND " $@ "
Original file line number Diff line number Diff line change @@ -10,17 +10,31 @@ if test -f "$APACHE_ENVVARS"; then
1010 . " $APACHE_ENVVARS "
1111fi
1212
13- : " ${APACHE_PID_FILE:= ${APACHE_RUN_DIR:=/ var/ run/ apache2} / apache2.pid} "
14-
15- # setup directories and permissions
16- mkdir -p /run/lock
17- for dir in ${APACHE_RUN_DIR} ${APACHE_LOCK_DIR}
18- do
19- mkdir -p ${dir}
20- chown -R " $APACHE_RUN_USER :$APACHE_RUN_GROUP " " $dir "
21- done
22-
2313# Apache gets grumpy about PID files pre-existing
14+ : " ${APACHE_RUN_DIR:=/ var/ run/ apache2} "
15+ : " ${APACHE_PID_FILE:= $APACHE_RUN_DIR / apache2.pid} "
2416rm -f " $APACHE_PID_FILE "
2517
18+ # create missing directories
19+ # (especially APACHE_RUN_DIR, APACHE_LOCK_DIR, and APACHE_LOG_DIR)
20+ for e in " ${! APACHE_@ } " ; do
21+ if [[ " $e " == * _DIR ]] && [[ " ${! e} " == /* ]]; then
22+ # handle "/var/lock" being a symlink to "/run/lock", but "/run/lock" not existing beforehand, so "/var/lock/something" fails to mkdir
23+ # mkdir: cannot create directory '/var/lock': File exists
24+ dir=" ${! e} "
25+ while [ " $dir " != " $( dirname " $dir " ) " ]; do
26+ dir=" $( dirname " $dir " ) "
27+ if [ -d " $dir " ]; then
28+ break
29+ fi
30+ absDir=" $( readlink -f " $dir " 2> /dev/null || :) "
31+ if [ -n " $absDir " ]; then
32+ mkdir -p " $absDir "
33+ fi
34+ done
35+
36+ mkdir -p " ${! e} "
37+ fi
38+ done
39+
2640exec apache2 -DFOREGROUND " $@ "
Original file line number Diff line number Diff line change @@ -10,17 +10,31 @@ if test -f "$APACHE_ENVVARS"; then
1010 . " $APACHE_ENVVARS "
1111fi
1212
13- : " ${APACHE_PID_FILE:= ${APACHE_RUN_DIR:=/ var/ run/ apache2} / apache2.pid} "
14-
15- # setup directories and permissions
16- mkdir -p /run/lock
17- for dir in ${APACHE_RUN_DIR} ${APACHE_LOCK_DIR}
18- do
19- mkdir -p ${dir}
20- chown -R " $APACHE_RUN_USER :$APACHE_RUN_GROUP " " $dir "
21- done
22-
2313# Apache gets grumpy about PID files pre-existing
14+ : " ${APACHE_RUN_DIR:=/ var/ run/ apache2} "
15+ : " ${APACHE_PID_FILE:= $APACHE_RUN_DIR / apache2.pid} "
2416rm -f " $APACHE_PID_FILE "
2517
18+ # create missing directories
19+ # (especially APACHE_RUN_DIR, APACHE_LOCK_DIR, and APACHE_LOG_DIR)
20+ for e in " ${! APACHE_@ } " ; do
21+ if [[ " $e " == * _DIR ]] && [[ " ${! e} " == /* ]]; then
22+ # handle "/var/lock" being a symlink to "/run/lock", but "/run/lock" not existing beforehand, so "/var/lock/something" fails to mkdir
23+ # mkdir: cannot create directory '/var/lock': File exists
24+ dir=" ${! e} "
25+ while [ " $dir " != " $( dirname " $dir " ) " ]; do
26+ dir=" $( dirname " $dir " ) "
27+ if [ -d " $dir " ]; then
28+ break
29+ fi
30+ absDir=" $( readlink -f " $dir " 2> /dev/null || :) "
31+ if [ -n " $absDir " ]; then
32+ mkdir -p " $absDir "
33+ fi
34+ done
35+
36+ mkdir -p " ${! e} "
37+ fi
38+ done
39+
2640exec apache2 -DFOREGROUND " $@ "
You can’t perform that action at this time.
0 commit comments