강좌

  • 웹서버
  • 아파치
  • 톰켓
HOME > 강좌 >
강좌| 리눅스 및 오픈소스에 관련된 강좌를 보실 수 있습니다.
 
APM 설치 및 설정(1.3.9)
조회 : 7,654  



이번 장에서는 Linux의 web서버를 설치하고 설정하는 방법에 대해서 
공부해 보겠다.Linux는 서두에서도 이야기 했지만 Windows계열과는 
다르게 CML(Command Line Mode)모드로 이루어져 있다. 따라서 Windows의 
GUI(Graphic User Interface)환경에 익숙해져 있는 사람들은 처음에는 Linux를 
상당히 어려워 한다. 뭔소리냐고??? 
쉽게 말해서 맨날 마우스로 그림만 가지고 놀다가 그림은 한개도 없는 까막사리 
화면을 타자로 일일히 쳐내려 가려니 짜증나고 어렵게 느껴진다. 요말이다. 
그러나 절대 좌절하지 말자.
Wlndows의 그림환경을 능가하는 KDE, GNOME이라는 X-windows 그림 환경이 
제공 되고 있고 자꾸 다루다 보면 Windows계열보다 훨씬더 매력이 느껴지는 
것이 바로Linux이다. 나도 처음에는 Windows로 시작했지만 지금은 Windows보다 
Linux를 더 많이 사용하고 있다. 특히 여러분들이 많은 관심을 가지고 있는 
해킹을 하려면 반드시 Linux를 알아야 한다.

$1. 아파치 웹서버 설치
리눅스의 아파치 웹서버는 Windows NT4.0의 IIS서버와 같다고 생각하면 된다. 
어려분들이 리눅스 패키지를 설치하면 기본적으로 아파치서버가 설치된다. 
그러면 무슨 설치법을 배우라는 것이냐구?? 우리는 기냥 깔려버린 패키지들을 
다 없애 버리고 다운을 받은 소스 파일로 다시 설치를 하려하는 것이다. 
어려울 것이 없다. Windows에서 잡은 개념을 그대로 적용하면 된다. 
디립따 따라해 보자.
(그래도 어려운 사람들은 리눅스의 기초 명령어를 다시보고 도전하자. 
기초가 정말 중요하다.)
  
자 이제 아파치(apache)웹서버를 설치해서 여러분들의 홈페이지를 
컴퓨터에 올려 보자.

1)기존 파일 제거

#rpm -q apache

#(프롬프트 도스의 C:)rpm(RedHat Package Management) -q(query 질문) 
아파치(apache)

해석) rpm으로 깔린 아파치가 있느냐??

#apache-1.3.12-2

해석)아파치-1.3.12-2버젼이 깔려 있네요 (이런 식이다. 여러분의 
     명령에 리눅스는 충성을 다해 대답한다.)

#rpm -e apache

해석)rpm으로 깔린 아파치 다 지워라(erase)
 
#mod-Perl과 晥천퓸?있고요
php와도 관련되어 있어서 지우기가 어려운데요
 
#rpm -e mod-Perl
 
그럼 mod-Perl지워라
  
#rpm -e php
 
#php-imap과 관련되어 있고요
php-ldap과도 관련되어 있고요
php-pgsql과도 관련되어 있는데요
  
#rpm -e php-imap
#rpm -e php-ldap
#rpm -e php-pgsql
  
그래 그럼 관계된 넘들부터 다지워 버려(기분 나쁘게 나의 명을 거역해)
  
#rpm -e php
  
#rpm -e apache
  
#rpm -q apache

확인해 보자 아파치가 아직도 살아 있느냐???
#package apache is not installed
 
죽었사옵니다.
#rpm -q php

php가 아직도 살아있느냐??
 
#package php is not installed

#rm -rf /etc/httpd/conf <---아파치 설정 파일입니다.
#rm -rf /home/httpd/    <---웹서버 아파치 데몬입니다.

놈들의 본거지도 전부 없애라

삭제 과정에서 의존 관계에 있는 파일들이 있어 지울 수 없다는 결과과 
나올 시에는 의존 관계의 파일들 부터 삭제하고 아파치를 삭제하자.
이제 기존에 깔려있던 rpm파일들을 전부 지워 버렸다. 자 이제 소스파일을
다운 받아 설치해 보자. 아직도 아리까리한 사람은 반드시 기초 명령어를 익히자.

소스파일은 다음사이트에서 최신 버젼을 다운 받을 수 있다.

+apache- http://apache.org
+php   - http://php.net
+mysql - http://mysql.net
+gd라이브러리- http://www.boutell.com
+freetype- http://www.freetype.org

