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
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
|
#!/bin/bash
#部署一个LAMP的环境
#文档整理人:dingxue
#整理日期:2017-10-6
#提取部署好yum环境,也可以使用网络yum操作
#说明:本文档部署环境的机器是:Linux redhat_6.5_x64
#请将所需的源码包拷贝到服务器的"/usr/local/lamp/"目录里面
log_file=
"/usr/local/lamp_install.log"
[ -f $log_file ] && > $log_file
echo
-e
"\t`date +"
%F %T
"` 开始部署环境"
|
tee
-a $log_file
c_err(){
echo
-e
"\033[5;31m`date +"
%F %T
"`------ $@ ------ \033[0m"
|
tee
-a $log_file
}
c_scc(){
echo
-e
"\033[32m`date +"
%F %T
"`------ $@ ------ \033[0m"
|
tee
-a $log_file
}
#退出状态检查
#echo $?
#--> 1 表示rpm包安装失败
#--> 2 表示iptables或selinux关闭失败
#--> 5 表示/usr/local/src/lamp文件不存在
#--> 10 表示apache安装失败
#--> 15 表示cmake安装失败
#--> 20 表示mysql安装失败
#--> 26 表示php安装失败
#遇到yum不能用的时候,使用下面的方式操作
# wget -q http://mirrors.tencentyun.com/install/softinst.sh && chmod +x softinst.sh && ./softinst.sh
yum -y
install
gcc* &>
/dev/null
[ $? -
ne
0 ] && c_err
"rpm package install fail!!"
&&
exit
1 || c_scc
"rpm package install Success!!"
#off iptables
service iptables stop &>
/dev/null
chkconfig iptables off &>
/dev/null
[ $? -
ne
0 ] && c_err
"iptables Close fail !!"
&&
exit
2 || c_scc
"iptables Success Close!!"
#off selinux (修改配置文件关闭selinux,需要重启机器才能生效)
sed
-i.bak
's/SELINUX=enforcing/#&/'
/etc/selinux/config
sed
-i
's/SELINUXTYPE=targeted/#&/'
/etc/selinux/config
sed
-i
'$a SELINUX=disabled'
/etc/selinux/config
#使用getenforce可以查询当前selinux的状态(Enforcing-开启1、permissive-->关闭0)
#临时关闭(不用重启机器) (0 --> permissive,1 --> Enforcing)
setenforce 0 &>
/dev/null
[ $? -
ne
0 ] && c_err
"selinux Close fail !!"
&&
exit
2 || c_scc
"selinux Success Close!!"
#The installation package path is stored in the same "/usr/local/src"
[ ! -d
/usr/local/lamp/
] &&
mkdir
-p
/usr/local/lamp/
&& c_scc
"lamp文件是空的,请拷贝相关源码包!!"
&&
exit
5
#转换文件格式. win>>>linux
yum -y
install
dos2unix &>
/dev/null
##################################################################
###### http(apache) server install ######
##################################################################
rpm_http=`rpm -qa |
grep
httpd |
wc
-l`
[ $rpm_http -
ne
0 ] && rpm -e `rpm -qa |
grep
httpd` --nodeps
#测试使用curl
yum -y
install
curl-devel &>
/dev/null
cd
/usr/local/lamp
tar
xf httpd-2.2.17.
tar
.gz -C ../
cd
..
/httpd-2
.2.17/
.
/configure
--prefix=
/usr/local/httpd
--disable-authn-
file
--disable-authn-default --disable-authz-groupfile --disable-authz-user --disable-authz-default --disable-auth-basic --disable-include --
enable
-so --with-mpm=prefork &>
/dev/null
#选项解释:
#--prefix=/usr/local/apache2 --> 指定安装目录
#--enable-so --> 允许运行时加载DSO模块
#--with-mpm=prefork --> 指定使用的MPM的类型
make
&>
/dev/null
&&
make
install
&>
/dev/null
apache_num=`
echo
$?`
[ $apache_num -
ne
0 ] && c_err
"apache install fail"
&&
exit
10 || c_scc
"apache install Success"
/bin/cp
/usr/local/httpd/bin/apachectl
/etc/init
.d
/httpd
sed
-i
'2i #chkconfig: 35 85 21'
/etc/init
.d
/httpd
chkconfig --add httpd
sed
-i
'97 s/#//'
/usr/local/httpd/conf/httpd
.conf
sed
-i
'97 s/example/benet/'
/usr/local/httpd/conf/httpd
.conf
#配置文件53行内容是加载php的内容,由于还没有安装php,故暂时禁用,待安装完php后在开启
sed
-i
'53 s/^/#/'
/usr/local/httpd/conf/httpd
.conf
/usr/local/httpd/bin/apachectl
start
#启动apache服务器
#service httpd start 需要自己配置该启动方式
curl http:
//127
.0.0.1 &>
/dev/null
[ $? -
eq
0 ] && c_scc
"web server Can normally access!!"
|| c_err
"web server Access failed!!"
#在客户端的机器上输入:http://192.168.2.6查看是否可以打开默认网页
##################################################################
###### mysql server install ######
##################################################################
rpm_mysql=`rpm -qa |
grep
mysql |
wc
-l`
[ $rpm_mysql -
ne
0 ] && rpm -e `rpm -qa |
grep
mysql` --nodeps
groupadd mysql &>
/dev/null
#创建mysql组
useradd
-M -s
/sbin/nologin
mysql -g mysql
#创建mysql用户
chown
-R mysql:mysql
/usr/local/mysql
&>
/dev/null
#将目录属主属组给改为mysql
#需要使用cmake编译,因此需要提前安装cmake
#可以使用yum 安装 --> yum -y install cmake
cd
/usr/local/lamp
tar
xf cmake-2.8.6.
tar
.gz -C
/usr/local
cd
/usr/local/cmake-2
.8.6/
.
/bootstrap
--prefix=
/usr/local/cmake
&>
/dev/null
gmake &>
/dev/null
&& gmake
install
&>
/dev/null
cmake_num=`
echo
$?`
[ $cmake_num -
ne
0 ] && c_err
"cmake install fail"
&&
exit
15 || c_scc
"cmake install Success"
#mysql 所需rpm package
yum -y
install
ncurses-devel* &>
/dev/null
#源码安装mysql
cd
/usr/local/lamp
tar
xf mysql-5.5.22.
tar
.gz -C
/usr/local
cd
/usr/local/mysql-5
.5.22/
cmake -DCMAKE_INSTALL_PREFIX=
/usr/local/mysql
-DSYSCONFDIR=
/etc
-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all
#-DDEFAULT_COLLATION=utf8_general_ci
#-DMYSQL_TCP_PORT=3306 --> MySQL的监听端口
make
&>
/dev/null
&&
make
install
&>
/dev/null
#mysql数据库编译安装需要等待一定时间,大约20分钟
mysql_num=`
echo
$?`
[ $mysql_num -
ne
0 ] && c_err
"mysql install fail"
&&
exit
20 || c_scc
"mysql install Success"
#源码安装完后要进行数据库的初始化操作
cd
/usr/local/mysql-5
.5.22/
rm
-rf
/etc/my
.cnf
cp
support-files
/my-medium
.cnf
/etc/my
.cnf
cp
support-files
/mysql
.server
/etc/init
.d
/mysqld
#复制到系统,制作启动服务
/usr/local/mysql/scripts/mysql_install_db
--user=mysql --basedir=
/usr/local/mysql
--datadir=
/usr/local/mysql/data/
chmod
755
/etc/init
.d
/mysqld
#修改属性
chkconfig --add
/etc/init
.d
/mysqld
#添加为服务
chkconfig mysqld --level 235 on
#设置在235
/etc/init
.d
/mysqld
start &>
/dev/null
#service mysqld start
netstat
-nltp |
grep
'3306'
&>
/dev/null
[ $? -
eq
0 ] && c_scc
"3306 port open!!"
|| c_err
"3306 port off!!"
#检查3306端口是否开通
#让mysql可以正常执行,需要导入一下命令
echo
"PATH=$PATH:/usr/local/mysql/bin"
>>
/etc/profile
source
/etc/profile
[ $? -
eq
0 ] && c_scc
"mysql server Can normally access!!"
|| c_err
"mysql server Access failed!!"
.
/etc/profile
.
/etc/profile
#[root@ ~]#mysql 或 /usr/local/mysql/bin/mysql --> 测试mysql是否正常,没有密码直接进入数据库
##################################################################
###### PHP server install ######
##################################################################
rpm -e php php-cli php-ldap php-common php-mysql --nodeps &>
/dev/null
yum -y
install
zlib-devel* libxml2-devel*
#安装扩展工具
#安装libmcrypt
cd
/usr/local/lamp
tar
zxf libmcrypt-2.5.8.
tar
.gz -C
/usr/src/
cd
/usr/src/libmcrypt-2
.5.8/
.
/configure
&&
make
&&
make
install
[ $? -
eq
0 ] &&
echo
"success"
||
echo
"fail"
exit
ln
-s
/usr/local/lib/libmcrypt
.*
/usr/lib/
#安装mhash
cd
/usr/local/lamp
tar
zxf mhash-0.9.9.9.
tar
.gz -C
/usr/src/
cd
/usr/src/mhash-0
.9.9.9/
.
/configure
&&
make
&&
make
install
ln
-s
/usr/local/lib/libmhash
*
/usr/lib/
安装mcrypt
cd
/usr/local/lamp
tar
zxf mcrypt-2.6.8.
tar
.gz -C
/usr/src
cd
/usr/src/mcrypt-2
.6.8/
export
LD_LIBRARY_PATH=
/usr/local/lib
:$LD_LIBRARY_PATH
.
/configure
&&
make
&&
make
install
.
/configure
&&
make
&&
make
install
[ $? -
eq
0 ] &&
echo
"success"
||
echo
"fail"
exit
#安装php
cd
/usr/local/lamp
tar
zxf php-5.3.6.
tar
.gz -C
/usr/src
cd
/usr/src/php-5
.3.6/
.
/configure
--prefix=
/usr/local/php5
--with-mcrypt --with-apxs2=
/usr/local/httpd/bin/apxs
--with-mysql=
/usr/local/mysql
--with-config-
file
-path=
/usr/local/php5
--
enable
-mbstring
make
&&
make
install
[ $? -
eq
0 ] &&
echo
"success"
||
echo
"fail"
exit
#配置php
cp
/usr/src/php-5
.3.6
/php
.ini-development
/usr/local/php5/php
.ini
#安装扩展工具
cd
/usr/local/lamp/
tar
zxvf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.
tar
.gz -C
/usr/src
cd
/usr/src/ZendGuardLoader-php-5
.3-linux-glibc23-x86_64
/php-5
.3.x/
cp
ZendGuardLoader.so
/usr/local/php5/lib/php
#修改php.ini配置文件
echo
Zend_extension=
/usr/local/php5/lib/php/ZendGuardLoader
.so >>
/usr/local/php5/php
.ini
echo
Zend_loader.
enable
=1 >>
/usr/local/php5/php
.ini
#httpd.conf 配置的调整
sed
-i
'310i AddType application/x-httpd-php .php'
/usr/local/httpd/conf/httpd
.conf
sed
-i
'167 s/html/php/'
/usr/local/httpd/conf/httpd
.conf
touch
/usr/local/httpd/htdocs/ceshi
.php
echo
-e
"<?php\nphpinfo();\n?>"
>
/usr/local/httpd/htdocs/ceshi
.php
#测试apache与PHP是否可以调试通
sed
-i
'53 s/^#//'
/usr/local/httpd/conf/httpd
.conf
/usr/local/httpd/bin/apachectl
start &>
/dev/null
/usr/local/httpd/bin/apachectl
restart &>
/dev/null
curl http:
//127
.0.0.1
/ceshi
.php &>
/dev/null
[ $? -
eq
0 ] && c_scc
"web server and php Access Success !!"
|| c_err
"web server and php Access failed!!"
|
需要的包如下,这是我用的包。
[root@localhost lamp]# ls
cmake-2.8.6.tar.gz mcrypt-2.6.8.tar.gz php-5.3.6.tar.gz
httpd-2.2.17.tar.gz mhash-0.9.9.9.tar.gz phpMyAdmin-3.3.10-all-languages.tar.gz
libmcrypt-2.5.8.tar.gz mysql-5.5.22.tar.gz ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz
只要lamp 环境搭好了,装个wordpress 就非常简单了,傻瓜式建站。
安装wordpress(我是在linux虚拟机里面)
1.安装phpMyadmin,在本地登录创建一个数据库用于wp 的数据库。
2.官网下载wordpress,解压文件。
3.找到安装的http的目录,在httpd的htdocs中创建一个文件夹,任意取名,最好叫wp.
4.把wp解压好的文件移动到该目录下
5.打开浏览器输入http://localhost/wp/wordpress安装向导安装即可。
但是要实现很多的功能就不是很容易了,这是我最近发现的一个word press 搭建的个人博客,我觉得非常的好,链接如下。
本文转自 大雪儿 51CTO博客,原文链接:http://blog.51cto.com/dingxue/1970683,如需转载请自行联系原作者