RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
 우분투라하여 이제까지 RHEL 계열만 써본지라 막상 GUI가 더 어색해진 이 마당에.. APM을 설치하게 되어서 잔뜩 쫄아 있었다.

Ubuntu DeskTop Linux 9.10(32bit)
Apache 2.2.14
Php 5.2.11 (5.3.0)
Mysql 5.1.37

먼저 기본으로 설치되어야할 데몬이 있다.
Ubuntu도 YUM과 같이 한번에 의존성이 걸린 패키지까지 설치 할 수 있는 명령어가 있다.
apt-get도 비슷한 명령어인데 aptitude가 좀 더 진보된(?) 명령어라고 한다.
Ubuntu같은 경우에는 설치 한 후 그 상태로는 root 로그인이 안되니, 구글링을 통하여 root 로그인이 가능하게 한 후 설치를 진행하자.(sudo 를 쓰면되나 귀찮아서...)

1. MySql 5.1.37
사전 데몬 설치
# aptitude install build-essential
# aptitude install libncurses5-dev

그룹/사용자 생성
# groupadd mysql
# useradd -g mysql mysql

compile, make, make install
#./configure \
--prefix=/usr/local/mysql \
--with-mysqld-ldflags=-all-static \
--with-client-ldflags=-all-static \
--with-charset=utf8 \
--with-collation=utf8_general_ci

컴파일 완료 확인 후
# make && make install


2. APACHE 2.2.14
apache는 별달리 필요로하는 데몬이 없다.
# ./configure \
--prefix=/usr/local/apache \
--enable-mods-shared=most \
--enable-so \
--enable-ssl

컴파일 완료 확인 후
# make && make install


3. PHP 5.2.11 (PHP 5.3.0)
php 같은 경우 필요로 하는 라이브러리 모듈이 많이 있을 수 있다. php compile시 필요한 모듈을 찾아 설치 해 주자.

사전 데몬 설치
# aptitude install libxml2-dev
# aptitude install libcurl3-dev
# aptitude install libjpeg62-dev
# aptitude install libpng12-dev
# aptitude install libfreetype6-dev
# aptitude install libxslt-dev
# aptitude install libmcrypt-dev

# ./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-config-file-path=/usr/local/apache/conf \
--with-mysql=/usr/local/mysql \
--with-jpeg-dir \
--with-png-dir \
--with-zlib  --with-zlib-dir \
--with-freetype-dir \
--with-libxml-dir \
--with-iconv \
--with-gd \
--enable-mod-charset \
--enable-sigchild \
--enable-magic-quotes \
--enable-sockets \
--enable-zip \
--with-xsl --with-xmlrpc \
--with-curl --with-mcrypt

컴파일 완료 확인 후
# make && make install

출처 : 대전국제IT교육센터 정성재 강사

 

1. Apache 2.0, PHP, MySQL 설치하기
(1) 설명 : Apache 2.0.x 버전, PHP, MySQL의 설치순서는 크게 신경쓰지 않아도 되지만 보통 데이터
           베이스가 기본이 되므로 MySQL를 설치하고, Apache를 설치한 뒤에 마지막으로 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 httpd-2.0.47.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 설치하기
    ㄱ. apache압축을 푼 디렉토리로 이동한다.
       예) cd /usr/local/src/httpd-2.0.47
    ㄴ. ./configure --prefix=/usr/local/apache --enable-mods-shared=most --enable-module=so
          => --prefix는 아파치가 설치될 디렉토리를 지정하는 것이고, --enable-mods-shared=most
            와 --enable-module=so는 DSO방식으로 PHP 모듈이 사용될 수 있도록 지정하는 옵션이다.
    ㄷ. make
    ㄹ. make install
   7) php설치
     ㄱ. php압축을 푼 디렉토리로 이동한다.
        예) /usr/local/src/php-4.3.2
     ㄴ. ./configure --with-apxs2=/usr/local/apache/bin/apxs  --with-mysql=/usr/local/mysql   
        --with-config-file-path=/usr/local/apache/conf --with-exec-dir=/usr/local/apache/bin
        --enable-track-vars --enable-trans-sid
          => (설명)
            --with-apxs2 는 PHP가 아파치데몬에 DSO 모듈로 로딩되도록 하기 위해서 apxs파일의
           위치를 지정하는 것이고 --with-mysql은 MySQL과 연동하기 위해 MySQL이 설치되어 있는
           디렉토리를 가리키는 것이다. --with-config-file-path는 php.ini파일의 경로를 지정하는
           옵션이고, --with-exec-dir은 아파치데몬의 실행경로는 지정한다. --enable-track-vars는
           HTTP_GET_VARS, HTTP_POST_VARS, HTTP_COOKIE_VARS 배열에 있는 GET/POST/COOKIE변수들이
           어디서 왔는지 기억하고 있게 만들고 --enable-trans-sid는 보안과 관련된 옵션이다.
    ㄷ. make
    ㄹ. make install
    ㅁ. cp php.ini-dist /usr/local/apache/conf/php.ini
         => 소스디렉토리에 있는 php.ini를 /usr/local/apache/conf디렉토리에 php.ini로 복사한다.
   8) httpd.conf설정(/usr/local/apache/conf/httpd.conf의 환경파일을 설정)
    ㄱ. ServerName의 항목을 찾아 입력: 도메인이름 또는 IP주소를 입력한다.
    ㄴ. DSO support항목에서 아래 모듈부분이 활성화되어있는지 확인한다.
       LoadModule php4_module        modules/libphp4.so
    ㄷ. php관련환경설정 : AddType이라는 항목이 모여있는 곳으로 이동한 뒤 아래와 같이 추가한다.
       예)
           AddType application/x-httpd-php .php .htm .html .inc .php4 .php3
           AddType application/x-httpd-php-source .phps
   9) 아파치 데몬을 재가동한다.
    예) /usr/local/apache/bin/apachectl restart


