Apache웹서버 설치

From Biocourse

Jump to: navigation, search

1. 아파치 웹서버 설치

 리눅스의 아파치 웹서버는 Windows NT4.0의 IIS서버와 같다고 생각하면 됩니다.
    어려분들이 리눅스 패키지를 설치하면 기본적으로 아파치서버가 설치됩니다.

    여기에서는 기존의 패키지들을 다 없애 버리고 다운을 받은 소스 파일로 다시 설치를 하려하는 것입니다.
 
    어려울 것이 없습니다. Windows에서 잡은 개념을 그대로 적용하면 됩니다.

    그럼 따라해 보겠습니다.

    (그래도 어려운 사람들은 리눅스의 기초 명령어를 다시보고 도전하시기 바랍니다.. 기초가 정말 중요합니다.)
 
    자 이제 아파치(apache)웹서버를 설치해서 여러분들의 홈페이지를 컴퓨터에 올려 보도록 하겠습니다.

1-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 library http://www.boutell.com
freetype http://www.freetype.org


그 다음의 순서로는 다운을 /usr/down에 받아 놓도록 합니다


    #mkdir /usr/down

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

 


1-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 경로가 되는 것입니다..


1-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

 

1-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

 

1-5.  freetype 설치

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

 

1-6. 아파치 configure

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

 

1-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

 

1-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

 

1-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


1-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모드로 시작할 때 시작되는 프로그램 링크들입니다.

 

1-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이
실행되게 해놨는 것입니다.

자 이제 모든 설치가 끝났습니다.

열심히 해보시기 바랍니다.

 

 참고 자료 및 자료 출처


리눅스포탈