출처: https://www.fedoralinux.or.kr/forums/topic/20566http://fedoralinux.or.kr/article/tipserver/130043873610000
설치 환경 및 버전
OS | Fedora12 |
Apache | 2.2.13-4.fc12 |
PHP | 5.2.12(소스설치) |
MYSQL | 5.1.40-1.fc12 |
RAM | 683MB |
** 2010년 7월 20일 수정되었습니다 이전에 퍼간분들은 수정하세요 **
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
my.cnf 에 UTF-8 로 character set을 지정합니다
아래 내용을 섹션에 따라서 기술해 주세요
[client]
default-character-set = utf8
[mysqld]
init_connect=SET collation_connection = utf8_general_ci
init_connect=SET NAMES utf8
default-character-set = utf8
character-set-server = utf8
collation-server = utf8_general_ci
[mysqldump]
default-character-set = utf8
[mysql]
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상태를 확인합니다
케릭터 셋도 확인해봅니다 show variables like "c%"; <-- 쿼리를 날리면
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/tipserver/130043873580703
112.172.201.***
'Linux' 카테고리의 다른 글
페도라 바탕화면아이콘 gnome-tweak-tool (0) | 2015.01.11 |
---|---|
vsftpd 설치설정 (2) | 2015.01.11 |
프로세스 관리하기 ( Ctrl+z 재개하기 ) (0) | 2015.01.10 |
secure crt 배경색 (0) | 2014.12.27 |
숫자 비교 검사 (0) | 2014.05.13 |