Apache1.3.27 + PHP 4.3.1 + MySQL 4.0.12
안녕하세요? FriZeX입니다.
저도 실력이 미숙하지만 어려움을 겪고 계신 여러분들을 위해 글을 남깁니다.
사용된 배포판 버젼은 Redhat 8.0이며 update -uv 명령어로 kernel을 제외한 모든 패키지들이
패치가 완료된 상태에서 진행하였습니다.
Redhat 8.0이 비록 불안정한 버젼이긴 하지만 제 컴퓨터에서 8.0버젼을 이용하는 관계로 8.0을 사용하게 되었습니다.
그리고 root로 작업하시길 부탁드립니다.
#와같은 #는 root shell을 의미하는 기호입니다. 직접 입력하실때 #는 입력하지 않으셔야 합니다.
먼저, Apache와 PHP, 그리고 MySQL을 받으셔서 아무 디렉토리에 넣어두시기 바랍니다.
제가 이용한 파일은 아래와 같습니다. (시간이 지남에 따라 구 버젼이 될 수도 있음을 양지하여 주시기 바랍니다.)
Apache1.3.27 [ http://apache.kr.net/dist/apache_1.3.27.tar.gz ]
PHP4.3.1 [ http://www.php.net/get/php-4.3.1.tar.bz2/from/a/mirror ]
MySQL4.0.12 [ http://www.mysql.com ]
MySQL-Server [ http://www.mysql.com/downloads/download.php?file=Downloads%2FMySQL-4.0%2FMySQL-server-4.0.12-0.i386.rpm&mirror=http%3A%2F%2Fmysql.holywar.net%2F
]
MySQL-Clients [ http://www.mysql.com/downloads/download.php?file=Downloads%2FMySQL-4.0%2FMySQL-client-4.0.12-0.i386.rpm&mirror=http%3A%2F%2Fmysql.holywar.net%2F ]
MySQL-Libraries & header [ http://www.mysql.com/downloads/download.php?file=Downloads%2FMySQL-4.0%2FMySQL-devel-4.0.12-0.i386.rpm&mirror=http%3A%2F%2Fmysql.holywar.net%2F
]
MySQL-Client-libraries [
http://www.mysql.com/downloads/download.php?file=Downloads%2FMySQL-4.0%2FMySQL-shared-4.0.12-0.i386.rpm&mirror=http%3A%2F%2Fmysql.holywar.net%2F
]
MySQL-Embedded server [ http://www.mysql.com/downloads/download.php?file=Downloads%2FMySQL-4.0%2FMySQL-embedded-4.0.12-0.i386.rpm&mirror=http%3A%2F%2Fmysql.holywar.net%2F
]
Zend Optimizer [ http://www.zend.com , http://zend.com/store/getfreefile.php?pid=13&zbid=548 ]
저는 저 파일들을 다운받아서 /root/apm/ 안에 모두 넣었습니다.
인스톨 순서는 Apache – MySQL – PHP 혹은 MySQL – Apache – PHP 가 가능합니다만..
저는 후자의 방법을 이용하도록 하겠습니다. 순서만 바뀌었을 뿐 큰 차이는 없는걸로 압니다.
1. MySQL 설치하기
MySQL을 다운 받으실 때 제가 제공한 링크를 클릭하셨다면 못 보셨겠지만,
직접 mysql.com 으로 들어가셔서 다운받으셨다면 아래와 같은 현란한 주황색 문구를 보신 분도 계실 겁니다.
<For maximum stability and performance, we recommend that you use the binaries we provide.>
간단하게 해석하면..
“최대한의 Perfomance와 Stabillty를 위해서, 우리는 우리가 주는 바이너리들을 당신이 사용할 것을 추천한다.”
라는 뜻이겠지요..
즉, 소스 컴파일을 하지 말고 MySQL社에서 제공하는 바이너리를 이용하라는 의미입니다.
이미 많은 리눅스그룹에서 언급이 된 문제이고 하니, 저도 설치가 간편하면서도 최대한의 Perfomance를
발휘할 수 있다는 RPM으로 설치하도록 하겠습니다.
1-1. MySQL 패키지들을 설치합니다.
RPM 설치를 많이 해보셨다면 익숙한 작업이시라 생각됩니다.
다운받은 MySQL이 있는 디렉토리로 이동합니다. (저의 경우에는 /root/apm/)
[root@localhost]# cd /root/apm
RPM들을 설치합니다.
[root@localhost]# rpm -Uvh MySQL-server-4.0.12-0.i386.rpm
rpm -Uvh MyS까지만 입력하시고 <Tab> 키를 누르시면 뒷 파일 목록이 뜬답니다. 많아서 안뜨는 경우에는
Tab 키를 두번 누르시면 됩니다.
– server를 설치하게 될 경우 자동으로 MySQL이 실행되는데
#service mysql stop 이라고 입력하여 MySQL실행을 중지시키거나
#ps aux|grep sql 하여 MySQL의 PID를 확인하고,
#killall sql 하셔서 SQL을 중지시키십시요.
– 중지하셨으면 계속 진행하세요.
[root@localhost]# rpm -Uvh MySQL-devel-4.0.12-0.i386.rpm
– 엥.. 여기서 에러가 나네요?
오류: Failed dependencies:
MySQL-client is needed by MySQL-devel-4.0.12-0
위와 같은 에러 메세지를 만나셨을 겁니다.. 왠 날벼락일까요..
그대로 해석하면
오류 : 의존성 실패
MySQL-client는 MySQL-devel-4.0.12-0을 필요로 한다.
정도로 번역이 가능합니다. 리눅스에서 패키지를 설치할때는 의존성이란 것이 있습니다.
예를 하나 들어볼까요..
여러분이 영화를 볼려고 합니다. 그래서 아드레날린 플레이어를 설치하려고 하는데,
“Media Player가 없습니다. Media Player를 설치하신 후 다시 시도하여 주십시오.”
라는 오류 메세지와 함께 설치가 중단되어 버렸습니다.
그래서 Media Player를 설치한 후 아드레날린을 설치하니 잘 되어서 즐겁게 영화를 보았습니다.
위의 예와 같이.. 어떤 프로그램이 어떤 프로그램을 필요로 하는것이 의존성입니다.
의존성을 해결하기 위해서는 필요로 하는 프로그램을 설치해 주어야겠지요.
저기서 원하는 MySQL-client을 먼저 설치해줍시다.
[root@localhost]# rpm -Uvh MySQL-client-4.0.12-0.i386.rpm
MySQL-Client가 성공적으로 설치되었다면.. 아까 실패했던 MySQL-devel을 다시 설치해줍니다.
[root@localhost]# rpm -Uvh MySQL-devel-4.0.12-0.i386.rpm
오.. 이제 의존성에러없이 잘 설치되죠?
그리곤, embedded와 shared를 설치해줍니다.
[root@localhost]# rpm -Uvh MySQL-embedded-4.0.12-0.i386.rpm
[root@localhost]# rpm -Uvh MySQL-shared-4.0.12-0.i386.rpm
한번에 여러개의 패키지를 설치를 하는 것도 가능하지만, 실수를 방지하기 위해 따로 따로 입력을 해서
패키지를 설치하였습니다.
1-2. MySQL 설정을 합니다.
vi 에디터로 /etc/init.d/mysql 을 엽니다. (#vi /etc/init.d/mysql)
134라인 부근에 보시면 $bindir/mysqld_safe –datadir=$datadir –pid-file=$pid_file & 라는 줄이 있는데요..
$bindir/mysqld_safe –datadir=$datadir –pid-file=$pid_file –language=korean & 과 같이 수정(수정시에는 Insert키를 누르고 하
시면 됩니다.)하세요.
기본적으로 MySQL DB는 /var/lib/mysql에 저장되도록 되어있습니다만, 다른 디렉토리로 변경하시길 원하신다면
47라인 부근에 datadir=/var/lib/mysql 라는 줄이 있는데 /var/lib/mysql 부분을 원하시는 디렉토리로 변경하시면 됩니다.
MySQL DB디렉토리를 만드실때는 원하는 디렉토리를 만드신 후 퍼미션을 적절(일반유저는 보지못하게)하게 수정하시고
해당 디렉토리의 바로 윗 디렉토리로 가셔서
#chown -R mysql.mysql DB디렉토리명
과 같이 실행하여 주세요. -R 옵션은 디렉토리안의 모든파일에도 적용한다는 뜻입니다.
다 하셨으면, ESC키를 누르시고 :wq 라고 쓰신 후 엔터를 누르셔서 저장하고 빠져 나오세요.
모두 설치가 완료되었다면,
#service mysql start
와 같이 입력하여 MySQL 서비스를 실행해봅니다.
종료하려면 start대신에 stop을 넣으시면 됩니다.
이제 MySQL을 설치하였으니 필히 MySQL의 root비밀번호를 설정하여 주어야 합니다.
#mysql
이라고 입력합니다. 비밀번호도 물어오지 않고 바로 root로 로그인되죠? 이제 비밀번호 설정을 합시다.
use mysql; 이라고 입력합니다. (사용자 정보가 mysql DB에 저장되기 때문입니다. root도.. 마찬가지로..)
update user set password=password(‘웃흥’) where user=’root’;
웃흥 부분에 비밀번호를 넣으시면 됩니다.
예를들어 비밀번호를 웃흥웃흥으로 한다면,
update user set password=password(‘웃흥웃흥’) where user=’root’;
와 같이 적으시고 엔터를 치시면 됩니다. 웃흥 양옆에 있는 문자와 root 양옆에 있는 문자는 “가 아니라 ‘입니다.
제일 끝부분에 있는 세미콜론도 주의하시고 띄어쓰기도 주의하세요!
제대로 되었다면 아래와 같은 메세지가 뜰겁니다.
Querk OK, 2 rows affected (0.00 sec)
Rows matched : 2 Changed : 2 Warnings : 0
이것이 MySQL에 적용될려면 재시작을 해주거나 Reload를 해줘야 하는데, 아래와 같이 입력합니다.
FLUSH PRIVILEGES;
이제 root 비밀번호 설정은 모두 완료되었습니다. 제대로 동작되나 한번 테스트해봅시다.
quit 라고 쳐서 mysql프롬포트로부터 빠져나온 뒤 셸에서 아까와 같이 #mysql 이라고 입력해봅니다.
ERROR 1045: Access denied for user: ‘root@localhost’ (Using password: NO)
어엇.. 안되는군요..
앞으로 MySQL에 접속하실려면 #mysql -uroot -p 라고 쳐서 패스워드를 물어오면 대답해줍니다. 그러면 MySQL프롬프트가 뜰것입니다.
2. Apache 설치하기.
제가 생각하기에는 Apache의 설치법은 비교적 간단하지 않나 싶습니다.
Apache_1.3.27.tar.gz 파일이 있는 폴더로 이동합니다. (저의 경우 /root/apm)
#cd /root/apm
tar로 묶은 다음에 gz로 압축되어 있군요.. 한방에 압축을 풀어버립시다.
여기서도 Tab키를 이용한다면 타이핑 글자를 줄일 수 있겠지요?
#tar xvzf Apache_1.3.27.tar.gz
압축이 풀렸습니다..
압축이 풀린 디렉토리로 이동합시다.
#cd ./apache_1.3.27
디렉토리 이동이 되었으면 아래와 같이 입력합니다.
./configure
–prefix=/usr/local/apache
–enable-module=so
(는 긴 문장을 실수없이 쓰게 도와줍니다. 한 문장을 여러 문장으로 나누어 쓸 수 있습니다.
위 문장을 원래대로 복원하면 ./configure –prefix=/usr/local/apache –enable-module=so 가 됩니다.)
여기서 –prefix는 프로그램이 설치될 디렉토리를 뜻하며
–enable-module=so 는 DSO방식으로 컴파일 할 수 있게 해줍니다. (DSO방식으로 컴파일을 하면 모듈을 붙였다 떼었다 할 수 있습니다.
아파치가 설치된 후에도 PHP를 붙일 수 있는거죠.)
쭉.. 설정이 되고 있고.. 완료 되었다면…
#make; make install
과 같이 입력하여 Apache가 설치되길 기다립시다.
맛있는거 하나 먹고오면 다 되있을겁니다^^;
그럼 Apache가 제대로 동작하나 테스트를 해봅시다.
#/usr/local/apache/bin/apachectl start
httpd start란 메세지가 뜨십니까? 제대로 동작하는지 확인하기 위해 웹브라우져에서 127.0.0.1 혹은 해당 컴퓨터 IP를 입력해봅니다.
제가 할 때는 Test Page와 함께 아파치 로고가 뜨더군요^^;
제대로 동작되는거 같으면 다시 아파치를 끕시다.
#/usr/local/apache/bin/apachectl stop
그런데.. 입력하기가 너무 길어서 힘들다구요?
심볼릭링크를 활용하면 됩니다. 윈도우의 바로가기와 비슷한 개념입니다.
#ln -s /usr/local/apache/bin/apachectl /usr/bin/apachectl
위 명령어를 입력하면 /usr/bin/apachectl 파일이 생성되는데, /usr/local/apache/bin/apachectl로 연결되어 있습니다.
앞으로는 #apachectl start 만 입력해도 서버가 실행됩니다.
아파치 설치는 성공하셨군요.. 축하드립니다~
3. PHP 설치
역시나 /root/apm 디렉토리로 이동합니다.
#cd /root/apm
제가 받았을때는 PHP가 php-4.3.1.tar.bz2 라는 이름으로 압축되어 있더군요.
tar xvjf php-4.3.1.tar.bz2 명령어로 압축해제가 가능합니다.
참고로 말씀드리면, bz2는 BZIP2의 약자로써 GZIP포맷보다 압축률이 높습니다.
#tar xvjf php-4.3.1.tar.bz2
압축이 쭉 풀리고… 다 풀리셨으면 풀린 디렉토리에 들어갑니다.
#cd php-4.3.1
들어가서는 아래와 같은 명령을 실행합니다.
#./configure
–prefix=/usr/local/php
–enable-ftp
–enable-magic-quotes
–enable-sockets
–with-mysql=/usr/
–with-language=korean
–with-charset=euc_kr
–enable-track-vars
–with-apxs=/usr/local/apache/bin/apxs
–with-zlib
–with-png
–with-jpeg
–with-gd
–with-freetype
–enable-zend-multibyte
–with-ttf
–enable-exif
–with-config-file-path=/usr/local/apache/conf
(php5버전에서는 –with-libxml2-dir=/usr/lib 추가)
와… 옵션이 눈돌아가게 많군요.
일단 prefix명령어는 설명했으니 생략하고..
중요한것만 설명하겠습니다;
–enable-ftp FTP를 연동해주는겁니다. (구체적으로 알아보시려면 각 리눅스그룹에 가보셔요^^;)
–with-mysql=/usr/ MySQL을 연동해주는겁니다. 필수적인 옵션이겠지요^^; 제 강좌대로 하셨다면 /usr/ 로 하시면 됩니다.
–with-language=korean Korean지원.
–with-charset=euc_kr 이것도…
–with-apxs=/usr/local/apache/bin/apxs APXS를 이용하여 APACHE와 연동하게 해주는겁니다. 빠지면 절대 안되는 옵션이겠지요.
–with-zlib ZLIB를 사용할 수 있게 해줍니다.
–with-png PNG를 사용할 수 있게…. (포토샵의 PNG포맷 아시죠?)
–with-jpeg JPEG를 사용할 수 있게…-_-;;;;
–with-gd GD Library를 사용할 수 있게..;;
–with–freetype Freetype을 사용할 수 있게.. (제가봐도 참 무책임한 설명이군요-_-;)
–enable-zend-multibyte 저도 이 옵션에 대해서 잘 모릅니다만… ZEND에서 멀티바이트를 지원하게 해주는 무언가인거 같군요..
한글은 2Byte문자이니 한번 옵션을 켜 봤습니ㅏ.
–with-ttf ttf는 Truetype폰트 형식이죠..
–enable-exif 요즘 갤러리들을 보면 디지털카메라 정보를 출력해 주는게 있는데.. EXIF를 이용한겁니다.
–with-config-file-path=/usr/local/apache/conf 설정파일경로
Configure를 해줍니다…
png 라이브러리등이 없는 경우 에러를 출력하면서 configure가 종료될텐데..
귀찮으시면 과감하게 제거해버리시고 (아마 GD랑 freetype도 없애야할겁니다)
시간적여유가 있으시면 http://rpmfind.net 에서 다운받아서 설치하세요..
Configure가 다 되면 Make을 해 줘야 할텐데…
아파치나 MySQL이 실행중이라면, (MySQL은 꼭 종료할 필요는 없지만)
#apachectl stop
#service mysql stop
하여 종료해줍니다.
그런 다음 #make; make install 명령으로 컴파일을 합니다.
PHP는 컴파일하는데 시간이 쫌 걸리더군요^^;
따뜻한 커피말고 뜨거운 커피 4컵정도 불어가면서 마시면 인스톨이 다 되어 있을겁니다.
자.. 그러면..^^;
아파치를 실행하기 전에..
3-1. 설정하기
vi /usr/local/apache/conf/httpd.conf 하여서 보시면..
791라인 부근에.. #To use server-parsed HTML files 라는 주석이 있는데.. 그 밑 라인에
AddType application/x-httpd-php .php .php3 .php4 .PHP .html .htm .inc
AddType text/htm .shtml
AddHandler Server-parse .shtml
라고 적어주고,
259라인 부근에 ServerAdmin root@aaaaaaaaa 와 같이 되어있는곳을 자신의 메일주소로 수정합니다.
이제 MySQL과 Apache를 실행하여 볼까요^^
#service mysql start
#apachectl start
명령어로 MySQL과 Apache를 실행해주고,
Apache의 인덱스 디렉토리(저의 경우 /usr/local/apache/htdocs) 안에 들어가셔서
#cat > phpinfo.php 하신 다음
<?
phpinfo();
?>
라고 입력하신 후 CTRL+D 를 누릅니다.
그러면 phpinfo.php 파일이 생성되는데..
http://127.0.0.1/phpinfo.php 와 같이..(원격조종이라면 127.0.0.1은 대상IP)
웹브라우져로 열어서 PHP가 제대로 동작하는지 봅니다^^
자.. 이제 마지막…
4. Zend Optimizer 설치하기
php.ini-dist 파일을 /usr/local/apache/conf 안에 php.ini라는 이름으로 넣어줘야 합니다.
php.ini-dist 파일이 어디있는지 모르므로
#find /root/php-4.3.1 -name php.ini*
명령을 실행해 봅시다^^
결과가 뜨겠죠.. 그 중 php.ini-dist 라는 파일이 있는데…
mv /root/php-4.3.1/경로/php.ini-dist /usr/local/apache/conf/php.ini
와 같이 해주세요. 경로 부분은 자기가 찾은 경로를…
그런 다음 젠드 압축을 푸세요.
젠드의 압축풀린 디렉토리에 들어가서,
#./install 이라고 칩니다.
그러면 TUI의 인스톨 화면이 뜨는데요..
첫번째 질문은 Zend를 어디에 설치할까 입니다.
Default인 /usr/local/Zend로 두고 넘깁시다.
두번째 질문은 php.ini가 어디있느냐…
/usr/local/apache/conf 로 바꿔주고 OK를 누릅니다.
세번째 질문.. Apache web server를 이용하느냐.. 당연히 yes 선택~
네번째 질문.. Apache의 Config파일의 위치… 자동으로 잡아주더군요^^;
/usr/local/apache/conf 로 하고 OK를 누릅니다.
다섯번째 질문.. PHP Version이 오른쪽에 출력되고 맞느냐고 물어오는데 맞으면 Yes..
여섯번째 질문.. Apache의 Binary Directory가 어디냐고 물어오네요..
/usr/local/apache/bin 으로 해줍시다.
그러면 Complete 이라고 나오면서.. 아파치를 리스타트 할꺼냐고 물어오는데..
Yes 해줍시다.. 참 친절하군요^^;;
이제 Zend가 인스톨 되었으니.. 제대로 되었나 확인해 봐야겠죠..
아까 만들어뒀던 phpinfo.php 파일을 또 호출해서 Powerd By Zend 밑의 버젼이 2.1.0 이면 성공하신겁니다^^~
출처 : nzeo.com에서 -Written By FriZeX
안녕하세요? FriZeX입니다.
저도 실력이 미숙하지만 어려움을 겪고 계신 여러분들을 위해 글을 남깁니다.
사용된 배포판 버젼은 Redhat 8.0이며 update -uv 명령어로 kernel을 제외한 모든 패키지들이
패치가 완료된 상태에서 진행하였습니다.
Redhat 8.0이 비록 불안정한 버젼이긴 하지만 제 컴퓨터에서 8.0버젼을 이용하는 관계로 8.0을 사용하게 되었습니다.
그리고 root로 작업하시길 부탁드립니다.
#와같은 #는 root shell을 의미하는 기호입니다. 직접 입력하실때 #는 입력하지 않으셔야 합니다.
먼저, Apache와 PHP, 그리고 MySQL을 받으셔서 아무 디렉토리에 넣어두시기 바랍니다.
제가 이용한 파일은 아래와 같습니다. (시간이 지남에 따라 구 버젼이 될 수도 있음을 양지하여 주시기 바랍니다.)
Apache1.3.27 [ http://apache.kr.net/dist/apache_1.3.27.tar.gz ]
PHP4.3.1 [ http://www.php.net/get/php-4.3.1.tar.bz2/from/a/mirror ]
MySQL4.0.12 [ http://www.mysql.com ]
MySQL-Server [ http://www.mysql.com/downloads/download.php?file=Downloads%2FMySQL-4.0%2FMySQL-server-4.0.12-0.i386.rpm&mirror=http%3A%2F%2Fmysql.holywar.net%2F
]
MySQL-Clients [ http://www.mysql.com/downloads/download.php?file=Downloads%2FMySQL-4.0%2FMySQL-client-4.0.12-0.i386.rpm&mirror=http%3A%2F%2Fmysql.holywar.net%2F ]
MySQL-Libraries & header [ http://www.mysql.com/downloads/download.php?file=Downloads%2FMySQL-4.0%2FMySQL-devel-4.0.12-0.i386.rpm&mirror=http%3A%2F%2Fmysql.holywar.net%2F
]
MySQL-Client-libraries [
http://www.mysql.com/downloads/download.php?file=Downloads%2FMySQL-4.0%2FMySQL-shared-4.0.12-0.i386.rpm&mirror=http%3A%2F%2Fmysql.holywar.net%2F
]
MySQL-Embedded server [ http://www.mysql.com/downloads/download.php?file=Downloads%2FMySQL-4.0%2FMySQL-embedded-4.0.12-0.i386.rpm&mirror=http%3A%2F%2Fmysql.holywar.net%2F
]
Zend Optimizer [ http://www.zend.com , http://zend.com/store/getfreefile.php?pid=13&zbid=548 ]
저는 저 파일들을 다운받아서 /root/apm/ 안에 모두 넣었습니다.
인스톨 순서는 Apache – MySQL – PHP 혹은 MySQL – Apache – PHP 가 가능합니다만..
저는 후자의 방법을 이용하도록 하겠습니다. 순서만 바뀌었을 뿐 큰 차이는 없는걸로 압니다.
1. MySQL 설치하기
MySQL을 다운 받으실 때 제가 제공한 링크를 클릭하셨다면 못 보셨겠지만,
직접 mysql.com 으로 들어가셔서 다운받으셨다면 아래와 같은 현란한 주황색 문구를 보신 분도 계실 겁니다.
<For maximum stability and performance, we recommend that you use the binaries we provide.>
간단하게 해석하면..
“최대한의 Perfomance와 Stabillty를 위해서, 우리는 우리가 주는 바이너리들을 당신이 사용할 것을 추천한다.”
라는 뜻이겠지요..
즉, 소스 컴파일을 하지 말고 MySQL社에서 제공하는 바이너리를 이용하라는 의미입니다.
이미 많은 리눅스그룹에서 언급이 된 문제이고 하니, 저도 설치가 간편하면서도 최대한의 Perfomance를
발휘할 수 있다는 RPM으로 설치하도록 하겠습니다.
1-1. MySQL 패키지들을 설치합니다.
RPM 설치를 많이 해보셨다면 익숙한 작업이시라 생각됩니다.
다운받은 MySQL이 있는 디렉토리로 이동합니다. (저의 경우에는 /root/apm/)
[root@localhost]# cd /root/apm
RPM들을 설치합니다.
[root@localhost]# rpm -Uvh MySQL-server-4.0.12-0.i386.rpm
rpm -Uvh MyS까지만 입력하시고 <Tab> 키를 누르시면 뒷 파일 목록이 뜬답니다. 많아서 안뜨는 경우에는
Tab 키를 두번 누르시면 됩니다.
– server를 설치하게 될 경우 자동으로 MySQL이 실행되는데
#service mysql stop 이라고 입력하여 MySQL실행을 중지시키거나
#ps aux|grep sql 하여 MySQL의 PID를 확인하고,
#killall sql 하셔서 SQL을 중지시키십시요.
– 중지하셨으면 계속 진행하세요.
[root@localhost]# rpm -Uvh MySQL-devel-4.0.12-0.i386.rpm
– 엥.. 여기서 에러가 나네요?
오류: Failed dependencies:
MySQL-client is needed by MySQL-devel-4.0.12-0
위와 같은 에러 메세지를 만나셨을 겁니다.. 왠 날벼락일까요..
그대로 해석하면
오류 : 의존성 실패
MySQL-client는 MySQL-devel-4.0.12-0을 필요로 한다.
정도로 번역이 가능합니다. 리눅스에서 패키지를 설치할때는 의존성이란 것이 있습니다.
예를 하나 들어볼까요..
여러분이 영화를 볼려고 합니다. 그래서 아드레날린 플레이어를 설치하려고 하는데,
“Media Player가 없습니다. Media Player를 설치하신 후 다시 시도하여 주십시오.”
라는 오류 메세지와 함께 설치가 중단되어 버렸습니다.
그래서 Media Player를 설치한 후 아드레날린을 설치하니 잘 되어서 즐겁게 영화를 보았습니다.
위의 예와 같이.. 어떤 프로그램이 어떤 프로그램을 필요로 하는것이 의존성입니다.
의존성을 해결하기 위해서는 필요로 하는 프로그램을 설치해 주어야겠지요.
저기서 원하는 MySQL-client을 먼저 설치해줍시다.
[root@localhost]# rpm -Uvh MySQL-client-4.0.12-0.i386.rpm
MySQL-Client가 성공적으로 설치되었다면.. 아까 실패했던 MySQL-devel을 다시 설치해줍니다.
[root@localhost]# rpm -Uvh MySQL-devel-4.0.12-0.i386.rpm
오.. 이제 의존성에러없이 잘 설치되죠?
그리곤, embedded와 shared를 설치해줍니다.
[root@localhost]# rpm -Uvh MySQL-embedded-4.0.12-0.i386.rpm
[root@localhost]# rpm -Uvh MySQL-shared-4.0.12-0.i386.rpm
한번에 여러개의 패키지를 설치를 하는 것도 가능하지만, 실수를 방지하기 위해 따로 따로 입력을 해서
패키지를 설치하였습니다.
1-2. MySQL 설정을 합니다.
vi 에디터로 /etc/init.d/mysql 을 엽니다. (#vi /etc/init.d/mysql)
134라인 부근에 보시면 $bindir/mysqld_safe –datadir=$datadir –pid-file=$pid_file & 라는 줄이 있는데요..
$bindir/mysqld_safe –datadir=$datadir –pid-file=$pid_file –language=korean & 과 같이 수정(수정시에는 Insert키를 누르고 하
시면 됩니다.)하세요.
기본적으로 MySQL DB는 /var/lib/mysql에 저장되도록 되어있습니다만, 다른 디렉토리로 변경하시길 원하신다면
47라인 부근에 datadir=/var/lib/mysql 라는 줄이 있는데 /var/lib/mysql 부분을 원하시는 디렉토리로 변경하시면 됩니다.
MySQL DB디렉토리를 만드실때는 원하는 디렉토리를 만드신 후 퍼미션을 적절(일반유저는 보지못하게)하게 수정하시고
해당 디렉토리의 바로 윗 디렉토리로 가셔서
#chown -R mysql.mysql DB디렉토리명
과 같이 실행하여 주세요. -R 옵션은 디렉토리안의 모든파일에도 적용한다는 뜻입니다.
다 하셨으면, ESC키를 누르시고 :wq 라고 쓰신 후 엔터를 누르셔서 저장하고 빠져 나오세요.
모두 설치가 완료되었다면,
#service mysql start
와 같이 입력하여 MySQL 서비스를 실행해봅니다.
종료하려면 start대신에 stop을 넣으시면 됩니다.
이제 MySQL을 설치하였으니 필히 MySQL의 root비밀번호를 설정하여 주어야 합니다.
#mysql
이라고 입력합니다. 비밀번호도 물어오지 않고 바로 root로 로그인되죠? 이제 비밀번호 설정을 합시다.
use mysql; 이라고 입력합니다. (사용자 정보가 mysql DB에 저장되기 때문입니다. root도.. 마찬가지로..)
update user set password=password(‘웃흥’) where user=’root’;
웃흥 부분에 비밀번호를 넣으시면 됩니다.
예를들어 비밀번호를 웃흥웃흥으로 한다면,
update user set password=password(‘웃흥웃흥’) where user=’root’;
와 같이 적으시고 엔터를 치시면 됩니다. 웃흥 양옆에 있는 문자와 root 양옆에 있는 문자는 “가 아니라 ‘입니다.
제일 끝부분에 있는 세미콜론도 주의하시고 띄어쓰기도 주의하세요!
제대로 되었다면 아래와 같은 메세지가 뜰겁니다.
Querk OK, 2 rows affected (0.00 sec)
Rows matched : 2 Changed : 2 Warnings : 0
이것이 MySQL에 적용될려면 재시작을 해주거나 Reload를 해줘야 하는데, 아래와 같이 입력합니다.
FLUSH PRIVILEGES;
이제 root 비밀번호 설정은 모두 완료되었습니다. 제대로 동작되나 한번 테스트해봅시다.
quit 라고 쳐서 mysql프롬포트로부터 빠져나온 뒤 셸에서 아까와 같이 #mysql 이라고 입력해봅니다.
ERROR 1045: Access denied for user: ‘root@localhost’ (Using password: NO)
어엇.. 안되는군요..
앞으로 MySQL에 접속하실려면 #mysql -uroot -p 라고 쳐서 패스워드를 물어오면 대답해줍니다. 그러면 MySQL프롬프트가 뜰것입니다.
2. Apache 설치하기.
제가 생각하기에는 Apache의 설치법은 비교적 간단하지 않나 싶습니다.
Apache_1.3.27.tar.gz 파일이 있는 폴더로 이동합니다. (저의 경우 /root/apm)
#cd /root/apm
tar로 묶은 다음에 gz로 압축되어 있군요.. 한방에 압축을 풀어버립시다.
여기서도 Tab키를 이용한다면 타이핑 글자를 줄일 수 있겠지요?
#tar xvzf Apache_1.3.27.tar.gz
압축이 풀렸습니다..
압축이 풀린 디렉토리로 이동합시다.
#cd ./apache_1.3.27
디렉토리 이동이 되었으면 아래와 같이 입력합니다.
./configure
–prefix=/usr/local/apache
–enable-module=so
(는 긴 문장을 실수없이 쓰게 도와줍니다. 한 문장을 여러 문장으로 나누어 쓸 수 있습니다.
위 문장을 원래대로 복원하면 ./configure –prefix=/usr/local/apache –enable-module=so 가 됩니다.)
여기서 –prefix는 프로그램이 설치될 디렉토리를 뜻하며
–enable-module=so 는 DSO방식으로 컴파일 할 수 있게 해줍니다. (DSO방식으로 컴파일을 하면 모듈을 붙였다 떼었다 할 수 있습니다.
아파치가 설치된 후에도 PHP를 붙일 수 있는거죠.)
쭉.. 설정이 되고 있고.. 완료 되었다면…
#make; make install
과 같이 입력하여 Apache가 설치되길 기다립시다.
맛있는거 하나 먹고오면 다 되있을겁니다^^;
그럼 Apache가 제대로 동작하나 테스트를 해봅시다.
#/usr/local/apache/bin/apachectl start
httpd start란 메세지가 뜨십니까? 제대로 동작하는지 확인하기 위해 웹브라우져에서 127.0.0.1 혹은 해당 컴퓨터 IP를 입력해봅니다.
제가 할 때는 Test Page와 함께 아파치 로고가 뜨더군요^^;
제대로 동작되는거 같으면 다시 아파치를 끕시다.
#/usr/local/apache/bin/apachectl stop
그런데.. 입력하기가 너무 길어서 힘들다구요?
심볼릭링크를 활용하면 됩니다. 윈도우의 바로가기와 비슷한 개념입니다.
#ln -s /usr/local/apache/bin/apachectl /usr/bin/apachectl
위 명령어를 입력하면 /usr/bin/apachectl 파일이 생성되는데, /usr/local/apache/bin/apachectl로 연결되어 있습니다.
앞으로는 #apachectl start 만 입력해도 서버가 실행됩니다.
아파치 설치는 성공하셨군요.. 축하드립니다~
3. PHP 설치
역시나 /root/apm 디렉토리로 이동합니다.
#cd /root/apm
제가 받았을때는 PHP가 php-4.3.1.tar.bz2 라는 이름으로 압축되어 있더군요.
tar xvjf php-4.3.1.tar.bz2 명령어로 압축해제가 가능합니다.
참고로 말씀드리면, bz2는 BZIP2의 약자로써 GZIP포맷보다 압축률이 높습니다.
#tar xvjf php-4.3.1.tar.bz2
압축이 쭉 풀리고… 다 풀리셨으면 풀린 디렉토리에 들어갑니다.
#cd php-4.3.1
들어가서는 아래와 같은 명령을 실행합니다.
#./configure
–prefix=/usr/local/php
–enable-ftp
–enable-magic-quotes
–enable-sockets
–with-mysql=/usr/
–with-language=korean
–with-charset=euc_kr
–enable-track-vars
–with-apxs=/usr/local/apache/bin/apxs
–with-zlib
–with-png
–with-jpeg
–with-gd
–with-freetype
–enable-zend-multibyte
–with-ttf
–enable-exif
–with-config-file-path=/usr/local/apache/conf
(php5버전에서는 –with-libxml2-dir=/usr/lib 추가)
와… 옵션이 눈돌아가게 많군요.
일단 prefix명령어는 설명했으니 생략하고..
중요한것만 설명하겠습니다;
–enable-ftp FTP를 연동해주는겁니다. (구체적으로 알아보시려면 각 리눅스그룹에 가보셔요^^;)
–with-mysql=/usr/ MySQL을 연동해주는겁니다. 필수적인 옵션이겠지요^^; 제 강좌대로 하셨다면 /usr/ 로 하시면 됩니다.
–with-language=korean Korean지원.
–with-charset=euc_kr 이것도…
–with-apxs=/usr/local/apache/bin/apxs APXS를 이용하여 APACHE와 연동하게 해주는겁니다. 빠지면 절대 안되는 옵션이겠지요.
–with-zlib ZLIB를 사용할 수 있게 해줍니다.
–with-png PNG를 사용할 수 있게…. (포토샵의 PNG포맷 아시죠?)
–with-jpeg JPEG를 사용할 수 있게…-_-;;;;
–with-gd GD Library를 사용할 수 있게..;;
–with–freetype Freetype을 사용할 수 있게.. (제가봐도 참 무책임한 설명이군요-_-;)
–enable-zend-multibyte 저도 이 옵션에 대해서 잘 모릅니다만… ZEND에서 멀티바이트를 지원하게 해주는 무언가인거 같군요..
한글은 2Byte문자이니 한번 옵션을 켜 봤습니ㅏ.
–with-ttf ttf는 Truetype폰트 형식이죠..
–enable-exif 요즘 갤러리들을 보면 디지털카메라 정보를 출력해 주는게 있는데.. EXIF를 이용한겁니다.
–with-config-file-path=/usr/local/apache/conf 설정파일경로
Configure를 해줍니다…
png 라이브러리등이 없는 경우 에러를 출력하면서 configure가 종료될텐데..
귀찮으시면 과감하게 제거해버리시고 (아마 GD랑 freetype도 없애야할겁니다)
시간적여유가 있으시면 http://rpmfind.net 에서 다운받아서 설치하세요..
Configure가 다 되면 Make을 해 줘야 할텐데…
아파치나 MySQL이 실행중이라면, (MySQL은 꼭 종료할 필요는 없지만)
#apachectl stop
#service mysql stop
하여 종료해줍니다.
그런 다음 #make; make install 명령으로 컴파일을 합니다.
PHP는 컴파일하는데 시간이 쫌 걸리더군요^^;
따뜻한 커피말고 뜨거운 커피 4컵정도 불어가면서 마시면 인스톨이 다 되어 있을겁니다.
자.. 그러면..^^;
아파치를 실행하기 전에..
3-1. 설정하기
vi /usr/local/apache/conf/httpd.conf 하여서 보시면..
791라인 부근에.. #To use server-parsed HTML files 라는 주석이 있는데.. 그 밑 라인에
AddType application/x-httpd-php .php .php3 .php4 .PHP .html .htm .inc
AddType text/htm .shtml
AddHandler Server-parse .shtml
라고 적어주고,
259라인 부근에 ServerAdmin root@aaaaaaaaa 와 같이 되어있는곳을 자신의 메일주소로 수정합니다.
이제 MySQL과 Apache를 실행하여 볼까요^^
#service mysql start
#apachectl start
명령어로 MySQL과 Apache를 실행해주고,
Apache의 인덱스 디렉토리(저의 경우 /usr/local/apache/htdocs) 안에 들어가셔서
#cat > phpinfo.php 하신 다음
<?
phpinfo();
?>
라고 입력하신 후 CTRL+D 를 누릅니다.
그러면 phpinfo.php 파일이 생성되는데..
http://127.0.0.1/phpinfo.php 와 같이..(원격조종이라면 127.0.0.1은 대상IP)
웹브라우져로 열어서 PHP가 제대로 동작하는지 봅니다^^
자.. 이제 마지막…
4. Zend Optimizer 설치하기
php.ini-dist 파일을 /usr/local/apache/conf 안에 php.ini라는 이름으로 넣어줘야 합니다.
php.ini-dist 파일이 어디있는지 모르므로
#find /root/php-4.3.1 -name php.ini*
명령을 실행해 봅시다^^
결과가 뜨겠죠.. 그 중 php.ini-dist 라는 파일이 있는데…
mv /root/php-4.3.1/경로/php.ini-dist /usr/local/apache/conf/php.ini
와 같이 해주세요. 경로 부분은 자기가 찾은 경로를…
그런 다음 젠드 압축을 푸세요.
젠드의 압축풀린 디렉토리에 들어가서,
#./install 이라고 칩니다.
그러면 TUI의 인스톨 화면이 뜨는데요..
첫번째 질문은 Zend를 어디에 설치할까 입니다.
Default인 /usr/local/Zend로 두고 넘깁시다.
두번째 질문은 php.ini가 어디있느냐…
/usr/local/apache/conf 로 바꿔주고 OK를 누릅니다.
세번째 질문.. Apache web server를 이용하느냐.. 당연히 yes 선택~
네번째 질문.. Apache의 Config파일의 위치… 자동으로 잡아주더군요^^;
/usr/local/apache/conf 로 하고 OK를 누릅니다.
다섯번째 질문.. PHP Version이 오른쪽에 출력되고 맞느냐고 물어오는데 맞으면 Yes..
여섯번째 질문.. Apache의 Binary Directory가 어디냐고 물어오네요..
/usr/local/apache/bin 으로 해줍시다.
그러면 Complete 이라고 나오면서.. 아파치를 리스타트 할꺼냐고 물어오는데..
Yes 해줍시다.. 참 친절하군요^^;;
이제 Zend가 인스톨 되었으니.. 제대로 되었나 확인해 봐야겠죠..
아까 만들어뒀던 phpinfo.php 파일을 또 호출해서 Powerd By Zend 밑의 버젼이 2.1.0 이면 성공하신겁니다^^~
출처 : nzeo.com에서 -Written By FriZeX