12. 설치

 

  이곳에서는 apache, mysql, php등의 설치와 서버에 필요한 프로그램들의 설치하는 방법을 살펴본다.

  (기본 APM의 설치 - 설치순서는 mysql → apache → php → apache → ZendOptimizer 순으로

   한다. static설치)

 

참고 :  설치를 하기위한 파일들이 존재하는 경로는 “/usr/local/src” 로 하기로 한다.



12.1. mysql

  mysql-3.23.56.tar.gz을 http://www.mysql.org로부터 다운을 받는다

  서버로 업로드 한다. (참고 사항을 보기 바람)

  tar -zxvf mysql-3.23.56.tar.gz 으로 압축을 해제한다.

  압축이 해제되면 mysql-3.23.56 이란 디렉토리가 생성되어져있을 것이다.

  cd mysql-3.23.56 으로 이동한다.

 

  CFLAGS="-march=i686 -funroll-loops -fomit-frame-pointer" ./configure \

  --prefix=/usr/local/mysql --with-charset=euc_kr \

  --localstatedir=/usr/local/mysql/data

 

  위의 명령으로 configure를 실행한다. 단 위의 옵션은 i686에서 최적화시키기 위한 옵션이므로 uname -a 명령으로 자신의 머신 버전을 확인한 후에 설정하도록 한다. (최근에 나온 대부분의 서버는 i686이다.)

 

< 그림 12-1 uname 으로 머신 확인 >


  configure가 에러없이 정상적으로 완료되었다면,

  make

  make install 명령으로 mysql을 컴파일한다.

  이상없이 컴파일 되었다면

  scripts/mysql_install_db를 실행한다. (한번만 실행해야 한다.)

  이 것을 실행시키면 database가 생성이 된다.


  여기까지 되었다면 /usr/local/mysql이 생성되었을 것이다.

  이제는 mysql을 실행시킬 사용자를 생성한다.

  groupadd mysql   mysql이란 그룹을 생성하고

  useradd -g mysql -s /bin/false mysql 쉘에 접속할 수 없는 mysql 유저를 생성한다.

 보안상 필요

 


  다음 mysql 디렉토리 및 data가 보관 되는 data 디렉토리의 권한을 설정한다.

  (mysql의 data디렉토리는 반드시 mysql이 소유권자이어야 한다.)

  chown -R root /usr/local/mysql

  chown -R /usr/local/mysql/bin

  chgrp -R mysql /usr/local/mysql

  chown -R mysql. /usr/local/mysql/data (data의 소유와 그룹권한을 mysql로 변경한다)


  /usr/local/mysql/bin/safe_mysqld --user=mysql --language=korean &

  다음 위와 같은 명령으로 mysql을 실행시키면 설정이 끝나게 된다.

 

< 그림 12-1 mysql 동작 확인 >

 

<참고!!>

mysql에는 test라는 database가 생성되는데 필요가 없는 database이므로 삭제한다.

/usr/local/mysql/bin/mysqladmin -u root -f DROP test

삭제후 mysql을 갱신해준다.

/usr/local/mysql/bin/mysqladmin -u root reload

  

 

12.2. php

  static으로 설치를 하면 DSO보다 속도가 빠르므로 static으로 설치를 한다.

  (하지만 호스트웨이에서는 확장성을 위해서 아파치를 DSO로 설치를 하고, php는 static으로 설치를 한다.)

  php를 static으로 설치를 하기 위해서 미리 apache를 configure를 해준다. (configure만 한다.)


  apache-1.3.27.tar.gzhttp://www.apache.org로부터 다운 받는다.

  서버에 다운받은 압축 파일을 올려놓고 압축을 해제한다.

  tar -zxvf apache_1.3.27.tar.gz

  압축을 해제하면 apache_1.3.27 이란 디렉토리가 생성될 것이다.

  cd apache_1.3.27로 이동하여


  CFLAGS="-O3 -march=i686 -funroll-loops -fomit-frame-pointer" ./configure \

  --prefix=/usr/local/apache


  위의 명령으로 configure 한다.


  apache configure가 정상적으로 되면.

  php-4.3.1.tar.gzhttp://www.php.net으로부터 다운 받는다.

  다운받은 php를 서버에 업로드 한다.

  tar -zxvf php-4.3.1.tar.gz 로 압축을 해제한다.

  압축을 해제되면 php-4.3.2RC1 디렉토리가 생성 될 것이다.

  cd php-4.3.1 로 이동한다.


  CFLAGS="-O3 -march=i686 -funroll-loops -fomit-frame-pointer" \

  ./configure --prefix=/usr/local/php4 --with-apache=../apache_1.3.27 \

  --with-mysql=/usr/local/mysql \

  --with-db --with-gd --with-jpeg-dir=/usr --with-png --with-zlib \

  --enable-tracvars --disable-debug --enable-pic --enable-shared  --enable-sockets \

  --with-db2 --enable-dbase --enable-mailparse \

  --enable-sysvsem=yes --enable-sysvshm=yes \

  --enable-ftp --enable-calendar --enable-inline-optimization --enable-trans-sid


  위의 옵션으로 ./configure한다.

  위의 옵션대로 설치할 필요는 없으며, 각자 설치하여 사용하고자 하는 서버의 특성에 맡게 설치를 하면 되겠다. 호스트웨이에서 기본설치시에는 위의 옵션에 imap을 추가 설치하여 포함한다.


  ./configure가 이상없이 수행되었다면,

  make

  make install로서 컴파일을 마무리 한다.

  설정이 완료된 후에 php.ini-dist 파일을 열어 register_globals = Off를 On 으로 변경 시켜준다.

  이것은 기존에 사용하던 php 버전과의 호환을 위한 것이다.

  그리고 나서 php.ini-dist를  /etc/php.ini, /usr/local/php4/lib/php.ini 로 복사해준다.

  cp php.ini-dist /etc/php.ini

  cp php.ini-dist /usr/local/php4/lib/php.ini

 

