mysql安装脚本

  1. #!/bin/bash 
  2.  
  3.  
  4. ###### variables ################### 
  5. GLOABLE_VARIABLE_FILE="./global_variables.sh" 
  6. SOURCE_FILENAME="mysql-5.1.41.zip" 
  7. UNPACK_DIR_NAME="mysql-5.1.41" 
  8.  
  9.  
  10. #########OK and failed ######## 
  11. GREEN_OK="\e[0;32m\033[1mOK\e[m"  
  12. RED_FAILED="\e[0;31m\033[1mFAILED\e[m" 
  13.  
  14.  
  15.  
  16. #### source the global variable ##### 
  17. source ${GLOABLE_VARIABLE_FILE} 
  18.  
  19.  
  20. #######lots of  functions ########## 
  21.  
  22.  
  23. error() 
  24.     local FORMAT="$1" 
  25.     shift 
  26.     printf "${RED_FAILED} - ${FORMAT}\n" "$@" >&1 
  27.  
  28. info() 
  29.     local FORMAT="$1" 
  30.     shift 
  31.     printf "INFO - ${FORMAT}\n" "$@" >&1 
  32.  
  33. warning() 
  34.     local FORMAT="$1" 
  35.     shift 
  36.     print "WARNING - ${FORMAT}\n" "$@" >&1 
  37.  
  38.  
  39. check_source() 
  40.     info "Checking source file %s.\n" "${SOURCE_FILENAME}" 
  41.     if [ -f ${SOURCE_DIR}/${SOURCE_FILENAME} ] 
  42.     then 
  43.         info "Mysql file %s is ${GREEN_OK}.\n" "${SOURCE_FILENAME}" 
  44.     else 
  45.         error "%s file not found.\n" "${SOURCE_FILENAME}" 
  46.         exit $? 
  47.     fi 
  48.  
  49. unpack_file() 
  50.     info "Unpack the source file %s .\n" "${SOURCE_FILENAME}" 
  51.     unzip ${SOURCE_DIR}/${SOURCE_FILENAME}  -d  ${UNPACK_DIR}  1>/dev/null 
  52.     if [[ $? != 0 ]] 
  53.     then 
  54.         error "Can not unpack file %s.\n"  "${SOURCE_FILENAME}" 
  55.         exit $? 
  56.     else  
  57.         info "Unpack %s done.${GREEN_OK}\n" "${SOURCE_FILENAME}" 
  58.     fi 
  59.  
  60. install_file() 
  61.     cd ${UNPACK_DIR}/${UNPACK_DIR_NAME} 
  62.     local CONFIG_VARIABLE="--prefix=${INSTALL_ROOT}/mysql --localstatedir=${INSTALL_ROOT}/var/mysql/var --with-unix-socket-path=${INSTALL_ROOT}/mysql/mysql.sock --with-mysqld-user=mysql --with-plugins=archive,partition,myisam,innobase,heap,csv --with-extra-charsets=gbk,gb2312,utf8,ascii --with-charset=utf8 --with-collation=utf8_general_ci --with-big-tables --enable-assembler --enable-profiling --enable-local-infile --enable-thread-safe-client --with-fast-mutexes --with-pthread --with-zlib-dir=bundled --with-readline --without-geometry --without-embedded-server --without-debug --without-ndb-debug --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static" 
  63.     info "Now configure the mysql,this will take serveral minutes...\n" 
  64.     useradd mysql 
  65.     ./configure ${CONFIG_VARIABLE}  1>/dev/null 
  66.     if [[ $? == 0 ]] 
  67.     then 
  68.         info "Mysql configure ${GREEN_OK}. Now  make and make install. this will take serveral minutes... \n" 
  69.         make  1>/dev/null && make install 1>/dev/null 
  70.         if [[  $? == 0 ]] 
  71.         then 
  72.             cp -a support-files/my-medium.cnf.sh   /etc/my.cnf  
  73.             info "Mysql installed ${GREEN_OK}.\n" 
  74.         else 
  75.             error "Mysql not installed.\n " 
  76.             exit $? 
  77.         fi 
  78.     else 
  79.         error "Configure is not complete.\n"   
  80.         exit $? 
  81.     fi 
  82.     cd - 
  83.  
  84.  
  85. ################## main ########################## 
  86.  
  87. #check file 
  88. check_source 
  89.  
  90. #unpack the file 
  91. unpack_file 
  92.  
  93.  
  94. #install file 
  95. info "Begin to install the mysql service.\n" 
  96. install_file 

