File tree 3 files changed +72
-30
lines changed 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
10
10
. " $APACHE_ENVVARS "
11
11
fi
12
12
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
-
23
13
# Apache gets grumpy about PID files pre-existing
14
+ : " ${APACHE_RUN_DIR:=/ var/ run/ apache2} "
15
+ : " ${APACHE_PID_FILE:= $APACHE_RUN_DIR / apache2.pid} "
24
16
rm -f " $APACHE_PID_FILE "
25
17
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
+
26
40
exec apache2 -DFOREGROUND " $@ "
Original file line number Diff line number Diff line change @@ -10,17 +10,31 @@ if test -f "$APACHE_ENVVARS"; then
10
10
. " $APACHE_ENVVARS "
11
11
fi
12
12
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
-
23
13
# Apache gets grumpy about PID files pre-existing
14
+ : " ${APACHE_RUN_DIR:=/ var/ run/ apache2} "
15
+ : " ${APACHE_PID_FILE:= $APACHE_RUN_DIR / apache2.pid} "
24
16
rm -f " $APACHE_PID_FILE "
25
17
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
+
26
40
exec apache2 -DFOREGROUND " $@ "
Original file line number Diff line number Diff line change @@ -10,17 +10,31 @@ if test -f "$APACHE_ENVVARS"; then
10
10
. " $APACHE_ENVVARS "
11
11
fi
12
12
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
-
23
13
# Apache gets grumpy about PID files pre-existing
14
+ : " ${APACHE_RUN_DIR:=/ var/ run/ apache2} "
15
+ : " ${APACHE_PID_FILE:= $APACHE_RUN_DIR / apache2.pid} "
24
16
rm -f " $APACHE_PID_FILE "
25
17
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
+
26
40
exec apache2 -DFOREGROUND " $@ "
You can’t perform that action at this time.
0 commit comments