yunsh206

회원가입로그인

컴퓨터 Apache + PHP + MySQL 설치

2004.03.10 15:25

RanomA 조회 수:1086

매번 설치때마다 설치법 다시 기억하기 힘들어서리 아예 여기다 퍼다놓는다.

Apache, MySQL, PHP 설치

Apache, MySQL, PHP 설치 순서
MySQL -> PHP -> Apache
1.MySQL 설치(source)

download: http://www.mysql.com
1.1 tar 및 압축풀기
if: ~jskim $> gunzip mysql-3.23.36.tar.gz
if: ~jskim $> tar xvf mysql-3.23.36.tar

그러면 ./mysql-3.23.36 라는 디렉토리가 생깁니당.
혹, Solaris에서는 tar 푸는 과정에서 error가 나는 경우가 있는데
http://www.gnu.org 에서 gnu version의 tar를 download받아서 설치한 후
다시 풀어보세용..그리고 path 순서가 gnu version의 tar가 먼저 와야 겠죠!

이제 본격적으로 설치 준비에 들어갑니당.

source directory로 이동..
if: ~jskim $> cd mysql-3.23.36

configuration하기..
if: ~jskim $> ./configure --prefix=/usr/local/mysql --with-charset=euc_kr

위에서 사용된 옵션을 살펴보면 --prefix=/usr/local/mysql 은 모든 과정이 끝난 후 MySQL이 설치될
디렉토리이당. 이때 /usr/local/mysql은 root권한으로 실행 시켜야 되겠죠.
그리고 --with-charset=euc_kr은 한글 지원을 위해 주는 옵션이당.
참고로 전체 옵션 리스트를 보려면 ./configure --help 를 실행시키면 전체 옵션 리스트와
간단한 설명을 볼 수 있당.

이제 드뎌 compile이당. 근디 여기서는 쪼끔 인내심이 필요합니당.
꽤 오래 걸리거덩요.

if: ~jskim $> make

compiling...

if: ~jskim $>

우앙 정말 오래 기다리셨죠!
이제 우리가 설치하고자 하는 디렉토리에 설치만 하면 됩니다.

if: ~jskim $> make install
그럼, configuration에서 --prefix 옵션으로 준 /usr/local/mysql 디렉토리에 설치가
됐죠.

1.2 기본 데이타베이스 설치
인제 실행하기 앞서 마지막 작업입당.
우리가 mysql을 설치한 /usr/local/mysql/의 ./bin 디렉토리로가서
'mysql_install_db'를 실행시킵니당. 그럼 ./var 디렉토리 밑에 mysql과 test라는
디렉토리가 만들어졌죠..그럼 이제 실생을 위한 모든 준비가 됐습니당.

1.3 MySQL daemon 실행시키기
실행은 간단히 ./bin 디렉토리안에 있는 safe_mysqld 를 실행시켜주면 됩니당.

1.4 root password 바꾸기

1.5 Test 하기

2.PHP 설치

PHP는 CGI프로그램에 많이 사용되는 언어죠!
지금 설치하려고 하는 PHP 는 apache web server에 php module로서
들어가는 것입니당.

download:
http://www.php.net ; php download
http://www.apache.org ; apache download

apache는 왜 down 받냐고요? 헤헤..
php를 compile하기 전에 apache에서 간단하게 해야 할 것이 있거덩요..

2.1 tar 및 압축 풀기
if: ~jskim $> gunzip php-4.0.4pl1.tar.gz
if: ~jskim $> tar xvf php-4.0.4pl1.tar
if: ~jskim $> gunzip apache_1.3.19.tar.Z
if: ~jskim $> tar xvf apache_1.3.19.tar

그럼, ./php-4.0.4pl1 와 ./apache_1.3.19 디렉토리가 생기죠.
먼저, apache_1.3.19 디렉토리로 갑니당. 그리고 아래와 같이 실행 시킵니당.

if: ~jskim/apache_1.3.19 $> ./configure

option은 안 주냐구요..그러씁당..여기서는 단순이 php를 compile하기 위해서
단순히 apache에서 configure를 실행 시키는 겁니다..아무 의미가 없죠.

