본문 바로가기
Server Developer/Server Basic

[Server] Ubuntu-20.04 APM 소스 설치 - Apache 2.4.56

by 성 언 2023. 4. 4.

 

Ubuntu-20.04 APM 소스 설치 - Apache 2.4.56 과정을 정리한 포스팅 입니다.

이번 포스팅에서는Ubuntu-20.04 APM 소스 설치 - Apache 2.4.56에 대해 학습합니다.

 

I) 패키지 설치 대신 소스 설치를 하는 이유

소스 설치는 패키지 설치와는 달리, 소프트웨어의 소스 코드를 직접 컴파일하여 시스템에 설치하는 것입니다.

소스 설치를 하는 이유는 다음과 같습니다.

  1. 최신 버전 사용: 패키지 관리자가 제공하는 버전이 최신 버전이 아닐 수 있습니다.
  2. 맞춤 설정: 패키지 관리자가 제공하는 버전에는 원하는 기능이나 옵션이 없을 수 있습니다.
  3. 종속성 충돌 해결: 패키지 관리자가 제공하는 패키지는 종속성이 많아 충돌이 발생할 수 있습니다.
  4. 성능 향상: 패키지 관리자가 제공하는 패키지는 보안과 안정성을 위해 최적화되어 있습니다. 하지만 성능을 향상시키기 위해서는 직접 소스 코드를 컴파일하고 최적화할 필요가 있습니다.
  5. 프로그래밍과 개발: 개발자들은 소스 코드를 직접 컴파일하여 개발 환경을 구축할 수 있습니다. 이를 통해 개발 과정에서 필요한 라이브러리나 도구를 사용할 수 있습니다.

그러나 소스 설치는 컴파일 오류, 종속성 문제, 보안 취약점 등의 문제가 발생할 수 있으므로, 신중하게 결정해야 합니다.,

 

 

II) 소스 설치는 /usr/local 에서!!

 

/usr/local은 시스템의 기본 디렉토리와는 별도로 소프트웨어 패키지를 설치하는 데 자주 사용되는 디렉토리입니다.

이 디렉토리는 시스템 관리자가 직접 소스 코드에서 컴파일한 소프트웨어를 설치하는 데 사용됩니다.

이 점을 모르고 home/eon 에서 진행하여 php설치 후 연동과정에서 고생했습니다.

꼭 usr/local에서 소스 설치하세요!

cd /usr/local

 

 

 

 

III) 필수 패키지 설치

$ sudo su

apt-get install make
apt-get install build-essential
apt-get install gcc
apt-get install --reinstall make
apt-get install libexpat1-dev
apt-get install g++ 
apt-get install net-tools
apt-get install curl

 

 

 

 

 

IV) 소스 파일 다운로드 & 압축 해제

Apache를 설치하기 전 기본적으로 apr, apr-util, pcre를 설치해야 합니다.

$ sudo su

/usr/local# mkdir apache

1) apr-1.7.3
/usr/local# wget http://mirror.navercorp.com/apache//apr/apr-1.7.3.tar.gz

2) apr-util-1.6.3
/usr/local# wget http://mirror.navercorp.com/apache//apr/apr-util-1.6.3.tar.gz

3) pcre-8.45
/usr/local# wget https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.gz/

4) apache-2.4.56
/usr/local# wget https://dlcdn.apache.org/httpd/httpd-2.4.56.tar.gz

많은 블로그에 올라와있는 apr과 apr-util은 이전 버전인 경우가 많습니다.

http://mirror.navercorp.com/apache/apr/

 

Index of /apache/apr

This downloads page includes only the sources to compile and build APR projects, using the proper tools. All of the release distribution packages have been digitally signed (using PGP or GPG) by the ASF committers that constructed them. There will be an ac

mirror.navercorp.com

위의 링크에서 최신 버전을 확인 후 다운로드 받으세요~ 안그러면 계속 NOT FOUND 오류가 나와요,,.

 

 

 

이제 압축해제를 진행합니다.

tar xvfz apr-1.7.3.tar.gz
tar xvfz apr-util-1.6.3.tar.gz
tar xvfz pcre-8.45.tar.gz
tar xvfz httpd-2.4.56.tar.gz

 

그런데 pcre-8.45를 압축해제하는 과정에서 계속 오류가 발생했습니다.

tar xvfz index.html

로 진행하시거나

wget https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.gz/download

로 pcre를 새로 받아주고

tar xvfx download

이렇게 압축해제 해주면 정상적으로 됩니다. (저는 이 방법으로 했어요 ~)

 

 

 

 

 

V) apr 라이브러리 설치

아래 명령어를 실행하여 APR 라이브러리를 컴파일하고, 설치합니다.

configure 명령어는 라이브러리를 빌드하는 데 필요한 설정을 수행하며, make 명령어는 소스 코드를 컴파일하여 실행 파일을 만듭니다. make install 명령어는 라이브러리와 실행 파일을 시스템에 설치합니다.

--prefix 옵션은 라이브러리 설치 위치를 지정하는 옵션입니다.

위 명령어에서는 /usr/local/apr 디렉토리에 라이브러리를 설치하도록 지정했습니다.

