킬크로그  
  킬크로그
공지사항 | 키워드 | 태그 | 지역 | 방명록 | 관리자 | 포스팅   
 
APM(Apache Php MySQL) 설치하기

Apache Php MySQL 설치 하기 V 1.0


APM
Apache Web Server, Php, MySQL의 약자로서, 웹서버를 설치하기 위한 기본 컴포넌트 프로그램이다. 흔히 웹서버를 셋업할때 APM을 설치한다고 표현한다.

APM
와 관련된 프로그램을 설치하는 방법을 알아보자.

1. 프로그램의 다운로드
- Apache Web Server : http://www.apache.org
- PHP : http://www.php.net
- MySQL : http://www.mysql.com
*
다음은 관련된 프로그램이다.

- gd : http://www.boutell.com/gd

: gd library는 웹상에서 챠트나 그래픽, 썸네일 같은 그래픽 표현을 하기 위해 C, PHP, Perl같은 언어를 지원하는 그래픽 라이브러리이다. PNG, JPG, GIF 파일을 만들고 상호 지원한다.

- freetype : http://freetype.sourceforge.net

: freetype는 웹상의 글꼴을 처리하기 위한 폰트 엔진 프로그램이다.

* Zend Optimizer PHP 5 버전이상에 내장되어 있어 별도 설치할 필요가 없다.


2.
다운로드 받은 애플리케이션들을 서버에 저장한다.

일반적으로 /usr/local/source 라는 디렉토리를 만들고 여기에 넣는다.


3.
기존 리눅스에 설치된 APM 모듈 제거하기

기존 리눅스에 이미 APM이나 관련 애플리케이션이 설치되어 있는 것을 제거해야 한다.

우선 데몬으로 작동이라면 데몬을 내려야 하는 과정을 거쳐야 한다.

# ps –ef | grep httpd

# ps –ef | grep mysqld

해서 만일 데몬이 떠 있다면, 각각

# killall httpd

# killall mysqld

데몬을 내렸다면 이젠 RPM 패키지를 제거해야 한다.

# rpm –qa | grep httpd

# rpm -qa | grep httpd

system-config-httpd-1.3.3-1.1

httpd-2.2.0-5.1.2

두개의 패키지가 설치되어 있는데 이를 모두 제거한다. 제거하는 명령어는

# rpm -e --nodeps httpd-2.2.0-5.1.2

# rpm -e --nodeps system-config-httpd-1.3.3-1.1

* nodeps 옵션은 의존성 문제를 없애기 위한 것이다. 제거하려는 프로그램을 다른 패키지가 의존성가지고 있으면 삭제가 되지 않기에 붙여주는 옵션이다.

같은 방법으로 mysql, php, gd, freetype도 찾아보고 삭제한다.

# rpm -qa | grep mysqld

# rpm -qa | grep php

# rpm -qa | grep gd

# rpm -qa | grep freetype

주의할 것은 반드시 해당 패키지만 지워야 한다. 예를들어 gd관련 패키지를 찾는데 gdbm도 같이 검색되어 나오는데 이런 패키지는 지우면 안된다.


4. MySQL
설치하기

제일 먼저 MySQL을 설치해야 한다.

우선 mysql 그룹과 mysql 사용자가 등록되어 있어야 설치가 가능하므로

/etc/passwd 파일과 /etc/group 파일에서 mysql이 있는지 찾아본다.

없다면 만들어 주어야 한다.

# groupadd mysql

# useradd -g mysql mysql

압축된 파일을 풀어야 한다.

우선 압축 파일이 있는 디렉토리로 이동한다.

# cd /usr/local/source

압축을 해제한다. (압축해제와 tar를 푼다.)

# tar xvfz mysql* (자세한 파일명 입력)

긴 이름의 디렉토리를 mysql로 바꾼다.

# mv mysql* (자세한 파일명 입력) mysql

# cd mysql (/usr/local/source/mysql)

# ./configure --prefix=/usr/local/mysql --with-charset=euckr --localstatedir=/usr/local/mysql/data

--prefix=/usr/local/mysql  설치 디렉토리 지정

--with-charset=euckr 한글 지원

--localstatedir=/usr/local/mysql/data  데이타 저장 디렉토리 지정

# make

# make install

설치는 끝났다.

사용을 위한 기초 DB를 만들어 주어야 한다.

# scripts/mysql_install_db

DB 생성 후에는 데이터가 생성되는 폴더의 권한을 mysql로 바꾸어 주어야 한다.

# chown -R mysql:mysql /usr/local/mysql/data

다음으로 환경 설정 파일을 /etc/my.cnf 로 복사한다.

# cp support-files/my-medium.cnf /etc/my.cnf

mysql 의 데몬스크립트인 mysql.server 파일에 mysql_safe가 실행되는 라인에 language 옵션을 추가해 준다.

