LAMP一键源码安装脚本最新版(实测有效)
此脚本根据网上的进行了大量的修改,在RHEL5上做了实际测试,本人亲测有效。运行次脚本有2个注意点:
1.在根目录下新建work目录,将光盘没有的rpm包放入其中,如果没有联网,将需要的rpm包也放入其中
2.将apache的服务启动脚本httpd,放入work目录
具体的httpd内容参见之前的博客,一步一步搭建LAMP。
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
#!/bin/sh
#Copyright(c) 2010-2015 jwh5566 (419288922@qq.com)
#install LAMP
#Version 0.1.2
#Date 20150602
#------------add yum source------------------------
#rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
#rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
#------------install gcc------------------------
#yum install gcc-c++gcc ncurses-devel wget openssl openssl-devel zlib-devel unzipntp libxml2-devel -y
yum groupinstall "Development Libraries" "Development Tools"
#RHEL6 no need install Development Libraries
#--------------time sync--------------------
#ntpdate tiger.sina.com.cn
hwclock -w
service iptables stop
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
yum -y remove httpd php mysql-server mysql php-mysql
installLog="/root/instalog.log"
function checkLog(){
[ $? -eq 0 ] && echo "Successfull! " || echo "configure is error,pls check it." && [ -f $installLog ] && tail -30 $installLog && exit 1
}
function msg(){
echo -n "now,Scripts is '$1' apache, this maybe take several mins, pls wait..."
}
function apr_err (){
echo -n "apr is configure err."
}
[ ! -f apr-1.5.2.tar.gz ] && wget http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz
[ ! -f apr-util-1.5.4.tar.gz ] && wget http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gz
[ ! -f pcre-8.36.tar.gz ] && wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.36/pcre-8.36.tar.gz
yum remove apr-util-devel apr apr-util-mysql apr-docs apr-devel apr-util apr-util-docs -y
tar xf apr-1.5.2.tar.gz
cdapr-1.5.2
./configure --prefix=/usr/local/apr
make && make install
echo "apr is finished."
cd ..
tar xf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
echo"apr-util is finished."
cd ..
tar xf pcre-8.36.tar.gz
cd pcre-8.36
./configure --prefix=/usr/local/pcre >>$installLog
make && make install
echo "pcre is finished."
cd ..
groupadd apache
useradd -g apache -s /usr/sbin/nologin apache
mkdir /usr/local/apache
chown -R apache:apache /usr/local/apache
[ ! -f httpd-2.4.12.tar.gz ] && wget http://apache.fayea.com/httpd/httpd-2.4.12.tar.gz
tar xf httpd-2.4.12.tar.gz
[ ! -d ./httpd-2.4.12/srclib ] && echo "flies install err " && exit
\cp -rf ./apr-1.5.2./httpd-2.4.12/srclib/apr
\cp -rf ./apr-util-1.5.4 ./httpd-2.4.12/srclib/apr-util
cd httpd-2.4.12
./configure \
--prefix=/usr/local/apache \
--sysconfdir=/etc/httpd \
--enable-so \
--enable-rewrite \
--enable-ssl \
--enable-cgi \
--enable-cgid \
--enable-modules=most \
--enable-mods-shared=most \
--enable-mpms-shared=all \
--with-included-apr \
--with-pcre=/usr/local/pcre/bin/pcre-config
[ $? != 0 ] && echo "ERROR: Apache configure err"
make 2>&1
[ $? != 0 ] &&echo "ERROR: Apache make err"
make install 2>&1
[ $? != 0 ] &&echo "ERROR: Apache install err"
echo 'PidFile "/var/run/httpd.pid"' >>/etc/httpd/httpd.conf
cd ..
cp httpd /etc/init.d/httpd
chmod +x /etc/init.d/httpd
# \cp ./build/rpm/httpd.init /etc/init.d/httpd
# chmod 755 /etc/init.d/httpd
chkconfig --add httpd
chkconfig --level 35 httpd on
chkconfig --list httpd
echo "export PATH=$PATH:/usr/local/apache/bin" > /etc/profile.d/httpd.sh
sed -i '/#ServerName/a\ServerName localhost' /etc/httpd/httpd.conf
chown -R apache:apache /usr/local/apache
servicehttpd start
ps -ef | grep httpd
echo "=============apache install OK !!!!============"
sleep 3
groupadd mysql
useradd -g mysql -s /usr/sbin/nologin mysql
mkdir -p /data/mysql
chown -R mysql:mysql /data/mysql
chmod o-rx /data/mysql
[ ! -f mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz ] && wget http://mysql.mirror.kangaroot.net/Downloads/MySQL-5.6/mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz
tar xf mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz -C /usr/local
cd /usr/local
ln -sv mysql-5.6.25-linux-glibc2.5-x86_64 mysql
cd mysql
chown mysql.mysql /usr/local/mysql/*
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql >>$installLog
chown -R root /usr/local/mysql/*
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --list mysqld
cp support-files/my-default.cnf /etc/my.cnf
sed -i '/datadir/a\datadir = /data/mysql' /etc/my.cnf
echo "export PATH=$PATH:/usr/local/mysql/bin" > /etc/profile.d/mysql.sh
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
service mysqld start
ps -ef |grep mysqld
echo "=============MYSQL install OK !!!!============"
cd /work
yum localinstall libmcrypt-2.5.7-5.el5.x86_64.rpm \
libmcrypt-devel-2.5.7-5.el5.x86_64.rpm \
mhash-0.9.2-6.el5.x86_64.rpm \
mhash-devel-0.9.2-6.el5.x86_64.rpm --nogpgcheck
mkdir -p /usr/local/jpeg
[ ! -f php-5.4.41.tar.gz ] && wget http://cn2.php.net/distributions/php-5.4.41.tar.gz
tar xf php-5.4.41.tar.gz
cd php-5.4.41
./configure \
--prefix=/usr/local/php \
--with-mysql=/usr/local/mysql \
--with-openssl \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--enable-mbstring \
--with-freetype-dir\
--with-jpeg-dir=/usr/local/jpeg \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml\
--enable-sockets \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-mcrypt\
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d \
--with-bz2\
--enable-maintainer-zts>>$installLog
[ $? != 0 ] && exit
make
make install
cp ./php.ini-production /etc/php.ini
sed -i 's#;date.timezone =#date.timezone = PRC#' /etc/php.ini
sed -i 's#expose_php = On#expose_php = OFF#' /etc/php.ini
sed -i '/AddType text\/html .shtml/aAddType application\/x-httpd-php .php\nAddType application/x-httpd-php-source.phps\n' /etc/httpd/httpd.conf
sed -i 's/DirectoryIndex index.html/aDirectoryIndexindex.phpindex.html/' /etc/httpd/httpd.conf
servicehttpd restart
ps -ef | grep httpd
#----------------¨index.php------------------
cat > /usr/local/apache/htdocs/index.php << EOF
<?php
phpinfo();
?>
EOF
echo "=============PHP install OK !!!!============"
echo "=============LAMP install OK !!!!============"
打开浏览器地址,显示如下:
页:
[1]