이러한 과정을 거쳐 APR 라이브러리를 소스 설치할 수 있습니다.

 

cd apr-1.7.3
./configure --prefix=/usr/local/apr
make
sudo make install

 

 

 

VI) apr-util 라이브러리 설치

apr과 동일하게 아래 명령어를 실행하여 apr-util 라이브러리를 컴파일하고, 설치합니다. 

configure 명령어는 라이브러리를 빌드하는 데 필요한 설정을 수행하며, make 명령어는 소스 코드를 컴파일하여 실행 파일을 만듭니다. 

make install 명령어는 라이브러리와 실행 파일을 시스템에 설치합니다.

 

--prefix 옵션은 라이브러리 설치 위치를 지정하는 옵션입니다. 

 

위 명령어에서는 /usr/local/apr-util 디렉토리에 라이브러리를 설치하도록 지정했습니다.

 

--with-apr 옵션은 APR-util 라이브러리를 빌드할 때, 필요한 APR 라이브러리의 위치를 지정하는 옵션입니다.

위 명령어에서는 --with-apr=/usr/local/apr 옵션을 사용하여, APR-util 라이브러리를 빌드할 때, /usr/local/apr 디렉토리에 설치된 APR 라이브러리를 사용하도록 지정했습니다.

이렇게 함으로써 APR-util 라이브러리와 APR 라이브러리가 서로 잘 연동되어 동작할 수 있도록 보장합니다. 만약 --with-apr 옵션을 지정하지 않으면, APR-util 라이브러리 빌드 시에 APR 라이브러리를 찾지 못하고 오류가 발생할 수 있습니다.

 

이러한 과정을 거쳐 APR 라이브러리를 소스 설치할 수 있습니다.

cd apr-util-1.6.3
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make
make install

 

 

 

 

 

VII) pcre 설치

위의 과정과 마찬가지로 아래 명령어를 실행하여 pcre 라이브러리를 컴파일하고, 설치합니다. 

configure 명령어는 라이브러리를 빌드하는 데 필요한 설정을 수행하며, make 명령어는 소스 코드를 컴파일하여 실행 파일을 만듭니다. 

make install 명령어는 라이브러리와 실행 파일을 시스템에 설치합니다.

 

--prefix 옵션은 라이브러리 설치 위치를 지정하는 옵션입니다. 

 

위 명령어에서는 /usr/local/pcre 디렉토리에 라이브러리를 설치하도록 지정했습니다.

 

cd pcre-8.45
./configure --prefix=/usr/local/pcre
make
make install

 

 

 

 

 

VIII) Apache 설치

위의 과정과 마찬가지로 아래 명령어를 실행하여 아파치 라이브러리를 컴파일하고, 설치합니다. 

configure 명령어는 라이브러리를 빌드하는 데 필요한 설정을 수행하며, make 명령어는 소스 코드를 컴파일하여 실행 파일을 만듭니다. 

make install 명령어는 라이브러리와 실행 파일을 시스템에 설치합니다.

 

cd httpd-2.4.56
./configure --prefix=/usr/local/apache2.4 \
--enable-module=so --enable-rewrite --enable-so \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--with-pcre=/usr/local/pcre \
--enable-mods-shared=all

그런데 configure을 하는 과정에서 config for libpcre not found 오류가 발생하였습니다.

config for libpcre not found는 아파치(Apache) 웹 서버를 빌드(컴파일)할 때, 필요한 라이브러리 중 하나인 PCRE(Perl Compatible Regular Expression) 라이브러리를 찾을 수 없다는 오류 메시지입니다.

 

아파치를 빌드할 때 --with-pcre 옵션을 사용하여 PCRE 라이브러리의 경로를 지정해주어 해결할 수 있습니다.

./configure --prefix=/usr/local/apache2.4 \
--enable-module=so --enable-rewrite --enable-so \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--with-pcre=/usr/local/pcre/bin/pcre-config  \
--enable-mods-shared=all

이제 make, make install을 진행한다.

 

 

IX) Apache 실행

본격적으로 소스 코드를 컴파일하기 전에 apt update를 해줍니다.

소스 코드를 컴파일하기 전에 apt update 명령어를 실행하여 패키지 매니저의 저장소 정보를 최신 상태로 업데이트하는 것이 좋습니다.

이렇게 함으로써 패키지 매니저를 통해 라이브러리와 의존성 패키지를 최신 버전으로 다운로드하여 시스템에 설치할 수 있습니다

sudo apt-get update
sudo apt-get install net-tools
sudo apt install curl

 

최초의 실행이전에 서버 이름을 설정해 주어야한다.

vi /usr/local/apache2.4/conf/httpd.conf

아파치 웹 서버의 설정 파일인 usr/local/apache2.4/conf/httpd.conf 로 이동하여 설정해줍니다.

이 파일은 웹 서버의 동작 방식과 관련된 설정 정보를 포함하고 있습니다.

 

i로 insert모드로 바꾼 후 ServerName의 주석을 해제합니다.

SeverName을 localhost:80로 설정합니다.

