RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
1. APM에 대하여
(1) 개요
  리눅스를 서버로 사용하는 대부분의 이유는 웹서버를 구축하기 위해서이다. 웹서버는 아파치라는
프로그램을 설치하면 된다. 단순히 웹문서인 html문서만을 보여준다면 그냥 사용해도 되지만, 서버
에서 게시판이나 회원가입같은 처리를 한다면 아파치만으로는 부족하다. 그래서, 리눅스에서는 PHP
라는 웹 프로그래밍언어와 MySQL이라는 데이터베이스와 연계해서 많이 사용한다. 데이터베이스인
MySQL은 보통 먼저 설치후에 아파치가 참조하는 형태로 설치가 되기 때문에 크게 고려하지 않아도
된다. 그러나, 아파치와 PHP는 거의 하나처럼 작동하기 때문에 두 프로그램의 설치시에 고려를 해야
한다.
(2) 아파치와 PHP
  웹서버 프로그램인 아파치는 HTML문서를 보여주는 역할을 한다. PHP는 C언어같은 특별한 언어적 구
조를 가지고 있다. PHP로 작성한 문서가 HTML처럼 해석되려면 아파치에서 해석이 되도록 설치해야
한다. 아파치와 PHP가 작동하는 방식은 아파치서버에 PHP가 묻어서 작동하는 방식이다. 즉, 아파치
서버에 PHP문서를 해석할 수 있는 해석기를 장착한다고 볼 수 있다. 이렇게 장착되는 것을 모듈(Mod
ule)이라고 부르는데, 아파치에 PHP를 모듈로 장착하는 방법에는 크게 두가지 방법이 있다. 하나는
정적 모듈로 장착하는 것이고 하나는 동적 모듈로 장착하는 것이다. 아파치에 정적모듈로 PHP를 장
착하면 PHP가 아파치에 완전히 고정되므로 처리속도가 빠르다. 사용자가 많고 PHP가 많이 사용되면
정적모듈로 장착하는 것이 좋다. 단점으로는 아파치나 PHP 업데이트시에 두 가지 프로그램을 다시
설치해야 한다. 동적모듈은 흔히 DSO(Dynamic Shared Object)라 하는데, 이러한 동적모듈의 장점은
모듈이나 라이브러리를 언제든지 적재할 수 있고, 필요없을 때는 사용하지 않을 수도 있어 자원의
효율성면에서는 우수하다. 그러나, 동적모듈은 정적모듈방식에 비해 속도가 떨어진다. 참고로 현재
아파치버전에는 1.3버전 계열과 2.0버전이 있다. 1.3버전은 PHP를 정적모듈로 컴파일이 지원되지만
2.0버전은 정적모듈 방식으로 컴파일되지 않고 오직 동적모듈방식인 DSO방식으로만 컴파일된다.
만약 PHP 문서가 많다면 아파치 1.3 으로 컴파일해서 사용하는 것도 좋다.


2. Apache, PHP, MySQL 설치하기
(1) 설명 : Apache 1.3 버전, PHP, MySQL의 설치순서는 가장 기본이 되는 데이터베이스 MySQL를
           가장 먼저 설치하고, PHP, Apache 순서로 설치한다. 리눅스를 설치시에 전체설치하면
           기본적으로 Apache, PHP, MySQL이 설치되지만, 대부분 최신의 버전과는 약간 거리가
           있다. 서버구축시에는 가장 최신 버전을 다운받아 설치하는 것이 좋다. 여기서는 PHP를
           정적모듈형태로 설치 하도록 한다.
