설치 환경 및 버전
| 
 OS   | 
 Fedora12  | 
| 
 Apache  | 
 2.2.13-4.fc12  | 
| 
 PHP  | 
 5.2.12(소스설치)  | 
| 
 MYSQL  | 
 5.1.40-1.fc12  | 
| 
 RAM  | 
 683MB  | 
1.apache 설치
# yum -y install httpd
2. mysql 설치
# yum -y install mysql mysql-server mysql-devel
***설치후 mysql 계정과 mysql 그룹은 자동 추가가 됩니다
3. 필요 라이브러리 설치
# yum -y install zlib zlib-devel freetype freetype-devel 
freetype-utils gd gd-devel libjpeg libjpeg-devel 
libpng libpng-devel libmcrypt libmcrypt-devel
4. php설치 
yum으로 설치하게되면 글쓴 
Zend Otimizer 3.3.9버전에 php 5.3용 이 없기에 부득이하게 
php만 소스설치를 하겠습니다 Zend Optimizer 이유 외에 수호신 패치때문이라도
소스로 설치 합니다
먼저 yum으로 2가지를 설치 해줍니다 
# yum -y install httpd-devel libxml2-devel
php를 다운받습니다
w get http://kr2.php.net/get/php-5.2.12.tar.gz/from/kr.php.net/mirror
(w 하고 get 붙여야 합니다 호스팅 필터링때문에 띄워씁니다)
수호신 패치를 한후에 Extension을 설치 하겠습니다 
수호신 패치는 PHP버전에 맞게 다운받습니다 
PHP 버전이 5.2.12 이기에 그에맞는 패치를 다운받습니다
w get http://download.suhosin.org/suhosin-patch-5.2.12-0.9.7.patch.gz
Suhosin Extension 0.9.31 다운
# w get http://download.suhosin.org/suhosin-0.9.31.tgz
# tar zxvf php-5.2.12.tar.gz   php를 압축을 푼후
# gunzip suhosin-patch-5.2.12-0.9.7.patch.gz  수호신 패치 압축을 풉니다
# cd php-5.2.12    php디렉토리로 이동한후
# patch -p1 -i ../suhosin-patch-5.2.12-0.9.7.patch
디렉토리 이동해서 빌드을 실시합니다 
# ./configure --with-mysql=/usr/bin/mysql --with-config-file-path=/etc/httpd/conf \
--with-apxs2=/usr/sbin/apxs --enable-mbstring -with-gettext --enable-sigchild \
--with-gd=shared --with-gd \
--enable-sockets --with-openssl --with-zlib --with-mcrypt
(한줄 한줄 복사해서 넣으세요 )
# make
# make install
php.ini을 복사합니다 
# cp php.ini-recommended /etc/httpd/conf/php.ini  복사후에 
132줄의  short_open_tag = Off  을 On  으로 변경합니다 
session.auto_start 의 값이 0 에서 1로 변경합니다
Suhosin Extension 0.9.31 압축을 풉니다
# tar zxvf suhosin-0.9.31.tgz
# cd suhosin-0.9.31
# phpize   안되면 path를 잡아주세요 
# ./configure
# make
# make install
make install 까지 끝내면 아래와 같은 메시지를 볼수있는데 
자신의 시스템에 맞게 php 모듈 디렉토리로 옴겨주거나 그대로 사용합니다 
 
php.ini 에 아래와 같이 추가해줍니다
extension=suhosin.so
아파치를 재시작한후 php -v 를 하면
 
 수호신이 제대로 올라온걸 확인할수 있습니다 
