1. 설치환경
CentOS7
# cat /etc/*release*
2. 소스설치를 하는 이유?
패키지 설치로 간편하게 설치를 할 수 있지만 불필요하게 설치되는 파일들이 시스템의 자원을 사용하게 되고 패키지 단위로 설치되기에 관리적으로 문제가 발생 가능하다. 소스 설치로 정말 필요한 기능만을 설치한다.
1) 리눅스에서 기본 소스설치 할때 소스파일 (설치파일은)
/usr/local/src/ 에 다운받거나 저장한다
2) 소스설치 파일은 지우지 않는다.
[출처:
https://blog.naver.com/PostView.nhn?blogId=tawoo0&logNo=221582362314&proxyReferer=https:%2F%2Fwww.google.co.kr%2F]
3. 소스 설치 파일 다운로드
# cd /usr/local/src 에 소스파일 받는다
Apache
1) Apache 2.4.46
wget https://downloads.apache.org//httpd/httpd-2.4.46.tar.gz
2) apr1.7.0
wget https://downloads.apache.org//apr/apr-1.7.0.tar.gz
3) apr-util1.161
wget https://downloads.apache.org//apr/apr-util-1.6.1.tar.gz
4) pcre-8.44
wget ftp://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz
or
wget https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz
4. 압축해제
tar xvf httpd2.4.46.tar.gz
tar xvf apr-1.7.0.tar.gz
tar xvf apr-util-1.6.1.tar.gz
tar xvf pcre-8.44.tar.gz
5. 기본 필수 패키지 설치
yum install gcc gcc pcre-develgcc gcc-c++ ncurses ncursrs-devel cmake expat-devel libexpat-dev apr-util-devel openssl-devel
6. 소스 컴파일
1) pcre-8.44
# cd /usr/local/src/pcre-8.44
# ./configure --prefix=/usr/local
# make && make install
2) apr-1.7.0
# cd /usr/local/src/apr-1.7.0
# ./configure --prefix=/usr/local/apr
# make && make install
3) apr-util-1.6.1
# cd /usr/local/src/apr-util-1.6.1
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make && make install
4) httpd2.4.46
# cd /usr/local/src/httpd-2.4.46
# ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --enable-mods-shared=all \
--enable-modules=shared --enable-ssl --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-mpm=prefork --enable-http2
# make && make install
※ 오류
ㅁ configure 오류
1) enable-ssl 옵션으로 인한 오류
# yum install openssl-devel
2) enable-http2 옵션으로 인한 오류
nghttp2 설치
# cd /usr/local/src
# wget https://github.com/nghttp2/nghttp2/releases/download/v1.37.0/nghttp2-1.37.0.tar.gz
# tar xvfz nghttp2-1.37.0.tar.gz
# cd nghttp2-1.37.0
# ./configure
# make && make install
ㅁ make 오류
1) httpd 에서 exports.lo 오류 발생
# yum remove apr 후 /usr/local/apr 과 /usr/local/apr-util 모두 삭제후 재 설치
7. 소스컴파일 후 작업
# cp -arp /usr/local/apache/bin/apachectl /etc/init.d/apachectl
# vi /etc/init.d/apachectl
아래 내용 추가
#!/bin/sh
#
# chkconfig: 2345 90 90
# description: init file for Apache server daemon
# processname: /usr/local/apache/bin/apachectl
# config: /usr/local/apache/conf/httpd.conf
# pidfile: /usr/local/apache/logs/httpd.pid
# chkconfig –add apachectl
# chkconfig apachectl on
================================
# vi /etc/systemd/system/apache.service
[Unit]
Description=The Apache HTTP Server
[Service]
Type=forking
#EnvironmentFile=/usr/local/apache2/bin/envvars
PIDFile=/usr/local/apache2/logs/httpd.pid
ExecStart=/usr/local/apache2/bin/apachectl start
ExecReload=/usr/local/apache2/bin/apachectl graceful
ExecStop=/usr/local/apacher2/bin/apachectl stop
KillSignal=SIGCONT
PrivateTmp=true
[Install]
WantedBy=multi-user.target
# systemctl daemon-reload
# systemctl enable apache
apache config 검사
# /usr/local/apache/bin/apachectl -t
# /usr/local/apache/bin/apachectl -S
'리눅스' 카테고리의 다른 글
Apache 리다이렉트 (HTTP→HTTPS) (0) | 2021.03.19 |
---|---|
APM + XE 설치 (0) | 2021.03.10 |
APM 소스컴파일 설치(2) - MariaDB (0) | 2021.03.08 |
[리눅스] CentOS7 계정 생성 / 삭제 (0) | 2020.09.25 |
[리눅스] 가상화 프로그램과 Linux 설치하기 (0) | 2020.09.19 |