使用shell脚本搭建源码LAMP环境

#!/bin/bash

#auto install LAMP

#by csy 2015-11-07

#Httpd define path variable

A_FILES=apr-1.5.2.tar.gz

A_FILES_DIR=apr-1.5.2

A_URL=http://mirrors.cnnic.cn/apache//apr/

A_PREFIX=/usr/local/apr

AU_FILES=apr-util-1.5.4.tar.gz

AU_FILES_DIR=apr-util-1.5.4

AU_URL=http://mirrors.cnnic.cn/apache//apr/

AU_PREFIX=/usr/local/apr-util

PC_FILES=pcre-8.37.tar.gz

PC_FILES_DIR=pcre-8.37

PC_URL=http://nchc.dl.sourceforge.net/project/pcre/pcre/8.37/

PC_PREFIX=/usr/local/pcre

H_FILES=httpd-2.4.17.tar.gz

H_FILES_DIR=httpd-2.4.17

H_URL=http://mirror.bit.edu.cn/apache//httpd/

H_PREFIX=/usr/local/apache2/

#Mysql define path variable

M_FILES=mysql-5.6.27.tar.gz

M_FILES_DIR=mysql-5.6.27

M_URL=http://mirrors.linuxeye.com/lnmp/src/

M_PREFIX=/usr/local/mysql/

#PHP define path variable

P_FILES=php-5.6.14.tar.gz

P_FILES_DIR=php-5.6.14

P_URL=http://cn2.php.net/distributions/

P_PREFIX=/usr/local/php5/

echo -e "\033[34m-------------------------\033[0m"

echo -e "\033[35mReady to set up LAMP source environment\n

