2-tier-WEB) Apache 2.4 source file install in Centos7

Nari.·2021년 5월 23일
0

aws 공부

목록 보기
8/17

사전 조건 및 설치 조건

사전 조건 : Linux Centos7에서 진행 (+ AWS EC2)
설치 조건 : Apache 2.4 소스 파일로 설치 예정.



업데이트 및 필수 패키지 설치

1. yum update

$ yum update -y


2. gcc 및 필수 패키지 설치

$ yum install -y wget gcc gcc-c++ expat-devel.x86_64

wget : 소스파일 설치할 때 필요함
gcc :
gcc-c++ :
expat-devel.x86_64 :



3. pcre 다운로드 후 컴파일

# 파일을 다운로드할 위치를 지정합니다
# 저의 경우 /usr/local/src/ 라는 폴더에 앞으로 모든 소스 파일들을 저장할 예정입니다.
$ cd /usr/local/src/

# 압축된 pcre 소스파일 다운로드
$ wget https://sourceforge.net/projects/pcre/files/pcre/8.44/pcre-8.44.tar.gz

# 압축 풀어주기
$ tar zxvf pcre-8.44.tar.gz

# 압축 푼 pcre 폴더에 들어가서
$ cd pcre-8.44

# 컴파일 파일을 만들고, 컴파일 한다
$ ./configure --prefix=/usr/local/pcre
$ make && make install


4. apr-util, apr, httpd 다운로드 및 컴파일

$ cd /usr/local/src

# 압축된 apr-util, apr, httpd 소스 파일 다운로드
$ wget http://mirror.apache-kr.org/httpd/httpd-2.4.46.tar.gz
$ wget http://mirror.apache-kr.org/apr/apr-1.7.0.tar.gz
$ wget http://mirror.apache-kr.org/apr/apr-util-1.6.1.tar.gz

# 다운받은 압축 파일들 풀어주기
$ tar zxvf httpd-2.4.46.tar.gz
$ tar zxvf apr-1.7.0.tar.gz
$ tar zxvf apr-util-1.6.1.tar.gz

# apr, apr-util 파일을 httpd 파일 안으로 옮겨줌
$ mv apr-1.7.0 ./httpd-2.4.46/srclib/apr
$ mv apr-util-1.6.1 ./httpd-2.4.46/srclib/apr-util

# httpd 폴더에 접근해서
$ cd httpd-2.4.46/

# 컴파일 파일을 만들고 컴파일 한다
$ ./configure \
--prefix=/usr/local/apache \
--with-included-apr \
--with-pcre=/usr/local/pcre

$ make && make install


파일 설정

5. httpd.conf 설정 파일의 ServerName 수정

$ vi /usr/local/apache/conf/httpd.conf

#파일의 193번째 라인
:set number 이용하면 편리

# www.example.com -> localhost 로 변경
193 ServerName localhost:80


6. systemctl 서비스에 아파치 서비스 등록, 부팅시 아파치 자동 실행 설정

# 아파치 서비스 등록
$ vi /usr/lib/systemd/system/apache.service

#------- 이부분을 복붙해서 넣어주세요 -------
[Unit]
Description=Apache Service

[Service]
Type=forking
#EnvironmentFile=/usr/local/apache/bin/envvars
PIDFile=/usr/local/apache/logs/httpd.pid
ExecStart=/usr/local/apache/bin/apachectl start
ExecReload=/usr/local/apache/bin/apachectl graceful
ExecStop=/usr/local/apache/bin/apachectl stop
KillSignal=SIGCONT
PrivateTmp=true

[Install]
WantedBy=multi-user.target
#-------------------------------------

# 부팅시 아파치 자동실행 등록하기
$ systemctl daemon-reload
$ systemctl enable apache
$ systemctl start apache

# 아파치 작동 확인하기
$ systemctl status apache


7. It works! 파일 위치 확인

$ vi /usr/local/apache/conf/httpd.conf

# DocumentRoot 217번째줄
217 DocumentRoot "/usr/local/apache/htdocs"
218 <Directory "/usr/local/apahce/htdocs">

# 위에 처럼 나와있다면,
# /usr/local/apache/htdocs 폴더안에 index.html이 작동하는 것


8. 작동 확인

0개의 댓글