LAMP脚本
A goal is a dream with a deadline. Much effort, much prosperity.
环境:CentOS release 6.5 2.6.32-431.el6.x86_64
#!/bin/bash
#--
#下为软件版本号、安装路径、数据存放路径、密码、URL等,如有不同、则自行修改变量即可
#释:ylb为依赖包1/
#释:path为路径1/
#释:mysqlcatalog为MySQL的安装路径
#释:mysqldata为MySQL的数据存放位置
#释:environment为PHP的环境1为开发版样例文件2为生产版样例文件
http='httpd-2.2.31'
mysql='mysql-5.7.2-m12'
php='php-5.3.28'
libmcrypt='libmcrypt-2.5.8'
mhash='mhash-0.9.9.9'
mcrypt='mcrypt-2.6.8'
cmake='cmake-2.8.12'
ZendGuardLoader='ZendGuardLoader-php-5.3-linux-glibc23-x86_64'
ylb1='zlib-devel libxml2-devel ncurses-devel'
ylb2='php php-cli php-ldap php-common php-mysql httpd mysql-server'
path1='/usr/src'
path2='/usr/local'
mysqlcatalog='/usr/local/mysql/'
mysqldata='/usr/local/mysql/data'
mysqlrootpasswd='
environment1='php.ini-development'
environment2='php.ini-production'
epel='https://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm'
repo='http://mirrors.aliyun.com/repo/Centos-6.repo'
aliyum() {
-i -t www.baidu.com
]
then
mv /etc/yum.repos.d/* /tmp
wget $epel
yum -y localinstall epel*.rpm
wget -O /etc/yum.repos.d/CentOS-Base.repo $repo
yum clean all
yum makecache
else
echo "Network is not connected"
fi
}
#Install depend
rpm -q $ylb2 | awk '{print $1}' > b.txt
sed -i '/^package/d' b.txt
for i in $(cat b.txt)
do
rpm -e $i --nodeps > /dev/null
done
yum -y install $ylb1 > /dev/null
if [ ! $? -eq 0 ]
then
aliyum
yum -y install $ylb1 > /dev/null
fi
#Install httpd
tar xf $http.tar.gz -C $path1
cd $path1/$http
./configure --prefix=$path2/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi && make && make install
echo $? >> /root/debug.txt
echo "install apache time" >> /root/debug.txt
cd ~
ln -s $path2/httpd/bin/* /usr/local/bin/
cp $path2/httpd/bin/apachectl /etc/init.d/httpd
sed -i '1a# chkconfig:35 20 80\n# description:web' /etc/init.d/httpd
chkconfig --add httpd
chkconfig httpd on
chkconfig --list httpd
sed -i '98aServerName www.wjl.com:80' $path2/httpd/conf/httpd.conf
service httpd start
netstat -anpt | grep :80 >> /root/debug.txt
#Install MySql
tar xf $cmake.tar.gz -C $path1
cd $path1/$cmake
./configure && gmake && gmake install
groupadd mysql
useradd -M -s /sbin/nologin -g mysql mysql
cd ~
tar xf $mysql.tar.gz -C $path1
cd $path1/$mysql
cmake -DCMAKE_INSTALL_PREFIX=$path2/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc && make && make install
echo $? >> /root/debug.txt
echo "install mysql time" >> /root/debug.txt
cp support-files/my-default.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --list mysqld
echo "PATH=$PATH:$path2/mysql/bin" >> /etc/profile
source /etc/profile
chown -R mysql:mysql $path2/mysql/
$path2/mysql/scripts/mysql_install_db --basedir=$mysqlcatalog --datadir=$mysqldata --user=mysql
service mysqld start
netstat -anpt | grep :3306 >> /root/debug.txt
cd ~
mysqladmin -u root password $mysqlrootpasswd
#Install PHP
tar xf $libmcrypt.tar.gz -C $path1
cd $path1/$libmcrypt
./configure
make && make install
ln -s $path2/lib/libmcrypt.* /usr/lib/
cd ~
tar xf $mhash.tar.gz -C $path1
cd $path1/$mhash
./configure
make && make install
ln -s $path2/lib/libmhash* /usr/lib/
cd ~
tar xf $mcrypt.tar.gz -C $path1
cd $path1/$mcrypt
export LD_LIBRARY_PATH=$path2/lib:$ LD_LIBRARY_PATH
./configure
make && make install
cd ~
tar xf $php.tar.gz -C $path1
cd $path1/$php
./configure --prefix=$path2/php5 --with-mcrypt --with-apxs2=$path2/httpd/bin/apxs --with-mysql=$path2/mysql --with-config-file-path=$path2/php5 --enable-mbstring && make && make install
if [ ! $? -eq 0 ]
then
yum -y install libtool*
./configure --prefix=$path2/php5 --with-mcrypt --with-apxs2=$path2/httpd/bin/apxs --with-mysql=$path2/mysql --with-config-file-path=$path2/php5 --enable-mbstring && make && make install
fi
echo $? >> /root/debug.txt
echo "install php time" >> /root/debug.txt
cp $path1/$php/$environment1 $path2/php5/php.ini
grep -v "^;" /usr/local/php5/php.ini | grep -v "^$"
sed -i "/default_charset/s#.*\(default_charset\).*#\1 = "utf-8"#g" $path2/php5/php.ini
sed -i "/file_uploads/s#\(file_uploads\).*#\1 = On#g" $path2/php5/php.ini
sed -i "/upload_max_filesize/s#.*\(upload_max_filesize\).*#\1 = 2M#g" $path2/php5/php.ini
sed -i "/max_file_uploads/s#\(max_file_uploads\).*#\1 = 20#g" $path2/php5/php.ini
sed -i "/post_max_size/s#.*\(post_max_size\).*#\1 = 8M#g" $path2/php5/php.ini
sed -i "/short_open_tag/s#.*\(short_open_tag\).*#\1 = On#g" $path2/php5/php.ini
cd ~
tar xf $ZendGuardLoader.tar.gz -C $path1
cd $path1/$ZendGuardLoader/php-5.3.x/
cp ZendGuardLoader.so $path2/php5/lib/php/
sed -i "1azend_extension=${path2}/php5/lib/php/ZendGuardLoader.so\nzend_loader.enable=1" $path2/php5/php.ini
sed -i "/LoadModule php5_module/s#.*\(LoadModule php5_module\).*#\1 modules\/libphp5.so#g" $path2/httpd/conf/httpd.conf
sed -i "55a AddType application\/x-httpd-php \.php \.phtml" $path2/httpd/conf/httpd.conf
sed -i "/DirectoryIndex/s#.*\(DirectoryIndex\).*#\1 index.php index.html index.htm#g" $path2/httpd/conf/httpd.conf
cat << END >> $path2/httpd/htdocs/test1.php
<?php
phpinfo ();
?>
END
cat << END >> $path2/httpd/htdocs/test2.php
<?php
\$link=mysql_connect('localhost','root','$mysqlrootpasswd')
;
if(\$link) echo "Connect Successfully!";
else echo "Connect Faild!";
mysql_close();
?>
END
echo "已执行完毕、成功与否请查看/root/debug.txt内容,非0为安装失败"
echo "1、检查软件版本号是否相同"
echo "2、查看为非0的下的提示报错位置进行修改"
echo "测试PHP是否正常工作:http://localhost/test1"
echo "测试PHP能否连接MySQL:http://localhost/test2"
LAMP脚本的更多相关文章
- 一键部署lamp 脚本
一键部署lamp 脚本 如下: #!/bin/bash systemctl stop firewalld systemctl disable firewalld setenforce 0 #----- ...
- CentOS自动化安装LAMP脚本
#!/bin/bash #-- #blog:lizhenliang.blog.51cto.com ########## function ########## depend_pkg () { yum ...
- 一键部署lamp脚本
#!/bin/bash systemctl stop firewalld systemctl disable firewalld setenforce 0 #-------Apache------ # ...
- 转:CentOS/Debian/Ubuntu一键安装LAMP(Apache/MySQL/PHP)环境
CentOS/Debian/Ubuntu一键安装LAMP(Apache/MySQL/PHP) 今天遇到一个网友提到需要在Linux VPS服务器中安装LAMP(Apache/MySQL/PHP)网站环 ...
- LAMP一键安装包-CentOS 5/6下自动编译安装Apache,MySQL,PHP
http://www.centos.bz/lamp/ 此安装包已经不再维护,请使用新版http://www.centos.bz/ezhttp/. 适用环境: 系统支持:CentOS-5 (32bit/ ...
- Vultr VPS建站攻略 – 一键安装宝塔面板架设LNMP/LAMP Web环境
我们选择VULTR VPS建站的还是比较多的,其主要原因在于商家的稳定,毕竟我们用来建站选择服务器价格考虑的不是主要的(当然VULTR价格也是比较便宜),最为主要的是因为VULTR商家比较稳定,而且多 ...
- Apache下安装配置mod_pagespeed模块,轻松完成网站提速
mod_pagespeed是一个开源的Apache module,它由谷歌开发,通过优化你的网页来减少响应延迟和带宽占用.作用参考ngx_pagespeed功能:http://blog.linuxey ...
- liunx 系统 一键安装
本文转自:http://hi.baidu.com/iamcyh/item/e777eb81ba90ed5a26ebd9b0 linux VPS环境(MySQL/Apache/PHP/Nginx)一键安 ...
- shell学习及脚步编写
目录: shell基础变量逻辑运算符 scp基础用法脚本 while+for+case基础用法脚本 内核优化脚本 自动修改本机ip脚本 for+case 查询日志脚本 一键yum安装lamp脚本 源码 ...
随机推荐
- 使用c++为node.js扩展模块
官方文档 编写c++代码 // demo.cc #include <node.h> using v8::FunctionCallbackInfo; using v8::Isolate; u ...
- Linux 系统时间设置
from:https://blog.csdn.net/yjh314/article/details/51669238 今早看到一台机器时间对不上,本以为系统时间与网络北京时间不同步,就在终端命令执行网 ...
- GL 纹理 格式 资料备份
分别转载至:http://www.tuicool.com/articles/qAbYfq 和 http://www.verydemo.com/demo_c161_i114362.html 在手机 ...
- hdu 4050(概率dp)
算是挺简单的一道概率dp了,如果做了前面的聪聪于可可的话,这题不需要什么预处理,直接概率dp就行了... #include <stdio.h> #include <stdlib.h& ...
- 《从零开始学Swift》学习笔记(Day60)——Core Foundation框架
原创文章,欢迎转载.转载请注明:关东升的博客 Core Foundation框架是苹果公司提供一套概念来源于Foundation框架,编程接口面向C语言风格的API.虽然在Swift中调用这种C语言风 ...
- (转)Linux-epoll
在Linux网络编程中,Linux内核2.6版本之前大多都是用 select() 作为非阻塞的事件触发模型,但是效率低,使用受限已经很明显的暴露了select()(包括poll)的缺陷,为了解决这些缺 ...
- 理解java集合——集合框架 Collection、Map
1.概述: @white Java集合就像一种容器,可以把多个对象(实际上是对象的引用,但习惯上都称对象)"丢进"该容器中. 2.Java集合大致可以分4类: @white Set ...
- python中,有关正则表达式re函数:compile、match、search、findall
1.全局匹配函数 re.compile(pattern=pattern,re.S).findall(text)函数: compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象.该对 ...
- maven的核心概念
1 简单的核心概念 1.1 坐标 groupId.artifactId.version,很简单,这三个坐标定位到了该依赖的位置,有了它们就可以下载该依赖了. 1.2 依赖 如果一个jar包使用了另外一 ...
- 我的Java开发学习之旅------>Java利用Comparator接口对多个排序条件进行处理
一需求 二实现Comparator接口 三验证排序结果 验证第一条件首先按级别排序级别最高的排在前面 验证第二条如果级别相等那么按工资排序工资高的排在前面 验证第三条如果工资相当则按入职年数排序入职时 ...