본문 바로가기
서버 & 네트워크

리눅스 환경에서 AMP소스설치(1) Apache 2.4.46

by 자바지기 2021. 9. 6.
반응형

1. apr 설치

  • apr이란?
    • apache portable runtime의 줄임말
    • Http 서버의 핵심이며 휴대용 라이브러리이다. apr은 고급 IO기능에 대한 접근, OS수준의 기능, 기본 프로세스 처리 등의 용도로 사용된다.
    • apache가 설치된 OS에 관계없이 일정한 동작을 하기 위해 필요한 라이브러리이다

 

사용된 명령어

  1. ~$ wget http://mirror.navercorp.com/apache//apr/apr-1.7.0.tar.g
  2. ~$ wget http://mirror.navercorp.com/apache//apr/apr-util-1.6.1.tar.gz
  3. ~$ tar xvfz apr-1.7.0.tar.gz
  4. ~$ tar xvfz apr-util-1.6.1.tar.gz
  5. ~$ wget https://www.apache.org/dist/apr/apr-1.7.0.tar.gz.sha256
  6. ~$ sha256sum --check apr-1.7.0.tar.gz.sha256
  7. ~/apr-1.7.0$ sudo apt-get install build-essential
  8. ~/apr-1.7.0$ cp -arp libtool libtoolT
  9. ~/apr-1.7.0$./configure --prefix=/usr/local/apr
  10. ~/apr-1.7.0$ make
  11. ~/apr-1.7.0$ sudo make install

 

  • mkdir: make directory
  • wget: web +get, 즉 web 서버로부터 콘텐츠를 가져온다.
  • tar: 여러 개의 파일을 하나의 파일로 묶거나 풀 때 사용하는 명령어이다. tar 자체는 압축을 하는 것이 아닌 여러 파일을 묶는 용도이다.
  • configure: 특정 플랫폼에서 apache 웹서버를 컴파일하고 설치하기 위해 소스 트리를 구성한다. 즉 install을 하기 위한 환경을 설정하는 프로그램이다.
  • —prefix=/usr : 컴파일된 프로그램을 설치하는 위치를 지정한다.
  • make: configure에 의해서 만들어진 makefile로 프로그램을 컴파일하는 과정이다.
  • make install: 컴파일된 프로그램, 환경 file, data file을 지정된 위치에 복사하는 과정이다. 소스로 된 프로그램을 install 하는 방법 중 일반화된 방법이 configure-> make -> make install 순으로 install 하는 것이다.

2. apr-util 설치

사용된 명령어

  1. ~/apr-util-1.6.1$ ./configure --with-apr=/usr/local/apr --prefix=/usr/local/apr-util
  2. ~/apr-util-1.6.1$ sudo apt-get install libexpat1-dev
  3. ~/apr-1.7.0$ cp -arp libtool libtoolT
  4. ~/apr-util-1.6.1$ make
  5. ~/apr-util-1.6.1$ sudo make install

 

  • util : 운영체계에서 제공되는 것 외에 추가의 기능을 제공하는 작은 프로그램을 의미한다.

3. PCRE 설치

  • PCRE란?
    • Perl Compatible Regular Expressions의 줄임말
    • 펄 호환 정규 표현식으로서 , 정규식 패턴 일치를 구현하는 함수의 집합

사용된 명령어

  1. ~$ wget ftp://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
  2. ~$ tar xvfz pcre-8.43.tar.gz
  3. ~/pcre-8.43$ ./configure --prefix=/usr/local/pcre
  4. ~/pcre-8.43$ make
  5. ~/pcre-8.43$ sudo make install

 

4. Apache 설치

사용된 명령어

  1. ~$ wget http://apache.tt.co.kr//httpd/httpd-2.4.46.tar.gz
  2. ~$ tar xvfz httpd-2.4.46.tar.gz
  3. ~/httpd-2.4.46$ ./configure --prefix=/usr/local/apache2.4 \--enable-module=so --enable-rewrite --enable-so \ --with-apr=/usr/local/apr \ --with-apr-util=/usr/local/apr-util \ --with-pcre=/usr/local/pcre \ --enable-mods-shared=all
  4. ~$ wget http://ftp.gnu.org/gnu/m4/m4-1.4.18.tar.gz
  5. ~$ tar xvfz m4-1.4.18.tar.gz

 

다음 6개의 각각의 파일에서 _IO_ftrylockfile 옵션을 _IO_EOF_SEEN 옵션으로 변경

  1. ~/m4-1.4.18/lib# vim fflush.c
  2. ~/m4-1.4.18/lib# vim fpurge.c
  3. ~/m4-1.4.18/lib# vim freadahead.c
  4. ~/m4-1.4.18/lib# vim freading.c
  5. ~/m4-1.4.18/lib# vim fseeko.c
  6. ~/m4-1.4.18/lib$ vim stdio-impl.h

  vim을 사용하여 stdio-impl.h 파일에 

  #if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN
  #define _IO_IN_BACKUP 0x100
  #endif

  를 추가한다.

  1.  ~/m4-1.4.18$ ./configure
  2.  ~/m4-1.4.18$ make & make install

 

  • 오류 목록
    • 5번 명령어를 실행하는 과정에서 옵션을 변경할 때 오류가 발생하였다.
    • 따라서 전부 다 삭제 후 재설치하였으며 옵션을 변경할 때
    • :%s/_IO_ftrylockfile/_IO_EOF_SEEN 명령을 사용하여 실수를 없앨 수 있었다.
    • 6번 명령어에서 _IO_IN_BACKUP의 정의를 찾는데에 오랜 시간이 걸렸고 이는 구글링을 통하여 해결했다.
  • —with-apr: httpd 소스 배포본에 포함된 Apache Portable Runtime (APR)은 자동으로 웹서버와 같이 컴파일된다

 


5. 설정하기

sudo vim /usr/local/apache2.4/conf/httpd.conf

  • #ServerName www.example.com:80  부분을 ServerName 127.0.0.1:80으로 변경한다.

 


6. Apache 실행

sudo /usr/local/apache2.4/bin/httpd -k start

  • 종료할 땐 start 대신 stop을 쓴다.

 


7. 포트 80번 방화벽 개방하기

  1. firewall-cmd --permanent --zone=public --add-port=80/tcp
  2. firewall-cmd --reload
  3. firewall-cmd --list-ports

 


8. 서비스 작동 여부 확인 및 작동시키기

systemctl list-unit-files | grep httpd

 

 


9. 실행

 


10. 설치를 진행하면서 느낀 점:

  1. 생각보다 오래 걸렸다.
  2. 설치를 진행할 때는 되게 막막했는데 끝나고 보니 어렵지 않았다.
  3. 구글링을 잘하는 것이 중요하다는 것을 깨달았다.
  4. 명령어들을 직접 사용해보고 많이 익혔다.
  5. 영어 독해력이 많이 부족하다.
반응형

'서버 & 네트워크' 카테고리의 다른 글

쿠키와 세션  (0) 2021.09.10
WAS와 웹 서버의 차이  (0) 2021.09.08
리눅스 환경에서 AMP소스설치(3) PHP 7.4.21  (0) 2021.09.07
리눅스 환경에서 AMP소스설치(2) MySQL 8.0.25  (0) 2021.09.06
서버란?  (0) 2021.09.06

댓글