4. [CentOS7] 컴파일 하여 아파치(Apache) 설치
- -
[CentOS7] 컴파일 하여 아파치(Apache) 설치
▶ 0. gcc 패키지 설치
# yum -y install gcc make gcc-c++ pcre-devel |
GCC 란? - GNU 컴파일러 모음(GNU Compiler Collection, 줄여서 GCC)는 GNU 프로젝트의 일환으로 개발되어 널리 쓰이고 있는 컴파일러이다. 자유 소프트웨어 중에 가장 잘 알려진 것들 중 하나이다. 원래 GCC는 C만을 지원했던 컴파일러로 이름도 "GNU C 컴파일러"였지만, 후에 C++, Java, Fortran, Ada 등 여러 언어를 컴파일할 수 있게 되면서, 현재의 이름으로 바뀌었다.
- GCC는 리처드 스톨만이 1987년 GNU 프로젝트의 컴파일러로 작성했다. GNU 프로젝트에 컴파일러가 없었기 때문에 이 개발은 자유 소프트웨어 재단이 후원하였다. 1997년 개발 과정은 공개되었으며, 속도 또한 빨라졌다. 1999년 첫 버전이 나왔다. 현재 GCC는 전세계적으로 관리되고 있으며, 다양한 중앙 처리 장치를 처리할 수 있게 되었다. GNU 시스템의 공식 컴파일러이므로 GCC는 많은 컴파일러와 운영 체제를 만드는 데 사용되었다. 한편, 시스템 네이티브 컴파일러를 사용했을 때 비해서 GCC를 사용하면 같은 파서로 코드를 처리하므로 이식성을 향상시킬 수 있다. GCC는 상용 컴파일러에 비해서 느린 코드를 생성했지만 최근 많이 개선되었다. |
( 다음에서 각각의 설치할 패키지의 최신 버전 확인 가능 )
– apache : http://www.apache.org/dyn/closer.cgi
– apr/apr-util : https://apr.apache.org
– pcre : http://www.pcre.org
▶ 1. 아파치 다운로드
- http://httpd.apache.org/download.cgi
# cd /tmp/lib # wget http://mirror.apache-kr.org//httpd/httpd-2.4.29.tar.gz
|
▶ 2. apr 다운로드
- http://mirror.apache-kr.org/apr/
# wget http://apache.mirror.cdnetworks.com//apr/apr-1.6.3.tar.gz |
▶ 3. apr-util 다운로드
# wget http://apache.mirror.cdnetworks.com//apr/apr-util-1.6.1.tar.gz |
▶ 4. pcre 다운로드
- ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz |
▶ 5. 각 파일 압축풀기 및 이동
# tar xvfz httpd-2.4.29.tar.gz # mv httpd-2.4.29/ /usr/local/src
# tar xvfz apr-1.6.3.tar.gz # mv apr-1.6.3/ /usr/local/src
# tar xvfz apr-util-1.6.1.tar.gz # mv apr-util-1.6.1 /usr/local/src
# tar xvfz pcre-8.41.tar.gz # mv pcre-8.41/ /usr/local/src
# cd /usr/local/src |
▶ 6. 설치
6.1 APR & APR UTIL 설치
- 톰캣은 뛰어난 확장성, 성능 및 기본 서버 기술로 더 나은 통합을 제공하기 위해 Apache Portable Runtime를 사용할 수 있다. 아파치 포터블 런타임은 아파치 HTTP 서버 2.x.의 핵심이며 휴대용 라이브러리이다.
이런 APR은 고급 IO 기능(예:sendfile, epoll and OpenSSL 등)에 대한 접근을 포함하여 OS 수준의 기능 (난수 생성, 시스템 상태), 그리고 기본 프로세스 처리(공유 메모리, NT 파이프와 유닉스 소켓) 등 많은 용도로 사용되고있다.
** APR (Apache Portable Runtime)
# cd /usr/local/src/apr-1.6.3 # ./configure --prefix=/usr/local/src/apr-1.6.3
# make && make install |
** APR UTIL
# cd /usr/local/src/apr-util-1.6.1 # ./configure --prefix=/usr/local/src/apr-util-1.6.1 --with-apr=/usr/local/src/apr-1.6.3
# make && make install |
혹시 APR UTIL 설치시 다음과 같은 에러가 발생한 적이 있다면 다음과 같이 해결한다.
[make 시 에러]
xml/apr_xml.c:35:19: fatal error: expat.h: 그런 파일이나 디렉터리가 없습니다
#include <expat.h>
^
compilation terminated.
make[1]: *** [xml/apr_xml.lo] 오류 1
make[1]: Leaving directory `/app/src/apr-util-1.6.0'
make: *** [all-recursive] 오류 1
아래처럼 expat-devel 설치후 진행
yum install expat-devel
6.2 PCRE 설치
PCRE 라이브러리는 Perl 5 같은 구문과 의미를 사용하여 정규식 패턴 일치를 구현하는 함수의 집합이다. PCRE는 자체 native API 뿐만 아니라 POSIX 정규식 API에 대응하는 래퍼 함수의 집합도 포함하고 있다. PCRE 라이브러리는 심지어 proprietary software 개발에 사용되어도 무료이다.
PCRE는 원래 Exim MTA(Exim은 Mail Transfer Agent의 한 종류)를 위해 만들어졌으나, 요즘에는 Apache, PHP, KDE 등을 포함한 유명한 오픈소스 프로젝트에서 사용되고 있다. PCRE는 애플사의 사파리와 같은 몇몇의 잘 알려진 사용 제품에서 그 방법을 찾기도 했다.
PCRE를 사용하는 다른 프로젝트는 다음과 같다.
Chicken, Ferite, Onyx 등...
Perl 5의 사용법(또는 문법)과 유사하게 만들어 졌고, 자제 API도 있고, POSIX와의 호환성도 좋고, 심지어 소유권을 주장할 수 있는 소프트웨어 개발에도 무료로 사용할 수 있고, 원래는 메일 전송 에이전트 용으로 만들었는데 장안의 화제가 되어 주옥같은 오프 소스 프로젝트에서 두루두루 사용되고 있으며, 애플사의 사파리와 같이 엄청 유명한 상용 제품에도 사용되고 있다고 한다
** PCRE (Perl Compatible Regular Expressions) - Perl 호환 정규 표현식들
# cd /usr/local/src/pcre-8.41 # ./configure --prefix=/usr/local/src/apr-util-1.6.1 --with-apr=/usr/local/src/apr-1.6.3
# make && make install
|
6.3 아파치 설치
** 아파치(httpd)
# cd /usr/local/src/httpd-2.4.29 # ./configure --prefix=/usr/local/apache2 --enable-modules=most --enable-mods-shared=all --enable-so --with-apr=/usr/local/src/apr-1.6.3 --with-apr-util=/usr/local/src/apr-util-1.6.1
# make && make install
|
7. 설정
# vi /usr/local/apache2/conf/httpd.conf |
보기 편하게 :set nu로 줄표시 한다.
** 205번째 줄 변경
ServerName 127.0.0.1:80
8. 시작
/usr/local/apache2/bin/httpd -k start
** 동작포트 확인
netstat -tulpn | grep LISTEN
9. 방화벽 open
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --reload
firewall-cmd --list-ports
10. 서비스 확인
http://ip주소
11. 아파치 중지/실행 테스트
/usr/local/apache2/bin/apachectl stop
/usr/local/apache2/bin/apachectl start
12. 자동실행 설정
** 설정파일 복사
cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
vi /etc/init.d/httpd
** 주석추가
# Comments to support chkconfig on CentOS
# chkconfig: 2345 90 90
# description: A very fast and reliable WebServer engine.
** 확인
service httpd start
service httpd stop
** 자동시작 설정
chkconfig httpd on
※ 참고
위의 번거로운 작업 없이도 yum install을 사용하여 바로 설치할 수도 있다.
▶ 1. 설치 명령어
#yum install httpd
▶ 2. 설치 위치 확인
#which httpd
▶ 3. 버전확인
#/usr/sbin/httpd -v
▶ 4. 아파치 주요 디렉토리
/etc/httpd/
- 아파치 디렉토리
/etc/httpd/conf
- httpd.conf : Apache 설정 파일
ex) 설정파일 위치 : /etc/httpd/conf/httpd.conf
- magic : MIME 형식을 지정하기 위한 파일
/etc/httpd/conf.d
- Apache 설정을 분리해서 저장하는 디렉토리
- httpd.conf 설정 내용을 이 디렉토리에 저장하면 httpd.conf 파일이 현 디렉토리 내용을 불러와서 사용
- httpd.conf 마지막에 IncludeOptional conf.d/*.conf 구문이 존재
/etc/httpd/log/
- 로그 파일이 저장되는 디렉토리
ex) 로그파일 위치 : /var/log/httpd/access_log
/etc/httpd/modules
- Apache 모듈 설치 디렉토리
▶ 4. 아파치 주요 명령어
명령어 |
centos 7 |
centos 6 |
상태 확인 |
systemctl status httpd |
service httpd status |
시작 |
systemctl start httpd |
service httpd start |
정지 |
systemctl stop httpd |
service httpd stop |
재시작 |
systemctl restart httpd |
service httpd restart |
리로드 |
systemctl reload httpd |
service httpd relod |
자동시작설정 | systemctl enable httpd | chkconfig httpd on |
자동시작해제 | systemctl disable httpd | chkconfig httpd off |
자동시작 확인 | systemctl is-enable httpd | chkconfig httpd |
끝 :-)
'4.Linux' 카테고리의 다른 글
6. [CentOS7] 아파치와 톰캣 연동하기 (mod_jk) & 로드밸런스 설정 (1) | 2018.01.25 |
---|---|
5. [CentOS7] 톰캣(Tomcat) 다중으로 설치 (0) | 2018.01.25 |
3. [centOS7] 톰캣(Tomcat) 설치 (1) | 2018.01.23 |
2. [CentOS7] 리눅스 FTP(vsftpd) 설치 및 설정 (4) | 2018.01.22 |
[SecureCRT] 배경, 글씨 색 설정 (초간단) (0) | 2018.01.22 |
소중한 공감 감사합니다