CentOS6.5自动化安装LAMP脚本

CentOS6.5自动化安装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
#!/bin/bash
#date:2014-8-31
#blog:lizhenliang.blog.51cto.com
########## function ##########
depend_pkg ()
{
    
yum 
install 
gcc gcc-c++ 
make 
cmake ncurses-devel libxml2-devel \
    
perl-devel libcurl-devel libgcrypt libgcrypt-devel libxslt \
    
libxslt-devel pcre-devel openssl-devel wget -y
}
cat 
<<END
        
1.[
install 
apache2.4]
        
2.[
install 
mysql5.5]
        
3.[
install 
php5.4]
END
read 
-p 
"Please input number : " 
NUM
case 
$NUM 
in
1)
########## Install Depend Pkg ##########
depend_pkg;
WorkDIR=
/usr/local/src
cd 
$WorkDIR
[ -f 
"apr-1.5.1.tar.gz" 
] || wget http:
//mirror
.bit.edu.cn
/apache/apr/apr-1
.5.1.
tar
.gz
[ -f 
"apr-util-1.5.3.tar.gz" 
] || wget http:
//mirror
.bit.edu.cn
/apache/apr/apr-util-1
.5.3.
tar
.gz
[ -f 
"httpd-2.4.10.tar.gz" 
] || wget http:
//mirror
.bit.edu.cn
/apache/httpd/httpd-2
.4.10.
tar
.gz
ls 

xargs 
-I 
file 
tar 
zxvf 
file 
-C $WorkDIR
cd 
apr-1.5.1
.
/configure 
--prefix=
/usr/local/apr
make 
&& 
make 
install
if 
[ $? -
eq 
0 ];
then
    
cd 
$WorkDIR
    
cd 
apr-util-1.5.3
    
.
/configure 
--prefix=
/usr/local/apr-util 
--with-apr=
/usr/local/apr
    
make 
&& 
make 
install
else
    
echo 
"------ apr make failed. ------"
    
exit 
1
fi
########## Install Apache ##########
HTTPDIR=
/usr/local/apache2
.4
if 
[ $? -
eq 
0 ];
then
    
cd 
$WorkDIR
    
cd 
httpd-2.4.10
    
.
/configure 
-prefix=$HTTPDIR -
enable
-so -
enable
-rewrite -
enable
-modules=all \
--with-apr=
/usr/local/apr 
--with-apr-util=
/usr/local/apr-util
make 
&& 
make 
install
else
    
echo 
"------ apr-util make failed. ------"
    
exit 
1
fi
if 
[ $? -
eq 
0 ];
then
    
CONF=$HTTPDIR
/conf/httpd
.conf
    
cp 
$HTTPDIR
/bin/apachectl 
/etc/init
.d
/httpd
    
chmod 
+x 
/etc/init
.d
/httpd
    
sed 
-i 
"s/#ServerName www.example.com:80/ServerName ${IP}:80/g" 
$CONF
    
sed 
-i 
's/DirectoryIndex index.html/DirectoryIndex index.php index.html/g' 
$CONF
    
sed 
-i 
"391 s/^/AddType application\/x-httpd-php .php/" 
$CONF
    
/etc/init
.d
/httpd 
start
    
IP=`
ifconfig 
eth0 |
grep 
"inet addr" 
|
cut 
-d: -f2 |
awk 
'{print $1}'
`
    
Urlcode=`curl -o 
/dev/null 
-s -w 
"%{http_code}" 
$IP
/index
.html` 
    
[ $Urlcode -
eq 
200 ] && 
echo 
"Apache install success." 
|| 
echo 
"Apache install failed."
else
    
echo 
"------ apache make failed. ------"
    
