본문 바로가기

Operating System Theme/Unix/Linux

CentOS Minimal Intallation으로부터 서버 구축 방법 #5 (PHP 설정)

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

PHP 설치하기

yum으로 PHP를 설치한다. 필요에 따라 부속 패키지를 다음과 같이 설치할 수 있다.

# yum --disablerepo=\* --enablerepo=c7-media install php php-devel php-pear php-mbstring php-gd

 PHP가 제대로 설치되었는지 확인한다. 그림과 같이 PHP의 버전이 출력되면 정상이다.

# rpm -qa php
# php -v_

 

Apache에 PHP 연동시키기

다음은 설치한 PHP를 Apache에 연동시키는 과정이다. Apache가 연동을 위해 실행하는 각종 모듈은 /etc/httpd/modules 디렉터리에 있는데 이 곳에 php 모듈이 있는지 확인한다.

# cd /etc/httpd/modules
# ll *php*_

 

여기에서는 libphp5.so가 있다. 이 파일 이름을 기억해 뒀다가 Apache에서 연동 설정할 때 사용한다.

Apache의 설정 파일은 /etc/httpd/conf/httpd.conf이다. 이를 확인하는 방법은 아래 명령(대/소문자 주의)과 같으며 출력되는 내용 중 SERVER_CONFIG_FILE을 보면 확인할 수 있다.

# httpd -V_

 

vi로 설정 파일을 열어 내용을 편집한다.

# vi /etc/httpd/conf/httpd.conf_

먼저 LoadModule 지시어로 앞에서 확인한 php 모듈을 로드하도록 한다. httpd.conf 내용 중 'Dynamic Shared Object (DSO) Support'가 적힌 부분을 찾아서 그 주석이 끝나는 위치에 다음 지시사항을 적는다.

LoadModule php5_module modules/libphp5.so_

 

그 다음 특정 php 확장자의 파일을 php 모듈이 처리하도록 지정한다. httpd.conf 내용 중 'IfModule mime_module' 부분에서 다음 지시사항을 적는다.

AddType application/x-httpd-php .php .phtml .php5_

 

변경된 내용을 저장하고 vi를 나간다.

다음은 시간대 설정이다. 이를 위해 우선 PHP의 설정 파일인 php.ini가 어디에 위치해있는지를 확인한다.

# php -i | grep php.ini_

 

대부분 /etc/php.ini로 되어 있을 것이다. 이와 함께 시간대가 설정되어 있지 않다는 경고다 뜬다. vi를 열어 이를 편집한다.

# vi /etc/php.ini

'[Date]' 항목을 찾아 아래와 같이 입력하여 서울 시간대를 사용할 것임을 명시한다. 그 외 다른 지역은 PHP 레퍼런스(http://php.net/manual/kr/timezones.php)를 참고한다.

date.timezone = Asia/Seoul

 

변경된 내용을 저장하고 apache를 재시작한다.

# service httpd restart_

PHP 테스트 페이지를 작성해서 서버가 php와 잘 연동되는지 확인해본다. httpd.conf에서 확인했다면 웹 서버를 위한 기본 로컬 경로는 /var/www/html이다. 이 경로로 들어가서 다음의 내용을 갖는 텍스트 파일을 저장한다. vi를 써도 되고 cat을 써도 된다.

<?php
    phpinfo();
?>

여기서는 cat을 써서 테스트 페이지를 작성했고 파일 이름은 test.php로 정해 보았다.

# cat > test.php
<?php
    phpinfo();
?>
^C (Ctrl + C)_

저장한 파일에 실행 권한을 부여한다.

# chmod +x test.php_

 

이제 브라우저로 접속해서 php가 제대로 실행되는지 확인한다. 다음과 같이 PHP Logo, PHP Version... 으로 시작하는 페이지가 로드되면 정상이다.

# lynx http://127.0.0.1/test.php_