php安装脚本

  1. #!/bin/bash 
  2.  
  3.  
  4. ###### variables ################### 
  5. GLOABLE_VARIABLE_FILE="./global_variables.sh" 
  6. SOURCE_FILENAME="php-5.2.9.tar.gz" 
  7. UNPACK_DIR_NAME="php-5.2.9" 
  8. DB4="db4.tar.gz" 
  9.  
  10.  
  11.  
  12. #########OK and failed ######## 
  13. GREEN_OK="\e[0;32m\033[1mOK\e[m"  
  14. RED_FAILED="\e[0;31m\033[1mFAILED\e[m" 
  15.  
  16.  
  17.  
  18. #### source the global variable ##### 
  19. source ${GLOABLE_VARIABLE_FILE} 
  20.  
  21.  
  22. #######lots of  functions ########## 
  23.  
  24.  
  25. error() 
  26.     local FORMAT="$1" 
  27.     shift 
  28.     printf "${RED_FAILED} - ${FORMAT}\n" "$@" >&1 
  29.  
  30. info() 
  31.     local FORMAT="$1" 
  32.     shift 
  33.     printf "INFO - ${FORMAT}\n" "$@" >&1 
  34.  
  35. warning() 
  36.     local FORMAT="$1" 
  37.     shift 
  38.     print "WARNING - ${FORMAT}\n" "$@" >&1 
  39.  
  40.  
  41. check_source() 
  42.     info "Checking source file %s.\n" "${SOURCE_FILENAME}" 
  43.     if [ -f ${SOURCE_DIR}/${SOURCE_FILENAME} ] 
  44.     then 
  45.         info "PHP file %s is ${GREEN_OK}.\n" "${SOURCE_FILENAME}" 
  46.     else 
  47.         error "%s file not found.\n" "${SOURCE_FILENAME}" 
  48.         exit $? 
  49.     fi 
  50.  
  51. unpack_file() 
  52.     info "Unpack the source file %s .\n" "${SOURCE_FILENAME}" 
  53.     tar -zxf ${SOURCE_DIR}/${SOURCE_FILENAME}  -C  ${UNPACK_DIR} 
  54.     if [[ $? != 0 ]] 
  55.     then 
  56.         error "Can not unpack file %s.\n"  "${HTTPD_SOURCE_FILENAME}" 
  57.         exit $? 
  58.     else  
  59.         info "Unpack %s done.${GREEN_OK}\n" "${HTTPD_SOURCE_FILENAME}" 
  60.     fi 
  61.  
  62. install_file() 
  63.     cd ${UNPACK_DIR}/${UNPACK_DIR_NAME} 
  64.     local CONFIG_VARIABLE="--prefix=${INSTALL_ROOT}/php --with-apxs2=${INSTALL_ROOT}/httpd/bin/apxs --with-mysql=${INSTALL_ROOT}/mysql/ --with-curl --with-freetype-dir --enable-gd-native-ttf --with-ttf --with-sybase --with-mssql --with-zlib --with-gd --with-jpeg-dir --enable-mbstring=all --enable-mbregex --enable-soap --with-mcrypt --enable-sockets --enable-ftp --enable-zip --with-iconv --with-xsl --with-xmlrpc --with-png-dir --with-openssl --with-db4=${INSTALL_ROOT}/db4/php_db4/" 
  65.     info "Now configure the php,this will take serveral minutes...\n" 
  66.     ./configure ${CONFIG_VARIABLE}   1>/dev/null 
  67.     if [[ $? == 0 ]] 
  68.     then 
  69.         info "PHP configure ${GREEN_OK}. Now  make and make install. this will take serveral minutes... \n" 
  70.         make  1>/dev/null && make install 1>/dev/null 
  71.         if [[  $? == 0 ]] 
  72.         then 
  73.             info "PHP installed ${GREEN_OK}.\n" 
  74.         else 
  75.             error "PHP not installed.\n " 
  76.             exit $? 
  77.         fi 
  78.     else 
  79.         error "Configure is not complete.\n"   
  80.         exit $? 
  81.     fi 
  82.     cd - 
  83.      
  84.  
  85. install_apc() 
  86.     local APC_FILENAME="APC-3.1.9.tgz" 
  87.     local APC_DIR="APC-3.1.9" 
  88.     info "Unpack the apc file %s\n" "${APC_FILENAME}" 
  89.     tar -zxf ${SOURCE_DIR}/${APC_FILENAME}  -C  ${UNPACK_DIR} 
  90.     if [[ $? == 0 ]] 
  91.     then 
  92.         info "unpack %s done.${GREEN_OK}\n"   "${APC_FILENAME}" 
  93.     else 
  94.         error "unpack %s failed.\n"  "${APC_FILENAME}" 
  95.         exit $? 
  96.     fi 
  97.     cd ${UNPACK_DIR}/${APC_DIR} 
  98.     info "Now configure the apc,this will take serveral minutes...\n" 
  99.     ${INSTALL_ROOT}/php/bin/phpize 1>/dev/null 
  100.     ./configure --with-php-config=${INSTALL_ROOT}/php/bin/php-config  1>/dev/null 
  101.     if [[ $? == 0 ]] 
  102.     then 
  103.         info "APC configure ${GREEN_OK}. Now  make . this will take serveral minutes... \n" 
  104.         make  1>/dev/null 
  105.         if [[  $? == 0 ]] 
  106.         then 
  107.             info "APC installed ${GREEN_OK}.\n" 
  108.             info "copy the apc.so to ${INSTALL_ROOT}/php/lib/php/extensions/ \n" 
  109.             cp -a modules/apc.so ${INSTALL_ROOT}/php/lib/php/extensions/ 
  110.             if [[ $? == 0 ]] 
  111.             then 
  112.                 info "copy apc.so done.${GREEN_OK}\n" 
  113.             else 
  114.                 error "copy apc.so failed.\n" 
  115.                 exit $? 
  116.             fi 
  117.         else 
  118.             error "APC not installed.\n " 
  119.             exit $? 
  120.         fi 
  121.     else 
  122.         error "Configure is not complete.\n"   
  123.         exit $? 
  124.     fi 
  125.     cd - 
  126.  
  127. install_memcache() 
  128.     local MEMCACHE_FILENAME="memcache-3.0.6.tgz" 
  129.     local MEMCACHE_DIR="memcache-3.0.6" 
  130.     info "Unpack the memcache file %s\n" "${MEMCACHE_FILENAME}" 
  131.     tar -zxf ${SOURCE_DIR}/${MEMCACHE_FILENAME}  -C  ${UNPACK_DIR} 
  132.     if [[ $? == 0 ]] 
  133.     then 
  134.         info "unpack %s done.${GREEN_OK}\n"  "${MEMCACHE_FILENAME}" 
  135.     else 
  136.         error "unpack %s failed.\n"  "${MEMCACHE_FILENAME}" 
  137.         exit $? 
  138.     fi 
  139.     cd ${UNPACK_DIR}/${MEMCACHE_DIR} 
  140.     info "Now configure the apc,this will take serveral minutes...\n" 
  141.     ${INSTALL_ROOT}/php/bin/phpize  1>/dev/null 
  142.     ./configure --with-php-config=${INSTALL_ROOT}/php/bin/php-config  1>/dev/null 
  143.     if [[ $? == 0 ]] 
  144.     then 
  145.         info "memcache configure ${GREEN_OK}. Now  make . this will take serveral minutes... \n" 
  146.         make  1>/dev/null 
  147.         if [[  $? == 0 ]] 
  148.         then 
  149.             info "memcache installed ${GREEN_OK}.\n" 
  150.             info "copy the memcache.so to ${INSTALL_ROOT}/php/lib/php/extensions/ \n" 
  151.             cp -a modules/memcache.so ${INSTALL_ROOT}/php/lib/php/extensions/ 
  152.             if [[ $? == 0 ]] 
  153.             then 
  154.                 info "copy memcache.so done.${GREEN_OK}\n" 
  155.             else 
  156.                 error "copy memcache.so failed.\n" 
  157.                 exit $? 
  158.             fi 
  159.         else 
  160.             error "memcache not installed.\n " 
  161.             exit $? 
  162.         fi 
  163.     else 
  164.         error "Configure is not complete.\n"   
  165.         exit $? 
  166.     fi 
  167.     cd - 
  168.  
  169. install_ImageMagick() 
  170.     local ImageMagick_FILENAME="ImageMagick-6.6.6-10.tar.gz" 
  171.     local ImageMagick_DIR="ImageMagick-6.6.6-10" 
  172.     info "Unpack the ImageMagick file %s\n" "${ImageMagick_FILENAME}" 
  173.     tar -zxf ${SOURCE_DIR}/${ImageMagick_FILENAME}  -C  ${UNPACK_DIR} 
  174.     if [[ $? == 0 ]] 
  175.     then 
  176.         info "unpack %s done.${GREEN_OK}\n"  "${ImageMagick_FILENAME}" 
  177.     else 
  178.         error "unpack %s failed.\n"  "${ImageMagick_FILENAME}" 
  179.         exit $? 
  180.     fi 
  181.     cd ${UNPACK_DIR}/${ImageMagick_DIR} 
  182.     info "Now configure the ImageMagick,this will take serveral minutes...\n" 
  183.     ./configure  1>/dev/null 
  184.     if [[ $? == 0 ]] 
  185.     then 
  186.         info "ImageMagick configure ${GREEN_OK}. Now  make and make install . this will take serveral minutes... \n" 
  187.         make  1>/dev/null && make install  1>/dev/null 
  188.         if [[  $? == 0 ]] 
  189.         then 
  190.             info "ImageMagick installed ${GREEN_OK}.\n" 
  191.         else 
  192.             error "ImageMagick not installed.\n " 
  193.             exit $? 
  194.         fi 
  195.     else 
  196.         error "Configure is not complete.\n"   
  197.         exit $? 
  198.     fi 
  199.     cd - 
  200.  
  201. install_imagick() 
  202.     local imagick_FILENAME="imagick-3.1.0b1.tgz" 
  203.     local imagick_DIR="imagick-3.1.0b1" 
  204.     info "Unpack the imagick file %s\n" "${imagick_FILENAME}" 
  205.     tar -zxf ${SOURCE_DIR}/${imagick_FILENAME}  -C  ${UNPACK_DIR} 
  206.     if [[ $? == 0 ]] 
  207.     then 
  208.         info "unpack %s done.${GREEN_OK}\n" "${imagick_FILENAME}" 
  209.     else 
  210.         error "unpack %s failed.\n"  "${imagick_FILENAME}" 
  211.         exit $? 
  212.     fi 
  213.     cd ${UNPACK_DIR}/${imagick_DIR} 
  214.     info "Now configure the imagick,this will take serveral minutes...\n" 
  215.     ${INSTALL_ROOT}/php/bin/phpize    1>/dev/null 
  216.     ./configure --with-php-config=${INSTALL_ROOT}/php/bin/php-config   1>/dev/null 
  217.     if [[ $? == 0 ]] 
  218.     then 
  219.         info "imagick configure ${GREEN_OK}. Now  make . this will take serveral minutes... \n" 
  220.         make  1>/dev/null 
  221.         if [[  $? == 0 ]] 
  222.         then 
  223.             info "imagick installed ${GREEN_OK}.\n" 
  224.             info "copy the imagick.so to ${INSTALL_ROOT}/php/lib/php/extensions/ \n" 
  225.             cp -a modules/imagick.so  ${INSTALL_ROOT}/php/lib/php/extensions/ 
  226.             if [[ $? == 0 ]] 
  227.             then 
  228.                 info "copy imagick.so done.${GREEN_OK}\n" 
  229.             else 
  230.                 error "copy imagick.so failed.\n" 
  231.                 exit $? 
  232.             fi 
  233.         else 
  234.             error "imagick not installed.\n " 
  235.             exit $? 
  236.         fi 
  237.     else 
  238.         error "Configure is not complete.\n"   
  239.         exit $? 
  240.     fi   
  241.     cd - 
  242.  
  243. install_MagickWandForPHP() 
  244.     local MagickWandForPHP_FILENAME="MagickWandForPHP-1.0.7.tar.gz" 
  245.     local MagickWandForPHP_DIR="MagickWandForPHP-1.0.7" 
  246.     info "Unpack the MagickWandForPHP file %s\n" "${MagickWandForPHP_FILENAME}" 
  247.     tar -zxf ${SOURCE_DIR}/${MagickWandForPHP_FILENAME}  -C  ${UNPACK_DIR} 
  248.     if [[ $? == 0 ]] 
  249.     then 
  250.         info "unpack %s done.${GREEN_OK}\n" "${MagickWandForPHP_FILENAME}" 
  251.     else 
  252.         error "unpack %s failed.\n"  "${MagickWandForPHP_FILENAME}" 
  253.         exit $? 
  254.     fi 
  255.     cd ${UNPACK_DIR}/${MagickWandForPHP_DIR} 
  256.     info "Now configure the MagickWandForPHP,this will take serveral minutes...\n" 
  257.     ${INSTALL_ROOT}/php/bin/phpize   1>/dev/null 
  258.     ./configure --with-php-config=${INSTALL_ROOT}/php/bin/php-config   1>/dev/null 
  259.     if [[ $? == 0 ]] 
  260.     then 
  261.         info "MagickWandForPHP configure ${GREEN_OK}. Now  make . this will take serveral minutes... \n" 
  262.         make  1>/dev/null 
  263.         if [[  $? == 0 ]] 
  264.         then 
  265.             info "MagickWandForPHP installed ${GREEN_OK}.\n" 
  266.             info "copy the MagickWandForPHP.so to ${INSTALL_ROOT}/php/lib/php/extensions/ \n" 
  267.             cp -a modules/magickwand.so  ${INSTALL_ROOT}/php/lib/php/extensions/ 
  268.             if [[ $? == 0 ]] 
  269.             then 
  270.                 info "copy magickwand.so done.${GREEN_OK}\n" 
  271.             else 
  272.                 error "copy magickwand.so failed.\n" 
  273.                 exit $? 
  274.             fi 
  275.         else 
  276.             error "MagickWandForPHP not installed.\n " 
  277.             exit $? 
  278.         fi 
  279.     else 
  280.         error "Configure is not complete.\n"   
  281.         exit $? 
  282.     fi   
  283.     cd - 
  284.  
  285. install_svn() 
  286.     local svn_FILENAME="svn-1.0.1.tgz" 
  287.     local svn_DIR="svn-1.0.1" 
  288.     info "Unpack the svn file %s\n" "${svn_FILENAME}" 
  289.     tar -zxf ${SOURCE_DIR}/${svn_FILENAME}  -C  ${UNPACK_DIR} 
  290.     if [[ $? == 0 ]] 
  291.     then 
  292.         info "unpack %s done.${GREEN_OK}\n" "${svn_FILENAME}" 
  293.     else 
  294.         error "unpack %s failed.\n"  "${svn_FILENAME}" 
  295.         exit $? 
  296.     fi 
  297.     cd ${UNPACK_DIR}/${svn_DIR} 
  298.     info "Now configure the svn,this will take serveral minutes...\n" 
  299.     ${INSTALL_ROOT}/php/bin/phpize   1>/dev/null 
  300.     ./configure --with-php-config=${INSTALL_ROOT}/php/bin/php-config   1>/dev/null 
  301.     if [[ $? == 0 ]] 
  302.     then 
  303.         info "SVN configure ${GREEN_OK}. Now  make . this will take serveral minutes... \n" 
  304.         make  1>/dev/null 
  305.         if [[  $? == 0 ]] 
  306.         then 
  307.             info "SVN installed ${GREEN_OK}.\n" 
  308.             info "copy the svn.so to ${INSTALL_ROOT}/php/lib/php/extensions/ \n" 
  309.             cp -a modules/svn.so  ${INSTALL_ROOT}/php/lib/php/extensions/ 
  310.             if [[ $? == 0 ]] 
  311.             then 
  312.                 info "copy svn.so done.${GREEN_OK}\n" 
  313.             else 
  314.                 error "copy svn.so failed.\n" 
  315.                 exit $? 
  316.             fi 
  317.         else 
  318.             error "svn not installed.\n " 
  319.             exit $? 
  320.         fi 
  321.     else 
  322.         error "Configure is not complete.\n"   
  323.         exit $? 
  324.     fi   
  325.     cd - 
  326.  
  327. install_memcached() 
  328.     local memcached_FILENAME="memcached-1.4.6.tar.gz" 
  329.     local memcached_DIR="memcached-1.4.6" 
  330.     info "Unpack the memcached file %s\n" "${memcached_FILENAME}" 
  331.     tar -zxf ${SOURCE_DIR}/${memcached_FILENAME}  -C  ${UNPACK_DIR} 
  332.     if [[ $? == 0 ]] 
  333.     then 
  334.         info "unpack %s done.${GREEN_OK}\n" "${memcached_FILENAME}" 
  335.     else 
  336.         error "unpack %s failed.\n"  "${memcached_FILENAME}" 
  337.         exit $? 
  338.     fi 
  339.     cd ${UNPACK_DIR}/${memcached_DIR} 
  340.     info "Now configure the memcached,this will take serveral minutes...\n" 
  341.     ./configure --prefix=/usr/local/memcached   1>/dev/null 
  342.     if [[ $? == 0 ]] 
  343.     then 
  344.         info "Memcached configure ${GREEN_OK}. Now  make and make install. this will take serveral minutes... \n" 
  345.         make  1>/dev/null && make install 1>/dev/null 
  346.         if [[  $? == 0 ]] 
  347.         then 
  348.             info "Memcached installed ${GREEN_OK}.\n" 
  349.         else 
  350.             error "Memcached not installed.\n " 
  351.             exit $? 
  352.         fi 
  353.     else 
  354.         error "Configure is not complete.\n"   
  355.         exit $? 
  356.     fi 
  357.     cd - 
  358.  
  359. install_libmemcached() 
  360.     local libmemcached_FILENAME="libmemcached-0.50.tar.gz" 
  361.     local libmemcached_DIR="libmemcached-0.50" 
  362.     info "Unpack the libmemcached file %s\n" "${libmemcached_FILENAME}" 
  363.     tar -zxf ${SOURCE_DIR}/${libmemcached_FILENAME}  -C  ${UNPACK_DIR} 
  364.     if [[ $? == 0 ]] 
  365.     then 
  366.         info "unpack %s done.${GREEN_OK}\n" "${libmemcached_FILENAME}" 
  367.     else 
  368.         error "unpack %s failed.\n"  "${libmemcached_FILENAME}" 
  369.         exit $? 
  370.     fi 
  371.     cd ${UNPACK_DIR}/${libmemcached_DIR} 
  372.     info "Now configure the libmemcached,this will take serveral minutes...\n" 
  373.     ./configure --with-memcached=/usr/local/memcached/bin/memcached   1>/dev/null 
  374.     if [[ $? == 0 ]] 
  375.     then 
  376.         info "libmemcached configure ${GREEN_OK}. Now  make and make install. this will take serveral minutes... \n" 
  377.         make  1>/dev/null && make install 1>/dev/null 
  378.         if [[  $? == 0 ]] 
  379.         then 
  380.             info "libmemcached installed ${GREEN_OK}.\n" 
  381.         else 
  382.             error "libmemcached not installed.\n " 
  383.             exit $? 
  384.         fi 
  385.     else 
  386.         error "Configure is not complete.\n"   
  387.         exit $? 
  388.     fi 
  389.     cd - 
  390.  
  391. install_memcache2() 
  392.     local memcache_FILENAME="memcached-2.0.0b2.tgz" 
  393.     local memcache_DIR="memcached-2.0.0b2" 
  394.     info "Unpack the memcache extension file %s\n" "${memcache_FILENAME}" 
  395.     tar -zxf ${SOURCE_DIR}/${memcache_FILENAME}  -C  ${UNPACK_DIR} 
  396.     if [[ $? == 0 ]] 
  397.     then 
  398.         info "unpack %s done.${GREEN_OK}\n" "${memcache_FILENAME}" 
  399.     else 
  400.         error "unpack %s failed.\n"  "${memcache_FILENAME}" 
  401.         exit $? 
  402.     fi 
  403.     cd ${UNPACK_DIR}/${memcache_DIR} 
  404.     info "Now configure the memcache extension,this will take serveral minutes...\n" 
  405.     ${INSTALL_ROOT}/php/bin/phpize    1>/dev/null 
  406.     ./configure --with-php-config=${INSTALL_ROOT}/php/bin/php-config   1>/dev/null 
  407.     if [[ $? == 0 ]] 
  408.     then 
  409.         info "memcache extension configure ${GREEN_OK}. Now  make . this will take serveral minutes... \n" 
  410.         make  1>/dev/null 
  411.         if [[  $? == 0 ]] 
  412.         then 
  413.             info "memcache extension installed ${GREEN_OK}.\n" 
  414.             info "copy the svn.so to ${INSTALL_ROOT}/php/lib/php/extensions/ \n" 
  415.             cp -a modules/memcached.so  ${INSTALL_ROOT}/php/lib/php/extensions/ 
  416.             if [[ $? == 0 ]] 
  417.             then 
  418.                 info "copy memcached.so done.${GREEN_OK}\n" 
  419.             else 
  420.                 error "copy memcached.so failed.\n" 
  421.                 exit $? 
  422.             fi 
  423.         else 
  424.             error "memcache extension not installed.\n " 
  425.             exit $? 
  426.         fi 
  427.     else 
  428.         error "Configure is not complete.\n"   
  429.         exit $? 
  430.     fi   
  431.     cd - 
  432.  
  433. install_snmp() 
  434.     info "Now configure the snmp,this will take serveral minutes...\n" 
  435.     cd ${UNPACK_DIR}/${UNPACK_DIR_NAME}/ext/snmp/   
  436.     ${INSTALL_ROOT}/php/bin/phpize   1>/dev/null 
  437.     ./configure --with-php-config=${INSTALL_ROOT}/php/bin/php-config   1>/dev/null 
  438.     if [[ $? == 0 ]] 
  439.     then 
  440.         info "snmp extension configure ${GREEN_OK}. Now  make . this will take serveral minutes... \n" 
  441.         make  1>/dev/null 
  442.         if [[  $? == 0 ]] 
  443.         then 
  444.             info "snmp extension installed ${GREEN_OK}.\n" 
  445.             info "copy the svn.so to ${INSTALL_ROOT}/php/lib/php/extensions/ \n" 
  446.             cp -a modules/snmp.so  ${INSTALL_ROOT}/php/lib/php/extensions/ 
  447.             if [[ $? == 0 ]] 
  448.             then 
  449.                 info "copy snmp.so done.${GREEN_OK}\n" 
  450.             else 
  451.                 error "copy snmp.so failed.\n" 
  452.                 exit $? 
  453.             fi 
  454.         else 
  455.             error "snmp extension not installed.\n " 
  456.             exit $? 
  457.         fi 
  458.     else 
  459.         error "Configure is not complete.\n"   
  460.         exit $? 
  461.     fi   
  462.     cd - 
  463.  
  464. ## 2011-07-25 add  libmcrypt install ######## 
  465. install_libmcrypt() 
  466.     local libmcrypt_FILENAME="libmcrypt-2.5.7.tar.gz" 
  467.     local libmcrypt_DIR="libmcrypt-2.5.7" 
  468.     info "Unpack the libmcrypt file %s\n" "${libmcrypt_FILENAME}" 
  469.     tar -zxf ${SOURCE_DIR}/${libmcrypt_FILENAME}  -C  ${UNPACK_DIR} 
  470.     if [[ $? == 0 ]] 
  471.     then 
  472.         info "unpack %s done.${GREEN_OK}\n"   "${libmcrypt_FILENAME}" 
  473.     else 
  474.         error "unpack %s failed.\n"  "${libmcrypt_FILENAME}" 
  475.         exit $? 
  476.     fi 
  477.     cd ${UNPACK_DIR}/${libmcrypt_DIR} 
  478.     info "Now configure the libmcrypt,this will take serveral minutes...\n" 
  479.     ./configure  1>/dev/null 
  480.     if [[ $? == 0 ]] 
  481.     then 
  482.         info "libmcrypt configure ${GREEN_OK}. Now  make and install. this will take serveral minutes... \n" 
  483.         make   1>/dev/null  &&  make install  1>/dev/null 
  484.         if [[  $? == 0 ]] 
  485.         then 
  486.             info "libmcrypt installed ${GREEN_OK}.\n" 
  487.         else 
  488.             error "libmcrypt not installed.\n " 
  489.             exit $? 
  490.         fi 
  491.     else 
  492.         error "Configure is not complete.\n"   
  493.         exit $? 
  494.     fi 
  495.     cd - 
  496.  
  497.  
  498. ################## main ########################## 
  499.  
  500.  
  501. ### install depdendences ##### 
  502. yum install -y gd-devel freetds-devel libjpeg-devel libpng-devel libmcrypt-devel libevent-devel libtool-l* 
  503.  
  504. #### untar the db4 ############# 
  505. tar -zxf ${SOURCE_DIR}/${DB4} -C ${INSTALL_ROOT} 
  506.  
  507. #####copy libsybdb.so to  /usr/lib ######## 
  508. cp -a /usr/lib64/libsybdb.so.5.0.0  /usr/lib/ 
  509. ln -s /usr/lib/libsybdb.so.5.0.0  /usr/lib/libsybdb.so 
  510.  
  511. ### install libmrcypt ###### 
  512. install_libmcrypt 
  513.  
  514. #Check the php file 
  515. check_source 
  516.  
  517. #unpack file 
  518. unpack_file 
  519.  
  520. #install file 
  521. install_file 
  522.  
  523.  
  524. #####copy php.ini file  ########## 
  525. #cp  ${UNPACK_DIR}/${UNPACK_DIR_NAME}/php.ini-production  ${INSTALL_ROOT}/php/lib/php.ini 
  526.  
  527. ######edit the ext dir ########### 
  528. #more ${INSTALL_ROOT}/php/lib/php.ini |  sed 's/; extension_dir = "\.\/"/extension_dir = "\/opt\/php\/lib\/php\/extensions\/"/' >${INSTALL_ROOT}/php/lib/php.ini_bak 
  529. #rm -f ${INSTALL_ROOT}/php/lib/php.ini  
  530. # mv ${INSTALL_ROOT}/php/lib/php.ini_bak  ${INSTALL_ROOT}/php/lib/php.ini 
  531.  
  532. ##### create extensions dir ############ 
  533. mkdir -p  ${INSTALL_ROOT}/php/lib/php/extensions/ 
  534.   
  535. ###### install apc ########## 
  536. install_apc 
  537.  
  538. ######## install  memcache ########## 
  539. install_memcache 
  540.  
  541. ######## magickwand ############# 
  542. install_ImageMagick 
  543.  
  544. ######### install ghostscript ###### 
  545. yum install -y ghostscript 
  546.  
  547. ############ install   imagick######## 
  548. install_imagick 
  549.  
  550. #########install MagickWandForPHP ####### 
  551. install_MagickWandForPHP 
  552.  
  553. #########install  svn ################### 
  554. yum install -y subversion-devel neon-devel 
  555. install_svn 
  556.  
  557. #########install memcached ############## 
  558. install_memcached 
  559.  
  560. #########install libmemcached ############ 
  561. install_libmemcached 
  562.  
  563. ############install memcache ext ########### 
  564. install_memcache2 
  565.  
  566. #############install  snmp ext ############ 
  567. yum install -y net-snmp-devel 
  568. install_snmp 
  569.  
  570. #####copy samples conf file ################ 
  571. cp  -a ${CONF_SAMPLE}/php.ini   ${INSTALL_ROOT}/php/lib/php.ini 

