CentOS7 Apache 설치

Yebali·2021년 1월 27일
2

약간의_Apache

목록 보기
1/1
post-thumbnail
post-custom-banner

아파치 설치 방법 (CentOS 7)

서버에서 거의 필수인 Apache는 아파치 소프트웨어 재단에서 관리하는 HTTP 웹 서버이다.
LAMP(Linux, Apache, Mysql, Php)의 구성요소 이기도 하다
Tomcat 등의 웹 어플리케이션 서버와 같이 사용 할 수 있으며, 주로 apache를 앞단(80포트)에 두고 로드 벨런싱을 하는 구조로 많이 사용한다.

yum을 이용한 설치

설치 방법

sudo yum install httpd


yum으로 설치하면 보통은 최신 버전이 설치된다.
특정 버전을 설치하려면 해당 repo를 yum에 등록해야 하는 번거로움이 있지만 설치에 필요한 apr, apr-util등이 자동으로 설치되어 편하다.

Apache 시작

yum을 이용해 설치하면 systemctl(service)에 자동으로 등록된다.

sudo systemctl start httpd

위 명령어를 통해 apache서버를 시작 할 수 있다.
/etc/httpd/conf/httpd.conf (혹은 설치 경로에 있는 httpd.conf파일)에서 port를 별도로 지정해주지 않으면 80포트에서 apache가 시작된다.

포트 열어주기

Apache가 사용하는 80포트로 접속하려면 해당 포트를 열어야한다.

// CentOS 7.0 이상
sudo firewall-cmd --zone=public --permanent --add-port=80/tcp //80포트 개방
sudo firewall-cmd --reload // 방화벽 리로드
sudo firewall-cmd --zone=public --list-all //열린 포트 확인

// firewall-cmd 없을 시 설치
yum install firewalld

테스트

서버 IP로 접속했을 때 아래와 같은 화면이 나오면 된다.

Apache 설치경로 확인

컴파일 설치

컴파일 할 소스 다운로드

https://httpd.apache.org/download.cgi 에 접속해서 설치 할 apache버전을 다운받는다.
.tar.gz 파일을 받으면 된다.

wget https://downloads.apache.org//httpd/httpd-2.4.46.tar.gz

압축해제

tar -xvf httpd-2.4.46.tar.gz

종속성 설치

yum은 관련 종속성을 자동으로 설치해주지만 컴파일 설치의 경우 관련 종속성들을 설치해야 한다.
Apache 2.4부터 apr, apr-util이 빠졌기 때문에 별도로 설치해주어야 한다.


sudo yum install -y wget
sudo yum install -y net-tools
sudo yum install -y gcc
sudo yum install -y gcc-c++
sudo yum install -y make

// apr
wget https://downloads.apache.org//apr/apr-1.7.0.tar.gz
tar -xvf apr-1.7.0.tar.gz

// apr-util
wget https://downloads.apache.org//apr/apr-util-1.6.1.tar.gz
tar -xvf apr-util-1.6.1.tar.gz

// 압축해제한 파일들을 apache소스의 srclib안으로 넣어준다.
mv apr-1.7.0 httpd-2.4.46/srclib/apr
mv apr-util-1.6.1 httpd-2.4.46/srclib/apr-util

//pcre 
wget https://sourceforge.net/projects/pcre/files/pcre/8.36/pcre-8.36.tar.gz
tar -xvf pcre-8.36.tar.gz 
cd pcre-8.36
./configure --prefix=/usr/local
make
sudo make install

Apache Configuration

./configure \
--prefix=/usr/local/apache \
--enable-so \
--with-included-apr \
--enable-ssl=shared \
--enable-rewrite \
--enable-modules=most \
--enable-mods-shared=all
  • --prefix: Apache를 설치 할 경로

발생할 수 있는 Error

checking for OpenSSL version >= 0.9.8a... FAILED

해결: sudo yum install openssl-devel // openssl-devel을 설치

make && make install

make -j 8 (스레드 8개를 사용해서 컴파일, pc사양에 따라 자유롭게 조절)
make install

ERROR

xml/apr_xml.c:35:19: fatal error: expat.h: 그런 파일이나 디렉터리가 없습니다
-> sudo yum install expat-devel

undefined reference to `XML_GetErrorCode'
-> vi build/config_vars.mk
AP_LIBS 로 시작하는 라인을 찾아서 -lexpat을 추가 후 make.

Apache 시작

cd /usr/local/apache/bin (Apache 설치한 경로)
sudo ./httpd -f /usr/local/apache/conf/httpd.conf -k start

80포트를 열지 않았다면 위의 포트 열기를 참고하세요.

접속해보기

서비스 등록

컴파일로 설치 할 경우 자동으로 service에 등록되지 않는다.
따라서 yum으로 설치했을때 처럼 편하게 Apache를 관리하고 싶다면 아래의 과정을 하면 된다.

sudo cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
sudo vi /etc/init.d/httpd

해당 파일에 하위 내용을 추가한다.
chkconfig: 2345 90 90
description: init file for Apache server daemon
processname: /usr/local/apache/bin/apachectl
config: /usr/local/apache/conf/httpd.conf
pidfile: /usr/local/apache/logs/httpd.pid

# /usr/local/apache는 아파치 설치 경로.

sudo chkconfig --add httpd

이후 sudo systemctl start httpd 로 yum으로 설치했을 때와 동일하게 Apache를 관리 할 수 있다.

profile
머리에 다 안들어가서 글로 적는 중
post-custom-banner

0개의 댓글