다운을 /usr/down에 받아 놓도록 하자
#mkdir /usr/down

/밑에 usr이라는 디렉토리 밑에 이라는 down디렉토리를 만들어라. 

2)압축풀기
다운을 다 받았는가?? 자 그럼 압축을 한 곳에 풀고 설치해 보자.

#cd /usr/down
#tar xvfz mysql-3.22.24.tar.gz -C /usr/local
#tar xvfz gd1_5.tar.gz -C /usr/local
#tar xvfz freetype-1.2.tar.gz -C /usr/local
#tar xvfz apache_1.3.9.tar.gz -C /usr/local
#tar xvfz php-3.0.16.tar.gz -C /usr/local
 
요거이 몬 소리냐구??? 흐미 미쳐불것다. 다시 한번 강조하지만 기초 명령어를 다시 
공부할 것을 권한다. 아니믄 띠립다 따라하기 바란다.(에러 나도 몰러)
tar.gz는 쉽게 이야기 해서 Windows에서 많이 쓰는 zip(압축 파일)이다.
고거이 압축을 풀때는 #tar xvfz 파일명 -C 경로 이다.

3)mysql 설치

#cd /usr/local/mysql-3.22.24 <--압축 풀린 마이에스큐엘이 보이능감??? 경로 
지정해준거 기억 나능감???
#./configure --prefix=/usr/local/mysql   <--mysql이 설치될 위치 변경

여기서 ./ 요거는 무엇이냐? 바로 현재위치라는 뜻입니다. 리눅스에서는 
패스(PATH)라는 것이 있어서 경로가 지정되지 않은 명령은 먹히질 않거든요 
그래서 현재 위치에 있는 configure라는 명령을 쓰겠다는 뜻으로
요걸(./ 붙여 줍답니다. 해커즈랩에서 문제를 풀려면 요걸 잘알아야 되요.)

>--localstatedir=/usr/local/mysql/data   <--이건 나도 모르겠군

>--with-charset=euc_kr                    <--한국어를 쓰겠데요

rpm 바이너리 파일은 이미 컴파일이 되어있기 때문에 우리가 설정을 
바꿔 줄 수 없지만 (혹시 기억 나는가 윈도 아이콘이 그려저 있는 파일을 
메모장으로 열었을때 으다다 깨져서 알수 없는 말들만 나오는거)
소스파일은 우리가 설정을 변경하고 컴파일해서 사용할 수가 있다. 
위의 것이 그것이다. 소스파일로 설치할 때는 다음의 3가지 명령어가 있는데 
잘 알아 두자

+-configure:환경 설정(우리가 원하는 데로 설정을 바꿔 주고)
|
+-make:컴파일(바뀐 내용을 컴파일하고)
|
+-make install:컴파일 한것을 복사(해당 위치에 복사한다.)

#make
#make install
#cd /usr/local/mysql
#ls
#./bin/safe_mysqld &

요기서도 ./것이 쓰였네요 이건 위에서 간단히 설명했지만 절대경로와 상대경로의 
차이입니다. 자세한 건 기초편에 설명되어 있어요 그리고 &는 백그라운드로 
실행시키겠다는 뜻인데 safe_mysql &하면 safe_mysql을 보이지 않게 계속 실행을 
시키고 나는 다른 작업을 하겠다는 뜻입니다.

#./bin/mysql

4)gd라이브러리 설치
#cd /usr/local/gd1.5
#make
#mkdir /usr/local/lib
#mkdir /usr/local/include
#cp libgd.a /usr/local/lib
#cp *h /usr/local/include

5)freetype 설치

#cd /usr/local/freetype-1.2
#./configure
#make
#make install

6)아파치 configure

#cd /usr/local/apache_1.3.9
#./configure
#cd /usr/local/apache_1.3.9/src
#./Configure

7)php 설치

#cd /usr/local/php-3.0.16
#./configure --with-apache=/usr/local/apache_1.3.9   
아파치를 지원하겠데요

>--with-gd=/usr/local                                
gd를 지원하겠데요

>--with-mysql=/usr/local/mysql                       
mysql을 지원하겠데요

>--with-config-file-path=/usr/local/etc/httpd/conf   
config파일의 위치를 지정하네요

>--with-exec-dir=/usr/local/etc/httpd/bin            
실행가능한디렉토리를 지정하네요

>--enable-track-vars=yes                              
GPC변수들 서버로 전달되는 변수들을 추적하겠다

#make
#make install


