-
Notifications
You must be signed in to change notification settings - Fork 68
/
se-configure.sh
executable file
·87 lines (78 loc) · 2.87 KB
/
se-configure.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#!/bin/bash
set -e
TRD_DIR=$PWD/3rd-party
NEU_DIR=$PWD/neusoft
MOD_SECURITY_DIR=${TRD_DIR}/ModSecurity
MOD_SECURITY_CONFIG='--with-modsecurity'
NGX_LUA_CONFIG='--with-lua'
unset HAVE_MOD_SECURITY
unset HAVE_NGX_LUA
for arg in $*
do
if [ $arg = $MOD_SECURITY_CONFIG ]; then
HAVE_MOD_SECURITY='y'
fi
if [ $arg = $NGX_LUA_CONFIG ]; then
HAVE_NGX_LUA='y'
fi
done
if [ $# -ne 0 ]; then
NGX_ARGS=`echo $* | sed "s/$MOD_SECURITY_CONFIG//"`
NGX_ARGS=`echo $NGX_ARGS | sed "s/$NGX_LUA_CONFIG//"`
else
unset NGX_ARGS
fi
if [ ! -z $HAVE_MOD_SECURITY ]; then
cd $MOD_SECURITY_DIR
./autogen.sh
./configure --enable-standalone-module
make
cd -
NGX_ARGS="$NGX_ARGS --add-module=${MOD_SECURITY_DIR}/nginx/modsecurity"
fi
if [ ! -z $HAVE_NGX_LUA ]; then
NGX_ARGS="$NGX_ARGS --add-module=${TRD_DIR}/ngx_devel_kit --add-module=${TRD_DIR}/lua-nginx-module-0.10.7"
fi
./configure $NGX_ARGS \
--add-module=${TRD_DIR}/ngx_http_upstream_check_module \
--add-module=${NEU_DIR}/ngx_http_neteye_security \
--add-module=${NEU_DIR}/ngx_http_dynamic_resolve \
--add-module=${TRD_DIR}/naxsi/naxsi_src \
--add-module=${TRD_DIR}/nginx-upstream-fair \
--add-module=${TRD_DIR}/headers-more-nginx-module \
--add-module=${TRD_DIR}/ngx_http_substitutions_filter_module \
--add-module=${NEU_DIR}/ngx_http_upstream_fastest \
--add-module=${NEU_DIR}/ngx_http_upstream_persistence \
--add-module=${NEU_DIR}/ngx_http_session \
--add-module=${NEU_DIR}/ngx_http_robot_mitigation \
--add-module=${NEU_DIR}/ngx_http_status_page \
--add-module=${NEU_DIR}/ngx_http_if_extend \
--add-module=${NEU_DIR}/ngx_http_cache_extend \
--add-module=${NEU_DIR}/ngx_http_cookie_poisoning \
--add-module=${NEU_DIR}/ngx_http_web_defacement \
--add-module=${NEU_DIR}/ngx_http_ip_blacklist \
--add-module=${NEU_DIR}/ngx_http_ip_behavior \
--add-module=${NEU_DIR}/ngx_http_whitelist \
--add-module=${NEU_DIR}/ngx_http_statistics \
--add-module=${TRD_DIR}/ngx_cache_purge-2.3 \
--add-module=${TRD_DIR}/srcache-nginx-module \
--add-module=${TRD_DIR}/memc-nginx-module-0.17
get_line_num()
{
LINE_NUM=`grep -n ^$1$ Makefile | cut -d ':' -f 1`
while :
do
LINE_NUM=$((LINE_NUM + 1))
if [ `head -n $LINE_NUM Makefile | tail -n 1 | grep -c ^$` -eq 1 ]; then
break;
fi
done
}
if [ ! -z $HAVE_MOD_SECURITY ]; then
sed -i "/clean:/ a \\\tcd $MOD_SECURITY_DIR;make clean" Makefile
sed -i "/build:/ a \\\tcd $MOD_SECURITY_DIR;\$(MAKE) -f Makefile" Makefile
PREFIX=`grep -A 1 ^upgrade:$ Makefile | tail -n 1 | awk '{print $1}' | sed "s/sbin\/nginx//"`
sed -i "/install:/ a \\\tcd $MOD_SECURITY_DIR;\$(MAKE) -f Makefile" Makefile
get_line_num install:
sed -i "$LINE_NUM i \\\tcp -f ${MOD_SECURITY_DIR}/modsecurity.conf-recommended \$(DESTDIR)${PREFIX}conf" Makefile
fi