博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
服务(2)====一个lamp的脚本以及基于lamp安装wordpress
阅读量:6257 次
发布时间:2019-06-22

本文共 9410 字,大约阅读时间需要 31 分钟。

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.打开浏览器输入

但是要实现很多的功能就不是很容易了,这是我最近发现的一个word press 搭建的个人博客,我觉得非常的好,链接如下。

可以进去看看,里面内容很好。

本文转自 大雪儿 51CTO博客,原文链接:http://blog.51cto.com/dingxue/1970683,如需转载请自行联系原作者

你可能感兴趣的文章
Lua 打印Table
查看>>
性能分析
查看>>
自定义php-mysqli工具增强类,支持链式调用
查看>>
SAS学习笔记之《SAS编程与数据挖掘商业案例》(1)系统简介和编程基础
查看>>
linux常用命令总结-updating
查看>>
SQL事务回滚样例
查看>>
AndFix注意事项
查看>>
Servlet、Filter、Listener、Interceptor
查看>>
SpringMVC源码分析系列
查看>>
SnakeWords开发--Android 2.2
查看>>
zookeeper的python客户端安装
查看>>
LINUX 下Open cv练习使用小记(2)
查看>>
JavaScript基础避免使用eval()(006)
查看>>
面向对象和面向过程的区别
查看>>
内置函数与匿名函数
查看>>
SSH实现登陆拦截器
查看>>
使用HttpWebRequest出错时获取详细的错误信息
查看>>
sql还原(.mdf文件还原)
查看>>
Mellanox infinoband RDMA SDP
查看>>
Nearest Common Ancestors(LCA)
查看>>