LAMP一鍵安裝腳本

#!/bin/bash/

#Auto setup LAMP,download software by internet.

#by lrj 

#2016-3-23

 

#定義各自變量及目錄

 

PUBLIC_DIR=/data/software/lamp/                  #下載的源碼包放這裏

 

#Apache define path variable

H_FILES=httpd-2.2.31.tar.bz2

H_FILES_DIR=httpd-2.2.31

H_URL=http://mirrors.cnnic.cn/apache/httpd/    #中國互聯網絡信息中心開源鏡像站(apache開源軟件鏡像,包含hadoophbase等資源)

H_PREFIX=/usr/local/apache2/

 

#MySQL define path variable

M_FILES=mysql-5.5.48.tar.gz

M_FILES_DIR=mysql-5.5.48

M_URL=http://mirrors.sohu.com/mysql/MySQL-5.5/

M_PREFIX=/usr/local/mysql/

 

#PHP define path variable

P_FILES=php-5.3.28.tar.gz 

P_FILES_DIR=php-5.3.28

P_URL=http://mirrors.sohu.com/php/                #sohu的源,比較多資源

P_PREFIX=/usr/local/php5/

 

#打印菜單

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

echo

 

if [ -z "$1" ];then

          echo -e " \033[36m Please select Install Memu follow:\033[0m "

  echo -e " \033[32m 1)編譯安裝Apache服務器\033[0m "

  echo -e "  2)編譯安裝MySQL服務器 "

  echo -e "  3)編譯安裝PHP服務器 "

  echo -e "  4)配置index.php,啓動LAMP服務 "

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

  exit

fi

 

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

          echo -e " \033[36m Please select Install Memu follow:\033[0m "

  echo -e " \033[32m 1)編譯安裝Apache服務器\033[0m "

  echo -e "  2)編譯安裝MySQL服務器 "

  echo -e "  3)編譯安裝PHP服務器 "

  echo -e "  4)配置index.php,啓動LAMP服務 "

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

  exit

fi

 

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

#安裝Apache服務

 

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

           wget -cP $PUBLIC_DIR $H_URL/$H_FILES && cd $PUBLIC_DIR && tar -jvxf $H_FILES && cd $H_FILES_DIR && ./configure --prefix=$H_PREFIX

   if [ $? -eq 0 ];then

   make && make install

   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 error,please checking..... \033[0m "

  exit 0

fi

fi


#安裝MySQL服務

 

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

    useradd mysql -s /bin/false;

wget -cP $PUBLIC_DIR $M_URL/$M_FILES && cd $PUBLIC_DIR && tar -zvxf $M_FILES && yum  -y install gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libgcrypt* libtool* cmake -y && 

    cd $PUBLIC_DIR$M_FILES_DIR/ &&ccmake . -DCMAKE_INSTALL_PREFIX=$M_PREFIX \ -DMYSQL_DATADIR=/data/mysql \ -DSYSCONFDIR=/etc \ -DYSQL_TCP_PORT=3306  \ -DMYSQL_UNIX_ADDR=/tmp/mysql.scok  \ -DMYSQL_USER=mysql \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_DEBUG=0 \ -DWITH_BIG_TABLES=1 \ -DWITH_XTRADB_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_EXTRA_CHARSET=1 \    

   if [ $? -eq 0 ];then

   make && make install

if [ $? -eq 0 ];then

/bin/cp  $M_PREFIX/support-files/my-small.cnf  /etc/my.cnf 

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

      /bin/chmod +x /etc/init.d/mysqld

/sbin/chkconfig --add mysqld

/sbin/chkconfig mysqld on

else

echo -e " \033[32m The $M_FILES_DIR make or make install error,please checking..... \033[0m "

exit 0

fi

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

echo -e " \033[32m The $M_FILES_DIR server install success !\033[0m "

else

echo -e " \033[32m The $M_FILES_DIR make or make install error,please checking..... \033[0m "

exit 0

fi

fi 

 

#安裝PHP服務

 

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

           wget -cP $PUBLIC_DIR $P_URL/$P_FILES && cd $PUBLIC_DIR && tar -zvxf $P_FILES && yum -y install libmcrypt libiconv mcrypt mhash &&cd $PUBLIC_DIR$P_FILES_DIR&& ./configure --prefix=$P_PREFIX --with-config-file-path=/etc/ --with-mysql=$M_PREFIX --with-apxs2=$H_PREFIX/bin/apxs --with-mhash --with-zlib --with-gettext --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --enable-bcmath --enable-mbstring --enable-zip --enable-sockets --without-pear

            if [ $? -eq 0 ];then

      make && make install

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

 echo -e " \033[32m The $P_FILES_DIR server install success !\033[0m "

else

echo -e " \033[32m The $P_FILES_DIR make or make install error,please checking..... \033[0m "

exit 0

fi

fi

 

#配置測試LAMP服務

 

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

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

sed -i 's%#ServerName www.example.com:80%ServerName www.example.com:80%g' $H_PREFIX/conf/httpd.conf

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

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

$H_PREFIX/bin/httpd -t

    echo " $H_PREFIX/bin/apachectl start " >> etc/rc.local 

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

    echo "You can access http://$IP/Please open brower testing..."

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

    <?php

     phpinfo();

    ?>

EOF

fi

    注:編寫shell格式很重要,建議一定要用vim下編寫,如在其它文本文件編輯器上編寫的,要在vim模式編輯查看,特別是編譯參數方面的書寫,或做語法檢查,減少錯誤。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章