-
Notifications
You must be signed in to change notification settings - Fork 3
/
install-sh
198 lines (164 loc) · 5.57 KB
/
install-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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
#! /bin/sh
LOG="install.log"
##############################################################
# Step0 GET THE OS SYSTEM
##############################################################
# Get current path and the login user
CUR_PATH=$(pwd)
USER=$(id | sed 's/ /\n/g' | grep uid | sed 's/.*(//g' | sed 's/)//g')
USER_PATH="/home/"$(id | sed 's/ /\n/g' | grep uid | sed 's/.*(//g' | sed 's/)//g')
if [ ! -d $USER_PATH ];then
echo "`date +%Y-%m-%d\ %T`:get user document $USER fail, the result is $USER_PATH "$(id) >> $LOG
exit 1
fi
echo "user document is $USER, user path is $USER_PATH, cur path is $CUR_PATH" >> $LOG
# Get the linux info
# Distributor ID: SUSE LINUX
LINUX_DISTRIBUTOR=$(lsb_release -a | grep Distributor)
# SUSE=$(echo $LINUX_DISTRIBUTOR | grep 'SUSE')
if [[ ! "$LINUX_DISTRIBUTOR" =~ 'SUSE' ]];then
echo "`date +%Y-%m-%d\ %T`:do not support the os: $LINUX_DISTRIBUTOR" >> $LOG
exit 1
else echo "`date +%Y-%m-%d\ %T`:the os is suse, continue install" >> $LOG
fi
#杀死进程
sudo chmod +x ./conf/fdfs/stop.sh
sudo ./conf/fdfs/stop.sh
##############################################################
# Step1 Check the python and gcc-c++ env, you can skip the step
##############################################################
# check and install python-devel
search=$(rpm -q python-devel | grep -v "not installed")
plugins=""
if [ ! -n "$search" ];then
sudo zypper in python-devel
if [ $? -ne 0 ];then
echo "`date +%Y-%m-%d\ %T`:install python-devel fail:$?" >> $LOG
exit 1
fi
fi
# check and install python-tk
search=$(rpm -q python-tk | grep -v "not installed")
if [ ! -n "$search" ];then
sudo zypper in python-tk
if [ $? -ne 0 ];then
echo "`date +%Y-%m-%d\ %T`:install python-tk fail:$?" >> $LOG
exit 1
fi
fi
# check and install gcc
search=$(rpm -q gcc | grep -v "not installed")
if [ ! -n "$search" ];then
sudo zypper in gcc
if [ $? -ne 0 ];then
echo "`date +%Y-%m-%d\ %T`:install gcc fail:$?" >> $LOG
exit 1
fi
fi
# check and install gcc-c++
search=$(rpm -q gcc-c++ |grep -v "not installed")
if [ ! -n "$search" ];then
sudo zypper in gcc-c++
if [ $? -ne 0 ];then
echo "`date +%Y-%m-%d\ %T`:install gcc-c++ fail:$?" >> $LOG
exit 1
fi
fi
##############################################################
# Step2 install the FDFS
##############################################################
# install libfastcommon
echo "`date +%Y-%m-%d\ %T`:start install libfastcommon" >> $LOG
tar xvf libfastcommon-master.tar.gz
cd libfastcommon-master
chmod +x make.sh
sudo ./make.sh
if [ $? -ne 0 ];then
echo "`date +%Y-%m-%d\ %T`:build libfastcommon fail:$?" >> $LOG
exit 1
fi
sudo ./make.sh install
if [ $? -ne 0 ];then
echo "`date +%Y-%m-%d\ %T`:install libfastcommon fail:$?" >> $LOG
exit 1
fi
# config the libfastcommon env
sudo export LD_LIBRARY_PATH=/usr/lib64/
sudo ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
cd ..
echo "`date +%Y-%m-%d\ %T`:install libfastcommon success" >> $LOG
# install FastDFS
echo "start install FastDFS" >> $LOG
tar xvzf FastDFS_v5.08.tar.gz
cd FastDFS/
chmod +x make.sh
sudo ./make.sh
if [ $? -ne 0 ];then
echo "`date +%Y-%m-%d\ %T`:build FastDFS_v5.08 fail:$?" >> $LOG
exit 1
fi
sudo ./make.sh install
if [ $? -ne 0 ];then
echo "`date +%Y-%m-%d\ %T`:install FastDFS_v5.08 fail:$?" >> $LOG
exit 1
fi
cd ..
##############################################################
# Step3 install the nginx
##############################################################
# create the web user for nginx
echo "`date +%Y-%m-%d\ %T`:create the web user for nginx" >> $LOG
sudo groupadd www
sudo useradd -g www www
echo "`date +%Y-%m-%d\ %T`:tar pcre..." >> $LOG
tar xvzf pcre-8.38.tar.gz
PCRE="$CUR_PATH""/pcre-8.38"
echo "`date +%Y-%m-%d\ %T`:tar zlib..." >> $LOG
tar xvzf zlib-1.2.8.tar.gz
ZLIB="$CUR_PATH""/zlib-1.2.8"
echo "`date +%Y-%m-%d\ %T`:tar openssl..." >> $LOG
tar xvzf openssl-1.0.1u.tar.gz
OPEN_SSL="$CUR_PATH""/openssl-1.0.1u"
# install_start "nginx-1.6.3"
echo "`date +%Y-%m-%d\ %T`:tar fastdfs-nginx-module..." >> $LOG
tar xvzf fastdfs-nginx-module_v1.16.tar.gz
# SuSE os, modify the path "/usr/local/" ot "/usr/"
# Distributor ID: SUSE LINUX
sed -i 's/usr\/local/usr/g' "$CUR_PATH""/fastdfs-nginx-module/src/config"
MODULE_PATH="$CUR_PATH""/fastdfs-nginx-module/src"
echo "`date +%Y-%m-%d\ %T`:fastdfs-nginx-modle path is $MODULE_PATH" >> $LOG
echo "`date +%Y-%m-%d\ %T`:tar nginx" >> $LOG
tar xvzf nginx-1.6.3.tar.gz
cd nginx-1.6.3
echo "`date +%Y-%m-%d\ %T`:config nginx intall params" >> $LOG
chmod +x *
sudo ./configure --user=www --group=www --prefix=/usr/local/nginx_storage --add-module=$MODULE_PATH --with-http_stub_status_module --with-http_ssl_module --with-openssl=$OPEN_SSL --with-pcre=$PCRE --with-zlib=$ZLIB
if [ $? -ne 0 ];then
echo "`date +%Y-%m-%d\ %T`:config nginx fail:$?" >> $LOG
exit 1
fi
sudo make
if [ $? -ne 0 ];then
echo "`date +%Y-%m-%d\ %T`:build nginx fail:$?" >> $LOG
exit 1
fi
sudo make install
if [ $? -ne 0 ];then
echo "`date +%Y-%m-%d\ %T`:install nginx fail:$?" >> $LOG
exit 1
fi
cd ..
##############################################################
# Step4 CALL THE RECONFIG CODE
##############################################################
chmod +x reconfig-sh
./reconfig-sh
echo "`date +%Y-%m-%d\ %T`:clear the temp files" >> $LOG
sudo rm -rf libfastcommon-master
sudo rm -rf FastDFS
sudo rm -rf zlib-1.2.8
sudo rm -rf pcre-8.38
sudo rm -rf fastdfs-nginx-module
sudo rm -rf openssl-1.0.1u
sudo rm -rf nginx-1.6.3
echo "`date +%Y-%m-%d\ %T`:install the fdfs and nginx success!" >> $LOG