12.3. apache

  apache는 동적으로 컴파일 하게 될 것이다.

  php 설치가 정상적으로 에러없이 끝났다면 이제는 apache를 설치한다.

  apache는 이미 앞에서 소스를 받아서 압축을 푼후 configure까지 해놓은 상태이다.

  그러나 php를 인식하기 위해서 다시한번 configure를 해야 한다.

  cd /usr/local/src/apache_1.3.27 로 이동하여


  CFLAGS="-O3 -march=i686 -funroll-loops -fomit-frame-pointer" \

  ./configure --prefix=/usr/local/apache --enable-rule=SHARED_CORE \

  --enable-module=so --activate-module=src/modules/php4/libphp4.a

 

  위와 같은 옵션으로 configure를 한다.

  이상없이 ./configure가 되었다면.

  make

  make install 로서 컴파일을 한다.


  컴파일이 완료되면 /usr/local/apache/bin/apachectl start 명령으로 apache를 실행한다.

  실행시키기 전에 php를 위해서 httpd.conf에서 설정해 줘야하는 부분이 있는데 그것은 2장의 httpd.conf 설정 section 2를 참고하기 바란다.


 

12.4. Zend-Optimizer 설치

  php 성능을 향상시키기 위해서는 Zend를 설치해 주어야 한다.

  호스트웨이에서는 기본적으로 각각 설치되는 php 버전에 맡는 Zend를 같이 설치한다.

  ZendOptimizer-2[1].1.0a-Linux_glibc21-i386.tar.gzhttp://www.zend.net 으로부터 다운받는다.

  다운받은 Zend를 서버에 업로드 한다.


   tar -zxvf ZendOptimizer-2.[1].1.0a-Linux_glibc21-i386.tar.gz 압축을 해제한다.

  압축을 해제하면 ZendOptimizer-2.1.0a-Linux_glibc21-i386 이라는 디렉토리가 생성된다.

  cd ZendOptimizer-2.1.0a-Linux_glibc21-i386 로 이동한다.

  ./install 이란 명령을 실행시키면 다음과 같은 창이 뜬다.

 

< 그림 12-2 ZendOptimizer install 실행 화면 >

 

< 그림 12-3 ZendOptimizer의 설치 경로 >

 

< 그림 12-4 php.ini의 경로 설정 >

 

   다음 아파치의 사용하느냐, conf의 경로는 어디냐, apache의 bin 디렉토리 경로는 어디냐 등등을 묻는데 모두 OK를 선택하면 된다.


< 그림 12-5 php의 버전 설정 >


   설치된 php의 버전을 선택하는 부분이다. 1번자동으로 검색을 선택하면 못찾는 경우도 발생하므로, 2번 수동으로 버전 선택을 선택한다.

 

<그림 12-6 php 버전 수동 선택 >


  php 버전을 수동으로 선택한다. 여기서 설치한 것은 php-4.3.2 이므로 5번 4.3.x를 선택한다.

  OK를 선택해서 다음으로 넘어가면 설정이 모두 되었다는 멘트창이 뜨며, apache를 재시작 할 것인지 묻는 창이 뜬다. 설치된 Zend를 사용하기 위해서는 재시작을 해줘야 하므로 Yes를 누른다.

  잠시 기다린 후에 “Apache was successfully restarted” 되었다는 창이 뜨면 설정이 끝난 것이다.


  설정이 끝난후에 php.ini파일이 /usr/local/Zend/etc/php.ini에 생성이 되며, /etc 의 php.ini는 /usr/local/Zend/etc/php.ini 의 심볼릭 링크로 설정이 된다.

  그리고 cp /usr/local/Zend/etc/php.ini /usr/local/php4/lib/php.ini 로 복사를 해준다.

  그리고 나서 apache를 재가동하면 php 설정이 갱신되어 읽혀진다.


  웹페이지를 확인 할 수 있는 곳에 다음과 같은 php 코드를 입력하여 test.php란 이름으로 저장하고 웹에서 확인하면 php 및 각종 옵션의 상태와 ZendOptimizer가 정상적으로 작동을 하는지 확인할수 있다.

 

<?

        phpinfo()

?>

 

< 그림 12-7 ZendOptimizer 의 설정 여부 확인 >