Welcome to the BBOGAK

Nice to see you here

LET's GET it Dev. Knowledge

OS/linux

CentOS Apache 설치

IT뽀각 2023. 2. 16. 17:48
반응형
 

아파치 설치 방법 (CentOS 7~)

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

yum을 이용한 설치

설치 방법

가장 간단한 설치 방법이다.

sudo yum install httpd


y를 눌러주면 설치가 진행된다.
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

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

/*
#!/bin/sh
밑에 행에
# 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를 관리 할 수 있다.

 

 

출처-https://velog.io/@yebali/Apache-Linux-Apache-%EC%84%A4%EC%B9%98%EB%B0%A9%EB%B2%95

반응형