2.2 PHP configuration 하기
if: ~jskim/php-4.0.4pl1 $> ./configure --with-apache=../apache_1.3.19 --with-mysql=/usr/local/mysql
위와 같이 실행을 시키면 되는데용.. --with-apache=../apache_1.3.19 는 방금 전에 down 받아서
tar를 푼 apache source가 있는 디렉토리입니다. 그리고 --with-mysql=/usr/local/mysql 는
첨에 MySQL설치 했죠..MySQL source가 아닌 설치된 디렉토리 입니다.

2.3 compile 하기
if: ~jskim/php-4.0.4pl1 $> make
if: ~jskim/php-4.0.4pl1 $> make install
인제 PHP는 끝났습니당..apache만 남았군용.

3.Apache 설치하기

download: http://www.apache.org
아까 php설치하면서 download 받았었죠!

3.1 tar 및 압축풀기
위에서 했던 방법으로 압축과 tar를 풀어주면 됩니당.

3.2 Configuration하기
먼저, tar로 풀어낸 apache_1.3.19 디렉토리로 가야죠.
그리고 담과 같이 ./configure를 실행 시킵니다.

if: ~jskim/apache_1.3.9 $> ./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a

간단하죠..그런데, 신기한 건 ./src/modules/php4/libphp4.a라는 파일이 아직은 없다는 것입니다.
예..이 파일은 apache가 컴파일되고 만들어집니다.
참고로, DSO(Dynamic Shared Object)를 사용하려면 다음과 같이 하면 됩니다

if: ~jskim/apache_1.3.9 $> ./configure --prefix=/usr/local/apache
--activate-module=src/modules/php4/libphp4.a --enable-module=most --enable-shared=max

3.3 compile 하기
인제 compile만 하면 되는네요. 간단히 make하고 make install만 하면 됩니다.

if: ~jskim/apache_1.3.9 $> make
if: ~jskim/apache_1.3.9 $> make install
그리고 다시 php source 디렉토리에 가서 php.ini-dist를 담과 같이
/usr/local/lib/php.ini로 복사해주면 됩니다.
if: ~jskim/php-4.0.4pl1 $> cp php.ini-disk /usr/local/lib/php.ini
설치가 끝났습니다..헤헤.

3.4 환경파일 수정하기
환경파일 수정은 간단히 httpd.conf 파일에서 담을 주석처리만 제거해
주면 됩니다.
AddType application/x-httpd-php .php
간단하죠

3.5 apache web server 실행하기
if: /usr/local/apache/bin/apachectl start



다른 사람의 글...

APM 완벽 설치 방법

설치순서

1.mysql 설치
2.apache 소스풀기
3.php 설치
4.apache 설치
5.테스트

준비물은 apache , mysql, php 를 준비한다. 리눅스자료실에 보면 많이 있음
차근 차근 보면서 하면됨. rpm 말고 그냥 압축되어 있는 것으로 사용하세요.

MySQL먼저 설치 한다
MySQL의 압축을 푼다!!
다음 MySQL압축을 푼 디렉토리로 이동.  순서대로 입력한다.

./configure --prefix=/usr/local/mysql --with-char=euc_kr  엔터
                      prefix는 설치할 디렉토리 설정이고 언어는 한국어로 한다는 말
make             엔터

make instll             엔터

./scripts/mysql_install_db             엔터
주의할 점은 한번만 실행한다.

그리고 /usr/local/mysql                              로 이동한다

./bin/safe_mysqld & 엔터 이렇게 치면 MySQL데몬이  떠버린다.

참고.........
MySQL 서버의 기동 : root 사용자로 다음과 같은 명령을 준다.

[root@server root]# cd /usr/local/mysql
mysql로 이동한 후 bin 디렉토리내의 모든 유틸리티 작업을 이곳에서 한다.

[root@server mysql]# ./bin/safe_mysqld &
bin 디렉토리내의 safe_mysqld 파일을 백그라운드로 실행시킨다. 그러면 mysqld
daemon이 시작되면서 MySQL 서버가 기동된다.
확인은
./mysql -u root -p 한다음 프롬프트가 보이면 성공 나올땐 q이다.

