설치 환경 : CentOS6.x 64비트
1. Apache 설정이 필요한 이유
단순히 리눅스 OS환경에 apache+php+mysql 설치가 완료되었다고 해도 부족한 부분들이 상당히 존재한다. 완전 초기설정값 그대로 웹서비스를 이용하는것은 문제가 있기 마련이다.
때문에 조금의 튜닝작업이 필요하다. php 연동하기전에 각종 환경설정값을 튜닝할 계획이다.
2. apache httpd.conf 환경설정 튜닝
httpd.conf 파일을 열어서 외부에서 현재 서버에 접속을 할수있도록 권한 설정을 해줘야된다.
[httpd.conf]
vi /usr/local/apache/conf/httpd.conf
apache 2.0.x , 2.2.x
<Directory />
Options FollowSymLinks
AllowOverride All
Order deny,allow
</Directory>
apache 2.4.x 버전에서는 아래부분을 수정해준다.
<Directory />
AllowOverride All
</Directory>
아래 주석처리된부분을 풀어줘야된다.
ServerName www.example.com:80
apache 2.4.x 버전에서 아래 모듈을 올려줘야지 apache 시작이 가능하다
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
디렉토리 index 값을 선언하는 부분이며, 어떠한 확장자를 가진 파일을 apache에서 호출을 할것인지를 선언한다.
DirectoryIndex index.html index.htm index.php index.php3 index.cgi
에러로그에 대한 로테이션을 설정하는 부분이다. 86400 이란 의미는 초 단위다. 이 값을 계산하면 24시간이 되기 때문에 1일치 데이터를 일자별로 저장하겠다는 의미이다.
ErrorLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/error_log.%Y-%m-%d 86400"
아래 설정값 또한 아파치 access 로그를 남기는 방법에 대해서 기술한것이다.
LogFormat "%h %l %u %t %{Host}i \"%r\" %>s %b PID: %P TIME: %T" dslee
SetEnvIfNoCase Request_URI (gif|png|jpg|css|js|bmp|jpeg|swf)$ IMAGE=1
CustomLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/access_log_%y%m%d 86400" dslee env=!IMAGE
php 확장자를 호출할수있도록 해준다
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
아래 포함된 설정을 주석해제한다.
###주석해제####
Include conf/extra/httpd-userdir.conf
Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-default.conf
접속자와 관련된 설정값은 아래 파일명을 수정하도록 하자. 자신이 사용하고 있는 엔진이 worker,prefork, event 방식중에
어느부분에 해당되는지를 확인 한 이후에 설정하자.(필자는 prefork 방식이다)
vi /usr/local/apache/conf/extra/httpd-mpm.conf
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 1024
MaxRequestsPerChild 0
</IfModule>
아파치 최소한의 기본 설정(튜닝)이 완료되었다. 이 정도만 튜닝해도 서비스하는데에는 큰 문제는 없을거라 생각 된다.