Gentoo-WiKi

본문 바로가기
사이트 내 전체검색


Gentoo Linux >> System Administration for Gentoo Linux
[목차]
제6장 Server Administration

    2. Apache2+PHP+MySQL 설치하기


2.1. USE 플레그 설정


  필요한 기능을 제대로 설치하기 위해서는 use flag를 설정할 필요가 있습니다.


# vi /etc/make.conf 

... 생략

USE="apache2 mpm-worker threads mysql pam ssl xml xml2"



2.2. Emerge Sync/System Update


  다음 단계를 위해서 시스템 업데이트을 실행합니다.

# emerge sync                      [포티지 트리 업데이트]

# emerge -Davu world              [업데이트 목록을 보여줍니다.]



2.3. Super-Easy Install Method (선택사항)


  포티지(Portage)는 의존성을 검사하여 의존성이 있는 패키지를 자동으로 찾아서 설치합니다. 따라서 다음 명령만으로도 설치가 가능합니다. 중요하게 생각해야할 것은 use 플래그를 제대로 설정이 되어 있는지 확인을 꼭 하라는 것입니다!!

# emerge mod_php


  j2sdk버전 충돌로 설치가 않될 경우 아래 사이트에서 j2sdk-1_4_2_10-linux-i586.bin이 파일을 다운받아서 /usr/portage/distfiles/에 복사한 후에 다시 설치를 시작합니다. j2sdk버전은 설치 버전에 따라 차이가 날수 있습니다.

http://java.sun.com/j2se/1.4.2/download.html


# emerge mod_php

  mod_php는 PHP와 APACHE에 종속적입니다. PHP는 또한 use 플래그를 통해서 MySQL에 종속적이게 해놨으므로 MySQL까지 설치하게 한다. 만일 ssl,png,jpeg등과 같은 추가 라이브러리를 USE 플래그에 설정을 하였다면 그것들도 같이 설치될 것입니다.


Note) 만일 설치시 libstdc++.la관해서 에러가 발생할 시 처리방법

   The error contained reference to: /usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.5/libstdc++.la

   A quick 'ls /usr/lib/gcc-lib/' showed 'i686-pc-linux-gnu' as the only folder.

 

   Problem solved by running 'fix_libtool_files.sh 3.3.5 --oldarch i386-pc-linux-gnu'

   and then 'env-update && source /etc/profile' as suggested.


2.4. Installing Packages


  MySQL의 기본 Database 생성을 위해 아래 명령을 실행합니다.

# mysql_install_db


  MySQL 시동은 아래 명령을 실행합니다.

# /etc/init.d/mysql start


  MySQL의 보안을 위해서 root의 암호를 설정합니다.

# /usr/bin/mysqladmin -u root -h tenux password 'mypassword'

# /usr/bin/mysqladmin -u root -pmypassword password 'mypassword'


  MySQL에 접속를 테스트합니다.

# /usr/bin/mysql -u root -pmypassword


  시동시 MySQL 자동으로 시작되도록 런레벨에 추가해줍니다.


# rc-update add mysql default


  다음 커맨드로 아주 쉽게 아파치를 설치할 수 있다.

# emerge apache -av


  일반적으로 젠투는 부팅시 사용하는 데몬시작 스크립트의 설정내용을 /etc/conf.d/에 저장하고 있는데

아파치 역시 여기에 저장되어 있습니다. 따라서 아파치가 PHP와 함께 시작하게 하려면 다음과 같이 설정을 해줘야합니다.

# vi /etc/conf.d/apache2

APACHE2_OPTS="-D SSL -D PHP4"


  다음 커맨드로 아파치의 상태를 알 수 있다.

# /etc/init.d/apache2 status

* status: stopped


  아파치 시작은 다음과 같이 합니다. 나중에 도메인을 설정하면 되니 지금은 에러들에 신경쓰지 말기 바랍니다.

# /etc/init.d/apache2 start

* Starting apache2...

apache2: Could not determine the server's fully qualified domain name, \

using 127.0.0.1 for ServerName


  도메인은 /etc/hosts 를 편집하도록 합니다. 여기서는 IP (e.g. 127.0.0.1)로 하였고 호스트이름은

myhostname으로 설정하였습니다.

# vi /etc/hosts

... 생략

127.0.0.1 myhostname


  다시 아파치를 시작해본다.

# /etc/init.d/apache2 start

* Starting apache2... [ok]


  다음과 같은 아파치 시작 에러를 피하기 위해서는 /etc/apache2/conf/apache2.conf 안의 ServerName 주석을 해제합니다.

"apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName".

# vi /etc/apache2/conf/apache2.conf

..

ServerName your_server_name_here

..


  다음 에러를 피하기 위해서는 /var/log/apache2 를 만들어줍니다.

"(2)No such file or directory: apache2: could not open error log file

/usr/lib/apache2/logs/error_log. Unable to open logs".

# mkdir /var/log/apache2

# chown apache:apache /var/log/apache2


  만일 여전히 에러가 발생한다면 아마도 /usr/lib/apache2 링크가 없기 때문일것입니다.

# ln -s /var/log/apache2 /usr/lib/apache2/logs


  기본 런레벨에 Apache2 를 추가해줍니다.

# rc-update add apache2 default

* apache2 added to runlevel default

* Caching service dependencies...

* rc-update complete.


  PHP는 맨 마지막에 설치가 되는데 만일 설치가 되지 않았다면 다음 명령으로 설치해줍니다.

# emerge apache -av


  PHP는 아파치와 연동되어 사용되기 때문에 특이한 경우를 제외하고 설정을 할 필요가 없습니다. 참고로 PHP의 설정파일은 /etc/apache2/conf/php.ini 혹은 /etc/php/apache2-php/php.ini 에 있습니다.


2.5. 동작 테스팅


  APACHE는 기본적으로 DocumentRoot 에서 정해준 곳(/var/www/localhost/htdocs)에 웹페이지를

저장하게 되는데 이 가이드에서는 PHP와 연동되는게 목적이므로 테스팅을 해보겠습니다.

# vi /var/www/localhost/htdocs/text.php

<?  phpinfo();   ?>


  위와 같이 작성 했다면 웹브라우저에서 테스트를 해봐야하는데 형식은 http://자신의도메인 혹은

localhost/test.php 이렇게 하면 PHP의 설정 내역이 뜨게 됩니다.


[목차]

개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.