zoukankan      html  css  js  c++  java
  • 搭建lamp的脚本

    环境:Centos6.6        事先将需要的源码包打包放在lamp.tar.gz中,并解压到/root下

    [root@zengqingfu ~]# cat /etc/centos-release 
    CentOS release 6.6 (Final)
    [root@zengqingfu ~]# uname -a
    Linux zengqingfu 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

    [root@zengqingfu ~]# ls
    anaconda-ks.cfg lamp.sh phpMyAdmin-4.2.5-all-languages.tar.gz 模板
    avg_score.awk lamp.tar.gz pxe_kickstart.sh 视频
    cmake-2.8.6.tar.gz libmcrypt-2.5.8.tar.gz rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm 图片
    history.txt lines sturecord.txt 文档
    httpd-2.2.17.tar.gz mcrypt-2.6.8.tar.gz test 下载
    input.txt mhash-0.9.9.9.tar.gz var_of_shell.sh 音乐
    install.log mysql-5.5.22.tar.gz ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz 桌面
    install.log.syslog php-5.3.28.tar.gz 公共的

    执行步骤:每一步执行之后的输出过程省略了

    [root@zengqingfu ~]# ./lamp.sh y   加载光盘搭建本地yum仓库(可选的,已经搭建好yum仓库的可以不执行,直接到下一步)
    
    [root@zengqingfu ~]# ./lamp.sh a    安装Apache web服务
    
    [root@zengqingfu ~]# ./lamp.sh m     安装mysql
    
    [root@zengqingfu ~]# ./lamp.sh p     编译安装PHP
    
    
    [root@zengqingfu ~]# ./lamp.sh P(大写的)      再次安装PHP,并修改httpd.conf以支持PHP解析
      
    
    [root@zengqingfu ~]# ./lamp.sh o          测试PHP能否成功连接MySQL,http网页能否解析PHP

    下面看完整代码:下载lamp.sh

      1 [root@zengqingfu ~]# cat lamp.sh 
      2 #!/bin/bash
      3 #Filename: lamp.sh
      4 #Author: Zeng Qingfu
      5 #####
      6 if [ $# -ne 1 ];then
      7     echo '''
      8         Usage:input one option at a time;order to install lamp:first y,second a,third m,fourth p,fifth P,sixth o;
      9         Options:y[install yum and stop iptables,selinux];a[install httpd];m[install mysql];p[install php];o[djust httpd.conf,test,install phpMyAdmin];
     10     '''
     11         exit 1
     12 elif [ $# -eq 1 ];then
     13     if [ $1 != "a" -a $1 != "m" -a $1 != "p" -a $1 != "o" -a $1 != "y" -a $1 != "P" -o $1 == "h" ];then
     14          echo '''
     15              Usage:input one option at a time;order to install lamp:first y,second a,third m,fourth p,fifth o;
     16              Options:y[install yum and stop iptables,selinux];a[install httpd];m[install mysql];p[install php];o[djust httpd.conf,test,install phpMyAdmin];
     17          '''
     18         exit 1
     19     fi
     20 fi
     21 
     22 case $1 in
     23 
     24 y)
     25 ######stop  iptables and off selinux  and set yum repository################
     26 service iptables stop
     27 chkconfig iptables off
     28 setenforce 0
     29 sed -i '7 s/enforcing/disabled/' /etc/selinux/config
     30 umount /dev/cdrom
     31 mkdir -p /media/cdrom
     32 mount /dev/cdrom /media/cdrom
     33 cd /etc/yum.r*
     34 mkdir a
     35 mv C* a/
     36 /bin/cp a/*M* ./
     37 sed -i '20 s/0/1/' C*
     38 rpm --import /media/cdrom/*K*
     39 yum -y clean all
     40 yum makecache
     41 ;;
     42 #############################################################################
     43 
     44 a)
     45 echo "installing httpd"
     46 ##---------------install httpd------------------
     47     IP=$(hostname -I | awk '{print $1}')
     48     echo "$IP www.zengqingfu.com" >> /etc/hosts
     49     tar xf httpd-2.2.17.tar.gz -C /usr/src/
     50     rpm -qa make gcc gcc-c++
     51     if  [ $? -eq 0 ];then 
     52         cd /usr/src/httpd-2.2.17/
     53         ./configure --prefix=/usr/local/httpd  --enable-so --enable-rewrite --enable-charset-lite --enable-cgi &&make&&make install  &> /dev/null
     54     else
     55         yum -y install make gcc gcc-c++   &> /dev/null
     56         ./configure --prefix=/usr/local/httpd  --enable-so --enable-rewrite --enable-charset-lite --enable-cgi &&make&&make install  &> /dev/null
     57     fi
     58     ln -s /usr/local/httpd/bin/*  /usr/local/bin/
     59     /bin/cp /usr/local/httpd/bin/apachectl  /etc/init.d/httpd
     60     chmod +x /etc/init.d/httpd
     61     sed -i '1a#chkconfig: 35 85 21
    #description: Startup script for the Apache HTTP Server' /etc/init.d/httpd
     62     sed -n '1,3p' /etc/init.d/httpd
     63     chkconfig --add httpd
     64     chkconfig --list httpd
     65     cd  /usr/local/httpd/conf/
     66     /bin/cp httpd.conf httpd.conf.origin
     67     ROW=$(awk '/#ServerName/{print NR,$0}' httpd.conf | awk '{print $1}')
     68     sed -i "$ROW s/#//;s/example/zengqingfu/" httpd.conf
     69     apachectl -t
     70     [ $? -eq 0 ] && /etc/init.d/httpd start
     71     cat /usr/local/httpd/htdocs/index.html
     72 ;;
     73 
     74 m)
     75 echo "installing mysql"
     76 #########-------------------install mysql-------------------
     77     cd /root
     78     rpm -q mysql-server mysql
     79     rpm -e mysql --nodeps
     80     rpm -e mysql-server --nodeps
     81     rpm -q ncurses-devel
     82     [ $? -ne 0 ] && yum -y install ncurses-devel
     83     cd /root
     84     tar -xf cmake-2.8.6.tar.gz -C /usr/src/  
     85     cd /usr/src/cmake-2.8.6/
     86     ./configure && gmake && gmake install    &> /dev/null
     87     groupadd mysql
     88     useradd -M -s /sbin/nologin -g mysql mysql
     89     cd /root
     90     tar xf mysql-5.5.22.tar.gz -C /usr/src/
     91     cd /usr/src/mysql-5.5.22/
     92     cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci  -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc  && make && make install    &> /dev/null
     93     chown -R mysql:mysql /usr/local/mysql/
     94     cat support-files/my-medium.cnf > /etc/my.cnf
     95     /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/  --datadir=/usr/local/mysql/data/  --user=mysql        &> /dev/null
     96     echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
     97     source /etc/profile
     98     /bin/cp support-files/mysql.server /etc/init.d/mysqld
     99     chmod +x /etc/init.d/mysqld
    100     chkconfig --add mysqld
    101     /etc/init.d/mysqld start
    102     netstat -anpt | grep mysqld
    103     mysqladmin -uroot password "123456"
    104     mysqladmin -uroot -p123456 password "zengqingfu";history -c
    105 ;;
    106 
    107 p)
    108 echo "installing php"
    109 #####---------------------install php----------------------
    110     rpm -q php && rpm -e php --nodeps
    111     rpm -q php-cli && rpm -e php-cli --nodeps
    112     rpm -q php-ldap && rpm -e php-ldap --nodeps
    113     rpm -q php-common && rpm -e php-common -nodeps
    114     rpm -q php-mysql  && rpm -e php-mysql --nodeps
    115     rpm -q zlib-devel libxml2-devel  
    116     if [ $? -ne 0 ];then
    117         yum -y install zlib-devel libxml2-devel    
    118     fi
    119     cd /root
    120     rpm -q libmcrypt || tar xf libmcrypt-2.5.8.tar.gz -C /usr/src/
    121     cd /usr/src/libmcrypt-2.5.8/
    122     ./configure &&make &&make install &> /dev/null
    123     ln -s /usr/local/lib/libmcrypt* /usr/lib
    124     cd /root
    125     rpm -q mhash ||  tar xf mhash-0.9.9.9.tar.gz -C /usr/src/
    126     cd /usr/src/mhash-0.9.9.9/
    127     ./configure &&make&&make install  &> /dev/null
    128     ln -s /usr/local/lib/libmhash.* /usr/lib/
    129     cd /root
    130     rpm -q mcrypt || tar xf mcrypt-2.6.8.tar.gz -C /usr/src/
    131     cd /usr/src/mcrypt-2.6.8/
    132     export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
    133     ./configure &&make &&make install    &> /dev/null
    134     cd /root
    135     tar xf php-5.3.28.tar.gz -C /usr/src/
    136     cd /usr/src/php-5.3.28/
    137     ./configure --prefix=/usr/local/php5  --with-mcrypt  --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql/ --with-config-file-path=/usr/local/php5 --enable-mbstring && make && make install    &> /dev/null
    138     /bin/cp -f php.ini-development /usr/local/php5/php.ini
    139     cd /root
    140     ROW=$(awk '/^short_open_tag/{print NR,$0}' /usr/local/php5/php.ini | awk '{print $1}') 
    141     sed -i "$ROW s/Off/On/" /usr/local/php5/php.ini
    142     ROW=$(awk '/default_charset/{print NR,$0}' /usr/local/php5/php.ini | awk '{if(NR==1)print $1}')
    143     sed -i "$ROW s/;//;s/iso-8859-1/utf-8/" /usr/local/php5/php.ini 
    144     cd /root
    145     tar xf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz -C /usr/src/
    146     cd /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-x86_64/
    147     cd php-5.3.x/
    148     /bin/cp ZendGuardLoader.so /usr/local/php5/lib/php/
    149     echo -e "zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
    zend_loader.enable=1" >> /usr/local/php5/php.ini
    150     tail -2 /usr/local/php5/php.ini
    151 
    152 echo "adjust httpd.conf,test,install phpMyAdmin"
    153 #############--------------------adjust httpd.conf---------------
    154 ROW=$(awk '/LoadModule php5_module/{print NR,$0}' /usr/local/httpd/conf/httpd.conf | awk '{print $1}')
    155 sed -i "$ROW a AddType application/x-httpd-php .php" /usr/local/httpd/conf/httpd.conf
    156 sed -n "$(($ROW+1)) p" /usr/local/httpd/conf/httpd.conf
    157 ROW=$(awk '/DirectoryIndex/{print NR,$0}' /usr/local/httpd/conf/httpd.conf | awk '{if(NR==2)print $1}')
    158 sed -i "$ROW s/$/ index.php/" /usr/local/httpd/conf/httpd.conf
    159 sed -n "$ROW p" /usr/local/httpd/conf/httpd.conf
    160 httpd -t
    161 [ $? -eq 0 ] && /etc/init.d/httpd restart
    162 
    163 ;;
    164 
    165 P)
    166   cd /usr/src/php-5.3.28/
    167   make install
    168   /bin/cp -f php.ini-development /usr/local/php5/php.ini
    169   cd /root
    170   ROW=$(awk '/^short_open_tag/{print NR,$0}' /usr/local/php5/php.ini | awk '{print $1}') 
    171   sed -i "$ROW s/Off/On/" /usr/local/php5/php.ini
    172   ROW=$(awk '/default_charset/{print NR,$0}' /usr/local/php5/php.ini | awk '{if(NR==1)print $1}')
    173   sed -i "$ROW s/;//;s/iso-8859-1/utf-8/" /usr/local/php5/php.ini 
    174   cd /root
    175   tar xf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz -C /usr/src/
    176   cd /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-x86_64/
    177   cd php-5.3.x/
    178   /bin/cp ZendGuardLoader.so /usr/local/php5/lib/php/
    179   echo -e "zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
    zend_loader.enable=1" >> /usr/local/php5/php.ini
    180   tail -2 /usr/local/php5/php.ini
    181 
    182 ROW=$(awk '/LoadModule php5_module/{print NR,$0}' /usr/local/httpd/conf/httpd.conf | awk '{print $1}')
    183 sed -i "$ROW a AddType application/x-httpd-php .php" /usr/local/httpd/conf/httpd.conf
    184 sed -n "$(($ROW+1)) p" /usr/local/httpd/conf/httpd.conf
    185 ROW=$(awk '/DirectoryIndex/{print NR,$0}' /usr/local/httpd/conf/httpd.conf | awk '{if(NR==2)print $1}')
    186 sed -i "$ROW s/$/ index.php/" /usr/local/httpd/conf/httpd.conf
    187 sed -n "$ROW p" /usr/local/httpd/conf/httpd.conf
    188 httpd -t
    189 [ $? -eq 0 ] && /etc/init.d/httpd restart
    190 service httpd restart
    191 ;;
    192 
    193 o)
    194 ###########----------------------test---------------
    195 cd /usr/local/httpd/htdocs/
    196 echo -e "<?php
    phpinfo();
    ?>" > test.php
    197 echo -e "<?php
    $link=mysql_connect('localhost','root','zengqingfu');
    if($link) echo 'Successfully connected mysql';
    mysql_close();
    ?>" > test1.php 
    198 ##############------install phpMyAdmin----------------
    199 cd /root
    200 tar xf phpMyAdmin-4.2.5-all-languages.tar.gz
    201 mv phpMyAdmin-4.2.5-all-languages /usr/local/httpd/htdocs/phpMyAdmin
    202 cd /usr/local/httpd/htdocs/phpMyAdmin/
    203 /bin/cp config.sample.inc.php config.inc.php
    204 
    205 service httpd start
    206 ;;
    207 esac
  • 相关阅读:
    mysql创建用户,并赋予权限:只能查某个数据库中的某张表(只读)
    Fastjson toJSONString用单引号进行转换
    MyBatis传入参数为list、数组、map写法
    进制GB和GiB的区别
    leaflet 根据一个经纬度及距离角度,算出另外一个经纬度
    ubuntu下安装YApi
    Oracle 存储过程测试
    Oracle两种临时表的创建与使用详解
    一月到十二月的英文
    spring framework各个版本下载网址
  • 原文地址:https://www.cnblogs.com/zengqingfu1442/p/7072055.html
Copyright © 2011-2022 走看看