본문 바로가기

데비안 리눅스 설치 가이드/APM

[APM] 데비안 웹서버 구축 1부 - (Apache+PHP+MySQL) 설치 및 설정

반응형

소개



웹서버를 구축하는데 있어 단순하게 명령어를 이용해 설치하는 것만 다루기보단 어떤 경로로, 어떤 이유로 설치하는지를 간략히 설명하면서 다뤄보려 한다.


(여담으로 일반 리눅스는 우분투보단 가볍고 깔끔한 UI를 자랑하는 민트 리눅스를 설치하려고 했다가 민트에 데비안 버전도 있기에 데비안 기반의 민트를 설치했다.

민트 데비안(http://www.linuxmint.com/)을 설치하고 서버까지는 잘 설치가 됐다. 하지만 검색엔진을 설치하고 설정하는 중 민트 데비안과 충돌이 났다.

결국엔 믿을 수 있는건 순수한 데비안 인듯하다. 그렇다고 6버전은 좀... 오랜된 것 같고, RC버전까지 나온 데비안 7은 괜찮은 것 같다. )


아래에 쓴 내용은 데비안 계열의 리눅스를 제외하고는 다소 많이 다를 수 있다.




설치 환경


웹 개발 환경

OS : Windows8


웹서버 구축 환경 

OS : 데비안 7 Release-Candidate 1


설치할 S/W 

SSH

VSFTPd

PHP5

MySQL 5.5

Apache2(httpd)

Smarty (php 프레임워크)

SVN (형상관리도구)





설치



설치 순서는 아래와 같다.

ssh -> vsftpd -> apache2  -> php5 -> mysql-server -> smarty(php 프레임워크) -> svn 설치 순서로 하겠다.



1. SSH 설치

우선 외부 접속이 가능하도록 ssh를 설치한다. 내부에서만 작업한다면 건너뛴다.

apt-get install ssh



2. VSFTPd 설치

외부에서 파일전송이 가능하도록 vsftpd를 설치한다. (옵션이다.)

apt-get install vsftpd



3. Apache2 설치

웹서비스를 해줄 apache2를 설치한다.

apt-get install apache2



4. PHP5 설치

웹언어 php5를 설치한다.

apt-get install php5



4. MySQL 설치 (5.6 버전 설치시 다음 글 참조 : MySQL 5.6 설치)

널리 쓰이는 데이터베이스 MYSQL를 설치한다. 설치중 MYSQL root 비밀번호 설정이 나오는점 참고.

apt-get install mysql-server-5.5



프로그래밍하는데 있어 코드 버전관리를 위해 svn을 설치한다. (svn=subversion)

apt-get install subversion



Smarty는 위 프로그램처럼 install 하는 것이 아니라 압축 파일을 받아 설정하는 것이므로 Smarty 설정 부분은 나중에 언급하겠다.



리눅스에 익숙하지 안았을때 무조건 따라 설치하면서 궁금했던건 어떻게 설치할 프로그램 이름을 정확히 알고 명령어를 이용해 설치했을까였다.

이런 궁금증에 대한 답변은 아랫 글을 참고하자.

apt-get 자동 완성

apt-get 요약



이제 설치한 프로그램이 정상적으로 작동하는지 확인하면서 설정을 해보도록 하자.



Apache2 설정



우선 apache2가 정상 작동하는지를 알기 위해 주소창에 자신의 IP를 적어 나타나는 페이지가 아래와 같은 메세지를 주면 성공이다.

(설치한 리눅스 내에서 127.0.0.1로 접속, 외부 ssh를 통해 작업한 경우 작업한 PC의 IP로 접속한다. 아래는 공유기를 통한 내부 작업이라 192.168.0.3이다.)




이제 apache2가 정상 작동하는 것을 확인했다.

이제 간단한 html 파일을 만들어서 금방 확인한 It works! 대신 띄어보자. 이 과정을 통해 작업한 파일들이 위치한 디렉토리를 apache2가 가리키도록 설정하는 방법을 습득하게 될 것이다.

(만약 리눅스의 디렉토리 구조를 잘 모른다면 리눅스 디렉토리별 쓰임새 글을 읽어 두자)



먼저 html 파일들을 저장할 디렉토리를 만든다. (아래 예제와 다르게 다른 이름으로 만들고 싶더라도 가급적 /home 이나 /home/사용자계정 내에서 만들도록하자)

mkdir -p /home/server/web



web 디렉토리 안에 아래의 내용을 index.html로 저장한다.

<html>
   <body>
      Welcome To My First WebServer    </body> </html> 



이제 apache2가 index.html 파일을 보여주도록 디렉토리 위치를 수정 할 차례다.


/etc/apache2 내에 여러 파일과 디렉토리가 존재한다. 이중 sites-available 디렉토리가 있는데 이곳에 apache2가 브라우저에 보여줄 파일들의 위치를 갖는다.

아래의 명령어로 sites-available 디렉토리로 이동한다.

cd /etc/apache2/sites-available



sites-available 디렉토리 내에는 default 파일과 default-ssl 파일이 있다. 

default-ssl은 흔한 http에 보안을 추가한 https를 서비스하는 사이트를 설정하는 것이다. 보통은 http를 사용하므로 default를 수정하면 된다.

먼저 파일이 잘못될 경우를 위해 백업 후 파일을 연다.

cp default default.bak
vi default



파일의 일부분 내용이다. 여기서 DocumentRoot의 위치인 /var/www를 아까 만든 index.html을 가진 디렉토리인 /home/server/web으로 고친다.

이것으로 이제 브라우저에 보이던 파일들의 디렉토리 위치가 index.html이 있던 디렉토리로 위치 변경된다.

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
...
...



이제 파일을 저장 후 변경된 파일을 서비스 하기 위해 apache2를 재시작을 하도록한다.

service apache2 restart



이제 재시작된 apache2는 변경된 파일을 통해 서비스 하게 된다. 하지만 금방 우리는 restart를 통해 서비스를 재시작 했다. 하지만 이보다 더 좋은 방법은 reload를 통하여 적용하는 것이다. restart는 잠시 서비스가 중단되기 때문이다. 따라서 앞으로는 바뀐 설정때문에 restart를 이용하기 보단 reload를 사용하도록 하자.

service apache2 reload



아까처럼 브라우저를 통해 샘플로 만든 html이 잘 보여지는지 확인하도록하자.

아까와 같은 주소 뒤에다가 /index.html을 덧 붙여서 이동하면 아래처럼 보여진다.



apache2의 작업 디렉토리 설정을 마쳤으므로 html파일을 통해 웹서비스가 가능해졌다.




PHP5 설정



이제는 웹언어 중 하나인 php 언어를 사용해 보도록 하자.


php5는 이미 설치했으므로 정상적으로 실행이 가능한지 알아보기 위해 아까의 작업 디렉토리로 돌아가서 phpinfo를 출력해보도록 하자.

cd /home/server/web

vi phpinfo.php


phpinfo.php 파일을 열었다. 아래의 내용을 적어 저장하도록 한다. phpinfo() 함수는 설치된 php의 정보를 출력해 주는 함수다.

<?php 
   phpinfo();
?>


아까처럼 브라우저에 주소뒤에 파일명을 붙여 이동하자.



위와 같은 정보가 출력되면 php 사용이 가능하게 된다.


MySQL 설정



이제 MySQL를 설정해보자. 여기서 MySQL이 제공하는 명령어를 통해 조금 더 쉽게 설정 하도록 해보자.

mysql_secure_installation


이제 물어보는 질문에 따라 키보드로 답변만 하면 MySQL의 설정을 마칠 수 있다.

중요한 부분은 외부에서 작업하는 경우 SSH를 통한 접속을 허용해 줘야 한다는 것이다. 자신의 개발 상황에 따라 선택하도록 한다.

잘못 설정한 경우에는 다시 명령어를 통해 재설정이 가능하다.



이제 mysql에 접속해보도록 하자.

mysql -u사용자명 -p패스워드

또는

mysql -p패스워드

또는

mysql -p 

패스워드


리눅스 마다 mysql에 접속하는 것이 조금씩 다르다. 보통은 저 3개중에 1가지 방식은 통한다. 명령어 사용시 띄어쓰기를 조심하도록 한다.



위 그림처럼 접속이 정상적으로 된다면 APM(Apache + PHP + MySQL) 설치가 정상적으로 완료된 것이다.


웹서버 구축 2부에서는 아직 설정하지 못한 PHP 템플릿 언어인 Smarty를 설치해 보겠다. 더불어 국산 템플릿인 Template_도 같이 설치해보도록 하겠다.

(실제 개발때에는 템플릿을 하나만 사용해야한다. 2개를 설치해보는 것은 입맛 따라 설치해 보라고 보여주는 것일 뿐이다.)



2013/04/27 - [컴퓨터/Debian] - [Debian] 웹서버 구축 2부 (Smarty OR Template_) 설치 및 설정

2013/05/03 - [컴퓨터/Debian] - [Debian] 웹서버 구축 3부 SVN (Subversion) 설치 및 설정



반응형