lamp环境搭建,安装过程中出现的一些错误,绝大部分应该是下载软件的网址过期了,可以再换一个,选择的软件版本尽量选择脚本中所用的版本或者比较接近的,避免在搭建过程中发生错误!

#!/bin/bash
echo " it will install lamp"
sleep 1
##check last command is ok or not
check_ok(){
if [ $? != 0 ];then
echo "ERROR ,please check it now "
exit 1
fi
}
#用arch命令获得系统的平台信息
ar=`arch`
#关闭防火墙selinux和iptables
selinux1=`getenforce`
if [ $selinux1 != 0 ];then
setenforce 0
fi
check_ok
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
check_ok
#关闭iptables防火墙
iptables-save > /etc/sysconfig/iptables_`date +%s`
iptables -F
service iptables save
####定义一个函数myum,如果rpm包已经提示安装过,则不再尝试yum install 为了节省
###时间
myum(){
if ! rpm -qa |grep -q "^$1";then
yum install -y  $1
check_ok
else
echo "$1 has been installed"
fi
}
#先前需要经安装的一些包
for p in wget gcc  perl perl-devel libaio libaio-devel pcre-devel zlib-devel
do
myum $p
done
#安装epel源~
if rpm -qa epel-release >/dev/null
then
rpm -e epel-release
fi
#删除用yum安装的epel源
if ls /etc/yum.repos.d/epel-6.repo* >/dev/null 2>&1
then
rm -f /etc/yum.repos.d/epel-6.repo
fi
#安装阿里的epel源
wget  www.lishiming.net/data/p_w_upload/forum/epel-release-6-8_32.noarch.rpm
rpm -ivh epel-release-6-8_32.noarch.rpm
#########################
#安装mysql
ar=`arch`           /获取系统的版本号,以便选择合适的mysql版本
install_mysql(){
echo "choose the version of mysql"
select mysql_v in 5.1 5.6
do
case $mysql_v in
5.1)
cd /usr/local/src
[ -f mysql-5.1.72-linux-$ar-glibc23.tar.gz ]||wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.72-linux-$ar-glibc23.tar.gz
check_ok
tar zxf mysql-5.1.72-linux-$ar-glibc23.tar.gz
check_ok
mv mysql-5.1.72-linux-$ar-glibc23 /usr/local/mysql
check_ok
##创建mysql账户
if ! grep -q  "^mysql" /etc/passwd ;then        /创建mysql账户前,先检查系统是否存在该账户,若存在则删除再创建!useradd mysqlcheck_ok
elseuserdel -r mysqluseradd mysql -s /sbin/nologincheck_ok
fi
#####
yum install -y compat-libstdc++-33
cd /usr/local/mysql
if [ -d /data/mysql ];thenrm -rf /data/mysqlmkdir /data/mysql
elsemkdir /data/mysql
fichown -R mysql:mysql /data/mysql
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
check_ok
/bin/cp support-files/my-large.cnf /etc/my.cnf
sed -i '/^\[mysqld\]$/a\datadir = /data/mysql' /etc/my.cnf
check_ok
/bin/cp support-files/mysql.server /etc/init.d/mysqld
sed -i 's#^datadir=#datadir=/data/mysql#' /etc/init.d/mysqld
check_ok
chmod 755 /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start
check_ok
break
;;
5.6)cd /usr/local/src[ -f mysql-5.6.26-linux-glibc2.5-$ar.tar.gz ] || wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.26-linux-glibc2.5-$ar.tar.gztar zxf mysql-5.6.26-linux-glibc2.5-$ar.tar.gzcheck_ok[ -d /usr/local/mysql ] && /bin/mv /usr/local/mysql /usr/local/mysql_bakmv mysql-5.6.26-linux-glibc2.5-$ar /usr/local/mysqlif ! grep '^mysql:' /etc/passwdthenuseradd -M mysql -s /sbin/nologinfiyum install -y compat-libstdc++-33[ -d /data/mysql ] && /bin/mv /data/mysql /data/mysql_bakmkdir -p /data/mysqlchown -R mysql:mysql /data/mysqlcd /usr/local/mysql./scripts/mysql_install_db --user=mysql --datadir=/data/mysqlcheck_ok/bin/cp support-files/my-default.cnf /etc/my.cnfcheck_oksed -i '/^\[mysqld\]$/a\datadir = /data/mysql' /etc/my.cnf/bin/cp support-files/mysql.server /etc/init.d/mysqldsed -i 's#^datadir=#datadir=/data/mysql#' /etc/init.d/mysqldchmod 755 /etc/init.d/mysqldchkconfig --add mysqldchkconfig mysqld onservice mysqld startcheck_okbreak;;*)echo "only 1(5.1) or 2(5.6)"exit 1;;esac
done
}##########################安装apacheinstall_httpd(){echo "install apache version 2.2"check_okcd /usr/local/src[ -f  httpd-2.2.31.tar.gz  ] || wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.31.tar.gzcheck_oktar zxvf  httpd-2.2.31.tar.gzcheck_okcd httpd-2.2.31./configure \--prefix=/usr/local/apache2 \--with-included-apr \--enable-so \--enable-deflate=shared \--enable-expires=shared \--enable-rewrite=shared \--with-pcrecheck_okmakecheck_okmake installcheck_ok/usr/local/apache2/bin/apachectl restartcheck_ok}
###############安装php##############安装phpinstall_php(){echo -e "Install php. \nPlease choose the version of php"select php_v in 5.4 5.6docase $php_v in5.4)cd /usr/local/src[ -f php-5.4.45.tar.bz2 ] || wget 'http://cn2.php.net/get/php-5.4.45.tar.bz2/from/this/mirror' -O     php-5.4.45.tar.bz2check_oktar jxvf php-5.4.45.tar.bz2check_okcd php-5.4.45for p in openssl-devel bzip2-devel \libxml2-devel curl-devel libpng-devel \libjpeg-devel freetype-devel libmcrypt-devel\libtool-ltdl-devel perl-develdomyum $pdonecheck_ok./configure \--prefix=/usr/local/php \--with-apxs2=/usr/local/apache2/bin/apxs \--with-config-file-path=/usr/local/php/etc  \--with-mysql=/usr/local/mysql \--with-libxml-dir \--with-gd \--with-jpeg-dir \--with-png-dir \--with-freetype-dir \--with-iconv-dir \--with-zlib-dir \--with-bz2 \--with-openssl \--with-mcrypt \--enable-soap \--enable-gd-native-ttf \--enable-mbstring \--enable-sockets \--enable-exif \--disable-ipv6check_okmake && make installcheck_okif [ -f /usr/local/php/etc/php.ini ];thenrm -f /usr/local/php/etc/php.inicp php.ini-production /usr/local/php/etc/php.inielsecp php.ini-production /usr/local/php/etc/php.inifibreak;;5.6)cd /usr/local/src[ -f php-5.6.6.tar.gz ] || wget http://mirrors.sohu.com/php/php-5.6.6.tar.gzcheck_oktar zxvf php-5.6.6.tar.gzcheck_okcd php-5.6.6for p in openssl-devel bzip2-devel \libxml2-devel curl-devel libpng-devel \libjpeg-devel freetype-devel libmcrypt-devel\libtool-ltdl-devel perl-develdomyum $pdonecheck_ok./configure \--prefix=/usr/local/php \--with-apxs2=/usr/local/apache2/bin/apxs \--with-config-file-path=/usr/local/php/etc  \--with-mysql=/usr/local/mysql \--with-libxml-dir \--with-gd \--with-jpeg-dir \--with-png-dir \--with-freetype-dir \--with-iconv-dir \--with-zlib-dir \--with-bz2 \--with-openssl \--with-mcrypt \--enable-soap \--enable-gd-native-ttf \--enable-mbstring \--enable-sockets \--enable-exif \--disable-ipv6check_okmake && make installcheck_okif [ -f /usr/local/php/etc/php.ini ];thenrm -f /usr/local/php/etc/php.inicp php.ini-production /usr/local/php/etc/php.inielsecp php.ini-production /usr/local/php/etc/php.inifibreak;;*)echo "only 1(5.4) or 2(5.6)";;esacdone}
###############把php和apache结合在一起join_apa_php() {
sed -i '/AddType .*.gz .tgz$/a\AddType application\/x-httpd-php .php' /usr/local/apache2/conf/httpd.conf
check_ok
sed -i 's/#ServerName www.example.com:80/ServerName localhost:80/' /usr/local/apache2/conf/httpd.conf
check_ok
sed -i 's/DirectoryIndex index.html/DirectoryIndex index.php index.html index.htm/' /usr/local/apache2/conf/httpd.conf
check_ok
cat > /usr/local/apache2/htdocs/index.php <<EOF
<?phpphpinfo();
?>
EOFif /usr/local/php/bin/php -i |grep -iq 'date.timezone => no value'
thensed -i '/;date.timezone =$/a\date.timezone = "Asia\/Chongqing"'  /usr/local/php/etc/php.ini
fi
}
#######################i
check_service() {
if [ "$1" == "phpfpm" ]
thens="php-fpm"
elses=$1
fi
n=`ps aux |grep "$s"|wc -l`
if [ $n -gt 1 ]
thenecho "$1 service is already started."
elseif [ -f /etc/init.d/$1 ]then/etc/init.d/$1 startcheck_okelseinstall_$1fi
fi
}
#check_service(){
#if [ "$l" == phpfpm ];then
#s="php-fpm"
#else
#s=$l
#fi
#n=`ps aux |grep "$s" |wc -l`
#if [ $n -gt 1 ];then
#echo "$l service is already started"
#else
#if [ -f /etc/init.d/$l ];then
#/etc/init.d/$l start
#check_ok
#else
#install_$l
#fi
#fi
#}
##function of install lamp
lamp() {
check_service mysql
check_service httpd
install_php
join_apa_php
echo "LAMP done,Please use 'http://your ip/index.php' to access."
}
lamp