# vi /usr/local/mysql/share/mysql/mysql.server

$bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file >/dev/null 2>&1 &

$bindir/mysqld_safe --datadir=$datadir --language=korean --pid-file=$server_pid_file >/dev/null 2>&1 &

mysql 경로 추가

# vi /root/.bash_profile

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin

마지막으로 부팅시 자동 실행이 되도록 만들어 준다.

링크를 걸어 주어야 한다. Run Level 3 5 모두에 링크를 걸어야 한다.

# cp -p /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld

# ln -s /etc/rc.d/init.d/mysqld /etc/rc.d/rc3.d/S90mysqld

# ln -s /etc/rc.d/init.d/mysqld /etc/rc.d/rc5.d/S90mysqld

이제 mysql을 구동시켜 보자

# /etc/rc.d/init.d/mysqld start

/etc/rc.d/init.d/mysqld start

떠 있는지 확인해 보려면

# ps -ef|grep mysqld

root     29017     1  0 12:54 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --language=korean --pid-file=/usr/local/mysql/data/서버명.pid

mysql    29047 29017  0 12:54 pts/1    00:00:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/data/서버명.pid --skip-locking --port=3306 --socket=/tmp/mysql.sock --language=korean

root     29067 11175  0 12:55 pts/1    00:00:00 grep mysqld

초기 구동후 패스워드를 설정해 준다.

# ./mysqladmin -u root password 원하는패스워드

mysql로 들어가기

# ./mysql -u root -p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 5 to server version: 5.0.21-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema   |

| mysql                |

| test                 |

+--------------------+

3 rows in set (0.00 sec)


5. freetype
설치

# cd /usr/local/source

# tar xvfz freetype-2.2.1*

# cd freetype-2.2.1

# ./configure

# make

# make install


6. gd
설치

# cd /usr/local/source

# tar xvf gd-2.0.33.tar.tar

# cd gd-2.0.33

# ./configure --prefix=/usr/local/gd --with-freetype=/usr/local/include/freetype2

# make

# make install


7. Apache
설치-1

# cd /usr/local/source

# tar xvfz apache_1.3.36.tar.gz

# mv apache_1.3.36 apache (디렉토리 이름을 바꾸어 준다.)

# cd apache

# ./configure --prefix=/usr/local/apache


8. php
설치

# cd /usr/local/source

# tar xvfz php-5.1.4.tar.gz

# cd php-5.1.4

# ./configure --with-config-file-path=/etc --with-exec-prefix=/usr/bin --with-mysql=/usr/local/mysql --with-apache=../apache --with-gd=/usr/local/gd --with-freetype-dir=/usr/local/include/freetype2 --with-jpeg-dir=/usr/lib/ --with-png-dir=/usr/lib/ --with-zlib-dir=/usr/lib/ --with-language=korean --with-charset=euc-kr --enable-track-vars --enable-safe-mode --enable-gd-native-ttf

(일일히 입력하기 어려우면 copy & paste하자)

# make

# make install

php 환경 설정 파일 복사

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


9. Apache
설치-2

# cd /usr/local/source/apache

# ./configure --prefix=/usr/local/apache --activate-module=src/modules/php5/libphp5.a --activate-module=src/modules/standard/mod_rewrite.c --enable-module=so --enable-shared=max --sysconfdir=/usr/local/apache/conf --htdocsdir=/usr/local/apache/htdocs --logfiledir=/var/log/httpd

# make

# make install


다음과 같은 화면을 만난다면 설치가 완료된 것이다.

+--------------------------------------------------------+

| You now have successfully built and installed the                  |

| Apache 1.3 HTTP server. To verify that Apache actually             |

| works correctly you now should first check the                     |

| (initially created or preserved) configuration files                   |

|                                                                 |

|   /usr/local/apache/conf/httpd.conf

|                                                                 |

| and then you should be able to immediately fire up                 |

| Apache the first time by running:                                   |

|                                                                |

|   /usr/local/apache/bin/apachectl start

|                                                                 |

| Thanks for using Apache.       The Apache Group                 |

|                               http://www.apache.org/          |

+--------------------------------------------------------+

이제 httpd 설정을 바꾸어 주어야 한다.

# cd /usr/local/apache/conf

# vi httpd.conf

ServerName www.example.com

-> SeverName 서버명

디렉토리 보안을 위해 Indexes를 없애준다.

Options Indexes FollowSymLinks MultiViews

-> Options FollowSymLinks MultiViews

<IfModule mod_userdir.c>

  UserDir public_html

</IfModule>

->

<IfModule mod_userdir.c>

  UserDir html

</IfModule>

<IfModule mod_dir.c>

  DirectoryIndex index.html

</IfModule>

