Shell 스 크 립 트 자동 배치 (컴 파일) LAMP 플랫폼
Shell 스 크 립 트 자동 배치 (컴 파일) LAMP 플랫폼
LAMP 는 현재 매우 유행 하 는 웹 구조 로 우 리 는 GNU/Linux 에서 다른 사람 이 포장 한 패 키 지 를 통 해 설치 할 수 있다.그러나 생산 환경 에서 우 리 는 스스로 AMP 를 맞 춤 형 으로 설치 해 야 할 때 가 많 습 니 다. LAMP 를 컴 파일 하고 설치 하 는 것 은 다음 과 같은 몇 가지 장점 이 있 습 니 다.
이곳 을 클릭 하여 더 좋 은 읽 기 체험 을 얻 을 수 있 습 니 다.
왜 스 크 립 트 로 배 치 를 합 니까?
많은 상황 에서
LAMP
플랫폼 을 배치 하 는 것 은 한 대의 기계 가 아니 라 자동화 도구 가 없 는 상황 에서 시간 이 많이 걸린다. 모든 기계 환경 이 똑 같은 전제 에서 우 리 는 스 크 립 트 를 사용 하여 빠 른 배 치 를 하고 시간 을 절약 할 수 있다.스 크 립 트 기능 소개
LAMP
ustc
파일 과 epel
파일 을 생 성 할 수 있 습 니 다 repo
페이지, 데이터베이스 연결 테스트 phpinfo
, Mini安装
"Server Platform Development"
패키지 그룹 "Development Tools"
디 렉 터 리 에 압축 해제 /usr/src
디 렉 터 리 에서 실행 되 어야 합 니 다 /usr/src/
"Development Tools
"를 권장 합 니 다. 그렇지 않 으 면 스 크 립 트 가 실 행 될 때 이 두 패 키 지 를 자동 으로 설치 합 니 다. 느 릴 것 입 니 다 Server Platform Development
를 추가 하여 교 류 를 하 는 것 도 환영 합 니 다! 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 <
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ZSH에서 물고기까지ZSH는 수년 동안 내 기본 셸이었습니다. 이제 몇 달 동안 사용하면서 ZSH 구성에 대해 몇 가지 사항을 발견했습니다. 우리는 을 제공하는 시스템과 더 빨리 상호 작용하는 경향이 있습니다. 내.zshrc 구성에는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.