본문 바로가기

Operating System Theme/Unix/Linux

CentOS Minimal Intallation으로부터 서버 구축 방법 #2 (Apache 설치와 부팅시 자동 실행 설정)

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

Apache 설치

 이전 포스트(http://tapito.tistory.com/545)에서 미디어 마운트, yum 설정을 확인하고 lynx를 설치했다면, 여기에서는 웹 서버인 apache를 설치한다. Minimal Install로 설치했으므로 httpd 데몬(백그라운드로 항상 실행하면서 현재 보고 있는 컴퓨터가 서버로 기능할 수 있도록 하는 프로그램)이 설치되어 있지 않을 것이다.

 httpd가 있는지 확인해 본다. 설치되어있지 않다면 아무것도 출력되지 않고, 설치되어 있으면 해당 httpd의 버전을 포함한 패키지 이름이 뜰 것이다.

 여기에서 apache와 httpd의 관계는? 똑같다. apache의 패키지 이름이 httpd이다. 만일 아래 명령에서 httpd가 잡힌다면 이하 과정은 전혀 불필요하다.

# rpm -qa httpd_

 아무것도 안 뜬다. 지금부터 yum을 사용해 CD-ROM에 httpd가 있는지 확인한다. 설치 과정은 lynx를 설치할 때와 마찬가지로 패키지 의존성 검사가 자동으로 이루어진 후 진짜로 설치하겠냐고 물을 때 <y>만 누르고 <Enter>하면 된다.

# yum --disablerepo=\* --enablerepo=c7-media list httpd_

 설치가 끝나면 아래 명령을 다시 입력하여 httpd가 인식 되었음을 확인한다.

# rpm -qa httpd_

 httpd 프로세스를 시작한다.

# service httpd start_

또는,

# systemctl start httpd.service_

또는,

# /usr/local/apache/bin/httpd -k start_

 Apache가 실행되었으니 웹 브라우저로 테스트 서버에 접속할 수 있다. lynx로 로컬 호스트에 접속해본다.

# lynx http://127.0.0.1/_

 Testing 123... This age is used to test the proper operation of the Apache HTTP server after it has been installed.의 메시지가 뜨면 정상 작동이다.

재부팅 후 자동 실행되도록 설정

 지금 실행한 httpd(Apache)는 서버가 재부팅되면 다시 실행되지 않는 상태이다. 부팅 시 자동 실행되도록 설정하려면 Windows의 [시작 프로그램]에 해당하는 rc.local 파일을 수정해야 한다. 리눅스에서 자동 실행 파일은 로그인 할 때 자동 실행되는 .profile과 부팅할 때 자동 실행되는 rc.local이 있는데, 전자의 경우 공통 실행은 /etc에 있고 특정 사용자별로 특화된 실행은/home/<사용자 이름>(~와 같다.)에 있다. 후자의 경우 /etc 또는 /etc/rc.d에 있는데 CentOS의 경우 /etc에 있는 rc.local/etc/rc.d에 있는 파일의 심볼 링크이다. 즉 똑같다.

 정리하면

  • 부팅할 때마다 실행되는 시작 프로그램: /etc/rc.local == /etc/rc.d/rc.local
  • 로그인할 때마다 실행되는 시작 프로그램: /etc/.profile
  • 특정 사용자로 로그인 할 때 실행되는 시작 프로그램: ~/.profile

 부팅 할 때마다 자동으로 실행되도록 하기 위해 vi/etc/rc.local을 수정한다.

# vi /etc/rc.local_

 위에서 적은 httpd 실행 구문 3가지 중 하나를 적고 저장한다.

만일 php, perl 등을 연동하면서 특정 페이지에 HTTP 500 / Internal Server Error 류의 오류가 뜨고 자세한 오류 정보가 없다면 /var/log/httpd 디렉터리의 error_log 파일을 확인한다. grep 명령으로 특정 파일에 대한 로그만을 추출해서 볼 수 있다.