영삼이의 IT정보2011. 10. 25. 01:28

[프로그램 소개]

1. 프로그램명 : XAMPP

2. 홈페이지 : http://www.apachefriends.org/en/xampp.html

3. 다운로드 : http://sourceforge.net/projects/xampp/files/

4. 개요

XAMPP is an easy to install Apache distribution containing MySQL, PHP and Perl.

간단히 설치하고 간단히 제거할 수 있는 아파치 웹서버이다.

*실행 : 압축 풀고 설정하고 서버 시작

*삭제 : 맘에 안들면 서버중지 후 프로그램 폴더 삭제.

*다른 버전 설치 : 압축 풀고 설정하고 서버 시작

결국 (설치 = 압축풀기)로 끝나는 웹서버이다.

윈도우, 리눅스, 맥 OS-X, 솔라리스 등 각종 OS에 맞게 포팅이 되어 있으며,

MySQL, PHP & PEAR, FTP Server 등 개발에 필요한 거의 모든  모듈이 포함되어 있다.

5. 사족

리눅스서버에서 윈도우서버로 마이그레이션하는 작업이 상당히 까다롭다는 것을 실감하게 되었다.

앞의 글에서도 밝혔듯이 큰 에러가 아닌 미묘하게 살짝 다른 부분들 때문에..

링크 :

정리하자면,

가. PHP3~4버전과 PHP5버전의 함수 및 변수처리의 미묘한 차이 (RESISTER_GLOBALS 등..)

나. MySQL의 기본 언어설정(euc_kr과 UTF-8)에 따른 DB이전문제

다. 웹서버의 권한 설정의 차이 (리눅스 APACHE 와 윈도우 IIS7)

라. 리눅스 전용으로 프로그래밍된 웹 프로그램들..

마. 방화벽 설정 - 서버단에서의 방화벽 및 서버내의 방화벽 설정

바. 기타.. 본인의 리눅스 및 윈도우 서버의 적응문제 등

사. 웹브라우저간 크로스브라우징 및 IE6 등 IE간 호환성 체크

6. 용도

- 리눅스용 웹서버 (카페24-리눅스 가상호스팅에서 실제 서비스 중..)

- 윈도우용 개발용 로컬 웹서버

- (윈도우용 서버는 IIS7+PHP+MySQL로 세팅 - 스마일서브에서 실제 서비스 중..)

7. 설정

* 수정문서명 및 위치

가. 윈도우

D:\xampplite\apache\conf\httpd.conf                // 기본 설정

D:\xampplite\apache\conf\extra\httpd-xampp.conf    // PHP관련 설정

D:\xampplite\apache\conf\extra\httpd-vhosts.conf   // 가상 호스트 설정

나. 리눅스

/opt/lampp/etc/httpd.conf

/opt/lampp/etc/extra/httpd-xampp.conf

/opt/lampp/etc/extra/httpd-vhosts.conf

* 설정 변경

[httpd.conf]

1. 서버 위치 설정

# 윈도우 기본설정 - 개발용으로 "xampp Lite"버전을 설치합

ServerRoot "/xampplite/apache"

# 리눅스의 경우

ServerRoot "/opt/lampp"

2. 포트 설정

# 유동IP등의 상황으로 80포트가 막혀 있을 경우 변경 해야함

Listen 80

3. 서버정보 설정

# 에러메세지 등에서 나타날 관리자의 메일주소

ServerAdmin admin@localhost

# 기본 서버이름 - 여러 상황에서 변경해야 할 수도 있음

ServerName localhost:80

4. 가상서버를 운용할 경우 문서(홈페이지)의 루트 설정)

# 기본설정은 윈도우/리눅스 모두 바꾸어야 함.

# 기본설정 DocumentRoot "/xampplite/htdocs"

DocumentRoot "/home"

# 윈도우의 경우 xampp 설치폴더와 홈페이지 루트폴더의 드라이브가 다른경우

DocumentRoot "e:/home"

5. 디렉토리 권한설정

# DocumentRoot을 바꾸었을 경우 필히 아래 디렉토리의 권한설정을 바꾸어야 한다.

# 추가항목

#  "LimitRequestBody 제한크기" 업로드 파일크기제한을 위해 추가

# 크기 예시 : 1MB=1048576 / 10MB=10485760 / 100MB=104857600 / 1GB=1073741824

#             200MB=209715200 / 500MB=524288000 [ 2GB-1=2147483647]