转载于:https://blog.51cto.com/zidingyi/1725816

一键安装lamp系统相关推荐

  1. 服务器系统一键功能安装,一键安装服务器系统

    一键安装服务器系统 内容精选 换一换 为了保证使用镜像创建的裸金属服务器可以实现一键式密码重置功能,建议您在制作镜像时安装重置密码插件"Cloud-reset-pwd Agent" ...

  2. Ubuntu一键安装LAMP环境

    ubuntu是一款以桌面应用为主的开源linux操作系统,作为初学者学习linux操作系统,也更为简单和容易上手.在Ubuntu上搭建lamp系统的方式有很多,这里就介绍一种最简单高效的安装方法: a ...

  3. ubuntu一键安装LAMP 及一键卸载

    ubuntu一键安装LAMP 及一键卸载 一键安装LAMP服务: sudo tasksel install lamp-server 一键卸载LAMP: sudo tasksel remove lamp ...

  4. 服务器一键系统,一键安装服务器系统

    一键安装服务器系统 内容精选 换一换 如果您需要使用裸金属服务器私有镜像,可以通过外部镜像文件创建私有镜像.本文档提供了完整的私有镜像制作流程(包括创建虚拟机.为虚拟机安装操作系统.软件.驱动等),并 ...

  5. 服务器一键安装网站,腾讯云服务器一键安装LAMP(Apache)无面板网站WEB环境

    腾讯云专题网在之前已经分享过几个常用的LINUX服务器安装WEB面板和无面板的脚本教程.其实这类的工具网上还是有很多的,而且我们在选择的时候需要注意脚本的成熟性.一定要是运维几年的才可以使用,对于新脚 ...

  6. hp服务器安装win7普通系统安装,hp台式电脑安装系统一键安装win7系统

    现如今电脑已经走进千家万户,大家生活和工作基本上都离不开电脑,也催生出很多电脑品牌,hp电脑就是其中比较受欢迎的品牌电脑,那么hp台式电脑要安装win7系统该怎么装呢?以云骑士安装win7系统为例,分 ...

  7. 联想服务器双系统安装,联想Y700一键安装双系统教程

    一键安装双系统 联想Y700是一款预装了Win 10系统的游戏本,得到很多游戏用户的欢迎.不过有些用户觉得Win7系统操作更加简单,但又不舍得Win10系统.其实,只要给联想Y700安装Win7和Wi ...

  8. 云服务器系统一键安装,一键安装服务器系统

    一键安装服务器系统 内容精选 换一换 在"确认配置"页面,查看云服务器配置详情.如果您对价格有疑问,可以单击"了解计费详情"来了解产品价格.如果您对价格有疑问, ...

  9. linux一键安装虚拟机系统

    在上一篇博客中我们学习了如何编写脚本在系统中自动安装虚拟机,当我们安装好虚拟机以后,启动这台虚拟机,会发现进入到虚拟机的系统安装的界面,在进行分区,时区等设置以后,就完成了这台虚拟机系统的安装. 当我 ...

