Ubuntu-20.04 APM 소스 설치 - Apache 2.4.56 과정을 정리한 포스팅 입니다.
이번 포스팅에서는Ubuntu-20.04 APM 소스 설치 - Apache 2.4.56에 대해 학습합니다.
I) 패키지 설치 대신 소스 설치를 하는 이유
소스 설치는 패키지 설치와는 달리, 소프트웨어의 소스 코드를 직접 컴파일하여 시스템에 설치하는 것입니다.
소스 설치를 하는 이유는 다음과 같습니다.
- 최신 버전 사용: 패키지 관리자가 제공하는 버전이 최신 버전이 아닐 수 있습니다.
- 맞춤 설정: 패키지 관리자가 제공하는 버전에는 원하는 기능이나 옵션이 없을 수 있습니다.
- 종속성 충돌 해결: 패키지 관리자가 제공하는 패키지는 종속성이 많아 충돌이 발생할 수 있습니다.
- 성능 향상: 패키지 관리자가 제공하는 패키지는 보안과 안정성을 위해 최적화되어 있습니다. 하지만 성능을 향상시키기 위해서는 직접 소스 코드를 컴파일하고 최적화할 필요가 있습니다.
- 프로그래밍과 개발: 개발자들은 소스 코드를 직접 컴파일하여 개발 환경을 구축할 수 있습니다. 이를 통해 개발 과정에서 필요한 라이브러리나 도구를 사용할 수 있습니다.
그러나 소스 설치는 컴파일 오류, 종속성 문제, 보안 취약점 등의 문제가 발생할 수 있으므로, 신중하게 결정해야 합니다.,
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/
위의 링크에서 최신 버전을 확인 후 다운로드 받으세요~ 안그러면 계속 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-설치
https://velog.io/@ogu1208/Ubuntu-Ubuntu-20.04-APM-소스-설치-1.Apache
https://we1cometomeanings.tistory.com/429
https://ethicalhacker.tistory.com/112
http://mirror.navercorp.com/apache/apr/
https://httpd.apache.org/download.cgi
https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.gz/download
https://yeni-days.tistory.com/2
https://mainia.tistory.com/5490
<Summary>
- Ubuntu-20.04 APM 소스 설치 - Apache 2.4.56
*유의사항
- 서버 공부 중인 인공지능공학과 학부생이 공부하여 남긴 정리입니다.
- 정확하지 않거나, 틀린 점이 있다면 댓글로 알려주시면 감사하겠습니다.
'Server Developer > Server Basic' 카테고리의 다른 글
[Server] Ubuntu-20.04 APM 소스 설치 - PHP 8.2.4 (0) | 2023.04.07 |
---|---|
[Server] Ubuntu-20.04 APM 소스 설치 - MySQL 8.0.32 (0) | 2023.04.07 |
[Server] ATM에 Ubuntu(Linux) 운영체제 구축 (M1 Mac Pro) (0) | 2023.04.02 |
댓글