일반적으로 LAMP 라고 부르고 있는 Linux + Apache2 + Mysql + PHP/Perl/Python 환경을 설치 해보자

설치 순서는

Apache2 -> Mysql -> PHP 

1. Apache 설치

시냅틱패키지관리자에서 apache2 , libapache2-mod-auth-mysql 을 설치한다.
* libapache2-mod-auth-mysql : mysql 인증을 위한 모듈



터미널에서 다음과 같이 설치할수 있다.
sudo apt-get install apache2
sudo apt-get install libapache2-mod-auth-mysql

2. Mysql 설치

시냅틱패키지관리자에서 mysql-server, mysql-client  을 설치한다



터미널에서는 다음과 같이 설치 가능 :
sudo apt-get install mysql-server mysql-client

3. PHP5 설치

시냅틱패키지관리자에서 php5-common, php5, libapach-mod-php5 을 설치한다.


터미널 설치 :
sudo apt-get install  php5-common, php5, libapach-mod-php5


Mysql과 php 연동을 위한 모듈 설치
시냅틱패키지 관리자에서 php5-mysql 설치


4. AMP 설치 확인

아파치 재시작
sudo /etc/init.d/apache2 restart



MySQL 확인


** mysql 에 문제가 있으면 재시동한다.
sudo /etc/init.d/mysql restart

아파치 설치를 확인해 보기 위해서 http://localhost/ 입력해 보자


다음은 php 설치 확인을 위해서 ..
/var/www/phpinfo.php 에 다음과 같이 코드를 입력하고

$ sudo vi phpinfo.php
<?php
phpinfo();
?>

그리고 웹브라우저에서 http://localhost/phpinfo.php 를 입력



위와 같이 나오면 php 설치는 완료된것이다.
mysql 와 연동이 잘되었는지 확인해 보기위해서 mysql관련 내용도 찾아서 확인한다.



 5. 서버의 시작 및 설정

위와 같이 설치하게 되면 일단 서버는 무조건 시작된 상태이다.

각 서버는 다음과 같은 명령으로 시작,중지,재시작을 할 수 있다.

Apache 서비스 관련

sudo /etc/init.d/apache2 start   (서버 시작)
sudo /etc/init.d/apache2 stop   (서버 중지)
sudo /etc/init.d/apache2 restart   (서버 재시작)

MySQL 서비스 관련

sudo /etc/init.d/mysql start   (서버 시작)
sudo /etc/init.d/mysql stop   (서버 중지)
sudo /etc/init.d/mysql restart   (서버 재시작)


Apache 설정 관련 파일

/etc/apache2/apache2.conf

아파치의 주설정 파일입니다. 일전에 Ubuntu Server Administrator 관련된 서적에서 보니 해당 파일은 왠만하면 만지지 말라고 하더군요. 하지만 몇가지 튜닝 관련하여(뭐 바이너리라 튜닝에 많은 제한이 있긴 하지만...)설정 하시려면 해당 파일에서 설정해야 합니다. 서버의 기본적인 기능에 대한 설정이 있으니깐요

/etc/apache2/httpd.conf

이놈은 디폴트로는 아무런 값도 없습니다. Ubuntu Server 관련 서적에서는 설정할 것이 있으면 이 파일에 설정을 하라고 하더군요.

/etc/apache2/sites-available

이곳은 가상호스트를 설정하는 원본 파일이 있는 곳입니다. 눈치 빠르신 분은 벌써 이해하셨겠지만 우분투에서 가상 호스트 지원에 대한 파일관리를 좀 쉽게 하기 위해서 각각의 가상 호스트를 이곳에 먼저 저장하고(예를 들어 devel.test.co.kr에 대한 가상 호스트라면 devel.test.co.kr.vhost 라는 파일을 만드는 것이죠) 해당 호스트를 enable 시키려면 sites-enabled로 심볼릭 링크를 걸어주는 것이죠. 뭐 그닥 필요한 부분은 아님...

/etc/apache2/sites-enabled

여기에는 디폴트로 가상 호스트를 설정하는 파일이 있습니다. sites-available에 있는 파일에 대한 심볼릭 링크입니다. 이곳에 파일이 있어야 실제적으로 가상호스트가 올바르게 올라갑니다. 제가 똑같은 서버 인데 8.04 64bit를 두군데 설치하였는데요. 이상하게 한군데는 000-default 파일만 읽어오고 한군데는 이 폴더 안에 있는 모든 파일을 읽어들이더군요. apache2.conf에 하단에 보시면 include 시키는 부분에서 지정을 해주긴 하지만요.

/etc/apache2/mods-available

아파치에서 사용할 수 있는 모듈들이 있는 곳입니다. 보통 .load , .conf 로 있습니다.

/etc/apache2/mods-enabled

실제적으로 사용할 모듈을 심볼릭 링크로 걸어주는 곳이죠. 이는 앞서 설명한 가상 호스트와 동일하게 이해하시면 됩니다.


프로젝트 생성 예제
$ mkdir -p /opt/project/프로젝트명/web
$ cd /opt/project/프로젝트명/web

# cd /etc/apache2/sites-available
# vi 프로젝트명
NameVirtualHost *:80

<VirtualHost *:80>
ServerName 자신의도메인URL
DocumentRoot /opt/project/프로젝트명/web
</VirtualHost>

# a2enmod rewrite
# a2ensite 프로젝트명
# /etc/init.d/apache restart


MySQL 설정 파일

/etc/mysql/my.cnf

mysql 설정 파일입니다. 보통 디폴트로 깔리면 latin1으로 케릭터 셋이 잡히는데 상당히 짜증나죠.. ㅋㅋㅋ 이곳에서 케릭터 설정 및 튜닝 등등을 하고 mysql을 재시작~~

PHP 설정 파일

/etc/php5/apache2/php.ini

php도 나름 입맛에 맞게 설정해야 할 때 이 파일을 건들여주세요.

 


 


 

Posted by 시티락