(위스샷은 수호신을 추가로 설치한부분이라서 eAcceleator 와 Zend Optimizer가 이미
설치되어있는 스크린 샷입니다 )
5. mysql에서 사용할 환경 설정파일을 복사 합니다 시스템에 따라 다르니 아래를 참조합니다 
my-huge.cnf       1GB 이상 메모리 
my-large.cnf       512MB ~ 1GB
my-medium.cnf  128MB ~ 256MB
my-small.cnf      64MB 이하
테스트 시스템은 메모리가 683MB임으로 my-large.cnf 를 이용합니다   
파일을 복사합니다 기존에 파일이있기에 덮어쓸꺼냐고 
물어보는데 y를치고 엔터를 칩니다
# cp /usr/share/mysql/my-large.cnf /etc/my.cnf
cp: overwrite `/etc/my.cnf'? y
default-character-set = utf8
init_connect=SET NAMES utf8
default-character-set = utf8
character-set-server = utf8
collation-server = utf8_general_ci 
default-character-set = utf8
default-character-set = utf8
6. 기본관리 db를 설정하고 권한 지정
# /usr/bin/mysql_install_db --user=mysql
# chown -R root /usr/bin/
# chown -R mysql /var/lib/mysql/
# chgrp -R mysql /usr/bin/
# chmod u+s /usr/bin/passwd 
7. 재부팅후 자동 실행가능하도록 등록 해줍니다 
# /sbin/chkconfig --list | grep mysqld
mysqld           0:해제    1:해제    2:해제    3:해제    4:해제    5:해제    6:해제
만약 글짜가 깨진다면 LANG=C  라고 치신다음 다시 해보시기 바랍니다
필자는 런레벨3(콘솔부팅)로 이용하기에
# /sbin/chkconfig --level 3 mysqld on
이렇게 하지만 보통의 환경이라면
# /sbin/chkconfig --level 2345 mysqld on     으로 해줍니다
# /sbin/chkconfig --list | grep mysqld        로 확인 합니다
8. mysql 시작, root 비밀번호 설정
Mysql을 시작과 종료방법에는 3가지 방법이 있습니다 편한대로 사용하면 됩니다
[데몬 직접실행 및 중지]
/etc/init.d/mysqld [start | stop] 
[service로 실행 및 중지]
/sbin/service mysqld [start | stop]
[mysql 직접 실행 및 중지]
/usr/bin/mysqld_safe & 
/usr/bin/mysqladmin shutdown
**동작확인
ps -ef | grep mysql 로 확인 합니다
 
이제 root패스워드를 지정 합니다
인젝션 공격이 감지되어서 스크린샷으로 대신합니다
 
# mysql –u root –p   <엔터>
밑에 줄에 비번치고 들어가서 
Show databases; 를 쳐서 db상태를 확인합니다
 
 
9. apache 세팅
연동부분만 다루기에 기본세팅만 합니다 자세한 세팅은 따로 찾아보셔야 합니다
# vi /etc/httpd/conf/httpd.conf
로 열어서 
DirectoryIndex index.jsp index.html index.php index.html.var
부분에 위와같이 index.php 를 추가합니다
그리고 밑의 내용을 추가 합니다 
AddType application/x-httpd-php .php .php3 .html .htm .phtml .inc
AddType application/x-httpd-php-source .phps
#ServerName www.example.com:80 에서 # 을 제거 해줍니다
저장하고 나온후
# service httpd restart   등으로 아파치를 재시작 합니다
**외부에서 접속 테스트시 방화벽 80포트 열어줘야 합니다**
/var/www/html 에 phpinfo.php 파일을 만든후 안의 내용은 밑에와 
같이 기술합니다
** /var/www/html 은 RPM apache 기본 htdoc 디렉토리 입니다
위치는 다를수 있으니 확인해보시기 바랍니다 **
<? 
phpinfo();
?>
저장한후에 
http://주소/phpinfo.php 나 http://localhost/phpinfo.php
를 쳐서 정상출력되면 apache와 php는 정상 연동 된 것 입니다 
 
수호신도 정상적으로 올라온걸 확인할수 있습니다
phpmyadmin 을 설치하겠습니다 테스트 결과 utf-8변경후 제가 모를수도있지만
phpMyAdmin 3.3.2 을 설치시 몇가지 문제점이 있어서 무난하게 2.11.10 버전으로 설치하겠습니다
다운을 받고 압축 풉니다 http://www.phpmyadmin.net/home_page/downloads.php
# tar zxvf phpMyAdmin-2.11.10-all-languages.tar.gz
원하는 위치로 적절하게 옴겨줍니다 저는 /var/www/phpmyadmin 으로 운영하겠습니다
# mv mv phpMyAdmin-2.11.10-all-languages /var/www/phpmyadmin
샘플 config파일을 복사 합니다
# cp config.sample.inc.php config.inc.php
config파일을 수정합니다
# vi config.inc.php
아래와 같이 29줄의 cookie 을 아래와 같이 http 로 변경합니다
 
<수정전>
 
<수정후>
저장하고 httpd.conf 을 열어서 alias을 추가해줍니다
Alias /phpmyadmin "/var/www/phpmyadmin"
<Directory "/var/www/phpmyadmin">
Options MultiViews FollowSymLinks
DirectoryIndex index.php 
Order allow,deny
Allow from all
</Directory>
아파치를 재시작하고 난후 http://주소/phpmyadmin 으로 접속하시면 되실겁니다
아래와 같이 띄긴하는데 무시해도 되며 따로 해결법을 찾으면 수정하거나 방법아시는분은
피드백 부탁드립니다
 
다음글 zend optimizer 와 eAccelerator 설치
http://www.fedoralinux.or.kr/article/bbs4/126125275125819
출처 : http://www.fedoralinux.or.kr/article/tipserver/130043873610000