用户工具

站点工具


侧边栏

[侧边栏]

侧栏编辑 后台管理
GIT仓库
老web
C++Reference
快速笔记 笔记浏览

working:7_随笔随记:未整理:http
#!/bin/bash
#
# 注释说明

function script_mini::run(){
  local SCRIPT_NAME=${BASH_SOURCE[0]##*/}
  local SCRIPT_PATH=$(cd ${BASH_SOURCE[0]%/*} 2>/dev/null 1>/dev/null; pwd)
  
  local LIGHTTPD_MINI_PATH=$(cd ${SCRIPT_PATH}/..; pwd)

  echo "LIGHTTPD_MINI_PATH=${LIGHTTPD_MINI_PATH}"
  
  function lighttpd_mini::build(){
    echo "LIGHTTPD_MINI_PATH=${LIGHTTPD_MINI_PATH}"
	
	local WORK_PATH=${LIGHTTPD_MINI_PATH}/.workspace

	function wget_tar(){
	  [[ ! " ${@} " =~ " --quite " ]] && local isinfo="1>&2" || local isinfo="1>/dev/null 2>/dev/null"
      [[ ! " ${@} " =~ " --cont "  ]] && eval wget -N -P $1/resource $2 ${isinfo}
	  [[ ! " ${@} " =~ " --cont "  ]] && eval tar -zxvf ${1}/resource/${2##*/} -C ${1} ${isinfo}
	  echo ${1}/${2##*/} | sed -e 's/\.tar.gz//'
	}	
	function lighttpd_mini::build::zlib(){
	  local BUILD_PATH=$1 && local INSTL_PATH=$2 && local D3th_PATH=$3
	  
	  cd $(wget_tar ${BUILD_PATH} http://www.zlib.net/zlib-1.2.13.tar.gz)
        ./configure --prefix=${INSTL_PATH} --static
        make -j; make install -j
	}
	function lighttpd_mini::build::bzip2(){
	  local BUILD_PATH=$1 && local INSTL_PATH=$2 && local D3th_PATH=$3
	  
	  cd $(wget_tar ${BUILD_PATH} https://jaist.dl.sourceforge.net/project/bzip2/bzip2-1.0.6.tar.gz)
        make install PREFIX=${INSTL_PATH} -j
	}	
	function lighttpd_mini::build::pcre(){
	  local BUILD_PATH=$1 && local INSTL_PATH=$2 && local D3th_PATH=$3
	  
	  cd $(wget_tar ${BUILD_PATH} https://netix.dl.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz)
        ./configure --prefix=${INSTL_PATH} CC=gcc CXX=g++ \
          --enable-static=yse --enable-shared=no
        make -j; make install -j;
	}
	function lighttpd_mini::build::openssl(){
	  local BUILD_PATH=$1 && local INSTL_PATH=$2 && local D3th_PATH=$3
	  
	  cd $(wget_tar ${BUILD_PATH} https://www.openssl.org/source/openssl-1.1.1.tar.gz)
       ./config --prefix=${INSTL_PATH} no-shared --release
       make -j; make install_sw -j
	}
	
	function lighttpd_mini::build::lighttpd(){
	  local BUILD_PATH=$1 && local INSTL_PATH=$2 && local D3th_PATH=$3
	  
	  cd $(wget_tar ${BUILD_PATH} http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.39.tar.gz)
        ./configure --prefix=${INSTL_PATH} \
		  --enable-static=yse --enable-shared=no \
          PCRECONFIG=${D3th_PATH}/bin/pcre-config \
          PCRE_LIB=${D3th_PATH}/lib/libpcre.a \
		  SSL_LIB=${D3th_PATH}/lib/libssl.a \
          Z_LIB=${D3th_PATH}/lib/libz.a \
          BZ_LIB=${D3th_PATH}/lib/libbz2.a

       make -j; make install -j
	   cp -rfd ./doc/config ${INSTL_PATH}
	}
	function lighttpd_mini::build::php(){
	  local BUILD_PATH=$1 && local INSTL_PATH=$2 && local D3th_PATH=$3
	  
	  cd $(wget_tar ${BUILD_PATH} http://cn2.php.net/distributions/php-7.3.29.tar.gz)
        ./configure --prefix=${INSTL_PATH} \
           --enable-fpm \
		   --disable-phpdbg \
           --with-zlib-dir=${D3th_PATH} \
           --with-bz2-dir=${D3th_PATH}  \
           --with-openssl-dir=${D3th_PATH}

       make -j; make install -j
	}
	
	lighttpd_mini::build::zlib     "${WORK_PATH}/build" "${WORK_PATH}/3th"
	lighttpd_mini::build::bzip2    "${WORK_PATH}/build" "${WORK_PATH}/3th"
	lighttpd_mini::build::pcre     "${WORK_PATH}/build" "${WORK_PATH}/3th"
	lighttpd_mini::build::openssl  "${WORK_PATH}/build" "${WORK_PATH}/3th"
	lighttpd_mini::build::lighttpd "${WORK_PATH}/build" "${WORK_PATH}/lighttpd" "${WORK_PATH}/3th"
	lighttpd_mini::build::php      "${WORK_PATH}/build" "${WORK_PATH}/php"      "${WORK_PATH}/3th"
	
	strip ${WORK_PATH}/lighttpd/*/* ${WORK_PATH}/lighttpd/*/*/* 2>/dev/null
	strip ${WORK_PATH}/php/*/* ${WORK_PATH}/php/*/*/*           2>/dev/null
  }
  
  lighttpd_mini::build
  
  
  return
}

script_mini::run $@
working/7_随笔随记/未整理/http.txt · 最后更改: 2023/01/19 18:06 由 wenliang