[root@server mysql]# ps ax | grep mysql
실행 중인 프로세스를 확인한다. 정상적으로 기동되면 safe_mysqld와 mysqld라는
두 개의 프로세스가 실행되는데 mysqld 파일은 MySQL의 서버 데몬으로 mysql
디렉토리 밑의 libexec 디렉토리에 존재한다.
safe_mysqld는 이 mysqld 서버 데몬을 보다 안정적인 환경에서 기동시키는 실행
파일이다

MySQL server의 종료 - mysqladmin 실행 파일 이용 방법

mysqladmin 파일은 /usr/local/mysql/bin 디렉토리 밑에 존재하며, MySQL server를
종료시키거나 재 기동하고 새로운 db를 생성하거나 삭제하는 등의 작업을 할 수
있는 MySQL 관리자용 유틸리티 파일이다.

[root@server mysql]# ./bin/mysqladmin -u root -p shutdown
Enter Password : *******
mysql daemon ended
[1]+  Done   ./bin/safe_mysqld
[root@server mysql]#
  
종료 후 바로 재 기동시키려면 shutdown 대신 reload 옵션을 준다.

[root@server mysql]# ./bin/mysqladmin -u root -p reload
Enter Password : *******
[root@server mysql]#


자동으로 리눅스 서버를 재 부팅할 때마다 자동으로 MySQL 서버를 기동 시키려면 /etc/rc.d/rc.local 파일의 맨 끝에 아래의 두 명령어를 적어준다.

cd /usr/local/mysql/
./bin/safe_mysqld &


다음...아파치를 잠깐 설치 한다..

다운받은 소스를 푼다~~                 /usr/local/src  
편리하게 이름을 바꿔준다..apache_1.3.12 를 apache 로
그러면 /usr/local/src/apache            이동한다

./configure 엔터

다음에는  PHP설치다 (apache 설치는 PHP설치 다음에 한다)

php소스를 푼다풀고 설치할 디렉토리로 이동 /usr/local/src/php

./configure --with-apache=/usr/local/src/apache  아파치 소스가 풀려있는곳
--with-mysql=/usr/local/mysql  MySQL설치된곳..위에서 이상없으면 이렇게 저거라
--with-language-korean 언어는 한국어 사용
--with-char=euc_kr   이것도 한국어 사용
--enable-track-vars  
--disable-debug  

전부 한줄로 입력하고 -- 앞에는 한칸 띄어야 됨

make 엔터

make install 엔터
설치되면 php 설치성공이라 나온다.

apache 설치한다.
아파치 소스가 풀려있는곳으로 이동  /usr/local/src/apache

./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a 엔터

make 엔터

make install 엔터
그러면 박스에 설치 성공이라고 나온다.

다시 php 소스 풀려 잇는곳으로 이동

cp php.ini-dist /usr/local/lib/php.ini 엔터(뭐하는 화일인지는 모름)

아파치 환경 설정....

cd /usr/local/apache/conf 엔터

vi httpd.conf 엔터

중간 부분에서 보면 아래와 같은 것이 있음

AddType application/x-httpd-php .php

주석제거하고 몇 글자 적으면 됨

AddType application/x-httpd-php .php .phtml .html .htm
AddType application/x-httpd-php-soure .phps

이로서 설치는 모두 종료 테스트만 하면 됨


글구 아파치 서버 다시 띄어야한다
cd /usr/local/apache/bin 엔터
./httpd restart

Daemon 확인하기
실행이 된 뒤에는 반드시 ps 명령으로 httpd Daemon을 확인해 본다.
ps -aux | grep httpd

참고 사항 으로 옵셥이다.
httpd나 apachectl 모두 실행 방법이다.
/usr/local/apache/src/support/apachectl
./apachectl ( start | stop | restart | fullstatus | status | graceful | configtest |
help )
  
start : httpd 데몬(아파치)을 실행시킨다.
stop : httpd 데몬의 실행을 중지시킨다.
restart : 아파치를 재 시작한다.
fullstatus : 아파치 서버의 실행 상태를 자세히 보여준다.
status : 아파치 서버의 상태를 간단히 보여준다.
graceful : 아파치를 SIGUSR1을 보내 재시작 혹은 시작한다.
configtest : httpd.conf 파일의 설정상태를 점검해 준다.
  help : 옵션에 대한 도움말을 보여준다.

