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脚本能力薄弱,有错误之处,还望指正。谢谢!

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 单片机中步进电机c语言程序,用AT89C51单片机控制步进电机的汇编源程序

    单片机中步进电机c语言程序,用AT89C51单片机控制步进电机的汇编源程序下面程序完成的主要功能:实现步进电机的正反转,加速、减速;显示电机转速(转速级别)和工作状态(正转、反转、不转)。源程序SPEEDEQU10H;SPEED为转速等级标志,共7级,即1~7FXEQU11H;FX为方向标志COUNTEQU12H;COUNT中断次数标志ORG0000HAJMPMAINORG0003H;外部中断0入口地址,加速子程序AJMPUPORG001…

    2022年5月18日
    38
  • Eclipse_配置_00_资源帖

    Eclipse_配置_00_资源帖

    2022年3月7日
    35
  • 关于jmeter面试问题_前端面试一问三不知怎么办

    关于jmeter面试问题_前端面试一问三不知怎么办1.解释什么是jmeter?  jmeter是一款java开源工具,用于性能负载测试。它旨在分析和衡量web应用程序和各种服务的性能和负载功能行为。2.说明jmeter的工作原理?  jmeter就像一群将请求发送到目标服务器的用户一样。它收集来自目标服务器的响应以及其他统计数据,这些统计数据通过图形或表格显示应用程序或服务器的性能。3.说明可以在哪里使用函数和变量?  变量和…

    2022年9月30日
    3
  • EXCEL countif函数多条件

    在MSEXCEL中,countif如果要满足多个条件怎么办呢?1、答案就是:使用条件集合{}和sum函数。即在countif()第二个参数中使用条件集合{},然后用sum()函数求满足这些条件的

    2021年12月26日
    244
  • python中的append的用法[通俗易懂]

    python中的append的用法[通俗易懂]append在python中一个很重要的用法,会大量使用,但是其中有些细节需要注意。首先说说一些最简单的用法:append的实例用法:append()用法示例:>>>mylist

    2022年7月6日
    48
  • windows net 命令详解「建议收藏」

    windows net 命令详解「建议收藏」综合了WINDOWS98,WINDOWSWORKSTATION和WINDOWSSERVER三个操作系统关于NET命令的解释,希望可以全面一些。先说一些:(1)NET命令是一个命令行命令。(2)管理网络环境、服务、用户、登陆。。。。等本地信息(3)WIN98,WINWORKSTATION和WINNT都内置了NET命令。(4)但WIN98的NET命令和WO

    2022年5月28日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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