[CentOS7] 컴파일 하여 아파치(Apache) 설치
▶ 0. gcc 패키지 설치
GCC 란?
- GNU 컴파일러 모음(GNU Compiler Collection, 줄여서 GCC)는 GNU 프로젝트의 일환으로 개발되어 널리 쓰이고 있는 컴파일러이다
( 다음에서 각각의 설치할 패키지의 최신 버전 확인 가능 )
– 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 https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz |
wget이 안되면 ftp 연결해서 다운받은 파일을 직접 첨부하여 진행 하면된다
https://hansoul.tistory.com/65
▶ 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. 서비스 확인
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
configure: error: in `/usr/local/src/apr-1.7.0':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
소스컴파일로 설치시 c컴파일러가 없어 발생 에러
# yum install gcc glibc glibc-common gd gd-devel -y
rm: cannot remove 'libtoolT': No such file or directory
Libtoolt를 복사 해주면 완료된다 cp-arp libtool libtoolT
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
아파치 conf 파일 ServerName 에서 주석을 지워주면 된다
centos 7 /vm ware 한글 입력 (0) | 2021.09.16 |
---|---|
vmware ifconfig 안보일때 네트워크 설정 (0) | 2021.09.01 |
xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory apache 컴파일 설치 시 오류 (0) | 2021.06.28 |
CentOS7 화면 보호기 해제 하는법 (0) | 2021.06.28 |
VirtualBox에 Linux CentOS 7 설치 (+외부 IP 설정까지) (0) | 2021.06.14 |
댓글 영역