lamp安装脚本(编译方式)

author author     2022-08-04     303

关键词:

#!/bin/bash

#

# **********************************************************

# * filename:    lamp_install.sh   *

# * discription:    lamp install   *

# * version:    centos6.7 apr-1.5.2 apr-util-1.5.4     *

# *    httpd-2.4.6 mysql-5.5.32  php-5.6.15   *

# * date:    2016/09/07                     *

# * author:         wangbo                                 *

# * mail:    [email protected]                       *

# **********************************************************

#



function init()

{

    #shutdown SELINUX

    setenforce 0;

    #stop iptables

    /etc/init.d/iptables stop;


    echo "***********************************";

    echo "*init finished!                   *";

    echo "***********************************";

}


#check root user ,net

function base_check()

{

    #check user root

    if [ `whoami` = "root" ]

    then

echo "***********************************";

echo "*root user                        *";

echo "***********************************";

    else

echo "***************************************";

echo "*change to root,please input password *";

echo "***************************************";

su - root -s /bin/bash /usr/local/src/lamp_install.sh;

#exit 1;

    fi

    echo "***********************************";

    echo "*is root user!                    *";

    echo "***********************************";

    #the count of lose package

    lpcount = ping -c 4 www.baidu.com | grep received | awk ‘{print $6}‘ | sed -e ‘s/%//g‘;

    #check net

    if [ $lpcount -gt 2 ]

    then

echo "***********************************";

echo "*Please check your network        *";

echo "***********************************";

exit 1;

    fi


    echo "***********************************";

    echo "*network is ok!                   *";

    echo "***********************************";

}


function package_check()

{

    echo "###";

}


function apr_install()

{

    cd /usr/local/src;

    tar xzf apr-1.5.2.tar.gz;

    cd apr-1.5.2;

    ./configure

    --prefix=/usr/local/apr

    if [ $? -ne 0 ]

    then

echo "***********************************";

echo "*apr configure failed,stop...     *";

echo "***********************************";

exit 1;

    fi

    make && make install;

    if [ $? -ne 0 ]

    then        

echo "***********************************";

echo "*php make failed , stop...        *";

echo "***********************************";

    fi

    exit 1;

    echo "***********************************";

    echo "*apr installed successfully!      *";

    echo "***********************************";

}


function apr_util_install()

{

    cd /usr/local/src;

    tar xzf apr-util-1.5.4.tar.gz;

    cd apr-util-1.5.4;

    ./configure

    --with-apr=/usr/local/apr

    --prefix=/usr/local/apr-util

    if [ $? -ne 0 ]

    then

echo "***********************************";

echo "*apr-util configure failed,stop...*";

echo "***********************************";

exit 1;

    fi

    make && make install;

    if [ $? -ne 0 ]

    then        

echo "***********************************";

echo "*apr-util make failed , stop...   *";

echo "***********************************";

    fi

    exit 1;


    echo "***********************************";

    echo "*apr-util installed successfully! *";

    echo "***********************************";

}


function httpd_install()

{

    yum -y install pcre pcre-devel openssl openssl-devel zlib-devel;

    cd /usr/local/src/;

    tar xzf httpd-2.4.16.tar.gz;

    cd httpd-2.4.16;

    ./configure

    --prefix=/usr/local/apache

    --sysconfdir=/etc/httpd

    --enable-so

    --enable-rewrite

    --enable-ssl

    --enable-cgi

    --enable-cgid

    --enable-modules=most

    --enable-mods-shared=most

    --enable-mpms-shared=all

    --with-apr=/usr/local/apr

    --with-apr-util=/usr/local/apr-util

    if [ $? -ne 0 ]

    then

echo "********************************"

echo "*httpd configure failed,stop...*";

echo "********************************"

exit 1;

    fi

    make && make install;

    if [ $? -ne 0 ]

    then 

echo "***************************";

echo "*php make failed , stop...*";

echo "***************************";

exit 1;

    fi


    if [$? -ne 0 ]

    then

echo "**************************"

echo "*httpd make filed,stop...*";

echo "**************************"

exit 1;

    fi

    sed -i ‘/^ServerRoot/a PidFile "/var/run/httpd.pid"‘ /etc/httpd/httpd.conf;

    cp /usr/local/src/httpd /etc/init.d/httpd;

    chmod +x /etc/init.d/httpd;

    export PATH=$PATH:/usr/local/apache/bin;

    chkconfig --add httpd;

    chkconfig --level 35 httpd on;

    echo "*******************************"

    echo "*httpd installed successfully!*";

    echo "*******************************"

}