# 계산 공식 : 1024*1024 = 1메가 / 1024*1024*20 = 20메가 / 1024*1024*1024=1기가

# 기본설정 <Directory "/xampplite/htdocs"> 을 <Directory "/home">로 변경

<Directory "/home">

    Options Indexes FollowSymLinks Includes ExecCGI

    AllowOverride All

    Order allow,deny

    Allow from all

    LimitRequestBody 104857600

</Directory>

6. 기본문서명 지정

# domain.com/ 으로 접속할 경우 기본으로 보여지는 문서파일명

# index.php가 없을 경우 index.php4.... 왼쪽에서 오른쪽으로

# 경험상 "index.php"의 확장자가 제일 먼저 오는 것이 개발에 좋다.

<IfModule dir_module>

    DirectoryIndex index.php index.html index.htm index.php4 index.php3 index.cgi index.pl index.shtml index.phtml

</IfModule>

7. 로그파일 작성 조건 설정 (기본설정으로는 로그파일이 엄청나게 커진다.)

LogLevel crit // 치명적인 에러만 기록

8. HTML파일에서 PHP 사용을 위한 설정

[extra/httpd-xampp.conf]

#  .html .htm 추가 // html 파일에서 php 사용

AddType text/html .php .phps .php5 .php4 .php3 .phtml .phpt .html .htm

# |\.html$|\.htm$ // html, htm 추가

<FilesMatch "\.php$|\.php5$|\.php4$|\.php3$|\.phtml$|\.phpt$|\.html$|\.htm$">

  SetHandler application/x-httpd-php

</FilesMatch>

9. Virtual HOST 설정

링크 : [팁][리눅스] 네임서버 없이 IP로만 가상호스팅(Virtualhost) 설정시 주의점

10. PHP 설정은 다음 포스트에..

Posted by 다오나무
영삼이의 IT정보2011. 10. 22. 11:48

만약 한 대의 컴퓨터에서 여러 개의 웹사이트를 운영하고 싶다면? 정답은 VirtualHost를 이용하는 것이다.

X:\xampp\apache\conf\extra\httpd-vhosts.conf 파일을 수정하자.

우선 19번째 줄에서 코멘트를 해제하자.

NameVirtualHost *:80

맨 끝에 다음을 추가한다.

<VirtualHost *:80>
 DocumentRoot "/xampp/htdocs"
 ServerName localhost
</VirtualHost>

기본값대로 브라우저에 localhost라고 입력해도 여전히 X:\xampp\htdocs 를 가리키게 하기 위함이다.

이제 우리가 추가할 폴더는 다음과 같이 지정한다.

예1) 브라우저에 wems라고 치면 X:\home\wems\public_html 를 가리키게 하고 싶을 때. 폴더명을 이렇게 해두면 php에서는 여전히 문서 위치가 /home/wems/public_html 로 리눅스에 업로드한 후에도 절대 경로가 같기 때문에 편하다.

<VirtualHost *:80>
 DocumentRoot "/home/wems/public_html"
 ServerName wems

 <Directory "/home/wems/public_html">
  Options Indexes Includes execCGI
  AllowOverride None
  Order Allow,Deny
  Allow From All
 </Directory>
</VirtualHost>

예2) wems.snupaim.net이라는 주소에 대해 X:\home\wems\public_html 내의 파일을 서비스하고 싶을 때

<VirtualHost *:80>
 DocumentRoot "/home/wems/public_html"
 ServerName wems.snupaim.net

 <Directory "/home/wems/public_html">
  Options Indexes Includes execCGI
  AllowOverride None
  Order Allow,Deny
  Allow From All
 </Directory>
</VirtualHost>

(참고로 이 경우, 네임서버에서 wems.snupaim.net에 대해 내 컴퓨터의 아이피를 가리키도록 bind를 설정해두어야 외부에서도 wems.snupaim.net 주소로 내 컴퓨터 내의 X:\home\wems\public_html 내의 파일을 서비스받을 수 있다.)

apache의 설정을 바꾼 것이므로 XAMPP 혹은 apache만 껐다가 다시 켜야 반영된다.


여기서 끝은 아니고, C:\windows\system32\drivers\etc\hosts 파일을 열고 수정해줘야 한다.

127.0.0.1 localhost

은 이미 추가되어 있을 것이다. 여기에 다음을 추가해야 제대로 동작한다.

127.0.0.1 wems