exit 
1
fi
;;
2)
########## Install Depend Pkg ##########
depend_pkg;
########## Install Mysql ##########
/usr/sbin/groupadd 
mysql
/usr/sbin/useradd 
-g mysql -s 
/sbin/nologin 
mysql
WorkDIR=
/usr/local/src
MYSQLDIR=
/usr/local/mysql5
.5
cd 
$WorkDIR
[ -f 
"mysql-5.5.39.tar.gz" 
] || wget http:
//cdn
.mysql.com
/Downloads/MySQL-5
.5
/mysql-5
.5.39.
tar
.gz
tar 
zxvf mysql-5.5.39.
tar
.gz
cd 
mysql-5.5.39
cmake -DCMAKE_INSTALL_PREFIX=$MYSQLDIR \
-DSYSCONFDIR=$MYSQLDIR
/etc 
\
-DMYSQL_DATADIR=$MYSQLDIR
/data 
\
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
make 
&& 
make 
install
if 
[ $? -
eq 
0 ];
then
    
$MYSQLDIR
/scripts/mysql_install_db 
\
    
--basedir=$MYSQLDIR --datadir=$MYSQLDIR
/data/ 
--user=mysql 1>
/dev/null
    
mkdir 
$MYSQLDIR
/etc
    
cp 
support-files
/my-medium
.cnf $MYSQLDIR
/etc/my
.cnf
    
cp 
support-files
/mysql
.server 
/etc/init
.d
/mysqld
    
rm 
-rf 
/etc/my
.cnf
    
#echo "PATH=$PATH:$MYSQLDIR/bin" >> /etc/profile 
    
#. /etc/profile
    
chmod 
+x 
/etc/init
.d
/mysqld
    
chown 
-R root.mysql $MYSQLDIR
    
chown 
-R mysql.mysql $MYSQLDIR
/data/
    
$MYSQLDIR
/bin/mysqld_safe 
--user=mysql&
    
$MYSQLDIR
/bin/mysqladmin 
-u root password 
'123.com'
    
$MYSQLDIR
/bin/mysql 
-uroot -p
'123.com' 
-e 
"show databases;"
    
[ $? -
eq 
0 ] && 
echo 
"MySQL install success." 
|| 
echo 
"MySQL install failed."
else
    
echo 
"------mysql cmake failed.------"
    
exit 
fi
;;
3)
########## Install Depend Pkg ##########
depend_pkg;
########## Install GD ##########
yum 
install 
gd freetype freetype-devel libpng libpng-devel zlib zlib-devel libjpeg* -y
########## Install PHP ##########
WorkDIR=
/usr/local/src
PHPDIR=
/usr/local/php5
.4
PHPCONF=$PHPDIR
/etc/php
.ini
cd 
$WorkDIR
[ -f 
"php-5.4.31.tar.gz" 
] || wget http:
//cn2
.php.net
/distributions/php-5
.4.31.
tar
.gz
tar 
zxvf php-5.4.31.
tar
.gz 
cd 
php-5.4.31
.
/configure 
-prefix=$PHPDIR \
--with-config-
file
-path=$PHPDIR
/etc 
\
--with-apxs2=
/usr/local/apache2
.4
/bin/apxs 
\
--with-mysql=
/usr/local/mysql5
.5 \
--with-mysqli=
/usr/local/mysql5
.5
/bin/mysql_config 
\
--
enable
-soap --
enable
-bcmath --
enable
-zip --
enable
-
ftp 
\
--
enable
-mbstring --with-gd --with-libxml-
dir 
--with-jpeg-
dir 
\
--with-png-
dir 
--with-freetype-
dir 
--with-zlib \
--with-libxml-
dir
=
/usr 
--with-curl --with-xsl --with-openssl
make 
&& 
make 
install
if 
[ $? -
eq 
0 ];
then
    
cp 
php.ini-production $PHPCONF
    
echo 
"data.timezone = Asia\Shanghai" 
>> $PHPCONF
    
sed 
-i 
's/upload_max_filesize = 2M/ upload_max_filesize = 50M/g' 
$PHPCONF
    
sed 
-i 
's/display_errors = Off/display_errors = On/g' 
$PHPCONF
    
echo 
"<?php phpinfo();?>" 

/usr/local/apache2
.4
/htdocs/index
.php
    
/etc/init
.d
/httpd 
restart 
    
