Shell 스 크 립 트 자동 배치 (컴 파일) LAMP 플랫폼

10050 단어 shell컴 파일lamp

  • Shell 스 크 립 트 자동 배치 (컴 파일) LAMP 플랫폼
    LAMP 는 현재 매우 유행 하 는 웹 구조 로 우 리 는 GNU/Linux 에서 다른 사람 이 포장 한 패 키 지 를 통 해 설치 할 수 있다.그러나 생산 환경 에서 우 리 는 스스로 AMP 를 맞 춤 형 으로 설치 해 야 할 때 가 많 습 니 다. LAMP 를 컴 파일 하고 설치 하 는 것 은 다음 과 같은 몇 가지 장점 이 있 습 니 다.
  • 생산 환경 에 따라 유연 한 맞 춤 형 프로그램
  • 컴 파일 파 라 메 터 를 최적화 하고 성능 향상
  • 불필요 한 소프트웨어 의존 해결
  • 우정 알림: 컴 파일 설치 에 의문 이 있 는 친구, 내 가 이전에 쓴 블 로 그 를 보십시오: rpm, yum, 컴 파일 등 방식 으로 소프트웨어 를 설치 하 는 것 을 가르쳐 드 립 니 다.
    이곳 을 클릭 하여 더 좋 은 읽 기 체험 을 얻 을 수 있 습 니 다. 
    왜 스 크 립 트 로 배 치 를 합 니까?
    많은 상황 에서 LAMP 플랫폼 을 배치 하 는 것 은 한 대의 기계 가 아니 라 자동화 도구 가 없 는 상황 에서 시간 이 많이 걸린다. 모든 기계 환경 이 똑 같은 전제 에서 우 리 는 스 크 립 트 를 사용 하여 빠 른 배 치 를 하고 시간 을 절약 할 수 있다.
    스 크 립 트 기능 소개
  • 컴 파일 설치 자동 배치 LAMP
  • 버 전이 일치 하 는 상황 에서 수 동 으로 할 필요 가 거의 없다
  • 간결 한 힌트, 어떤 경우 에 잘못된 내용 을 상호작용 으로 출력 할 수 있 음
  • 서버 시작 가능 상태 로 자동 생 성, 자동 설정, 설정 파일
  • 의존 관 계 를 해결 하기 위해 자동 으로 ustc 파일 과 epel 파일 을 생 성 할 수 있 습 니 다
  • 자동 생 성 repo 페이지, 데이터베이스 연결 테스트
  • 필자 환경
  • 시스템: CentOS 6.6 - X8664
  • 소프트웨어 환경: phpinfo, Mini安装 "Server Platform Development" 패키지 그룹
  • 준비 작업
  • 소스 패키지 다운로드
  • lamp. zip 패 키 지 를 "Development Tools" 디 렉 터 리 에 압축 해제
  • 스 크 립 트 는 /usr/src 디 렉 터 리 에서 실행 되 어야 합 니 다
  • 스 크 립 트 를 사용 하기 전에 yum group install "/usr/src/"Development Tools "를 권장 합 니 다. 그렇지 않 으 면 스 크 립 트 가 실 행 될 때 이 두 패 키 지 를 자동 으로 설치 합 니 다. 느 릴 것 입 니 다
  • 성명
  • 이 스 크 립 트 는 모든 환경 에서 실 행 될 수 있 는 것 을 보장 할 수 없습니다. 또한 본인 의 Shell 프로 그래 밍 수준 이 낮 아서 오류 가 발생 할 수 있 습 니 다. 양해 해 주 십시오. 저 에 게 QQ Server Platform Development 를 추가 하여 교 류 를 하 는 것 도 환영 합 니 다!
  • 사용 테스트
  • 다음 그림 에서 본 기 계 는 어떠한 조작 도 하지 않 았 고 minal 패키지 에 설치 한 후
  •  
    2. 우 리 는 먼저 1449472454"Development Tools" 두 개의 패 키 지 를 설치한다.
    3. "Server Platform Development" 디 렉 터 리 에서 압축 을 풀 고 가 져 온 /usr/src 
    4. 스 크 립 트 파일 을 만 들 고 코드 를 복사 합 니 다. 
    5. 스 크 립 트 실행lamp.zip     卡在下面的界面因为脚本在创建repo文件, 并且检查包组是否安装     出现以下提示代表我们可以输入指令了      我们可以通过h来获取帮助,程序可单个安装, 也可全部安装     我们选择全部安装,开始显示进度条(过于丑陋,请见谅)     安装完成,会自动启动MariaDB和httpd便于测试        
        
    스 크 립 트 코드
  • 시간 과 습관 적 인 원인 에 대해 설명 하지 않 음
  • #!/bin/bash
    #Auth AnyISalIn
    #Version 0.01
    #On CentOS 6 
    #
    cat > /etc/yum.repos.d/ustc.repo < Install apr
    apr-util =====> Install apr-util (depend on apr)
    httpd    =====> Install httpd (deepend on apr and apr-util)
    mariadb  =====> Install MariaDB
    php      =====> Install php(The module provides, Need MariaDB and Httpd)
    all      =====> Install All : apr --> apr-util --> httpd --> MariaDB --> php
    EOF
    }
    if $(yum repolist &> /dev/null); then 
      echo "Please With, Some may want to install Pkgs"
    	yum groupinstall -y "Development Tools" "Server Platform Development" &> /dev/null
      echo "Installed Complete"
        if [ $? -gt 0 ]; then
          echo "Install pkgs group failure"
          exit 1
        fi
    else 
    	echo "Your repository is not available"
    	exit 1
    fi
    
    
    function apr {
        cat < /dev/null
        if [ $? -eq 0 ]; then
        	make -j 4 &> /dev/null && make install &> /dev/null
        else
        	echo "apr configure failure"
        	exit 2
        fi
    
        cat < /dev/null
        if [ $? -eq 0 ]; then
        	make -j 4 &> /dev/null && make install &> /dev/null
        else
        	echo "apr-util configure failure"
        	exit 2
        fi
    
        cat < /dev/null
        ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all  &> /dev/null
        if [ $? -eq 0 ]; then
        	make -j 4 &> /dev/null && make install &> /dev/null
        else
        	echo "httpd configure failure"
        	exit 2
        fi
    
    cat > /etc/init.d/httpd <&/dev/null; then
            RETVAL=$?
            echo $"not reloading due to configuration syntax error"
            failure $"not reloading $httpd due to configuration syntax error"
        else
            killproc -p ${pidfile} $httpd -HUP
            RETVAL=$?
        fi
        echo
    }
    
    # See how we were called.
    case "$1" in
      start)
      start
      ;;
      stop)
      stop
      ;;
      status)
            status -p ${pidfile} $httpd
      RETVAL=$?
      ;;
      restart)
      stop
      start
      ;;
      condrestart)
      if [ -f ${pidfile} ] ; then
        stop
        start
      fi
      ;;
      reload)
            reload
      ;;
      graceful|help|configtest|fullstatus)
      $apachectl $@
      RETVAL=$?
      ;;
      *)
      echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"
      exit 1
    esac
    exit $RETVAL
    EOF
    
        chmod a+x /etc/init.d/httpd
        chkconfig --add httpd
    
        service httpd start &> /dev/null
        if [ $? -gt 0 ]; then
          echo "Install some problems "
          exit 2
        fi
    
    cat < /dev/null
        else
            echo "decompression mariadb is failure"
            exit 2
        fi
    
        cd /usr/local/mysql
    
        if [ cat /etc/group | grep "mysql\>" &> /dev/null ]; then
          echo "Group mysql is exists"
        else
          groupadd -g 3306 -r mysql
        fi
    
        if [[ ! $(id mysql &> /dev/null) ]]; then
          useradd -r -u 3306 mysql -g mysql -s /sbin/nologin
        else
          echo "User mysql is exists"
        fi
    
        chown -R mysql.mysql  .
        mkdir /mydata ; chown -R mysql.mysql $!
    
        ./scripts/mysql_install_db --datadir=/mydata --user=mysql &> /dev/null
    
        if [ $? -gt 0 ]; then
          echo "initialize mysql_db is failure"
          exit 1
        fi
    
        install support-files/mysql.server /etc/rc.d/init.d/mysqld || echo "Create start script file failure" exit 1
        chkconfig --add mysqld || exit 1
        install support-files/my-large.cnf /etc/my.cnf || $( echo "Create conf file failure" exit 1 )
        sed -i '41adatadir = /mydata' /etc/my.cnf || $( echo "edit config failure" && exit 1 )
        sed -i '42ainnodb_file_per_table = on ' /etc/my.cnf || $( echo "edit config failure" && exit 1 )
        sed -i '43askip_name_resolve = on ' /etc/my.cnf || $( echo "edit config failure" && exit 1 )
    
        service mysqld start &> /dev/null || $(echo "start mysqld failure" && exit 1)
        service mysqld start &> /dev/null
    
        cat < /dev/null
        ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2  --enable-maintainer-zts &> /dev/null
    
        if [ $? -eq 0 ]; then
          make -j4 &> /dev/null && make install &> /dev/null
        else
          echo "configure is failure" 
          exit 1
        fi
    
        install php.ini-production /etc/php.ini
    
        sed -i '378aAddType application/x-httpd-php .php' /etc/httpd24/httpd.conf
        sed -i '379aAddtype application/x-httpd-php-source .phps' /etc/httpd24/httpd.conf
        sed -i 's/DirectoryIndex.*index.*/DirectoryIndex index.php index.html/g' /etc/httpd24/httpd.conf
    
        cat >> /usr/local/apache/htdocs/index.php <
    
    EOF
    
        echo "Enter Your IP Test"
        
        cat < 
       


    좋은 웹페이지 즐겨찾기