apache http server project를 yum이나 rpm 없이 compile을 통해서 install하는 방법을 공유합니다.
아파치를 컴파일 하기위해선 먼저 apr, apr-util, pcre가 설치되어 있어야 합니다.
그리고 pcre를 설치하기 위해선 expat-devel 이 설치되어 있어야합니다.
(pcre는 정규식사용을 위한 라이브러리입니다.)
아파치 설치를 위해 역순으로 설치합니다.
1. expat-devel 설치는 yum을 통해서 설치합니다. ( 추후에 expat도 컴파일 설치하는 방법을 공유하도록 하겠습니다. )
yum install expat-devel |
2. pcre 설치
다운로드 URL : http://www.pcre.org/
URL에 접속하면 아래 화면이 뜨는데, 빨간 박스 부분을 클릭합니다.
그러면, 아래 화면으로 넘어가는데 최신버전은 아래로 가도록 정렬됩니다.
2018년 2월 현재 pcre중에 최신버전인 pcre-8.41.tar.gz를 다운로드 받습니다.
다운받은 파일의 압축을 풉니다.
tar -xvzf pcre-8.41.tar.gz |
압축을 푼 디렉토리로 이동해서 configure 명령어를 실행합니다. prefix 옵션을 통해 설치 위치를 지정합니다.
make && make install 을 하면 설치가 완료됩니다.
./configure --prefix=/svc/apache/pcre8.41 make make install |
만약에 pcre 를 설치하기전에 expat-devel 이 설치되어있지 않으면 아래 오류메시지를 만나게 됩니다.
xml/apr_xml.c:35:19: error: expat.h: No such file or directory xml/apr_xml.c:66: error: expected specifier-qualifier-list before ‘XML_Parser’ xml/apr_xml.c: In function ‘cleanup_parser’: xml/apr_xml.c:364: error: ‘apr_xml_parser’ has no member named ‘xp’ xml/apr_xml.c:365: error: ‘apr_xml_parser’ has no member named ‘xp’ xml/apr_xml.c: At top level: xml/apr_xml.c:384: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token xml/apr_xml.c: In function ‘apr_xml_parser_create’: xml/apr_xml.c:401: error: ‘apr_xml_parser’ has no member named ‘xp’ xml/apr_xml.c:402: error: ‘apr_xml_parser’ has no member named ‘xp’ xml/apr_xml.c:410: error: ‘apr_xml_parser’ has no member named ‘xp’ xml/apr_xml.c:411: error: ‘apr_xml_parser’ has no member named ‘xp’ xml/apr_xml.c:412: error: ‘apr_xml_parser’ has no member named ‘xp’ xml/apr_xml.c:424: error: ‘apr_xml_parser’ has no member named ‘xp’ xml/apr_xml.c:424: error: ‘default_handler’ undeclared (first use in this function) xml/apr_xml.c:424: error: (Each undeclared identifier is reported only once xml/apr_xml.c:424: error: for each function it appears in.) xml/apr_xml.c: In function ‘do_parse’: xml/apr_xml.c:434: error: ‘apr_xml_parser’ has no member named ‘xp’ xml/apr_xml.c:438: error: ‘apr_xml_parser’ has no member named ‘xp’ xml/apr_xml.c:442: error: ‘apr_xml_parser’ has no member named ‘xp_err’ xml/apr_xml.c:442: error: ‘apr_xml_parser’ has no member named ‘xp’ xml/apr_xml.c: In function ‘apr_xml_parser_geterror’: xml/apr_xml.c:500: error: ‘apr_xml_parser’ has no member named ‘xp_err’ xml/apr_xml.c:500: error: ‘apr_xml_parser’ has no member named ‘xp_err’ make[1]: *** [xml/apr_xml.lo] Error 1 make[1]: Leaving directory `/home/goni9071/apr-util-1.6.1' make: *** [all-recursive] Error 1 |
3. apr, apr-util 설치
다운로드 URL : https://apr.apache.org/
URL로 이동하면 아래 화면이 나오는데 빨간박스 부분을 클릭합니다. (위,아래 모두 동일한 링크입니다.)
위의 링크를 클릭하면 아래화면이 나옵니다.
APR과 APR-util을 각각 최신버전으로 다운로드 받습니다.
모두 다운로드 받았으면 pcre와 동일하게 다음 절차를 진행합니다.
prefix를 통해 설치 위치를 지정하고 --with-apr을 통해 apr이 설치된 위치를 알려줍니다.
tar -xvzf apr-1.6.3.tar.gz cd apr-1.6.3 ./configure --prefix=/svc/apache/apr1.6 make make install tar -xvzf apr-util-1.6.1.tar.gz cd apr-util-1.6.1 ./configure --with-apr=/svc/apache/apr1.6 --prefix=/svc/apache/aprutil1.6 make make install |
4. 마지막으로 apache를 설치합니다.
다운로드 URL : http://httpd.apache.org/download.cgi
URL로 이동해서 아래화면의 빨간박스를 클릭합니다.
마찬가지로 다운롤드 받은 파일의 압추을 풀고 다음 절차대로 진행합니다.
prefix를 통해 설치위치를 지정하고 with-apr을 통해 apr 설치위치를 알려줍니다.
with-apr-util을 통해 apr-util 설치 위치를 with-pcre를 통해 pcre 설치위치를 알려줍니다.
enable-proxy 는 ProxyPass 기능이 필요해서 추가하였습니다.
enable-rewrite 역시 RewriteRule 기능이 필요해서 추가하였습니다.
tar -xvzf httpd-2.4.29.tar.gz cd httpd-2.4.29 ./configure --prefix=/svc/apache/httpd2.4 --with-apr=/svc/apache/apr1.6 --with-apr-util=/svc/apache/aprutil1.6 --with-pcre=/svc/apache/pcre8.41 --enable-proxy --enable-so --enable-rewrite make make install | cs |
다음 명령어를 통해 아파치를 시작할 수 있습니다.
/svc/apache/httpd2.4/bin/httpd -k start |
다음은 apr을 설치하지 않고 아파치 configure를 진행했을 때 발생하는 오류입니다.
checking for chosen layout... Apache checking for working mkdir -p... yes checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking target system type... x86_64-pc-linux-gnu configure: configure: Configuring Apache Portable Runtime library... configure: checking for APR... no configure: error: APR not found. Please read the documentation. |
'리눅스' 카테고리의 다른 글
리눅스 - 아파치 일반 계정으로 실행하기. (Linux Apache sudo httpd) (0) | 2018.04.03 |
---|---|
ssh 접속 이력, 로그인 시도, 해킹 시도 확인 (0) | 2018.03.09 |
리눅스 - sftp 접속시 Received message too long 오류 메시지 (2) | 2018.02.28 |
ssh root 접속 차단 (0) | 2018.02.20 |
리눅스 umount device is busy. (0) | 2018.01.31 |
리눅스 logrotate를 이용한 로그 정리 (3) | 2018.01.30 |
리눅스 파일 날짜 변경 (0) | 2018.01.30 |
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message (0) | 2018.01.30 |