설치 환경CentOS 6.3 64bit
MySQL 5.5.28
Apache 2.4.3
PHP
5.4.8
APM설치를 위한 사전 요구사항
필수 패키지 설치
# yum -y install pcre-devel lua-devel libxml2-devel ncurses-devel zlib
zlib-devel curl openssl openssl-devel libtermcap-devel libc-client-devel bison
gcc g++ cpp gcc-c++ freetype freetype-devel freetype-utils gd gd-devel libjpeg
libjpeg-devel libpng libpng-devel curl curl-devel flex php-mbstring
libexif-devel cmake
Apache 설치를 위한 패키지 설치
1) APR (소스 설치)
* Apache 2.4.X 는 APR 1.4 이상을
필요로 합니다. CentOS 6.x yum에서는 1.3.9 패키지를 사용함으로 소스를 컴파일해서 설치.
# cd /usr/local/src
# wget
http://mirror.apache-kr.org//apr/apr-1.4.6.tar.gz
# tar xvfz
apr-1.4.6.tar.gz
# cd apr-1.4.6
# ./configure
--prefix=/usr/local/apr-1.4.6
[./configure 시 에러출력]
config.status: executing libtool commands
rm:
cannot remove `libtoolT': No such file or directoryconfig.status:
executing default commands
config.status: include/apr.h is
unchanged
config.status: include/arch/unix/apr_private.h is
unchanged
위와 같은 에러 출력시 아래처럼 파일을 복사해주고 진행을 계속 합니다.
#
cp -arp libtool libtoolT
# make && make install
[make시 에러 출력]
make[1]: Entering directory `/usr/local/src/APM_setup/apr-1.4.2'
/bin/sh
/libtool --silent --mode=compile gcc -g -O2 -pthread -DHAVE_CONFIG_H -DLINUX=2
-D_REENTRANT -D_GNU_SOURCE -I./include
-I/usr/local/src/APM_setup/apr-1.4.2/include/arch/unix -I./include/arch/unix
-I/usr/local/src/APM_setup/apr-1.4.2/include/arch/unix
-I/usr/local/src/APM_setup/apr-1.4.2/include -o passwd/apr_getpass.lo -c
passwd/apr_getpass.c && touch passwd/apr_getpass.lo
/bin/sh: /libtool: No such file or
directorymake[1]: *** [passwd/apr_getpass.lo] Error 127
make[1]:
Leaving directory `/usr/local/src/APM_setup/apr-1.4.2'
make: ***
[all-recursive] Error 1
위와 같은 에러가 나온다면 아래처럼 심볼릭 링크를 걸어주고 진행을 계속 합니다.
#
ln -s
/usr/bin/libtool /
# make
clean
# wget http://mirror.apache-kr.org//apr/apr-util-1.4.1.tar.gz
# tar xvfz
apr-util-1.4.1.tar.gz
# cd apr-util-1.4.1
# ./configure
--prefix=/usr/local/apr-util-1.4.1 --with-apr=/usr/local/apr-1.4.6
# make
&& make install
MySQL 설치 (cmake 설치) - 설치 위치 : /usr/local/mysql-5.5.28
-
데이타 위치 : /mysql/data
1. MySQL (
http://www.mysql.com/downloads/mysql/)
# cd /usr/local/src/
# tar xvfz mysql-5.5.28.tar.gz
2. User 및 디렉토리 생성
# adduser -M -s /bin/false mysql
# mkdir -p
/mysql/data /mysql/log
# chown mysql.mysql data
# chown mysql.mysql
log
3. 소스 컴파일
- 운영상의 편의성을 위해 설치 경로명에 버전을 같이 명기
- 설치 옵션은
http://dev.mysql.com/doc/mysql-sourcebuild-excerpt/5.5/en/source-configuration-options.html
참조
- CharSet 관련 설정은
http://dev.mysql.com/doc/refman/5.5/en/extended-show.html
참조
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.5.28
-DMYSQL_DATADIR=/mysql/data -DDEFAULT_CHARSET=euckr \
-DDEFAULT_COLLATION=euckr_korean_ci -DWITH_EXTRA_CHARSETS=all
# make
&& make install
(UTF8 설정시 옵션)
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
4. 심볼릭 링크 생성
# ln -s /usr/local/mysql-5.5.28 /usr/local/mysql
5.
환경 설정
1) 권한 설정
# cd /usr/local
# chown -R mysql.mysql ./mysql-5.5.28
# chown -R
mysql.mysql /mysql
2) 스크립트 구동
# cd /usr/local/mysql
# ./scripts/mysql_install_db --user=mysql
--datadir=/mysql/data
6. my.cnf
1) 시스템 메모 크기에 따른 /usr/local/mysql/support-file 밑에 아래 설정 화일을
/etc/my.cnf 로 복사합니다.
- 64M 이하 : my-small.cnf
- 65M ~ 256M :
my-medium.cnf
- 512M : my-large.cnf
- 1G ~ 2G :
my-huge.cnf
2) my.cnf를 시스템에 맞게 설정합니다.
7. 구동
1) MySQL
server 구동
# cp -av /usr/local/mysql-5.5.28/support-files/mysql.server
/etc/init.d/mysqld
# /etc/init.d/mysqld start
*구동시 아래 에러 발생시 조치방법*
증상) MySQL: Starting MySQL….. ERROR! The server quit without updating PID file
해결방안) http://icesquare.com/wordpress/mysql-starting-mysql-error-the-server-quit-without-updating-pid-file/ 사이트 참조
2) 암호 설정
#
./bin/mysqladmin -u root password <new-password> (<- 괄호없이 비번만
입력)
3) 접속 테스트
# mysql -p mysql
mysql> 나오면 성공
8. 자동 구동 설정
# vi /etc/rc.d/init.d/mysqld
- 아래 부분 수정
basedir=/usr/local/mysql
datadir=/mysql/data
# chkconfig --add mysqld
Apache 설치1. Apache (
http://httpd.apache.org/download.cgi)
# cd
/usr/local/src/httpd-2.4.3
# ./configure --prefix=/usr/local/httpd-2.4.3
--enable-so --with-mpm=worker --enable-cache --with-apr=/usr/local/apr-1.4.6
--with-apr-util=/usr/local/apr-util-1.4.1 --enable-ssl --with-ssl=/usr
--enable-rewrite
- 여기 사용된 옵션은 아파치 웹 서버의 성능을 높히기 위한 것으로써 아래 문서를
참고.
http://httpd.apache.org/docs/2.4/mod/worker.html http://httpd.apache.org/docs/2.4/mod/mod_cache.html
# make && make install
# ln -s /usr/local/httpd-2.4.3
/usr/local/apache2
PHP 설치 # wget
http://kr1.php.net/get/php-5.4.8.tar.gz/from/this/mirror
# tar xvfz
php-5.4.8.tar.gz
# cd php-5.4.8.tar.gz
# ./configure
--prefix=/usr/local/php-5.4.8 --with-apxs2=/usr/local/httpd-2.4.3/bin/apxs
--with-mysql=/usr/local/mysql-5.5.28
--with-config-file-path=/usr/local/httpd-2.4.3/conf --with-gd
--with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib=/usr --enable-mbstring
--enable-exif
# make && make install
apache 추가 환경설정 # vi httpd.conf
- 아래 부분 삽입
<IfModule dir_module>
DirectoryIndex index.html
index.htm index.php
</IfModule>
- 아래 주석 해제 및 삽입
<IfModule mime_module>
AddType application/x-httpd-php .php .htm .html .inc .php4 .php3
AddType application/x-httpd-php-source .phps
</IfModule>
PHP 환경설정 # cd /usr/local/src/php-5.4.8
# cp
php.ini-production /usr/local/httpd-2.4.3/conf/php.ini
# cd
/usr/local/httpd-2.4.3/conf
# vi php.ini
openssl 환경 설정
# vi ./conf/httpd.conf
#ServerName www.example.com:80 의 아래에
ServerName 127.0.0.1 을 입력한다.
DocumentRoot "설치된경로/htdocs" 라고 되어있는 부분에 웹서비스할 디렉토리 경로를 입력하자.
LoadModule ssl_module modules/mod_ssl.so 가 있는지 확인하자. 없다면 SSL이 활성화되지 않은
것이다.
활성화 부분이 주석처리 되어 있다면 주석을 제거하자. ( # 으로 시작하는 라인은 주석이다. #을 제거 )
#include conf/extra/httpd-ssl.conf 부분을 찾아 # 를 제거하자. SSL 설정파일이다.
# vi ./conf/extra/httpd-ssl.conf
Listen 443 은 httpd.conf 의 Listen 80 과 같은 내용이다.
http 는 80번 포트로, https 는 443 포트로 접속된다. 방화벽 설정이 되어있다면 443 포트를 열어주자.
<VirtualHost_default_:433> 안 에 있는 설정들을 수정해야한다.
DocumentRoot 는 httpd.conf 와 같으면 된다.
ServerName 에는 127.0.0.1:443 으로 해주자.
SSLCertificateFile 에는 우리가 생성했던 인증서를 연결시켜줘야한다.
예) SSLCertificateFile "/web/ssl-key/ssl2010.crt"
SSLCertificateKeyFile 은 암호키
예) SSLCertificateKeyFile "/web/ssl-key/ssl2010.key"
그외...
Jk (mod-jk.so) 를 이용하여 Tomcat 과 연동하는 경우는
<VirtualHost_default_:433> 안 에도 JkMount 를 써주면 되겠다.
예) JkMount /- ajp13
Apache 자동 구동 설정 # cd /usr/local/httpd-2.4.3/bin
# cp
apachectl /etc/rc.d/init.d/httpd
- Apache Config test
#
/etc/rc.d/init.d/httpd configtest
- Apache Start
#
/etc/rc.d/init.d/httpd start