Apache web 서버를 설치 하기 위해선 먼저 설치 파일을 다운로드한다.
pc에서 다운받은 후 FTP를 이용해 파일을 업로드 할 수 있지만 웹이 연결된 서버내에서는 OS command를 통해서 파일을 다운로드 받을 수 있다.
다운로드 후 archive 파일을 unarchive 파일까지 실행하는 스크립트를 작성하였다.
스크립트에 내용을 보면 명령어 실행 후 $? 변수의 경우 성공과 실패를 체크한다.
0 성공, 0이 아닌 경우 실패
#!/bin/bash
DIR=$(pwd)
# VERSION은 마이너버전까지 필수로 입력
VERSION=2.4.39
INSTALL_FILE="httpd-$VERSION.tar.gz"
INSTALL_DIR="$DIR/installFiles"
# 다운로드 받는 미러 사이트 url을 넣었고 version을 변수로 사용
GET_URL="http://archive.apache.org/dist/httpd/$INSTALL_FILE"
# 설치 파일을 두는 경로이고 없으면 만듬
[ ! -d "$INSTALL_DIR" ] && mkdir -p "$INSTALL_DIR";
# FTP로 업로드 했을 경우에 파일을 찾아서 압축을 해제
ARCH_FILE=`find $DIR -type f | grep "$INSTALL_FILE$"`
find_rs=$?
if [ "$find_rs" -eq "0" ]; then
# tar 로 압축된 archive 파일을 압축 해제
tar xfz "$ARCH_FILE" -C "$DIR"
echo -e "# [INFO] apache install file is $INSTALL_FILE \\n"
else
# 설치 파일이 없는 경우 웹에서 다운받음
wget "$GET_URL" -P "$INSTALL_DIR"
wget_rs=$?
# tar 로 압축된 archive 파일을 압축 해제
tar xfz "$INSTALL_DIR/$INSTALL_FILE"
tar_rs=$?
# wget과 tar가 실패 했을 경우 ERROR로 판단
if [ "$wget_rs" -eq "0" ] && [ "$tar_rs" -eq "0" ]; then
echo -e "# [INFO] apache-$VERSION download successed \\n"
else
echo -e "# [ERROR] There was problems during download(or unarchive) apache-$VERSION \\n"
exit 1;
fi
fi