/etc/init
.d
/mysqld 
restart &>
/dev/null
    
IP=`
ifconfig 
eth0 |
grep 
"inet addr" 
|
cut 
-d: -f2 |
awk 
'{print $1}'
`
    
Urlcode=`curl -o 
/dev/null 
-s -w 
"%{http_code}" 
$IP
/index
.php`
    
[ $Urlcode -
eq 
200 ] && 
echo 
"PHP install success." 
|| 
echo 
"PHP install failed."
    
echo 
"/usr/local/apache/bin/apachectl start" 
>> 
/etc/rc
.
local
    
chkconfig mysqld on
else
    
echo 
"------ php make failed. ------"
    
exit 
1
fi
;;
*)
    
echo 
"Please input number 1 2 3."
esac

使用方法:

wKioL1QDBE_y1nBRAADgD4vjJCw081.jpg

Shell脚本能力薄弱,有错误之处,还望指正。谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/109039.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Linux转发性能评估与优化-转发瓶颈分析与解决方式(补遗)[通俗易懂]

    Linux转发性能评估与优化-转发瓶颈分析与解决方式(补遗)

  • xmind 使用教程[通俗易懂]

    1.这是刚刚打开xmind后的界面,在中央有一个中心主题,你可以把它替换成你自己的主题,比如图形推理。2、把光标定位到中心主题上,然后连续按3次Tab键,你会看到上面效果。tab键可以帮助你迅速的建立某个主题的子主题。3、下面你在连续按3次回车键,你就可以看到上面的效果,你可以通过回车键,建立同级主题。4、你自己在试一试,玩一玩者两个键吧!(tab键和enter回车键)5、如何改变主题的分布方式,你还要学习使用“右键”,选择一个主题,然后点击“右键”,你会发现有很多选择。6、选

  • CTF misc之流量分析题套路总结[通俗易懂]

    CTF misc之流量分析题套路总结[通俗易懂]1.前言昨天去I春秋刷了几题流量分析题,然后总结了一下流量分析题的做题方法。2.刷题2.1可恶的黑客步骤一、HTTP追踪流先了解进行什么操作可以看到是传了webshell然后进行文件操作套路1:一般是传webshell然后菜刀连接,参数进行base64位加密,先解密参数,了解进行了什么操作一步步解密请求参数了解进行什么操作这个是传webshell里

  • 在线作图|在线做完整的Lefse分析

    在线作图|在线做完整的Lefse分析前言今天小编给大家介绍的是TUTU(https://www.cloudtutu.com/)网站上新添的Lefse分析,即LDAEffectSize分析。咱之前有上过这个分析(lefse),但是只能画出LDA值柱状图,今天新添的工具lefse2基本可以实现完整的分析内容,包括LDA值柱状图、物种分类分支图、组间丰度柱状图等等。Lefse分析文献应用举例:Fig.7ThemaintaxaofbacteriathatweredifferentinHMGvs.SMGvs.F

  • eagle-eye介绍

    eagle-eye介绍简介淘宝现在是一个由很多个应用集群组成的非常复杂的分布式系统。这些应用里面主要有处理用户请求的前端系统和有提供服务的后端系统等。这些应用之间一般有RPC调用和异步消息通讯两种手段,RPC调用会产生一层调一层的嵌套,一个消息发布出来更会被多个应用消费,另外,应用还会访问分库分表的数据库、缓存、存储等后端,以及调用其他外部系统如支付、物流、机彩票等。请试想一下,现在淘宝一个买家点击下单按…

  • mysql10038_关于MySql 10038错误的完美解决方法(三种)

    本文给大家带来三种有关mysql报10038错误的解决方法,每种方法都非常不错,需要的朋友参考下第一种方法:第一步:先看报错窗口2003can’tconnecttoMySQLserveron’127.0.0.1′(10038).第二步:原因是:远程3306端口未对外开放操作。第三步:首先远程连接服务器,点击”开始”–>”管理工具”–>”高级安全Windows防火墙”…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号