->

<IfModule mod_dir.c>

  DirectoryIndex index.html index.php

</IfModule>

AddType을 추가한다.

AddType application/x-tar .tgz

->

AddType application/x-tar .tgz

AddType application/x-httpd-php .php .php3 .inc .ph .htm .html

AddType application/x-httpd-php-source .phps

이제 모든 설정이 끝나고 부팅이 될 때 자동으로 실행되도록 링크를 걸어준다.

# cp -p /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd

# ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S99httpd

# ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc5.d/S99httpd

# /etc/rc.d/init.d/httpd start (실행)

PHP가 정상 작동하는지를 알아보기 위해 test.php를 만들어 /usr/local/apache/htdocs에 넣고 브라우저로 확인해 보자.

# vi test.php

<html>       

  <?php

  phpinfo();

  ?>

  </html>

정상적으로 버전 표시가 상세히 나온다면 완벽하게 설치가 된 것이다.

이로서 모든 설정은 끝났다.


PS. 한글이 깨지면 http://cusee.net/23 참고

Tag : , , , ,
Track this back : http://cusee.net/trackback/179 관련글 쓰기

name    password    homepage
 hidden


BLOG main image
세상엔 알고 싶은 것이 너무 많다
다이시스 배너
전자액자 솔루션, DID 솔루션
DVB-H, ISDB-T, T-DMB module
 블로그 자체검색
 카테고리
모든 글보기 (1602)
기술 & 트렌드 (1066)
킬크로그 (431)
맛집 방문기 (25)
우리집 이야기 (32)
드라마 로스트 (24)
노래 이야기 (24)
 태그
콘텐츠 블로그 VoIP 팟캐스트 podcast iPhone 콘텐츠유통 Apple 광고 삼성전자 Microsoft mp3 휴대폰 영화 MP3p 로스트 이메일 Google KT Lost
 최근 포스팅
Recession, 경기후퇴 (1)
블로그 또는 블로거 마케팅을.. (6)
이럴수록 데이터 백업 횟수와.. (2)
MP3플레이어 전쟁, 2008 문화.. (5)
결국 Yahoo CEO Jerry Yang 사..
뚜껑이 잘 안열리는 할인점 PB.. (6)
iPod Touch 2세대로 fring을.. (7)
4G 표준, UMB 포기 선언으로 W..
호가든 육각 텀블러잔을 구하다 (4)
SideWinder X6 키보드의 특징.. (1)
Qualcomm, PC alternative Kay.. (2)
컴퓨터 책상을 사무용 가구로.. (12)
2008 인천국제정보산업전시회..
Global Mobile Vision 2008 행.. (2)
홍콩과기대 김성훈 교수와 함..
 최근 코멘트
영원한 후퇴는 없다~근데 그..
gostopgo90 - 11/20
광고대행사가 되어주는 매체들..
혜란 - 11/20
그냥 마이크만 꼽아도 되려나..
nakada - 11/19
블로거 마케팅에 있어 시금석..
웹초보 - 11/19
많은 도움 받고 갑니다. 앞으..
백미 - 11/19
저도 와서 배우고 갑니다. 좋..
러블리앙뚜 - 11/19
말이 좋아 블로그 마케팅이지,..
레이니돌 - 11/19
좋은 글 잘 읽고 갑니다. 배울..
rockholic - 11/19
감사합니다. 킬크님. 기자..
서기선 - 11/19
맞습니다. 책이 언제쯤 완성될..
킬크 - 11/19
 최근 받은 트랙백
한국블로그연합회와 WPBA 그리..
Save the Earth! Fire Blog!
미디어 2.0, 2008 우수 교양도..
링블로그-그만의 아이디어
Qualcomm의 UMB 개발 중단- 막..
유무상통(有無相通)
[홍콩과기대] 행복한 소프트웨..
에이콘 출판사 블로그 acornLoft
디지털 액자, 훌륭한 광고판이..
칫솔_초이의 IT 휴게실
주간 블로고스피어 리포트 97..
GOODgle.kr
주간 블로고스피어 리포트 97..
GOODgle.kr
AT&T, iPhone 사용자에게 17,0..
상대적이며 절대적인 지식의..
아이팟 터치 2세대(iPod Touch..
마음으로 찍는 사진
더마음씨의 생각
themaum's me2DAY
 링크 사이트
(주)다이시스
Iguacu Blog
소프트웨어 스토리
전자파 이야기
 방문자 통계(Since 2006.2.14)
전체 : 1,331,927
오늘 : 2,215
어제 : 2,639
 사랑합니다, 여러분 :)
티스토리 배너
DNS Powered by DNSEver.com

 블로그 구독(RSS Feed)
rss
믹시
 공지사항
킬크로그 History
About 킬크로그 & 킬크