Wait for 5 seconds, please select menu\033[0m"

sleep 5

if [ -z "$1" ];then

echo -e "\033[36mPlease Select install menu follow:\033[0m"

echo -e "\033[32m1)编译安装Apache服务器\033[1m"

echo "2)编译安装Mysql服务器"

echo "3)编译安装PHP服务器"

echo "4)配置index.php并启动LAMP服务"

echo -e "\033[31mUsage: { /bin/sh $0 1|2|3|4|help}\033[0m"

exit

fi

if [[ "$1" -eq "help" ]];then

echo -e "\033[36mPlease Select Install Menu follow:\033[0m"

echo -e "\033[32m1)编译安装Apache服务器\033[1m"

echo "2)编译安装MySQL服务器"

echo "3)编译安装PHP服务器"

echo "4)配置index.php并启动LAMP服务"

echo -e "\033[31mUsage: { /bin/sh $0 1|2|3|4|help}\033[0m"

exit

fi

##################################

#Install httpd web server

if [[ "$1" -eq "1" ]];then

wget -c $A_URL/$A_FILES && tar -zxvf $A_FILES && cd $A_FILES_DIR && ./configure --prefix=$A_PREFIX

if [ $? -eq 0 ];then

make && make install

echo -e "\033[32m The $A_FILES_DIR install OK!\033[0m"

else

echo -e "\033[32m the $A_FILES_DIR install error,please check...\033[0m"

exit 0

fi

wget -c $AU_URL/$AU_FILES && tar -zxvf $AU_FILES && cd $AU_FILES_DIR && ./configure --prefix=$AU_PREFIX -with-apr=$A_PREFIX

if [ $? -eq 0 ];then

make && make install

echo -e "\033[32m The $AU_FILES_DIR install OK!\033[0m"

else

echo -e "\033[32m the $AU_FILES_DIR install error,please check...\033[0m"

exit 0

fi

wget -c $PC_URL/$PC_FILES && tar -zxvf $PC_FILES && cd $PC_FILES_DIR && ./configure --prefix=$PC_PREFIX

if [ $? -eq 0 ];then

make && make install

echo -e "\033[32m The $PC_FILES_DIR install OK!\033[0m"

else

echo -e "\033[32m the $PC_FILES_DIR install error,please check...\033[0m"

exit 0

fi

wget -c $H_URL/$H_FILES && tar -zxvf $H_FILES && cd $H_FILES_DIR && ./configure --prefix=$H_PREFIX --with-apr=$A_PREFIX --with-apr-util=$AU_PREFIX  --with-pcre=$PC_PREFIX --enable-so --enable-rewrite

if [ $? -eq 0 ];then

make && make install

cp $H_PREFIX/bin/apachectl /etc/init.d/httpd

echo "# chkconfig: 2345 50 90" >> /etc/init.d/httpd && chkconfig --add httpd && chkconfig --level 35 httpd on && /etc/init.d/httpd restart

echo -e "\033[32m----------------------------------\033[0m"

echo -e "\033[32m The $H_FILES_DIR Server install Success ! \033[0m"

else

echo -e "\033[32m The $H_FILES_DIR Make or Make install ERROP,please check....\033[0m"

exit 0

fi

fi

#Install mysql DB server

if [[ "$1" -eq "2" ]];then

yum -y install make cmake gcc-c++ bison ncurses ncurses-devel

wget -c $M_URL/$M_FILES && tar -zxvf $M_FILES && cd $M_FILES_DIR &&  cmake ./ \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DSYSCONFDIR=/etc \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \

-DMYSQL_TCP_PORT=3306 \

-DENABLED_LOCAL_INFILE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DEXTRA_CHARSETS=all \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci

if [ $? -eq 0 ];then

make -j8 && make install

groupadd mysql

useradd -g mysql -s /sbin/noghion mysql

cd $M_PREFIX

chown -R mysql.mysql .

scripts/mysql_install_db --basedir=$M_PREFIX --datadir=$PREFIX/data --user=mysql

chown -R mysql.mysql ./data

cp support-files/mysql.server /etc/init.d/mysqld

bin/mysqld_safe --user=mysql

ln -s $M_PREFIX/bin/mysql /usr/bin/mysql

chmod +x /etc/init.d/mysqld

rm -rf /etc/my.cnf

cat > /etc/my.cnf <<EOF

[mysqld]

datadir=/usr/local/mysql/data

socket=/tmp/mysqld.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

EOF

/etc/init.d/mysqld restart

echo -e "\n\033[32m-----------------------------------------------\033[0m"

echo -e "\033[32mThe $M_FILES_DIR Server Install Success !\033[0m"

else

echo -e "\033[32mThe $M_FILES_DIR Make or Make install ERROR,Please Check......"

exit 0

fi

fi

#Install PHP server

if [[ "$1" -eq "3" ]];then

yum install libxml2-devel -y

wget -c $P_URL/$P_FILES &&  tar -zxvf $P_FILES && cd $P_FILES_DIR &&./configure --prefix=$P_PREFIX --with-config-file-path=/usr/local/php/etc   --with-apxs2=$H_PREFIX/bin/apxs --with-mysql=$M_PREFIX/

if [ $? -eq 0 ];then

make && make test && make install

echo -e "\n\033[32m-----------------------------------------------\033[0m"

echo -e "\033[32mThe $P_FILES_DIR Server Install Success !\033[0m"

else

echo -e "\033[32mThe $P_FILES_DIR Make or Make install ERROR,Please Check......"

exit 0

fi

fi

####################################

if [[ "$1" -eq "4" ]];then

sed -i ‘/DirectoryIndex/s/index.html/index.php index.html/g‘ $H_PREFIX/conf/httpd.conf

$H_PREFIX/bin/apachectl restart

echo "AddType     application/x-httpd-php .php" >>$H_PREFIX/conf/httpd.conf

IP=`ifconfig eth0|grep "Bcast"|awk ‘{print $2}‘|cut -d: -f2`

echo "You can access http://$IP/"

cat >$H_PREFIX/htdocs/index.php <<EOF

<?php

phpinfo();

?>

EOF

fi

时间: 2024-10-09 11:50:49

使用shell脚本搭建源码LAMP环境的相关文章

shell脚本实现源码lamp自动化安装

代码如下,写了好久,在centos6.3实践中用过,分享给大家@.·[email protected] 运行此脚本的前提有gcc/gcc-c++的编译环境,此脚本用到一些源码包(apr-1.2.7,apr-util-1.2.7,autoconf-2.59,cmake-2.6.4,curl-7.15.1,freetds-2.2.2,gd-2.0.33,httpd-2.2.31,jpegsrc-v7,libmcrypt-2.5.7,libpng-1.2.10,libxml2-2.6.26,mysql

Hadoop学习笔记(10) ——搭建源码学习环境

Hadoop学习笔记(10) ——搭建源码学习环境 上一章中,我们对整个hadoop的目录及源码目录有了一个初步的了解,接下来计划深入学习一下这头神象作品了.但是看代码用什么,难不成gedit?,单步调试呢? 看程序不能调那多痛苦啊,想看跟踪一下变量,想看一下执行路径都难. 所以这里,我们得把这个调试环境搭建起来.Hadoop的主要代码是用java编写的,所以这里就选用eclipse作为环境. Hadoop目录下,本身就可以为作eclipse的一个工程来操作,但这里我不想,我想自己来建一个工程,

源码LAMP环境搭建

一.LAMP源码环境搭建: (1.)所需软件包: (2.)安装源码编译所需包: (3.)httpd编译安装: (4.)mysql编译安装: 1.安装依赖包: 2.创建mysql用户和组: 3.创建mysql运行的pid存放目录及pid文件,并修改其权限: 4.编译安装mysql: (5.)php编译安装: 1.安装依赖包: 2.编译安装php: 二.LAMP整合: (1.)http配置文件修改: (2.)启动http服务: (3.)mysql配置文件修改: (4.)生成mysql数据库文件: (

shell脚本 &nbsp; http源码启动脚本

源码包http启动脚本,仅供参考......下面有文本的. #!/bin/bash #Author: wangergui              Email:[email protected]         Date:2016-06-01 #Function: source apache start script PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root:/bin export PATH [

Hadoop源码阅读环境搭建

Hadoop源码阅读环境搭建 一.说明 作为一个学习hadoop的同学,必须在本机上搭建hadoop源码阅读环境,这样,在方便阅读源码的同时也方便进行调试和源码修改.好了,下面开始搭建环境. 1.环境说明:hadoop 版本:1.2.1. IDE:eclipse.操作系统:centos 2.网上有人是通过eclipse的新建项目指定目录的方式将hadoop目录转换成Eclipse工程同时导入eclipse,具体做法如下: File-->new-->Java Project-->勾掉Use

Linux Mint 安装、配置及搭建Android源码编译环境

用过ubuntu,现在想换换Linux Mint试试看.下面是我安装配置Linux Mint13的过程.1.安装 安装LinuxMint13时,我尝试了好多种方法,都失败了.最后选用了硬盘安装.硬盘安装Linuxmint和安装ubuntu一样.1.1.准备工作 1.从linux mint的官方网站http://www.linuxmint.com/ 下载linux mint 13. 2.下载grub4dos,http://www.linuxidc.com/Linux/2009-01/18027.h

【转】Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程

原文网址:http://jileniao.net/linux-android-building.html sublime text让我伤心.本来很信任sublime text的自动保存功能,之前使用一直很给力的,但这次让我伤心欲绝啊. 关于Linux(ubuntu14.04)上编译Android源码的环境搭建详细过程都是在sublime text中编辑好的,无奈,这次的数据丢失让我不得不重新来回想手打一次了.可能很多细节问题,这次重新编辑文章时不会记得那么清晰了,还请有问题的朋友在下面留言给我就

如何搭建自己的SpringBoot源码调试环境?--SpringBoot源码(一)

1 前言 这是SpringBoot2.1源码分析专题的第一篇文章,主要讲如何来搭建我们的源码阅读调试环境.如果有经验的小伙伴们可以略过此篇文章. 2 环境安装要求 IntelliJ IDEA JDK1.8 Maven3.5以上 3 从github上将SpringBoot源码项目下载下来 首先提供SpringBoot2.1.0的github地址: https://github.com/spring-projects/spring-boot/tree/v2.1.0.RELEASE 因为要进行阅读源码

Mac搭建Hadoop源码阅读环境

1.本次Hadoop源码阅读环境使用的阅读工具是idea,Hadoop版本是2.7.3.需要安装的工具包括idea.jdk.maven.protobuf等 2.jdk,使用的版本是1.8版,在jdk官网下载jdk-8u111-macosx-x64.dmg,点击安装,一路next. 3.idea安装,略 4.maven,使用的版本是3.3.9,下载apache-maven-3.3.9-bin.tar,解压: tar -zxvf  apache-maven-3.3.9-bin.tar 进入 Mave