본문 바로가기

Ubuntu

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

소스설치

  • 소스설치, 수동설치, 컴파일설치: linux에서 소스를 직접 다운받아 컴파일하여 설치하는 것을 말한다.
  • <-> 패키지 설치와 반대
  • why? 패키지 설치로 간편하게 설치를 할 수 있지만 불필요하게 설치되는 파일들이 시스템의 자원을 사용하게 되고 패키지 단위로 설치되기에 관리적으로 문제가 발생 가능하다.

필수 패키지 설치

먼저 필요한 패키지들을 설치한다.

$ 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

 

소스설치 관례

/usr/local에 설치하는 것이 관례이다.

  1. 소스파일을 내려받고
  2. ./configure로 설정을 한다.
  3. make로 컴파일을 한 뒤
  4. make install로 설치한다.

 

  • configure: 소스파일에 대한 환경설정을 해주는 명령어다. (뒤에 옵션을 넣음) 서버환경에 맞추어 makefile을 생성해주는 과정이다.
  • make: 소스를 컴파일 하는 것이다. 컴파일이란 소스파일을 사용자가 실행 가능한 파일로 만들어 주는 과정을 말한다.
  • make install: make를 통해 만들어진 설치파일을 설피하는 과정이다. 한마디로 build된 프로그램을 실행할 수 있게 파일들을 알맞은 위치에다가 복사를 한다.

소스설치 파일 다운로드 및 압축해제

$ sudo su

/usr/local# mkdir apache

1) apr-1.7.0

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

2) apr-util-1.6.1

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

3) pcre-8.43

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

4) apache-2.4.51

/usr/local# wget https://dlcdn.apache.org//httpd/httpd-2.4.51.tar.gz

 

압축해제

/usr/local# tar xvfz apr-1.7.0.tar.gz
/usr/local# tar xvfz apr-util-1.6.1.tar.gz

/usr/local# tar xvfz pcre-8.45.tar.gz

/usr/local# tar xvfz httpd-2.4.51.tar.gz

 

    • mkdir: 디렉토리를 생성하는 명령어이다.
    • wget: 웹 서버로부터 파일을 다운받는다.
    • tar xvfz: tar.gz 압축을 한 번에 풀어준다.
    • APR: APR(아파치 포터블 런타임)는 아파치 HTTP 서버 2.x.의 핵심이며 휴대용 라이브러리이다. 이런 APR은 고급 IO 기능(예:sendfile, epoll and OpenSSL 등)에 대한 접근을 포함하여 OS 수준의 기능 (난수 생성, 시스템 상태), 그리고 기본 프로세스 처리(공유 메모리, NT 파이프와 유닉스 소켓) 등 많은 용도로 사용되고 있다.
    • PCRE: PCRE( Perl Compatible Regular Expressions )는 펄 호환 정규 표현식으로서, 정규식 패턴 일치를 구현하는 함수의 집합이다. 요즘에는 Apache, PHP, KDE 등을 포함한 오프 소스 프로젝트에서 사용되고 있으며, 아파치 2.4 버전을 설치할 때는 pcre를 설치해야 한다.

apr 설치

/usr/local# cd apr-1.7.0

/usr/local/apr-1.7.0# ./configure --prefix=/usr/local/apr

여기서 오류가 난다면

# cp -arp libtool libtoolT 다운로드를 해준다.

/usr/local/apr-1.7.0# make

/usr/local/apr-1.7.0# make install

 

apr-util 설치

/usr/local# cd apr-util-1.6.1

/usr/local/apr-util-1.6.1# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

/usr/local/apr-util-1.6.1# make

/usr/local/apr-util-1.6.1# make install

 

pcre 설치

/usr/local# cd pcre-8.45

/usr/local/pcre-8.43# ./configure --prefix=/usr/local/pcre

/usr/local/pcre-8.43# make

/usr/local/pcre-8.43# make install

 

Apache 설치 (apache-2.4.51)

/usr/local# cd httpd-2.4.51

/usr/local/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

/usr/local/httpd-2.4.46# make

/usr/local/httpd-2.4.46# make install

 

Apache 실행

실행: httpd -k start, 종료: httpd -k stop

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

/usr/local# ps -ef | grep httpd | grep -v grep

/usr/local# sudo netstat -anp | grep httpd

/usr/local# sudo curl http://127.0.0.1

제대로 동작하는 것을 볼 수 있음 !

웹 브라우저에 127.0.0.1을 입력하고 It works!가 나온다면 성공이닷

참고