사전 조건 : Linux Centos7에서 진행 (+ AWS EC2)
설치 조건 : Apache 2.4 소스 파일로 설치 예정.
$ yum update -y
$ yum install -y wget gcc gcc-c++ expat-devel.x86_64
wget : 소스파일 설치할 때 필요함
gcc :
gcc-c++ :
expat-devel.x86_64 :
# 파일을 다운로드할 위치를 지정합니다
# 저의 경우 /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
$ 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
$ vi /usr/local/apache/conf/httpd.conf
#파일의 193번째 라인
:set number 이용하면 편리
# www.example.com -> localhost 로 변경
193 ServerName localhost:80
# 아파치 서비스 등록
$ 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
$ 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이 작동하는 것