8)apache 설치
#cd /usr/local/apache_1.3.9
#./configure --prefix=/usr/local/etc/httpd 
>--activate-module=src/modules/php3/libphp3.a    <--이것도 몰르겠당
#make
#make install


9)php설정파일과 php를 아파치에 인식시키기
#cp /usr/local/php-3.0.12 /php3.ini-dist /usr/local/etc/httpd/conf/php3.ini
#vi /usr/local/etc/httpd/conf/httpd/httpd.conf
/index.html 

리눅스를 잘하려면 vi편집기를 잘다뤄야 하는데요 초보자에게는 굉장히 
불편한 점이 많지만 일단 정이 들었다면 생각하는 데로 모든 명령이 
가능하다는 것을 알거에요 /index.html은 /패턴매치라고 해서 index.html과 
유사한 구문을 문서 안에서 검색하는 거죠
 
DirectoryIndex index.html index.php3<-추가
/php3  <--요것도 패턴매치에요

-->주석제거
#AddType application/x-httpd-php3 .php3 .html<-추가

문서내의 주석은 #으로 처리하거든요 주석을 제거하면 해당 라인의 설정이 
먹히게 되죠

-->주석제거
#AddType application/x-httpd-php3-source .phps



10)아파치 부팅시 실행 시키기
#cp /usr/local/etc/httpd/bin/apachectl /etc/rc.d/init.d/httpd
#cp /etc/rc.d/rc3.d
#ln -s /etc/rc.d/init.d/httpd ./S85httpd

ln -s 는 링크를 거는 거에요 Windows에 단축아이콘이라고 생각하면 되겠죠
rc.3d 모여있는 링크들은 모두 CML모드로 시작할 때 시작되는 프로그램 
링크들이에요 ls -al 해보시면 링크된 것이 ->이렇게 보일 거에요

S(Start라는 뜻입니다.)85httpd <--숫자는 시작순서고요httpd는 대체로 연결된 
프로그램명을 적어 주죠

#cd ../rc.5d
#ln -s /etc/rc.d/init.d/httpd ./S85httpd
rc.5d 모여있는 링크들은 모두 X모드로 시작할 때 시작되는 프로그램 링크들이에요

11)mysql 부팅시 실행 시키기
#vi /etc/rc.d/init.d/safe_mysql
작성-> #! /bin/bash
       /usr/local/mysql/bin/safe_mysql &

잘봐두세요 바로 쉘스크립트라는 것인데요
(해커즈랩 문제 풀때 꼭 기억해야되는 거에요)
도스에서 일종의 배치파일이라고 생각하시면 되요 safe_mysql을 백그라운드로 
실행시키는 쉘스크립트에요

#chmod 700 /etc/rc.d/init.d/safe_mysql

요명령어도 무지 중요하죠, 실행파일로 만드네요

#vi /root/.bashrc
작성-> alias mysql='/usr/local/mysql/bin/mysql'
이것도 중요(에고 안중요한게 없구만 /root/.bashrc라는 파일이 있는데요 여기서는 
알리아스(별칭)를 걸어서 긴 명령어를 간단하게 할 수가 있어요)

#source /root/.bashrc

시스템에 변경내용을 알리네요

#cd /etc/rc.d/rc3.d
#ln -s ../init.d/safe_mysql ./S85safe_mysql
#cd ../rc5.d
#ln -s ../init.d/safe_mysql ./S85safe_mysql

그러니까 위의 내용을 정리하면 safe_mysql이라는 쉘스크립트를 만들어서 
실행파일로 바꾸고 링크를 걸어서 리눅스가 실행되면 safe_mysql이 
백그라운드로 실행되고요 (쉘스크립트내용) mysql이라고만 치면 mysql이 
실행되게 해놨네요

자 이제 모든 설치가 끝났습니다. 
끝까지 공부하느라고 넘 수고하셨고요 이렇게 공부한 만큼 여러분들의 내공이 
상승된다는 것을 잊지 마세요


===================================================================================================

이 사이트에서 제공하고 있는 내용은 개인의 경험을 바탕으로 제공되고 있습니다.
그러므로 이용시 예기치 않은 오류가 발생할 수도 있음을 알려드립니다.
여러분이 도움 및 정보를 바라신다면 저에게 메일을 보내 주십시요. 감사합니다.

www.dacker.wo.to copyleft (c) 2000 by park byoung-seo all lefts reserved


[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=772


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기 이 글을 미투데이로 보내기

 
박병서
1. 강사명 : 박병서


2. E-mail : pbseo72골뺑이hanmail.net


3. 홈페이지 : www.dacker.wo.to


4. 직업: 현직서버관리자
(서버관리자 전문가 그룹소속)