LAMP部署脚本--安装篇
2015-08-25 14:08
357 查看
这里提供LAMP的脚本与软件包的下载地址,有需要的自行下载 http://pan.baidu.com/s/1mgu26ec
本文出自 “Painting” 博客,转载请与作者联系!
#!/bin/bash # By Stranded 2015-08-20 CMA_V=cmake-2.8.6 APA_V=httpd-2.2.15 MYS_V=mysql-5.5.22 LIB_V=libmcrypt-2.5.8 MHA_V=mhash-0.9.9.9 MCR_V=mcrypt-2.6.8 PHP_V=php-5.3.28 apache(){ # 判断是否有RPM方式安装的httpd、httpd-manual软件包,如果有则卸载 if [ $(rpm -qa | grep httpd) ] || [ $(rpm -qa | grep httpd-manual) ] then rpm -e httpd --nodeps rpm -e httpd-manual --nodeps else echo "httpd is not rpm" fi # httpd软件包解压、配置、编译、安装 tar -zxvf /root/$APA_V\.tar.gz -C /usr/src/ cd /usr/src/$APA_V/ ./configure \ --prefix=/usr/local/httpd \ --enable-so \ --enable-charset-lite \ --enable-cgi \ --enable-rewrite \ --disable-access make && make install # 判断apache是否安装成功 if [ -e /usr/local/httpd ] then echo "Apache install Successfull" cd - fi } mysql(){ # 判断是否有RPM方式安装的mysql、mysql-server软件包,如果有则卸载 if [ $(rpm -qa | grep mysql) ] || [ $(rpm -qa | grep mysql-server) ] then rpm -e mysql rpm -e mysql-server else echo "mysql is not rpm" fi # 判断是否配置本地yum源,并且是否已经挂载光盘 if [ ! -z /mnt ] then mount /dev/cdrom /mnt else echo "/mnt is exitis" fi if [ ! -e /etc/yum.repos.d/local.repo ] then cat <<END >/etc/yum.repo.s/local.repo [local] name=local baseurl=file:///mnt gpgcheck=0 enabled=1 END fi # 安装ncurses-devel、bison(依赖包),解决报错问题 yum -y install ncurses-devel bison # cmake(基础环境,类似于vc++ 2005),解压、配置、编译、安装 tar -zxvf /root/$CMA_V\.tar.gz -C /usr/src/ cd /usr/src/$CMA_V/ ./configure && gmake && gmake install # mysql软件包解压,配置,编译,安装 tar -zxvf /root/$MYS_V\.tar.gz -C /usr/src/ cd /usr/src/$MYS_V/ rm -rf CMakeCache.txt cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DSYCONFDIR=/etc/ \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_EXTRA_CHARSETS=all make && make install # 判断mysql是否安装完成 if [ -e /usr/local/mysql ] then echo "Mysql install Successfull" cd - fi } php(){ # 判断是否有RPM方式安装的php及其相关依赖包,如果有则卸载 EAR_P=$(cat /root/earse_php) rpm -qa | grep php | awk '{print $1}' >/root/earse_php if [ ! -z /root/earse_php ] then for i in $EAR_P do rpm -e $i done else echo "php is not rpm" fi # 判断是否配置本地yum源,并且是否已经挂载光盘 if [ ! -z /mnt ] then mount /dev/cdrom /mnt else echo "/mnt is exitis" fi if [ ! -e /etc/yum.repos.d/local.repo ] then cat <<END >/etc/yum.repo.s/local.repo [local] name=local baseurl=file:///mnt gpgcheck=0 enabled=1 END fi # 安装依赖包libxml2-devel,解决报错问题 yum -y install libxml2-devel # 安装libmcrypt软件包,并做软链接 tar -zxvf /root/$LIB_V\.tar.gz -C /usr/src/ cd /usr/src/$LIB_V/ ./configure && make && make install ln -s /usr/local/lib/libmcrypt.* /usr/lib/ # 安装mhash软件包,并作软链接 tar -zxvf /root/$MHA_V\.tar.gz -C /usr/src/ cd /usr/src/$MHA_V/ ./configure && make && make install ln -s /usr/local/lib/mhash* /usr/lib/ # 安装mcrypt软件包,并设置LD_LIBRARY_PATH变量(解决环境问题) tar -zxvf /root/$MCR_V\.tar.gz -C /usr/src/ cd /usr/src/$MCR_V/ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH ./configure && make && make install # php软件包解压,配置、编译、安装 tar -zxvf /root/$PHP_V\.tar.gz -C /usr/src/ cd /usr/src/$PHP_V/ ./configure \ --prefix=/usr/local/php/ \ --with-mcrypt \ --with-apxs2=/usr/local/httpd/bin/apxs \ --with-mysql=/usr/local/mysql/ \ --with-config-file-path=/usr/local/php/ \ --enable-mbstring make && make install # 确认php是否成功安装 if [ -e /usr/local/php ] then echo "PHP install Successfull" cd - fi } case "$1" in apache) apache ;; mysql) mysql ;; php) php ;; lamp) apache mysql php ;; *) echo ""$0" is install { lamp | apache | mysql | php }" ;; esac
本文出自 “Painting” 博客,转载请与作者联系!
相关文章推荐
- scala学习笔记--基础
- java Jackson 库操作 json 的基本演示
- eclipse连接真机无log,显示log device is empty!的解决办法
- mySql与oracle分页技术原理与实现
- SharePoint 2013 在母版页中插入WebPart
- UIView(包括子类)的几个初始化时执行动作的时机
- Java开发需要了解
- 第一个shell 脚本
- Socket进程通信机制及应用
- Mongodb执行脚本进行初始化
- 【VB与数据库学习】总结
- 前端学习笔记—HTML
- [LeetCode 211] Add and Search word -- Data Structure Design
- mongodb地理空间索引原理阅读摘要
- Linux find命令之exec
- cordova新建项目
- JS html 调用 js方式 js判断undefined
- 从Azure Table Storage中取数据
- 在 Databricks 可获得 Spark 1.5 预览版
- 面向接口编程详解(二)——编程实例