X:\home\wems\public_html 안에 index.html 파일을 만들어서 <h1>WEMS</h1> 이라고 적고 저장한 후 브라우저 주소줄에 wems라고 입력해보자. WEMS라고 나오면 제대로 된 것이다.


Posted by 다오나무
영삼이의 IT정보2011. 10. 21. 12:41
제일먼저 JDK를 설치하고 그다음 이클립스PDT 그리고 XAMPP순으로 설치하겠습니다.

나중에 설치할 이클립스PDT가 32비트용 바이너리파일만 제공하므로 윈도우용 JDK역시 32비트용으로 설치합니다
윈도우7 64비트라 하여도 JDK32비트 설치시 문제없이 사용가능합니다.

JDK다운로드 URL은 다음과 같습니다.
http://www.oracle.com/technetwork/java/javase/downloads/index.html
설치방법은 간단하니 생략

이제 이클립스PDT를 받습니다.
경로는 아래와 같습니다.
http://www.eclipse.org/pdt/downloads/

윈도우 플랫폼은 32bit만 제공합니다. 윈도우7 64비트라고 하여도 이전에 JDK32비트를 설치하였다면
32bit플랫폼인 이클립스PDT를 사용가능합니다. 다운받고 설치합니다(압축풀고 원하는경로에 배치, 필요에따라 단축아이콘생성)

다음은 XAMPP 입니다.
xampp 다운로드 url은 다음과 같습니다.
http://www.apachefriends.org/en/index.html

여기서 원하시는 플랫폼을 받으면 되겠습니다.

설치방법은 간단. installer를 다운받아서 실행하면 끝입니다.
XAMPP installer 1.6.x 버전에서는 디폴트 디렉토리가 C:\Program Files\xampp 였고 지금 버전인 1.7.x에서는 디폴트가 c:\xampp 입니다.

설치완료후 xampp 의 콘트롤 패널이 뜰텐데(안뜨면실행) 보안설정을 해주어야 합니다.


스타트 되어진상태에서 admin을 클릭하면 xampp 윈도우창이 뜰겁니다. 거기서
sercurity메뉴를 클릭합니다.


아래의 url을 클릭

그러면 mysql과 xampp 디렉토리의 비밀번호를 입력하는 창이나올텐데
자신이 사용하려는 비밀번호를 입력후 확인

mysql을 cmd 에서 콘솔로 이용하고싶다면 패스설정을 해주면된다.
환경변수 -> path - >other path..;C:\xampp\mysql\bin;

httpd 명령어를 cmd에서 바로 먹이기위해 패스설정
환경변수 -> path -> other path...;C:\xampp\apache\bin;



이제 이클립스PDT 를 위한 아파치 웹서버 설정을 해주자
아래는 이클립스를위한 서버설정의 가장쉽지만 가장 불편한 방법인데..
가상서버를 설정하는것은 따로 포스팅했다.

현재 상태로 이클립스에서 웹페이지를 RUN 시키면 URL을 찾을수 없다고 나옵니다
당연한 것이 기본URL을 아파치서버의 디폴트폴더로 잡혀있기 때문입니다.

아파치 웹 서버에 접속하면 웹 서버는 documentroot로 지정된 폴더에서 index로 작성된 웹페이지를 찾습니다
이클립스PDT는 기본적으로 htto://localhost 경로가 workspace로 지정됐다는 것으로 가정하여 동작합니다.

아파치 설치폴더의 conf/httpd.conf 파일을 텍스트 에디터로 엽니다.
documentRoot "아파치 디폴트폴더"

위의 구문을 찾아서
documentRoot "c:/workspace(이클립스에서 지정한 워크스페이스)"
으로 변경해주고

접근권한을 부여하기 위해 다음내용을 추가합니다
<Directory "Workspace 경로">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>


그다음은 MYSQL의 한글데이터 입력이 가능하도록 해야합니다
XAMPP는 단독으로 MYSQL을 설치했을 때와는 조금 다르게 설정합니다.


mysql 한글 설정하는 법

my.cnf 수정하기
xampp 가 설치된 디렉토리 네에 mysql/bin 폴더에 my.cnf 파일이 있습니다. 또는 my.ini

my.cnf 파일 수정

#한글설정
[mysqld]
character-set-server = euckr
#character-set-client-handshake = FALSE
skip-character-set-client-handshake
 
이제 이클립스에서 신나게 코딩

Posted by 다오나무