最新文章

  1. 公有云私有云的区别_一分钟秒懂公有云、私有云、混合云的区别?
  2. 分析mysql日志文件_MySQL日志文件与分析
  3. UVA-10285 Longest Run on a Snowboard (递推)
  4. aes256 加密后的长度_视频会议Zoom 5.0版本重大更新,增强加密功能提供更多安全选项...
  5. 使用JMAP dump及分析dump文件
  6. linux 连接redis_.NetCore 使用StackExchange.Redis 连接Redis
  7. txt文件参数化200用户,返回在表格中查看只能看到100行数据
  8. java jdk学习_Java学习第一步:JDK环境搭建(纯小白向)
  9. js编码后提交java解码
  10. 最新回归算法理解、实现及应用(2)logistic回归
  11. python语句中生成小数的语句_下列 Python 语句的输出结果是 。 print( 数量 {0}, 单价 {1} .format(100,285.6)) print(str.format(...
  12. 逻辑思维训练——假设法
  13. Unity 年度总结:一款游戏的从0到1
  14. 植树节|晓一叶之理,种一树美好
  15. VOC、COCO数据集类别
  16. STM32——串口概念及应用
  17. 《深度学习》学习笔记
  18. python无法启动0xc0000022_无法正常启动0xc0000022?0xc0000022一键修复教程
  19. django自带的权限管理Permission用法
  20. rangenet_lib tensorRT8.** ubuntu20.04 suma++

热门文章

  1. 读书笔记:《少的力量》
  2. 企业运维——机房建设的一些建议
  3. 配置EXCHANGE服务器
  4. Python进阶之路 3.4.2 条件语句(if、else和elif)
  5. 阿里再添AI新物种,消费者天猫双11网上逛“视觉超市”
  6. 弗罗里达州收税人接受比特币、比特币现金支付
  7. linux下的PHP+Mysql+PHPWind实现
  8. Thymeleaf 学习笔记 (5)
  9. Ubuntu输入正确的用户名密码不能进入系统的原因和解决方法
  10. 为 ActionScript 导出库元件