(2) 설치하기
   1) Apache, PHP, MySQL 소스파일(source파일: tar.gz로 된 파일)을 다운받아 /usr/local/src에
     위치시킨다.
      예) Apache => www.apache.org
          MySQL  => www.mysql.com
          PHP    => www.php.net

   2) 다운받은 파일들의 압축을 푼다.
    예) tar zxvf mysql-3.23.57.tar.gz
        tar zxvf apache_1.3.28.tar.gz
        tar zxvf php-4.3.2.tar.gz
   3) 기존의 인스톨된 apache제거하기 : rpm패키지로 설치되어 있는 아파치 웹서버 프로그램을 삭
                                      제한다. 꼭 삭제할 필요는 없지만, 공간도 차지하고 새롭게
                                      설치할 아파치와 충돌될 수도 있다.
    ㄱ. 아파치 데몬을 정지시킴 : /etc/rc.d/init.d/httpd stop
         => 아파치 데몬이 작동하지 않을 수도 있다.
    ㄴ. 인스톨된 아파치를 찾는다. : rpm -qi apache 또는 rpm -qi httpd
         => 아파치 1.3 버전은 apache라는 이름으로 설치되지만, 2.0버전은 httpd라는 이름으로
           설치되므로 두 가지 모두 검색해서 나오는 것을 삭제한다.
    ㄷ. 찾아진 아파치를 제거한다.
       예) rpm -e httpd --nodeps
   4) PHP 및 MySQL도 찾아서 존재하면 삭제한다.
    ㄱ. 검색
       rpm -qi php
       rpm -qi mysql
    ㄴ. 삭제
       rpm -e php --nodeps
       rpm -e mysql --nodeps
   5) MySQL 설치하기
    ㄱ. mysql 소스파일의 압축을 푼 디렉토리로 이동한다.
       예) cd /usr/local/src/mysql-3.23.57
    ㄴ. ./configure --prefix=/usr/local/mysql --with-charset=euc_kr
          => --prefix는 인스톨한 기본 디렉토리를 지정하는 옵션이다. --with-charset=euc_kr은
            한글을 지원한다는 뜻이다. 이 옵션을 지정하지 않아도 큰 상관은 없지만 정확한 한글
           정렬을 위해 필요하다.
            (참고) 기타 많이 쓰는 옵션으로 locatstatedir= 있는데 이것은 DB데이터를 저장할
                 디렉토리를 지정하는 옵션이다.
                    예) localstatedir=/usr/local/mysql/data
    ㄷ. make
         => 소스이기 때문에 컴파일과정이 필요하다.
    ㄹ. make install
         => 컴파일한 것을 실행시켜 설치한다.
    ㅁ. 참고: MySQL의 테스트
       1. MySQL의 기본 데이터베이스생성하기 : 처음 설치시 한번 꼭 실행한다. 이 작업은 MySQL
                                             기본 데이터베이스인 mysql과 testdb를 설치해준다.
         예) /usr/local/mysql/bin/mysql_install_db
       2. MySQL데몬을 띄운다. : 설치된 디렉토리로 이동하여 데몬을 띄운다.
         예) /usr/local/mysql/bin/safe_mysqld --user=root &
       3. 실행
         예) /usr/locasl/mysql/bin/mysql -uroot mysql
       4. 성공으로 실행됐을 경우 : 다음과 같이 mysql> 이라는 프롬프트가 나타나면 정상적으로
                                  설치된 것이다. quit명령을 내려 데이터베이스에서 빠져나온다.
         예) mysql> quit
             bye
   6) apache환경설정: 이 작업은 설치하는 것이 아니라 PHP의 설치를 위해 아파치가 설치될 디렉토
                     리만 configure한다.
    ㄱ. apache압축을 푼 디렉토리로 이동한다.
    ㄴ. ./configure --prefix=/usr/local/apache (아파치가 설치될 디렉토리 지정)
   7) php설치
     ㄱ. php압축을 푼 디렉토리로 이동한다.
     ㄴ. ./configure --with-mysql=/usr/local/mysql --with-apache=../apache_1.3.28 --enable-tra
        ck-vars
          => --with-mysql은 MySQL과 연동하기 위해 MySQL이 설치되어 있는 디렉토리를 가리키는 것
            이고, --with-apache는 아파치에 static object로 인스톨한다는 것이다. 경로는 아파치
            소스가 풀려있는 곳을 가리켜야 한다. --enable-track-vars는 HTTP_GET_VARS,
            HTTP_POST_VARS, HTTP_COOKIE_VARS 배열에 있는 GET/POST/COOKIE변수들이 어디서 왔는지
            기억하고 있게 만든다. 이 옵션은 단지 Default값을 정하는 것 뿐이다.
    ㄷ. make
    ㄹ. make install
    ㅁ. cp php.ini-dist /usr/local/lib/php.ini
        => PHP의 환경설정파일인 php.ini를 라이브러리 디렉토리에 등록시킨다.

   8) apache설치
    ㄱ. apache압축을 푼 디렉토리로 이동한다.
    ㄴ. ./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a
           => php를 아파치모듈로 인식하기 위해 환경 설정을 한다.
    ㄷ. make
    ㄹ. make install
   9) httpd.conf설정(/usr/local/apache/conf/httpd.conf의 환경파일을 설정)
    ㄱ. ServerName의 항목을 찾아 입력: Domain Name 또는 IP주소를 적는다.
    ㄴ. php관련환경설정 : AddType이라는 항목이 모여있는 곳으로 이동한 뒤 아래와 같이 추가한다.
       예)
           AddType application/x-httpd-php .php .htm .html .inc .php4 .php3
           AddType application/x-httpd-php-source .phps
 
Trackback
Reply
우주곰:지구곰이 아닙니다.
지구곰이 아닙니다.
Categories (190)
Information (5)
About uzoogom (5)
My Advanced Linux (73)
Learning Linux (96)
OperatingSystem (5)
Databases (4)
OpenSource (1)
Tips! (1)
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31