소스설치
- 소스설치, 수동설치, 컴파일설치: 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에 설치하는 것이 관례이다.
- 소스파일을 내려받고
- ./configure로 설정을 한다.
- make로 컴파일을 한 뒤
- 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!가 나온다면 성공이닷
참고
'Ubuntu' 카테고리의 다른 글
[AWS] ec2에 HTTPS 적용 - let's encrypt (redirection) (1) | 2021.12.07 |
---|---|
[Ubuntu] Ubuntu-20.04에 APM 소스 설치(수동 설치)하기 - 3 (PHP) (2) | 2021.11.28 |
[Ubuntu] Ubuntu-20.04에 APM 소스 설치(수동 설치)하기 - 2 (MySQL) (0) | 2021.11.26 |