`
lamper571
  • 浏览: 68690 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Linux系统自动安装apache+php+mysql脚本

阅读更多
可选模块安装还是CGI方式,以后有时间在增强功能,计划可选web服务器

#!/bin/sh

curPath=$(cd "$(dirname "$0")"; pwd)/amp
mkdir -p $curPath

cd $curPath
cd ..

printf "mysql version[default 5.1.57]:"
read mysqlVersion

if [ ! -n "$mysqlVersion" ]; then
        mysqlVersion=5.1.57
fi;

printf "Please enter your mysql port[default 3306]:"
read  MYSQL_PORT

if [ ! -n "$MYSQL_PORT" ]
then
        MYSQL_PORT=3306
fi


printf "apache version[default 2.2.13]:"
read apacheVersion

if [ ! -n "$apacheVersion" ]; then
        apacheVersion=2.2.13
fi;


printf "php version[default 5.3.6]:"
read phpVersion

if [ ! -n "$phpVersion" ]; then
        phpVersion=5.3.6
fi;

printf "php install mode:[module or cgi,default module]"
read phpmode


mysqlTar="mysql-$mysqlVersion.tar.gz"
mysqlDownSite="http://mysql.dataphone.se/Downloads/MySQL-5.1/$mysqlTar"

apacheDownSite="http://archive.apache.org/dist/httpd/"
apacheTar="httpd-$apacheVersion.tar.gz"

phpDownSite="http://cn.php.net/get/php-$phpVersion.tar.gz/from/this/mirror"
phpTar="php-$phpVersion.tar.gz"


if [ -f $mysqlTar ];then
        echo "$mysqlTar exists"
else
        echo "Download $mysqlTar......"
         wget "$mysqlDownSite"

	if [ -f $mysqlTar ];then
		echo "Download Mysql ok......"
	else
	        echo "can't download $mysqlTar from $mysqlDownSite"
        	exit
	fi;
fi;
tar zxvf $mysqlTar


if [ -f $apacheTar ];then
	echo "$apacheTar exists"
else
	echo "Download $apacheTar......"
	 wget "$apacheDownSite/$apacheTar"

	if [ -f $apacheTar ];then
		echo "download apache ok......"
	else
		echo "can't download $apacheTar from $apacheDownSite$apacheTar"
		exit
	fi;
fi;
tar zxvf $apacheTar

sleep 1

#down load php
if [ -f $phpTar ];then
        echo "$phpTar exists"
else
        echo "Download $phpTar......"
         wget "$phpDownSite"


	if [ -f $phpTar ];then
		echo "download php ok"
	else
	        echo "can't download $phpTar from $phpDownSite"
        	exit
	fi;
fi
tar zxvf $phpTar

sleep 1 

cd $curPath
cd ..
cd `echo ${mysqlTar%.tar*}`
useradd mysql


./configure --prefix=$curPath/mysql --with-unix-socket-path=/tmp/mysql$MYSQL_PORT.sock --with-tcp-port=$MYSQL_PORT --with-plugins=innobase,innodb_plugin,partition --with-mysqld-user=mysql --with-charset=gbk --without-man --without-docs --with-big-tables --with-pthread 
make
make install
mkdir -p $curPath/mysql/var

cp support-files/my-medium.cnf $curPath/mysql/var/my.cnf
sed -i -e /3306/s/3306/${MYSQL_PORT}/g $curPath/mysql/var/my.cnf
sed -i -e /mysql.sock/s/mysql.sock/mysql${MYSQL_PORT}.sock/g $curPath/mysql/var/my.cnf 
$curPath/mysql/bin/mysql_install_db
chown -R mysql:mysql $curPath/mysql/var

cp support-files/mysql.server $curPath/mysql/bin/
chmod +x $curPath/mysql/bin/mysql.server
$curPath/mysql/bin/mysql.server start
echo "$curPath/mysql/bin/mysql.server start">>/etc/rc.local

echo "**************************************"
echo "MySQL install done."
echo "**************************************"


cd $curPath
cd ..
cd `echo ${apacheTar%.tar*}`
./configure --prefix=$curPath/apache2 --enable-rewrite --enable-so --enable-expires --enable-headers --enable-ssl --with-included-apr 
make
make install
echo "$curPath/apache2/bin/apachectl start">>/etc/rc.local

echo "**************************************"
echo "Apache install done."
echo "**************************************"


cd $curPath
cd ..
cd `echo ${phpTar%.tar*}`

if [ "$phpmode" -eq "module" ] ;then
./configure --prefix=$curPath/php --with-apxs2=$curPath/apache2/bin/apxs --with-openssl --with-mysql=$curPath/mysql --with-mysqli=$curPath/mysql/bin/mysql_config --enable-soap --with-libxml-dir --enable-wddx --enable-zip  --enable-shmop --enable-sysvmsg  --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbstring --with-curl --with-zlib  

else
./configure --prefix=$curPath/php --with-openssl --disable-cli --with-mysql=$curPath/mysql --with-mysqli=$curPath/mysql/bin/mysql_config --enable-soap --with-libxml-dir --enable-wddx --enable-zip  --enable-shmop --enable-sysvmsg  --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbstring --with-curl --with-zlib

fi;
make
make install
cp php.ini-production $curPath/php/lib/php.ini
sed -i -e '/;date.timezone/s/;date.timezone =/date.timezone = Asia\/Shanghai/g' $curPath/php/lib/php.ini
sed -i -e '/;error_log = php_errors.log/s/;error_log = php_errors.log/error_log = \/tmp\/php_errors.log/g' $curPath/php/lib/php.ini
sed -i -e '/short_open_tag = Off/s/short_open_tag = Off/short_open_tag = On/g' $curPath/php/lib/php.ini
sed -i -e '/register_argc_argv = Off/s/register_argc_argv = Off/register_argc_argv = On/g' $curPath/php/lib/php.ini
sed -i -e '/; extension_dir = \".\/\"/s/; extension_dir = \".\/\"/extension_dir = \"\/usr\/lib\"/g' $curPath/php/lib/php.ini



if [ "$phpmode" -eq "module" ] ;then
	echo "AddType application/x-httpd-php .php .phtml">>$curPath/apache2/conf/httpd.conf

else
	sed -i -e '/;cgi.force_redirect = 1/s/;cgi.force_redirect = 1/cgi.force_redirect = 0/g' $curPath/php/lib/php.ini
fi;

echo "**************************************"
echo "php install done."
echo "**************************************"






0
1
分享到:
评论

相关推荐

    Linux下Apache+PHP+Mysql安装与配置

    Linux 下 Apache+PHP+Mysql 安装与配置 Apache installation * 介绍 Apache 的安装过程,包括卸载原有 Apache 用户、解压缩 Apache 源代码、配置和安装 Apache。 * "--prefix" 参数用于指定安装后的存放路径;"--...

    linux下安装apache+php+mysql的最简步骤

    在Linux系统中,构建一个基于Apache、PHP和MySQL的服务器环境,通常被称为LAMP(Linux、Apache、MySQL、PHP)架构。这是一种常见的Web开发平台,适用于动态网站和应用程序的部署。下面将详细介绍如何在Linux环境下...

    Ubuntu下LAMP(linux+apache+mysql+php)环境的配置与安装.pdf

    LAMP(Linux、Apache、MySQL、PHP)是一套常用的Web开发环境,这四个组件的结合可以为我们提供一个强大且灵活的Web应用程序开发平台。在Ubuntu操作系统下,安装和配置LAMP环境是非常重要的步骤,本文将指导您如何在...

    LAMP(linux+apache+mysql+php)的基本配置

    LAMP代表Linux(操作系统)、Apache(Web服务器)、MySQL(数据库管理系统)和PHP(服务器端脚本语言)。这套组合在搭建Web应用程序时非常流行,尤其是在开源社区。 #### 二、安装与配置 在Red Hat 5系统上安装LAMP...

    Apache+mysql+php

    在IT领域,"Apache+MySQL+PHP"是一个经典的Web开发环境组合,被称为LAMP(Linux, Apache, MySQL, PHP)的Windows版本,这里为WAMP(Windows, Apache, MySQL, PHP)。这个组合提供了强大的功能,使得开发者能够在本地...

    基于linux的apache+mysql+php的安装配置.pdf

    【基于Linux的Apache+MySQL+PHP的安装配置】 在当今的互联网环境中,网站已经不再仅仅是展示静态信息的平台,它们需要处理数据存储、查询、用户请求处理以及动态内容生成等功能。在这种需求下,Apache+PHP+MySQL的...

    apache+mysql+php+snort+base实现snort

    Apache、MySQL、PHP、Snort 和 BASE 是构建一个强大的入侵检测系统(IDS)的基础组件。这个组合使得网络管理员能够实时监控网络流量,检测潜在的攻击,并通过 Web 界面进行分析。以下是这些组件的详细说明: 1. ...

    Linux下安装Apache+PHP+MySql搭建PHP运行环境

    在 Linux 下安装 Apache+PHP+MySql 需要具备基本的 Linux 操作系统知识和基本的网络知识。同时,需要了解 Apache、PHP 和 MySql 的基本概念和配置方法。 Apache 介绍 Apache 是一个开源的 web 服务器软件,能够...

    lampLinux+Apache+Mysql+Perl/PHP/Python

    ### LAMP架构详解:Linux + Apache + MySQL + Perl/PHP/Python #### 一、LAMP概述 LAMP(Linux + Apache + MySQL + Perl/PHP/Python)是一种流行的开源Web开发平台,它由一系列互补的技术构成,用于创建高度可定制...

    LAMP环境安装 linux + apache + mysql + php

    LAMP(Linux + Apache + MySQL + PHP)是一种流行的Web服务解决方案,它结合了开源操作系统Linux、Web服务器Apache、数据库管理系统MySQL以及脚本语言PHP。这种组合允许用户构建动态的Web应用程序,并且所有组件都是...

    一键安装apache+mysql+php【64位系统】

    无需配置,简单方便【注意:此包为64位系统】”说明了这个软件包的设计理念是为了简化安装过程,用户只需要执行安装程序,即可自动完成Apache、MySQL和PHP的安装,且特别强调了该软件适用于64位操作系统。...

    php+apache+mysql x64

    这个组合是Web开发中常见的LAMP(Linux, Apache, MySQL, PHP)堆栈在Windows平台上的变体,即WAMP(Windows, Apache, MySQL, PHP)。下面将详细介绍这三者以及它们在64位系统中的应用。 Apache_2.2.24-x64-openssl-...

    Linux下httpd+mysql+php自动安装脚本

    【标题】"Linux下httpd+mysql+php自动安装脚本"所涉及的知识点主要集中在构建LAMP(Linux + Apache + MySQL + PHP)服务器环境上。LAMP是互联网上最常用的开源Web服务堆栈,尤其在Linux系统中,它为开发和运行动态...

    Linux+Apache+Nginx+Mysql+PHP完美配置教程

    在配置Linux服务器以支持LAMP(Linux, Apache, MySQL, PHP)环境时,我们需要进行一系列的准备工作和安装步骤。以下是一个详细的步骤指南: **一、准备工作** 1. **安装编译工具** 在Linux系统中,通常使用GCC和...

    LINUX下APACHE+MYSQL+PHP运行环境搭建教程.pdf

    本教程旨在指导读者在LINUX系统中搭建APACHE+MYSQL+PHP运行环境,通过详细的步骤和命令,帮助读者快速搭建一个功能完善的Web服务器环境。 知识点1: Apache、MYSQL、PHP安装前的准备工作 在开始安装APACHE、MYSQL...

    linux上安装php5+apache+mysql

    ### Linux上安装PHP5+Apache+MySQL #### 一、安装MySQL 在Linux环境中搭建一个完整的LAMP(Linux, Apache, MySQL, PHP)环境时,MySQL作为数据库管理系统是不可或缺的一部分。下面详细介绍如何在Linux上安装MySQL...

    mysql+apache+php

    在Linux系统中,集成安装MySQL、Apache和PHP是构建一个LAMP(Linux、Apache、MySQL、PHP)服务器的基础。这个过程涉及到三个主要组件的下载、安装、配置以及它们之间的集成。 首先,我们来详细讲解MySQL的安装配置...

    linux+Apache+PHP+MySQL配置攻略

    为了确保Apache在系统启动时自动运行,需要创建一个自启动脚本,并将其链接到系统的启动服务目录。 7. **测试**:创建一个简单的PHP测试页面如`info.php`,包含`<?php phpinfo(); ?>`,访问该页面以验证Apache、PHP...

Global site tag (gtag.js) - Google Analytics