2. Apache 2.0, PHP, MySQL 연동 확인
(1) 아파치 테스트하기
   1) 설명: 위와 같이 소스로 컴파일하면 아파치 설치디렉토리가 /usr/local/apache가 된다. 웹문서
           를 올려서 아파치 웹서버가 동작하는지 확인한다. 웹문서디렉토리는 /usr/local/apache/
           htdocs 이다.
   2) 방법
    ㄱ. /usr/local/apache/htdocs 디렉토리에 작성한 웹문서(index.html)를 올린다.
    ㄴ. 아파치데몬의 작동유무를 확인한다. 아래와 같이 재가동해도 된다.
       예) /usr/local/apache/bin/apachectl restart
    ㄷ. 웹브라우저를 띄우고 확인한다.
       예) http://localhost (리눅스의 X-window에서 로컬로 확인할 경우)
           http://192.168.0.1 (IP주소로 세팅한 경우)
           http://linux.co.kr (도메인으로 세팅한 경우)
(2)아파치와 PHP가 제대로 연동되는지 테스트해보기
   1) 설명: test.php라는 간단한 php문서를 phpinfo()라는 PHP정보를 보여주는 함수를 이용해서
           작성한 뒤에 웹상에서 불어오도록 한다.
   2) 방법
    ㄱ. 아래와 같이 test.php 를 만든다.
      <?
      phpinfo();
      ?>
    ㄴ. 위 파일을 /usr/local/apache/htdocs 디렉토리에 위치시킨다.
    ㄷ. 웹상에서 불러본다.
       예) http://localhost/test.php
           http://192.168.0.1/test.php
           http://linux.co.kr/test.php
   3) 결과
    ㄱ. 설명: php관련정보가 뜬다면 제대로 세팅된 것이다. 만약 정보가 제대로 보이지 않고  소스
             즉 위의 내용이 그대로 웹페이지에 보인다면 다음과 같이 해본다.
    ㄴ. 오류해결
      a. 재부팅하거나 'depmod -a' 명령을 내린다.
         => 관련 새로 설치된 PHP관련 모듈이 라이브러리로 올라가지 않아서 그럴수도 있으니 재부
           팅하면 리눅스서버에서 관련 모듈들을 다시 읽어들이므로 PHP가 정상적으로 작동한다.
      b. 재부팅해서 안되면 아파치와 PHP 설치시 환경설정 오류일 수 있으니 아파치와 PHP를  다시
        컴파일한다. 기존의 압축파일을 지우고 tar파일을 다시 풀고 설치해도 되고, 아니면
        make clean명령으로 지정한 설정을 초기화한뒤 다시 configure 부터 해도 된다.
(3) PHP 설치후에 Form태그와의 연동에 대하여
   1) 설명: PHP 4.2.x 버전부터 php.ini의 항목중에 register_globals라는 값이 Off되어 있다. 보안
           상 이 값이 Off가 되어 있다. (설치시에 컴파일을 다 끝내면 화면에 메시지로 찍힌다.)
           만약 이 값을 On하지 않고 Form태그를 이용해서 MySQL에 데이터를 입력하면 값이 무조건
           공백으로 들어간다. 이 값을 On 해야 된다.
   2) 방법
    1) vi /usr/local/apache/conf/php.ini 로 파일은 연다.
    2) register_globals=On 으로 바꾼다.
    3) 아파치를 재시작한다. ( PHP는 환경설정이 바뀌면 아파치에 모듈화에서 설치되어 있으므로
      아파치만 재시작하면 자동으로 관련설정이 바뀐다.)
      예) /usr/local/apache/bin/apachectl restart

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
 
우주곰:지구곰이 아닙니다.
지구곰이 아닙니다.
Categories (190)
Information (5)
About uzoogom (5)
My Advanced Linux (73)
Learning Linux (96)
OperatingSystem (5)
Databases (4)
Tips! (1)
OpenSource (1)
«   2018/12   »
            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          
  1. 2012/12 (2)
  2. 2012/04 (3)
  3. 2012/03 (6)
  4. 2012/02 (6)
  5. 2012/01 (2)