ESC를 누른 후 :wq를 입력하여 저장하고 종료합니다.

SeverName localhost:80

 

 

sudo /usr/local/apache2.4/bin/httpd -k start를 httpd 실행파일을 사용하여 아파치 웹서버를 시작합니다.

stop으로 종료할 수 있습니다.

sudo /usr/local/apache2.4/bin/httpd -k start

# 종료
sudo /usr/local/apache2.4/bin/httpd -k stop

 

 

 

 

+) 그 밖의 옵션

  • ps -ef|grep httpd|grep -v grep: 현재 실행 중인 프로세스 중에서 httpd라는 이름을 가진 프로세스를 찾아서 출력합니다. grep -v grep는 grep 명령어 자체를 제외하기 위한 옵션입니다.
  • sudo netstat -anp|grep httpd: 현재 시스템에서 사용 중인 포트와 해당 포트를 사용하는 프로세스를 확인합니다. grep httpd는 httpd라는 이름을 가진 프로세스만 출력하기 위한 옵션입니다.
  • sudo curl http://127.0.0.1: curl 명령어를 사용하여 http://127.0.0.1 주소로 요청을 보냅니다. 127.0.0.1은 로컬 호스트를 가리키는 IP 주소입니다. 이 명령어를 실행하면, 해당 주소에 대한 응답이 출력됩니다.
ps -ef|grep httpd|grep -v grep
sudo netstat -anp|grep httpd
sudo curl http://127.0.0.1

 

 

X) firefox로 작동 확인

firefox에서 localhost를 입력하고 It works!가 출력되면 정상적으로 작동되는 것 입니다!!!!!!!!!!!!!!!1

 

 

 

 

 

 

ref: 감사합니다!

https://velog.io/@bonjaski0989/AWS-Apache-APR-APR-util-설치

 

[WEB] Apache (APR, APR-util, PCRE) 설치

AWS 환경에서 Apache 설치법에 대한 정리글입니다.

velog.io

https://velog.io/@ogu1208/Ubuntu-Ubuntu-20.04-APM-소스-설치-1.Apache

 

[Ubuntu] Ubuntu-20.04 APM 소스 설치 - 1.Apache

A(Apache) : 웹서버P(PHP) : 웹 프로그래밍 언어M(MYSQL) : 데이터베이스Apache와 MySQL이 PHP와 호환성이 좋기 때문에 주로 세 프로그램을 묶어 패키지 형태로 사용한다.Apache HTTP server소스설치, 수동설치,

velog.io

https://we1cometomeanings.tistory.com/429

 

[Server] virtual box에 ubuntu와 apache소스 설치하기 / 아파치 설치 중 apr-util 에러 해결방법과 아파치 실

virtual box 설치하기 https://phantom.tistory.com/6?category=1175951 오라클 버추얼박스(VirtualBox) 다운로드 및 설치 방법 버추얼박스(VirtualBox)는 본래 이노테크(InnoTek)가 개발한 뒤, 현재는 오라클이 개발 중인

we1cometomeanings.tistory.com

https://ethicalhacker.tistory.com/112

 

Apache2 오류 해결 "AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1.

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message Action 'start' failed. The Apache error log may have more information. [fail] * The a

ethicalhacker.tistory.com

http://mirror.navercorp.com/apache/apr/

 

Index of /apache/apr

This downloads page includes only the sources to compile and build APR projects, using the proper tools. All of the release distribution packages have been digitally signed (using PGP or GPG) by the ASF committers that constructed them. There will be an ac

mirror.navercorp.com

https://httpd.apache.org/download.cgi

 

Download - The Apache HTTP Server Project

Downloading the Apache HTTP Server Use the links below to download the Apache HTTP Server from our download servers. You must verify the integrity of the downloaded files using signatures downloaded from our main distribution directory. The signatures can

httpd.apache.org

https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.gz/download

https://yeni-days.tistory.com/2

 

[Ubuntu] Ubuntu-20.04에 APM 소스 설치(수동 설치)하기 - 1 (Apache)

소스설치 소스설치, 수동설치, 컴파일설치: linux에서 소스를 직접 다운받아 컴파일하여 설치하는 것을 말한다. 패키지 설치와 반대 why? 패키지 설치로 간편하게 설치를 할 수 있지만 불필요하게

yeni-days.tistory.com

https://mainia.tistory.com/5490

 

아파치 Apache 웹 서버 AH00558 : Could not reliable determine the server’s fully qualified domain name 에러 해결하

환경: windows 7 아파치 웹 서버를 다운 받아 실행했는데 AH00558 에러가 난다면 설정을 변경해 줘야 합니다. 윈도우에서 실행했다면 httpd.conf 라는 아파치 설정이 저장된 파일을 찾습니다. 리눅스 계

mainia.tistory.com

<Summary>

- Ubuntu-20.04 APM 소스 설치 - Apache 2.4.56

 

 

*유의사항

- 서버 공부 중인 인공지능공학과 학부생이 공부하여 남긴 정리입니다.

- 정확하지 않거나, 틀린 점이 있다면 댓글로 알려주시면 감사하겠습니다.

댓글