安装memcached

  1. #!/bin/bash 
  2.  
  3.  
  4. ###### variables ################### 
  5. GLOABLE_VARIABLE_FILE="./global_variables.sh" 
  6. SOURCE_FILENAME="memcached-1.4.6.tar.gz" 
  7. UNPACK_DIR_NAME="memcached-1.4.6" 
  8.  
  9.  
  10. #### source the global variable ##### 
  11. source ${GLOABLE_VARIABLE_FILE} 
  12.  
  13.  
  14. #########OK and failed ######## 
  15. GREEN_OK="\e[0;32m\033[1mOK\e[m"  
  16. RED_FAILED="\e[0;31m\033[1mFAILED\e[m" 
  17.  
  18.  
  19.  
  20. #######lots of  functions ########## 
  21.  
  22. error() 
  23.     local FORMAT="$1" 
  24.     shift 
  25.     printf "${RED_FAILED} - ${FORMAT}\n" "$@" >&1 
  26.  
  27. info() 
  28.     local FORMAT="$1" 
  29.     shift 
  30.     printf "INFO - ${FORMAT}\n" "$@" >&1 
  31.  
  32. warning() 
  33.     local FORMAT="$1" 
  34.     shift 
  35.     print "WARNING - ${FORMAT}\n" "$@" >&1 
  36.  
  37.  
  38. check_source() 
  39.     info "Checking source file %s.\n" "${SOURCE_FILENAME}" 
  40.     if [ -f ${SOURCE_DIR}/${SOURCE_FILENAME} ] 
  41.     then 
  42.         info "Memcached file %s is ${GREEN_OK}.\n" "${SOURCE_FILENAME}" 
  43.     else 
  44.         error "%s file not found.\n" "${SOURCE_FILENAME}" 
  45.         exit $? 
  46.     fi 
  47.  
  48. unpack_file() 
  49.     info "Unpack the source file %s .\n" "${SOURCE_FILENAME}" 
  50.     tar -zxf ${SOURCE_DIR}/${SOURCE_FILENAME}  -C  ${UNPACK_DIR} 
  51.     if [[ $? != 0 ]] 
  52.     then 
  53.         error "Can not unpack file %s.\n"  "${SOURCE_FILENAME}" 
  54.         exit $? 
  55.     else  
  56.         info "Unpack %s done.${GREEN_OK}\n" "${SOURCE_FILENAME}" 
  57.     fi 
  58.  
  59. install_memcached() 
  60.     cd ${UNPACK_DIR}/${UNPACK_DIR_NAME} 
  61.     info "Now configure the memcached,this will take serveral minutes...\n" 
  62.     ./configure --prefix=/usr/local/memcached  1>/dev/null 
  63.     if [[ $? == 0 ]] 
  64.     then 
  65.         info "Memcached configure ${GREEN_OK}. Now  make and make install. this will take serveral minutes... \n" 
  66.         make  1>/dev/null && make install 1>/dev/null 
  67.         if [[  $? == 0 ]] 
  68.         then 
  69.             info "Memcached installed ${GREEN_OK}.\n" 
  70.         else 
  71.             error "Memcached not installed.\n " 
  72.             exit $? 
  73.         fi 
  74.     else 
  75.         error "Configure is not complete.\n"   
  76.         exit $? 
  77.     fi 
  78.     cd - 
  79.  
  80. install_magent() 
  81.     local magent_FILENAME="magent-0.5.tar.gz" 
  82.     mkdir -p ${UNPACK_DIR}/magent 
  83.     info "Unpack the file  %s .\n" "${magent_FILENAME}" 
  84.     tar -zxf ${SOURCE_DIR}/${magent_FILENAME}  -C  ${UNPACK_DIR}/magent 
  85.     if [[ $? != 0 ]] 
  86.     then 
  87.         error "Can not unpack file %s.\n"  "${magent_FILENAME}" 
  88.         exit $? 
  89.     else  
  90.         info "Unpack %s done.${GREEN_OK}\n" "${magent_FILENAME}" 
  91.     fi 
  92.     cd ${UNPACK_DIR}/magent 
  93.     /sbin/ldconfig 
  94.     sed -i 's#LIBS = -levent#LIBS = -levent -lm#g' Makefile 
  95.     make 1>/dev/null 
  96.     cp magent /usr/bin/magent 
  97.     if [[ $? == 0 ]] 
  98.     then 
  99.         info "Magent install done.${GREEN_OK}\n" 
  100.     else 
  101.         error "Magent not installed.\n" 
  102.         exit $? 
  103.     fi 
  104.     cd - 
  105.  
  106.  
  107.  
  108.  
  109.  
  110. ################## main ########################## 
  111.  
  112. #install depdences 
  113. yum install -y libevent  libevent-devel 
  114.  
  115. #check file 
  116. check_source 
  117.  
  118. #unpack file 
  119. unpack_file 
  120.  
  121. #install memcached 
  122. install_memcached 
  123.  
  124. #install magent 
  125. install_magent