아파치 실행, 데몬 확인, 중지
[root@server support]# ./apachectl start
./apachectl start : httpd started

[root@server support]# ps -ef | grep httpd
root        19471        1  0 Aug19 ?        00:00:00 /usr/local/apache/bin/httpd
nobody   19510 19471  0 Aug19 ?        00:02:48 /usr/local/apache/bin/httpd
nobody   19511 19471  0 Aug19 ?        00:02:57 /usr/local/apache/bin/httpd
nobody   19512 19471  0 Aug19 ?        00:02:54 /usr/local/apache/bin/httpd
nobody   19517 19471  0 Aug19 ?        00:02:54 /usr/local/apache/bin/httpd
nobody   19523 19471  0 Aug19 ?        00:04:24 /usr/local/apache/bin/httpd
root        20365 20338  0 11:33  pts/0   00:00:00 grep httpd

[root@server support]# ./apachectl stop
./apachectl stop : httpd stoped

마지막에 httpd <-이 글씨가 들어간것이 나올것이다..거기서 한 5개 정도 이상 나오면 뜬 것이다.

/usr/local/apache/htdocs    여기가..웹문서가 처음 읽어들이는 곳이다. 여기에 test.html파일을 만들다.
/apache/conf/httpd.conf 에서 지정해줌.

vi test.html  

<html>
<?
phpinfo() ;
?>
</html>

그리고 부라우저를 실행시킨후에 localhost/test.html 입력
시스템 정보 ,php 버전등일 나오면 성공 이다.
나머지는 열심히 공부하시면 됨 ...이거 설치 하느냐고 2틀밤 세웠습니다.
너무 정보가 정리되지 않아, 한 번 인터넷에 널려 있는 정보를 정리 한 것입니다. 혹시 저와 같이 배우고 있는 분들에게 많은 도움이 되었으면 합니다....  
번호 제목 글쓴이 날짜 조회 수 추천 수
835 리눅스 새 하드 장착하기 RanomA 2021.12.01 600 0
834 리눅스 SSH Network error: Software caused connection abort RanomA 2021.05.29 2018 0
833 인터넷 기본 설정 복원 창 띄우는 방법들 file RanomA 2021.05.01 1024 0
832 리눅스 디렉토리별 압축 파일 생성 쉘 스크립트 RanomA 2021.04.04 831 0
831 Javascript 숫자에 끊어 읽기 컴마(,) 추가 RanomA 2020.11.27 752 0
830 Javascript 문자열을 포맷 맞춰 날짜로, 날짜를 포맷 맞춘 문자열로 변환 RanomA 2020.11.26 719 0
829 Javascript 날짜 더하기 RanomA 2020.11.26 451 0
828 Javascript 해당 연월의 마지막 날짜 가져오기 RanomA 2020.11.25 365 0
827 Javascript isNullOrEmpty RanomA 2020.11.25 686 0
826 Javascript 전화번호 포매팅 RanomA 2020.11.25 2309 0
825 Javascript IN RanomA 2020.11.18 261 0
824 Javascript LPAD RanomA 2020.11.17 582 0
823 Adobe Creative Cloud 업데이트 실패 184(혹은 C184) 오류 file RanomA 2020.09.08 1072 0
822 오라클 테이블 레이아웃 조회 Query RanomA 2020.01.13 2064 0
821 SQL Developer의 폰트 설정에서 폰트 목록이 안나타날 때 [6] file RanomA 2019.12.30 4876 0
820 Underscore( _ 문자)를 카멜 케이스(Camel Case)로 변환하기 RanomA 2019.12.06 1815 0
819 라이트룸(Adobe Lightroom) 한자/일본어용 폰트 변경 file RanomA 2018.06.06 2144 0
818 마녀의 빗자루와 악마와의 파티 RanomA 2018.03.23 891 0
817 크레인 안전 점검이 허술해진 게 이명박 때가 아니다? RanomA 2018.01.06 709 0
816 인도 중국의 분쟁 지역 file RanomA 2017.08.17 1295 0