[FreeBSD 10.x] Apache & PHP 설치.

2014. 10. 24. 01:47팁 & 강좌

가장 많이 쓰이고 가장 문서도 많은 아파치 웹서버를 설치 해보다록 하자.


Apache 설치

# pkg install apache24

# echo 'apache24_enable="YES"' >> /etc/rc.conf

기본 환경을 설정한다. 꼭 안해도 된다. 하지만 포트 설정등을 변경해야되면 반드시 하시길....

# vi /usr/local/etc/apache24/httpd.conf 

............

ServerAdmin your@email.com

ServerName your.domain.com:<포트>

포트는 기재하지 않으면 기본 80으로 설정된다.

웹서버 구동.

apachectl start

브라우져로 설치된 페이지를 확인시 다음과 같은 화면을 볼수 있다.


php 설치.

php는 옵션이 많은 관계로 portmaster를 이용하여 설치 하는 것이 좋다.

# portmaster -dwv /ust/ports/lang/php56-extension

# portmaster -dwv /usr/ports/www/mod_php56

# cp /usr/local/etc/php.ini-development /usr/local/etc/php.ini

또는 

# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

숏태그 ( <? ?> ) 사용을 위해 다음과 같이 php.ini를 변경한다.

vi /usr/local/etc/php.ini

; This directive determines whether or not PHP will recognize code between

; <? and ?> tags as PHP source which should be processed as such. It is

; generally recommended that <?php and ?> should be used and that this feature

; should be disabled, as enabling it may result in issues when generating XML

; documents, however this remains supported for backward compatibility reasons.

; Note that this directive does not control the <?= shorthand tag, which can be

; used regardless of this directive.

; Default Value: On

; Development Value: Off

; Production Value: Off

; http://php.net/short-open-tag

short_open_tag = On

php 페이지 확인시 아래와 같은 메세지가 뜰수 있다.

Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /usr/local/www/apache24/data/index.php on line 2

timezone설정을 해주면 간단히 해결된다.

vi /usr/local/etc/php.ini

[Date]

; Defines the default timezone used by the date functions

; http://php.net/date.timezone

date.timezone = Asia/Seoul

timezone설정은 아래의 페이지를 참조 한다.

apache에 정상적으로 사용가능한지 확인을 위해 다음과 같이 해본다.

# cat /usr/local/etc/apache24/httpd.conf | grep php

LoadModule php5_module        libexec/apache24/libphp5.so

이제 아파치에서 php파일이 정상적으로 처리될수 있도록 아파치 설정을 변경한다.

# vi /usr/local/etc/apache24/httpd.conf 

............

<IfModule dir_module>

    DirectoryIndex index.php index.html 

</IfModule>

...............

<IfModule mime_module>

  .........

    # for PHP

    AddType application/x-httpd-php .php .inc .html .htm

    AddType application/x-httpd-php-source .phps

</IfModule>

아파치를 재시작 한다.

# apachectl restart

테스트를 위해 아래의 페이지를 작성한다.

# vi /usr/local/www/apache24/data/index.php 

<?php

phpinfo();

?>

아래와 같은 페이지가 뜬다면 정상적으로 등록이 되었다고 생각하면 된다.

확인이 끝나면 보안을 위해 반드시 테스트용 출력페이지를 삭제 하는 것이 좋다.


반응형