function mysql_install()

{

    cd /usr/local/src;

    tar xzf mysql-5.5.32-linux2.6-x86_64.tar.gz -C /usr/local/;

    cd /usr/local;

    ln -sv mysql-5.5.32-linux2.6-x86_64 mysql;

    groupadd -r -g 306 mysql;

    useradd -g 306 -r -u 306 mysql;

    if [ $? -ne 0 ]

    then

echo "************************************";

echo "*create user or group faild,stop...*";

echo "************************************";

exit 1;

    fi

    cd /usr/local/mysql;

    chown -R mysql.mysql .;

    chown -R mysql data;

    chmod o-rx data;

    scripts/mysql_install_db --user=mysql;

    chown -R root /usr/local/mysql/*

    chown -R mysql.mysql /usr/local/mysql/data

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

    cp support-files/my-large.cnf /etc/my.cnf;

    export PATH=$PATH:/usr/local/mysql/bin;

    sed -i ‘$a MANPATH /usr/local/mysql/man‘ /etc/man.config;

    touch /etc/ld.so.conf.d/mysql.conf;

    sed -i ‘$a /usr/local/mysql/lib‘ /etc/ld.so.conf.d/mysql.conf;

    ln -sv /usr/local/mysql/include /usr/include/mysql;

    echo "*******************************";

    echo "*mysql installed successfully!*";

    echo "*******************************";

}



function php_install()

{

    yum -y install libxml2 libxml2-devel bzip2 bzip2-devel;

    if [ $? -ne 0 ]

    then

echo "********************************************";

echo "*dependency package installed faild,stop...*";

echo "********************************************";

exit 1;

    fi

    rpm -ivh libmcrypt-2.5.8-4.el5.centos.x86_64.rpm libmcrypt-devel-2.5.8-4.el5.centos.x86_64.rpm

    if [ $? -ne 0 ]

    then

echo "********************************************"

echo "*dependency package installed faild,stop...*";

echo "********************************************"

exit 1;

    fi

    cd /usr/local/src;

    tar xf php-5.6.15.tar.bz2;

    cd php-5.6.15;

    ./configure

    --prefix=/usr/local/php

    --with-mysql=/usr/local/mysql

    --with-openssl

    --with-mysqli=/usr/local/mysql/bin/mysql_config

    --enable-mbstring

    --with-freetype-dir  

    --with-jpeg-dir

    --with-png-dir

    --with-zlib

    --with-libxml-dir=/usr

    --enable-xml

    --enable-sockets

    --with-apxs2=/usr/local/apache/bin/apxs

    --with-mcrypt

    --with-config-file-path=/etc

    --with-config-file-scan-dir=/etc/php.d

    --with-bz2

    --enable-maintainer-zts

    if [ $? -ne 0 ]

    then

echo "******************************";

echo "*php configure failed,stop...*";

echo "******************************";

exit 1;

    fi

    make && make install;

    if [ $? -ne 0 ]

    then

echo "****************************";

echo "*php make failed , stop... *";

echo "****************************";

    exit 1;

    fi

    cp php.ini-production /etc/php.ini;

    sed -i ‘392a AddType application/x-httpd-php .php‘ /etc/httpd/httpd.conf;    

    sed -i ‘393a AddType application/x-httpd-php-source .phps‘ /etc/httpd/httpd.conf;    

    sed -i ‘s/index.html$/& index.php/‘ /etc/httpd/httpd.conf;

    echo "*****************************";

    echo "*php installed successfully!*";

    echo "*****************************";

}


function show_main_menu()

{

    echo "********************************";   

    echo "* the program of lamp install  *";

    echo "********************************";

    echo "*    1、一键安装               *";

    echo "********************************";

    echo "*    2、逐个安装               *";

    echo "********************************";

    

}


function show_second_menu()

{

    #请按照apr->apr-util->http->mysql->php顺序安装

    echo "*******************************";  

    echo "* please choose the program   *";

    echo "*******************************";  

    echo "*    1、初始化                *";

    echo "*******************************";  

    echo "*    2、基础检查              *";

    echo "*******************************";  

    echo "*    3、安装包检查            *";

    echo "*******************************";  

    echo "*    4、安装 apr              *";

    echo "*******************************";  

    echo "*    5、安装 apr-util         *";

    echo "*******************************";  

    echo "*    6、安装 httpd            *";

    echo "*******************************";  

    echo "*    7、安装mysql             *";

    echo "*******************************";  

    echo "*    8、安装php               *";

    echo "*******************************";  

}


function all_install()

{

    apr_install;

    apr_util_install;

    httpd_install;

    mysql_install;

    php_install;

}


function tmp()

{

    show_second_menu;

    choose_install;

}


function choose_install()

{

    echo -e ">>c";   

    read num;

    if [ $num -eq "1" ]

    then

init;

tmp;

    elif [ $num -eq "2" ]

    then

base_check;

tmp;

    elif [ $num -eq "3" ]

    then

package_check;

tmp;

    elif [ $num -eq "4" ]

    then

apr_install;

tmp;

    elif [ $num -eq "5" ]

    then

apr_util_install;

tmp;

    elif [ $num -eq "6" ]

    then

httpd_install;

tmp;

    elif [ $num -eq "7" ]

    then

mysql_install;

tmp;

    elif [ $num -eq "8" ]

    then

php_install;

tmp;

    fi

}



function lamp_install()

{

    show_main_menu;

    echo -e ">>c";

    read  num 2&>1 > /dev/null;

    if [ $num -eq "1" ]

    then

all_install;

    elif [ $num -eq "2" ]

    then

tmp;

    fi

}


lamp_install;


本文出自 “shell实现计算器” 博客,请务必保留此出处http://codekong.blog.51cto.com/10704076/1850915

lamp之编译安装

在linux中由于存在yum这种包管理方式,使得安装部署软件变得十分简单易用,但在某些特定情况下,由于有特殊需求,需要基于编译这种方式来定制化安装所需要的软件,以能特供自己所需的功能,此处我们来基于编译实现LAMP环... 查看详情

一键编译安装lamp(代码片段)

...码包php:php-7.3.5tar.bz2源码包以上所有源码包存,以及一键安装脚本存放在root家目录下,运行一键安装脚本。脚本运行完毕,使用浏览器访问测试页一键安装脚本#!/bin/bashL 查看详情

源码编译安装lamp

一、概述1、源码编译安装LAMP为什么要源码编译      一般来说,我们软件的安装方式有yum(rpm),和源码编译两种方式,那么为什么我们需要源码编译安装一部分软件?选择源码编译安装软件有以下几个原... 查看详情

编译安装lamp

...。本次实验以CentOS7为搭建环境,并且已经使用源码编译安装了httpd-2.4(默认使用prefork模块)和使用通用二进制格式安装了mariadb-5.5。现在将php分别编译成httpd模块和fpm方式工作。httpd模块形式编译安装php编译php并配置# 查看详情

lamp之自动化编译安装

1概述LAMP目前在CentOS6不支持php-fpm的安装,安装高版本的数据库在centos6上也需要通过编译安装完成,本文介绍了Modules模式和FastCGI模式快速部署LAMP的包和相关操作,同时附上了一键安装的编译脚本。2 快速部署LAMP在CentOS6和7中... 查看详情

编译安装lamp

一、编译安装apache1、解决依赖关系,先下载好这三个包httpd-2.4.9,apr-1.5.0.tar.bz2,apr-util-1.5.3.tar.bz22、准备开发环境,安装DevelopmentTools,ServerPlatformDevelopment;使用命令yumgroupinstall,这里不多阐述;3、编译安装apr-1.5.0.tar.bz24、编... 查看详情

centos6编译安装lamp

Centos6系统上编译安装lamp所有操作都是关闭防火墙和selinex的前下提先进行的httpd和php的组合方式:Modules:把php编译成httpd的DSO对象;Prefork:需要libphp5的支持Event、worker:需要libphp5-zts的支持。所以如果pmp之间需要切换工作方式的化... 查看详情

编译安装lamp

软件包链接:http://pan.baidu.com/s/1mijn44g  密码:abja 系统环境:centos7开发环境:Developmenttools、ServerPlatformDevelopmenthttp+php的方式:PHP模块化个程序版本:mariadbmariadb-5.5.46-linux-x86_64.tar.gzhttphttpd-2.4. 查看详情

lamp2.4两种实现方式

LAMP----->2.4模块实现yum groupinstall "Development Tools" "Server Platform Development"------>安装包组1、编译安装Apachehttpd-2.4.9需要较新版本的apr和apr-util,因此需要事先对其进行升级(1)、编译安装aprtar& 查看详情

4-源码方式基于lamp架构搭建bbs论坛或者博客(代码片段)

目录一、项目简介二、环境准备三、编译安装MySQL四、编译安装Apache五、编译安装PHP六、后续配置七、启动相关服务八、源码编译软件经验总结九、部署web应用排错1:排错2:排错3:大功告成!课程目标使用源码方式基于LAMP架构... 查看详情

centos5/6编译安装lamp

一、环境说明准备 本次使用CentOS5.5、Centos6.5,编译安装Apache2.4.20、Mysql-5.5.48、PHP-5.5.30。      编译PHP以Apache模块方式运行。编译PHP前需要先编译好Apache和Mysql。1.关闭SELINUX,配置yum源。setenforce 0sed - 查看详情

centos5/6编译安装lamp

一、环境说明准备本次使用CentOS5.5、Centos6.5,编译安装Apache2.4.20、Mysql-5.5.48、PHP-5.5.30。      编译PHP以Apache模块方式运行。编译PHP前需要先编译好Apache和Mysql。1.关闭SELINUX,配置yum源。setenforce 0sed -i 查看详情

centos6编译安装lamp(fpm模块方式)加速的wordpress应用

准备软件版本:apr-1.5.2.tar.bz2  apr-util-1.5.4.tar.bz2     httpd-2.4.27.tar.bz2 mariadb-5.5.57-linux-x86_64.tar.gz (二进制)php-5.6.31.tar.bz2     查看详情

centos6编译安装lamp(fpm模块方式)加速的wordpress应用

准备软件版本:apr-1.5.2.tar.bz2  apr-util-1.5.4.tar.bz2     httpd-2.4.27.tar.bz2 mariadb-5.5.57-linux-x86_64.tar.gz (二进制)php-5.6.31.tar.bz2     查看详情

源码包搭建lamp环境

第一步 1、安装编译工具gcc*  安装数据库编译工具 cmake   bison  yum-yinstallgcc* cmake bison2、下载LAMP压缩包:lamp.zip,使用脚本批量解压tar.sh3、关闭防火墙、Selinux 第二步 分别编译安装各... 查看详情

单台主机一键编译部署lamp+wordpress+discuz系统的shell脚本(代码片段)

...以提高编译速度;3、根据需要修改相应的变量,主要是安装目录、用户名、密码;4、Mariadb的grant授权部分,需要先手动修改授权范围(@后面的内容)和密码;5、httpd与php采用sock通讯。?完整的shell脚本#!/bin 查看详情

编译安装lamp脚本

#/bin/bashTAR_DIR=/usr/srcLOCAL_DIR=/usr/localXML2_DIR=/usr/local/libxml2/XML2_TAR_DIR=/usr/src/libxml2-2.9.1LIBMCRYPT_DIR=/usr/local/libmcrypt/LIBMCRYPT_TAR_DIR=/usr/src/libmcrypt-2.5.8MCRYPT_DIR=/usr/local/libmcrypt/MCRYPT_TAR_DIR=/usr/src/libmcrypt-2.5.8LTDL_TAR_DIR=/usr/src/libmcrypt-2.5.8/liblt... 查看详情

lamp平台搭建脚本

#!/bin/bashDATE=`date +%F_%T`#源码包编译安装搭建LAMP平台的。#本脚本所需软件包:cmake-2.8.11.2.tar.gz   mysql-5.5.22.tar.gz#httpd-2.2.17.tar.gz     php-5.3.28.tar.gz#libmcrypt-2. 查看详情