티스토리 뷰
1. 설치 환경 준비하기
sudo apt install build-essential
C, C++ 컴파일러 및 Make, 각종 라이브러리 등 개발에 필요한 도구들이 설치된다.
2. Apache 및 설치에 필요한 프로그램 다운로드
다운로드는 wget 을 이용한다.만약 설치되어있지 않다면 아래 명령으로 설치한다.
sudo apt install wget
설치 확인을 위해서 wget 을 입력한다.
아래 각 항목에서 다운로드 후 tar 명령으로 압축을 풀어둔다.
tar zxf <파일 이름>
또는
tar zxvf <파일 이름>
압축 해제 후 ls 로 같은 이름의 폴더가 생성된 것을 확인할 수 있다.
2.1 Apache
wget http://apache.mirror.cdnetworks.com//httpd/httpd-2.4.29.tar.gz
최신 버전은 이곳에서 다운 받는다.
http://httpd.apache.org/download.cgi#apache24
Source: httpd-2.4.XX.tar.gz 우클릭 후 링크 복사하면 wget에 필요한 경로를 얻을 수 있다.
2.2 APR, APR-util
APR이란, Apache가 설치된 플랫폼(OS)에 관계 없이 일정한 동작을 하기 위해 필요한 라이브러리이다.
Apache 설치 시 요구 사항이지만 어째서인지 공식 문서에 안내 되지 않고있다.
미리 다운 받는다.
wget http://apache.mirror.cdnetworks.com//apr/apr-1.6.3.tar.gz
wget http://apache.mirror.cdnetworks.com//apr/apr-util-1.6.1.tar.gz
최신 버전은 이곳에서 다운 받는다.
https://apr.apache.org/download.cgi
Apache와 마찬가지로 다운로드 링크를 우클릭 후 링크 복사로 wget에 필요한 경로를 얻을 수 있다.
2.3 pcre
pcre는 정규표현식 라이브러리이다.
ubuntu에 설치되어있지 않기 때문에 미리 설치하고 진행한다.
마찬가지로 Apache 설치에 필요한 사항이지만 공식 문서에 안내 되지 않고있다.
wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz
pcre2로 설치하는 경우 Apache 설치할 때 설치된 pcre2 라이브러리를 인식하지 못한다.
3. 컴파일 및 설치
설치 경로를 바꾸지 않고 기본 경로로 설치한다.
기본 설치 경로는 /usr/local 이다.
3.1 APR, APR-util
APR을 먼저 설치하기 위해 해당 폴더로 이동한다.
cd apr-1.6.X
./configure
make
sudo make install
이어서 APR-util을 설치하기위해 해당 폴더로 이동한다.
cd ../apr-util-1.6.X
APR-util은 설치 시 APR의 경로를 지정해주어야 한다.
./configure --with-apr=/usr/local/apr
make
make install
expat.h: No such File or Directory
만약 make 단계에서 위와같은 에러가 나오면 libexpat1-dev를 설치한 뒤 make 부터 다시 한다.
sudo apt install libexpat1-dev
3.2 pcre
pcre를 설치하기 위해 해당 폴더로 이동한다.
cd ../pcre-8.41/
./configure
make && sudo make install
3.3 Apache
Apache를 설치하기 위해 해당 폴더로 이동한다.
cd ../httpd-2.4.29
./configure -n
configure에 필요한 도구들이 있는지 확인하기 위해 -n 옵션을 달았다.
-n 옵션으로 미리 확인하지 않는다면 매번 생성되는 Makefile을 삭제해주어야 한다.
문제가 발생한다면 해당 문제를 구글에 검색해 해당 도구를 설치한 뒤 다시 ./configure -n 을 입력한다.
문제가 없다면 설치를 진행한다.
-n 옵션은 make에 필요한 결과물(Makefile)을 생성하지 않기 때문에 -n 옵션 없이 다시 configure 한다.
만약 추가하고 싶은 모듈이 있다면 configure 단계에서 옵션을 추가한다.
자세한 사항은 아래 링크에서 확인할 수 있다.
https://httpd.apache.org/docs/2.4/programs/configure.html#installationdirectories
./configure
make && sudo make install
4. 실행
sudo /usr/local/apache2/bin/apachectl start
위 명령를 실행하면 Apache 서버 프로그램이 실행된다.
/usr/local/apache2/bin/httpd: eeror while loading shared libraries: libpcre.so.1: cannot open chared object file: No such file or dicectory
위와 같은 오류가 나타나는 경우 아래 명령을 실행한다.
sudo /sbin/ldconfig
sudo /usr/local/apache2/bin/apachectl start
ldconfig는 모듈 파일(*.so 등)을 인식하지 못할 때 다시 읽어오는 파일이다.
웹 브라우저에서 서버 주소를 입력하고 It Works! 라는 문구가 보이면 성공한 것이다.
5. 실행 환경 설정
/usr/local/apache2/conf/httpd.conf
위 경로에서 포트 변경 및 모듈 추가/삭제를 할 수 있다.
cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
아파치 실행 파일을 /etc/init.d 폴더에 httpd란 이름으로 복사한다.
이후 아래 명령으로 서버를 실행, 정지 시킬 수 있다.
service httpd start
service httpd stop
참고자료
https://httpd.apache.org/docs/2.4/install.html
https://askubuntu.com/questions/689722/how-to-install-a-c-c-compiler-in-ubuntu-14-04lts
https://github.com/scottcorgan/bucket-list/issues/2
http://jin1ib.tistory.com/10
https://sir.kr/pg_tip/9207