APM 소스 설치(컴파일 설치, 수동설치)-Apache

2021. 1. 24. 04:03Server

반응형

수동설치란? linux에서 소스를 컴파일하여 설치하는 것을 말한다.

  • /usr/local에 설치하는 것이 관례
  • 소스파일은 /usr/local/src에 보관
  • 컴파일 설정을 마친후에는 아래 명령어로 설치를 수행한다.

 

0. APR, PCRE와 같은 의존성 패키지설치

Apache를 Ubuntu 18.04 에 설치, 및 실행하기 위해서 APR, PCRE와 같은 의존성 패키지를 설치해야 한다.

APR(아파치 포터블 런타임) - 아파치 HTTP 서버 2.x.의 핵심이며 휴대용 라이브러리 이런 APR은 고급 IO 기능(예:sendfile, epoll and OpenSSL 등)에 대한 접근을 포함하여 OS 수준의 기능 (난수 생성, 시스템 상태), 그리고 기본 프로세스 처리(공유 메모리, NT 파이프와 유닉스 소켓) 등 많은 용도로 사용되고 있다.

PCRE(Perl Compatible Regular Expressions) - 펄 호환 정규 표현식으로서, 정규식 패턴 일치를 구현하는 함수의 집합, 요즘에는 Apache, PHP, KDE 등을 포함한 오프 소스 프로젝트에서 사용되고 있으며, 아파치 2.4 버전을 설치할 때는 pcre를 설치해야 한다.

1. 소스코드를 저장할 디렉토리를 미리 만들어둔다.

$ sudo su
$ cd usr (mkdir)
$ cd local (mkdir)
$ mkdir apache

 

2. /usr/local 에 apr 과 apr-util 을 다운 받고 압축을 해제한다.

$ wget http://mirror.navercorp.com/apache//apr/apr-1.7.0.tar.gz # 'Web Get'의 약어로 웹 상의 파일을 다운로드 받을 때 사용하는 명령어
$ wget http://mirror.navercorp.com/apache//apr/apr-util-1.6.1.tar.gz
$ tar xvfz apr-1.7.0.tar.gz
$ tar xvfz apr-util-1.6.1.tar.gz

wget - 'Web Get'의 약어로 웹 상의 파일을 다운로드 받을 때 사용하는 명령어

tar xvfz 파일명.gz - 파일을 현재 디렉토리에서 푼다

 

 

3. apr 과 apr-util 을 설치한다. (apr-util 설치 이전에 apr 설치가 선행되어야한다)

3-1. apr 설치

$ cd usr/local/apr-1.7.0
$ ./configure --prefix=/usr/local/apr
$ make
$ make install

./configure --prefix=/usr/local/apr 라는 명령어 - 어떤 파일을 /usr/local/apr 에 설치하겠다는 뜻

make - 소스를 컴파일한다. (컴파일이라는 것은 소스파일을 사용자가 실행가능한 파일로 만들어주는것)

makefile - 어떤 프로그램을 컴파일하고 링크해야하는지 방법을 설명하는것

make install - make를 통해 만들어진 설치파일을 설치하는 과정이다.

 

(에러 해결)

error (2) : cannot remove 'libtoolT' : No such file or directory

$ cp -arp libtool libtoolT 
$ ./configure --prefix=/usr/local/apr

 

3-2. apr-util설치

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

 

4. /usr/local 에 PCRE 를 다운, 압축해제, 설치한다.

$ cd usr/local
$ wget ftp://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
$ tar xvfz pcre-8.43.tar.gz
$ cd usr/local/pcre-8.43
$ ./configure --prefix=/usr/local/pcre
$ make
$ make install

5. Apache 2.4.46 을 설치한다.

$ cd /usr/local
$ wget http://apache.tt.co.kr//httpd/httpd-2.4.46.tar.gz
$ tar xvfz httpd-2.4.46.tar.gz

$ cd httpd-2.4.46
$ ./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
$ make
$ make install

 

6. 실행(사용자환경)

실행 : httpd -k start

종료 : httpd -k stop

$ su -ubuntu
$ sudo /usr/local/apache2.4/bin/httpd -k start
$ ps -ef|grep httpd|grep -v grep 
$ sudo netstat -anp|grep httpd
$ sudo curl http://127.0.0.1

 

실행결과1)

실행결과2)

http://127.0.0.1 을 구글창에 쳤을 때 오류

이유: aws ec2로 서버구축했기때문에 aws에서 구축한 서버 ip주소를 입력해야함 

 

구글창에 http://3.34.122.253 입력 결과

 

 

참고자료 

https://alkhwa-113.tistory.com/7

https://sangm1n.github.io/mysql-install/

https://salix97.tistory.com/137

반응형