APM 완벽 설치 가이드 PDF문서 발췌분

2014.09.03 16:10

코만두 조회:3717

APM 완벽 설치 가이드


(Apache 2.4.9 + PHP 5.5.14 + MySQL 5.6.19)
1차 작성 2007.7.31 (화)
2차 작성 2014.5.1 (목)
- 1차 개정 2014.5.2 (금)
- 2차 개정 2014.5.3 (토)
- 3차 개정 2014.5.10 (토)
- 4차 개정 2014.5.13 (화)
- 5차 개정 2014.7.14 (월)
작성 : 봄빛깔


APM  (Apache  2.4.9  +  PHP  5.5.14  +  MySQL  5.6.19)  설치  안내

[1] 이 문서는 윈도우 XP 이상의 개인용 컴퓨터에서 로컬호스트를 구축하여 APM을 학습하려는 입문자를 위해 작성되었습니다. 
      APM이란 Apache, PHP, MySQL 프로그램의 약어로 이 3 가지 프로그램을 이용하여 컴퓨터에 웹 서버를 운용하는 시스템, 
      또는 그러한 프로그래밍 환경을 일컫습니다.

이 매뉴얼은 원래 작성자가 2007년에 처음 작성, 배포하였으나 올해 컴퓨터 운영 체제를 XP에서 윈도우 7로 바꾸면서 APM을 신 버전으로 교체하여 설치하는 과정에서 보완한 것이 있어서 다시 배포하게 되었습니다.

[2] 설치에 필요한 파일들의 확보
가. 자료를 다운로드 받는 곳
① Apache
- 오른쪽 메뉴의 Downloads - VC11 항목 클릭
* VC11란 Apache 공개 소스를 Visual Studio 2012 버전으로 컴파일하였다는 의미.
- 자신의 쓰는 운영 체제에 따라 32비트, 64비트의 Zip 파일 클릭
② PHP
- 상단의 Downloads 탭 클릭
- 자신의 운영 체제와 용도에 맞는 Zip 파일 형태의 버전 선택 권장
③ MySQL
https://dev.mysql.com/에 접속
- 상단의 Downloads 탭 클릭
- MySQL Community Server 항목 아래의 Download 클릭
(오라클에서는 동호회 서버 만드는 정도의 기능 제한판만 무상으로 공개하고 있음)

나. 설치할 자료 선택의 지침
① 우선 Apache 버전을 선택하고 그것에 호환되는 PHP, MySQL 버전을 선택합니다.
② 자신의 운영 체제가 32비트인지, 64비트인지 그것에 맞게 고릅니다. 그런데 제가 설치해 본 결과 최신 버전의 64비트 Apache 판들이 WINDOW 7 64비트 환경에서 종종 접속이 지연되는 등 불안정한 느낌을 받았습니다.
③ Apache의 비트 버전에 대응하는 PHP 버전을 선택합니다. 만일 Apache를 32비트로 선택하였다면, PHP 버전도 32비트 버전으로 선택해 주어야 합니다. 그렇지 않으면 Apache 환경 설정에서 PHP 모듈을 정확하게 지정하여도 불러오지 못하는 오류가 발생합니다.
④ vc9, vc10, vc11은 아파치 및 PHP의 공개 소스를 컴파일한 Visual Studio 프로그램을가리킵니다. 가급적 숫자가 높은 최신의 컴파일러로 컴파일한 것을 선택하는 것을 바람직합니다. 그러나 이렇게 선택하여 설치하였는데, 불안정성을 보인다면 하위 버전의 컴파일러로 컴파일한 판을 내려받아 설치합니다.
⑤ Apache 버전을 선택할 때 NTS(Non Thread Safe)를 선택할 것인지 그렇지 않은 버전(TS, Thread Safe)을 선택할지를 결정해야 합니다.
윈도우는 원래 멀티 쓰레드 방식의 운영 체제이므로 쓰레드 보호가 필요치 않아 NTS인 버전을 선택하는 것이 알맞습니다. 그러나  CGI-Binary로 설치하는 NTS 버전은 Apache가 최신 버전에서 지원해서 윈도우 운영 체제에서의 사용자층이 얕고, 리눅스의파일, 디렉터리 접근 권한 등에 대한 전문 지식이 필요하여 설치, 운영하는 데 어려움이 있습니다. 거기다가  CGI-Binary이 보안상의 취약점도 커서 APM 초입자에게는 NTS가 아닌 버전, 즉 TS(Thread Safe)인 버전을 선택하여  Apache  모듈로 설치하는 것을권장합니다.

다. APM 설치에 최종 선택된 버전
① Apache : 2.4.9 (2014년 7월 14일 현재 최신 버전으로 2014년 6월 7일 배포)
httpsd-2.4.9-win32-VC10.zip (32비트 운영 체제 용, 11.6M)
httpsd-2.4.9-win64-VC11.zip (64비트 운영 체제 용, 12.2M)
② PHP : 5.5.14 (2014년 7월 14일 현재 최신 버전으로 2014년 6월 25일 배포)
a. TS 버전으로 설치할 경우 ( Apache  모듈로 설치)
php-5.5.14-Win32-VC11-x86.zip (32비트 운영 체제 용, 18.5M)
php-5.5.14-Win32-VC11-x64.zip (64비트 운영 체제 용, 19.9M)
b. NTS 버전으로 설치할 경우 ( CGI-Binary로 설치)
php-5.5.14-nts-Win32-VC11-x86.zip (32비트 운영 체제 용, 18.4M)
php-5.5.14-nts-Win32-VC11-x64.zip (64비트 운영 체제 용, 19.7M)
③ MySQL : 5.6.19 (2014년 7월 14일 현재 최신 버전으로 2014년 5월 6일 배포)
mysql-installer-community-5.6.19.0.msi (32비트, 64비트 설치 둘 다 포함, 243M)
* 이 파일들은 이 파일 꾸러미에 전부 포함되어 있습니다.

* 만일 이 문서를 읽는 시점이 2014.7.14.보다 많이 경과하였다면, 이 파일 꾸러미에 있는 파일 대신에  가 .  자료를  다운로드  받는  곳에서  다 .  APM  설치에  최종  선택된  버전과 동일한 유형의 최신 버전을 내려받아 설치하는 것을 권장합니다.
라. 최종 선택된 버전 외의 권장 버전

* 위의  「 다 .  APM  설치에  최종  선택된  버전 」은 2014.7.14. 현재 이 글 작성자의 입장에서 APM 초입자에게 가장 바람직하다고 생각되는 것으로 선정한 것입니다. 사용자 환경에 따라 아래와 같이 Apache, PHP 버전의 다른 조합도 권장합니다.

① 64비트 운영 체제 사용자로서 위의 최신 선택된 버전의 접속이 지연되는 등의 문제점을 회피하거나 ZEND 사의 소스 암호화 6.0 제품을 함께 사용하고자 하거나 PHP 5.5부터 윈도우 XP를 지원하지 않아 하위 버전을 쓸 수밖에 없는 XP 사용자인 경우
httpsd-2.4.9-win32-VC10.zip
php-5.4.27-Win32-VC9-x86.zip

② 전통적인 Apache, PHP 환경으로 구축된 웹 서버 환경 및 개발자들의 개발 소스 등의 호환을 극히 중요시할 경우
httpsd-2.2.27-win32.zip
php-5.3.28-Win32-VC9-x86.zip

③ Zend 사에서 마이크로소프트 사와의 저작권 분쟁으로 더 이상 TS인 PHP 버전의 암호화 모듈을 제공하지 않아 구 버전의 암호화 모듈을 사용하고자 하는 경우
httpsd-2.2.27-win32.zip (v2.2대의 최종 버전)
php-5.2.17-Win32-VC6-x86.zip (v5.2대의 최종 버전)
mysql-5.0.96-win32.zip (v5.0대의 최종 버전)
Zend SafeGuard v3.1.0d for Windows.zip
ZendOptimizer-3.3.3-Windows-i386.exe

☞ 최종 선택된 버전 외의 권장 버전의 파일들은 ③번에서 언급한 httpsd-2.2.27-win32.zip, php-5.2.17-Win32-VC6-x86.zip, mysql-5.0.96-win32.zip, ZendOptimizer-3.3.3-Windows-i386.exe를 제외하고는 이 파일 꾸러미에 포함되어 있지 않으므로 위  「 가 .
자료를  다운로드  받는  곳 」에서 직접 다운로드받거나 다른 경로로 구하여 설치합니다.

[3] 설치
가. 사전 작업
1. 설치는 MySQL, PHP, Apache 순서로 합니다.
이 프로그램들을 설치하기 전에 사용자의 컴퓨터에 .NET Framework 버전 2 이상이 설치되어 있어야 합니다. .NET Framework 버전 2 이상의 버전이 설치되어 있는지는 제어판 – 프로그램 및 기능에서 확인하실 수 있습니다. 설치되어 있지 않으면 시작 - Windows Update를 실행하여 설치합니다.

2. 설치할 폴더를 만듭니다.
어느 폴더에 설치하든 그것은 사용자의 선택 사항이나 저는 편의상 C 드라이브에 APM이란 폴더를 만들어 설치하겠습니다.
윈도우 탐색기를 이용하거나 명령 창에서 MD 명령어를 이용하여 C:\APM 폴더를 만들어 줍니다.

3. 부속 파일들을 설치할 폴더로 복사해 줍니다.
이 파일 꾸러미의  「 배치파일 ,  바로  가기  및  관련  아이콘 」 폴더 안의 파일들을 전부 C:\APM으로 복사해 줍니다. 이 파일들은 APM 관리에 필요한 간단한 명령을 손쉽게 실행시켜 주는 역할을 담당합니다.

4. PHP와 Apache를 연동하는 방식에 따라  CGI-Binany  설치와  Apache  모듈  설치가 있습니다. 우리는 NTS가 없는 PHP 파일을 선택하여  Apache  모듈  설치를 권장하였으므로 이를 기준으로 설명하지만,  CGI-Binany  설치도 다룰 것인데, 혼동하여 적용하는 일이
없도록 합니다.

나. MySQL
1. 설치
a. 파일 꾸러미에 들어 있는 mysql-installer-community-5.6.19.0.msi을 실행합니다.
- Install My Products 클릭
- Find Latest Products
항목 선택 없이 Execute 클릭
Next 클릭
- Choosing Setup Type
Custom 설치 선택
설치 경로 : C:\APM\MySQL\
데이터 경로 : C:\APM\MySQL\MySQL Server 5.6 ProgramData\
b. 안내에 따라 업데이트 실시
- Next 또는 Execute 클릭
2. 서버 환경 설정 (MySQL Server Configuration)
a. Advanced Configuration
Show Advanced Option 체크
Next 클릭
b. 루트 계정 암호 (Root Account Password) 지정
MySQL Root Password : 1234pass
MySQL User Account – Add User 추가
- user name : spring (사용자가 선택한 임의의 단어)
- role : DB sdmin
- password : 1234pass
c. 그 외 설정
Windows Service Name : MySQL5
윈도우 서비스 실행 주체 : 표준 시스템 계정
그 외 : 기본값
d. Next 계속 클릭
3. 환경 설정 최적화
a. C:\APM\MySQL\MySQL Server 5.6 폴더로 이동하고서 my-default.ini의 사본을 만들어 보관해 둡니다.

b. 메모장, 아크로에디터 등의 텍스트 에디터로 my-default.ini를 엽니다.

c. # basedir = ....., # datadir = ....., # port = ....., # server_id = .... 문장을 찾아 접두어 #를 제거하고 다음과 같이 수정해 줍니다.
basedir = "C:/APM/MySQL/MySQL Server 5.6/"
datadir = "C:/APM/MySQL/MySQL Server 5.6 ProgramData/data2\"
port = 3306
server_id = MySQL5

d. # join_buffer_size = 128M, # sort_buffer_size = 2M, # read_rnd_buffer_size =2M 
문장을 찾아 접두어 #를 제거하고 활성화해 줍니다.
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
수정한 내용을 저장하고 편집기를 닫습니다.

e. C:\APM\MySQL\MySQL Server 5.6 ProgramData 폴더로 이동하고서 my.ini 사본을 만
들어 보관하고 텍스트 에디터로 my.ini를 엽니다.

f. [mysqld] 항목을 찾아 그 항목의 아무 위치에 다음의 문장을 추가합니다.
bind-address=127.0.0.1
이렇게 해야 MySQL에서 localhost 접속 시 Can’t connect Mysql 5.* server on ‘1
27.0.0.1’(10061)라는 메시지가 나오며 접속하지 못하는 오류가 발생하지 않습니다.

g. [mysqld] 항목의 # basedir="C:/APM/MySQL/MySQL Server 5.6/" 문장을 찾아서 #를제거하여 활성화시켜 줍니다.
그리고, basedir="C:/APM/MySQL/MySQL Server 5.6/"와 datadir="C:/APM/MySQL/MySQL Server 5.6 ProgramData/data\"가 정확히 입력되었는지 확인합니다. MySQL Server 5.6 installer는 재설치를 반복하는 과정에서 쓰레기로 남은 과거의 경로명을 참조하여 환경 설정 파일에 현재 지정된 경로를 적는 버그가 있습니다.

h. 아래와 같이 기본 문자 세트를 euckr로 지정합니다.
☞ 이는 한글 입력을 원활히 하기 위한 권장 옵션이므로, 이 부분을 건너뛰었다가 문자 코드 체계에 대한 이해가 정립되었을 때 이 값들을 변경할 수도 있습니다.
[client] 항목에 다음 문장을 추가합니다.
default-character-set=euckr
[mysqldump] 항목을 만들어 다음 문장을 추가합니다.
default-character-set=euckr

* 항목을 만들 때에는 다른 항목에 삽입되지 않도록 다른 항목의 끝나는 위치에
서 만듭니다.
[mysqld] 항목의 character-set-server=utf8 문장을 찾아 다음과 같이 고칩니다.
character-set-server=euckr
그리고 다음의 문장을 추가합니다.
init_connect=SET collation_connection=euckr_korean_ci
init_connect=SET NAMES euckr
collation-server=euckr_korean_ci
language=korean

* 이와 같이 설정하였음에도 불구하고 mysql 명령을 이용하여 euc-kr 문자 세트의 한글 데이터를 저장하려고 할 때 Incorrect string value가 들어 있다며, 저장이 거부되면, db를 선택하는 코드 (mysql_select_db) 다음에 mysql_query("setnames euckr"); 이라는 코드를 삽입하면, 오류 없이 한글이 잘 입력됩니다.

i. 수정한 내용을 저장하고 편집기를 닫습니다.
☞ C:\APM\MySQL\MySQL Server 5.6\my-default.ini와 C:\APM\MySQL\MySQL Server 5.6 ProgramData\my.ini 두 곳의 개인 환경 설정 파일에 관한 차이 내지 관계를 말씀드리겠습니다.

my-default.ini는 MySQL 프로그램 전반에 가장 기초적이고 보충적인 설정입니다.
즉, my.ini에서 윈도우 특정 사용자가 MySQL 로컬 시스템에 대해 설정을 하지 않았거나 항목이 빠트렸을 때 보충적으로 참조하기 위한 최소한의 사항을 정의한 것입니다.
그래서 my-default.ini에 어떤 설정이 있고, my.ini에 그와 다른 설정이 있다면, my-default.ini의 설정을 무시하고, my.ini의 설정을 따릅니다.
즉, C:\APM\MySQL\MySQL Server 5.6 ProgramData\my.ini의 환경 설정이 윈도우의계정 사용자에게는 가장 중요하다고 하겠습니다.

j. C:\APM\MySQL\MySQL Server 5.6\bin 폴더를 Path 변수에 지정합니다.
C:\APM\MySQL\MySQL Server 5.6\bin의 mysqld.exe 등과 같은 실행 파일은 MySQL
데이터 베이스를 운용하며 명령 창에서 자주 입력하게 됩니다. 그래서 하드 디스
크의 어느 위치에서도 C:\APM\MySQL\MySQL Server 5.6\bin 폴더에 이동하지 않고
도 실행할 수 있도록 윈도우에 Path 변수로 설정해 줍니다.
- 제어판 – 시스템 – 고급 시스템 설정 탭 메뉴 – 고급 탭 – 환경 변수(N)를 클릭합니다.
- 시스템 변수(S)의 path 항목에 마우스 커서를 놓고 편집(I) 버튼을 누릅니다.
- 변수 값에 커서를 놓고 엔터 키를 입력하여 C:\APM\MySQL\MySQL Server 5.6\bin\을 입력해 줍니다. 이때 앞서의 path 변수와 구별하기 위해 앞의 path 변수 뒤에 ;를 입력하여 구분해 줍니다.

3. 테스트
- 윈도우 키 + R를 눌러 cmd를 입력하여 엔터키를 쳐서 명령 창을 엽니다.
- CD 명령으로 C:\APM\MySQL\MySQL Server 5.6\bin으로 디렉터리를 이동합니다.
a. MySQL의 시작
net start mysql5
"요청한 서비스가 이미 시작되었습니다." 또는 "MySQL 서비스가 잘 시작되었습니다." 라는 메시지가 나와야 제대로 설치된 것입니다.
b. MySQL의 관리자 계정 접속
- 명령 창에서 CD "C:\APM\MySQL\MySQL Server 5.6\bin"를 입력하여 MySQL의 Bin 디렉터리로 이동합니다. 또한 윈도우 7에서는 윈도우 탐색기로 Bin 디렉터리까지 이동하고서 Shift 키를 누른 상태에서 빈 공간에 오른쪽 마우스 버튼을 클릭하고 ‘여기서 명령 창 열기’를 하여도 mysql 입력 가능한 창이 나옵니다.
- mysql –uroot –p1234pass를 입력하고 엔터키를 칩니다.
- 1234pass 암호는 위의  「 나 .  2.  b.  루트  계정  암호  지정 」에서 입력한 root 계정(관리자)의 암호입니다. -u와 root는 띄어 써도 되지만, -p와 암호는 꼭 붙여써야 제대로 실행되는 것에 유의합니다. -p와 암호 사이에 띄어쓰면, 공백도 하나의 암호 문자로 인식하여 다른 암호로 처리하기 때문입니다.
이런 메시지가 나오면 정상적으로 설치된 것입니다.
MySQL 프롬프트 상에서 계정 접속을 끝내려면 exit를 입력합니다.
- mysql –u spring –p1234pass도 입력하여 MySQL에 접속하여 봅니다.

c. MySQL 중지
net stop mysql5
"MySQL 서비스를 잘 멈추었습니다." 라는 메시지가 나오면 정상적으로 중지되었습니다.

4. 서비스 시작 유형 변경
- 시작 - 제어판 - 관리 도구 - 서비스를 호출하여 MySQL5의 시작 유형을 수동으로 고쳐 놓습니다. (오른쪽 마우스 버튼 클릭 메뉴의 속성 호출) 이렇게 하면, 컴퓨터부팅시마다 불필요하게 항상 MySql Server가 실행되지 않습니다.
그러나, 컴퓨터의 속도나 성능에 크게 개의치 않고 어느 때나 자신의 웹 서버에 접속하려는 사용자는 시작 유형을 자동으로 놓아둘 수 있습니다.

다. PHP
1. 설치
a. C:\APM에 PHP v5.5.14를 설치할 폴더를 만듭니다. 저는 편의상 ‘PHP5’로 정하여, C:\APM 폴더에 폴더를 만들었습니다.
b. 사용자의 컴퓨터 운영 체제가 32비트인지, 64비트인지에 따라 php-5.5.14-Win32-V
C11-x86.zip (32비트), php-5.5.14-Win32-VC11-x64.zip (64비트) 중에서 골라 C:
\APM\PHP5에 모두 풀어 놓습니다.
* 압축 해제하였을 때 php.exe의 경로가 C:\APM\PHP5\php.exe와 같이 되도록 합니다. 
   C:\APM\PHP5\PHP5-5.4.27-Win32-VC9-x86\php.exe, C:\APM\PHP5\PHP5\php.exe와 같이 되어 있다면, 잘못 압축 해제한 것입니다.
c.  [  PHP  구  버전을  Apache  모듈로  설치하는  경우] ] 이 c. 항목은 오로지 최종 선택된 버전 외로 구 버전의 PHP 권장 버전을  Apache  모듈로  설치하려는 분에게 해당합니다. 그렇지 않은 분은 이 설명을 건너뜁니다.

C:\APM\PHP5\PHP5ts.dll를 C:\WINDOWS\SYSTEM32로 복사해 줍니다.C:\WINDOWS\SYSTEM32에 구 버전의 php4ts.dll이 있다면, 삭제하여 더 이상 작동하지 않도록 합니다.
다만, 32비트의 PHP 버전을 설치한 64비트 운영 체제 사용자는 C:\WINDOWS\SYSTEM32 폴더에 복사하지 말고, C:\WINDOWS\SysWOW64 폴더에 복사해 줍니다. 그래야 윈도우가 php5ts.dll이 32비트의 프로그램임을 쉽게 인식하고(그 폴더에 있는 것만으로도 인식), WOW64(64비트 운영체제에서 32비트 프로그램이 가동할 수 있도록 보조하는 64비트 윈도우의 하위 시스템)를 통해 64비트 윈도우에서 작동하도록 하는 과정을 거칠 수 있기 때문입니다. 즉, 32비트용 프로그램은 C:\WINDOWS\SYSTEM32에, 64비트용 프로그램은 SysWOW64 폴더에 복사하는 것이 아니라 그 반대입니다.

2. 환경 설정
a. C:\APM\PHP5\의 php.ini-development를 php.ini로 복사합니다.
php.ini-development에 마우스 커서를 대고 컨트롤 키룰 누른 상태로 오른쪽 마우스 버튼으로 임의의 위치에 드래그하여다 놓으면 php – 복사본.ini-development 파일이 생기는데, 이를 php.ini로 이름을 바꾸면 편합니다.

b. 텍스트 에디터로 C:\APM\PHP5\php.ini를 엽니다.

c. ; extension_dir = "ext" 를 찾아서 아래와 같이 접두사 ;를 제거하고 반드시 다음과 같이 수정합니다.
extension_dir = "./ext"
이 부분을 주석처럼 extension_dir = "ext"로 적어 주면, PHP의 확장 모듈을 로드하지 못하는 버그가 있는 걸 확인하였습니다.

d. 주요 확장 모듈을 실행할 수 있도록 아래 문장을 찾아 주석 표시자 ;를 빼어 활성화시켜 줍니다. php_mbstring을 활성화하는 문장이 php_exif를 활성화하는 문장보다 앞에 오도록 적어 주는 것에 유의합니다.
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_mysql.dll
extension=php_mysqli.dll

e. ;default_charset = "UTF-8" (PHP 5.3.28 버전에서는 ;default_charset = "iso-8859-1") 문장을 찾아 ;를 제거하고 아래와 같이 수정합니다.
default_charset = "EUC-KR"

f. upload_max_filesize = 2M 문장을 찾아 아래와 같이 변경합니다.
upload_max_filesize = 10M
upload_max_filesize는 로컬 서버 시스템에 업로드할 수 있는 파일의 최대 크기를 지정하여 제한하는 옵션입니다. 이렇게 하면 10M까지 파일을 업로드할 수 있습니다. php.ini에서의 설정은 로컬 서버 시스템 전반에 미칩니다.

g. max_execution_time = 30 문장을 찾아 30 대신에 120으로 고칩니다.
이는 스크립트 최대 실행 시간이 120초 (2분)로 늘려 줍니다. 기본값은 30초로 php의 코드가 실행되어 30초가 지나도록 완료되지 않으면 오류를 발생하고 실행이 중지됨을 의미합니다.

라. Apache
1. 설치
a. C:\APM에 Apache를 설치할 폴더를 만듭니다. 저는 편의상 폴더 이름을 ‘Apache’로 하여 만들었습니다.

b. httpsd-2.4.9-win32-VC10.zip (32비트), httpsd-2.4.9-win64-VC11.zip (64비트) 중에서 사용자의 컴퓨터 운영 체제의 전송 비트(32비트, 64비트)에 맞은 압축 파일을 골라 그 안의 Apache24 폴더를 통째로 C:\APM에 압축 해제하고 Apache24 폴더 이름을 Apache로 바꾸어 줍니다.

* httpsd.exe의 경로가 C:\APM\Apache\bin\httpsd.exe와 같이 되도록 정확한 위치에 압축을 풀도록 합니다.
2. 환경 설정 최적화
a. C:\APM\Apache\conf 폴더로 이동하여 httpsd.conf의 사본을 만들어 원본 파일을 보관합니다.

b. 텍스트 에디터로 httpsd.conf를 엽니다.

c. "c:/Apache2" 라는 단어를 찾아서 "c:/APM/Apache"로 바꿉니다. (총 6 군데)

d. 서버를 구동할 폴더도 지정합니다.
저는 편의상 C:\APM\www 로 하겠습니다.

C:\APM\www가 만들어져 있지 않으면, 우선 C:\APM으로 이동하여 www 폴더를 만듭니다.
"c:/Apm/apache/htdocs"라는 단어를 "c:/APM/www"로 바꾸어 줍니다. (총 2 군데)

e. #ServerName www.example.com:80이라는 문장을 찾아 #를 제거하고 구축하려는 도메인 명을 지정해 줍니다.
로컬 호스트에서만 사용할 도메인명이라면, 현재 인터넷 상에 사용되는 이름이라도 상관없습니다. 물론 다른 컴퓨터 이용자가 도메인 명으로 접속하기를 원하면,도메인명 등록 회사에 도메인 명을 등록하고 그 도메인명으로 지정해 주어야 합니다.
학습용으로 구축하는 거니까 일단 로컬호스트에서만 통용할 도메인 명으로 지정하겠습니다. 지금이 봄이니까 저는 편의상 www.spring.com으로 하겠습니다.
ServerName www.spring.com:80

f. ServerName www.spring.com:80 이라는 문장 아래에 기본 문자 세트를 설정하는 문
장이 없으면 삽입합니다.
AddDefaultCharset euc-kr

g. ServerAdmin admin@example.com 이라는 문장을 찾아 spring120@gmail.com 등과 같이 사용자가 실제로 쓰는 이메일 주소로 바꾸어 줍니다. admin@example.com 등으로 입력하지 않습니다.

h.  [Apache  모듈로  설치하는  경우] ] 이 h. 항목은 오로지  Apache  모듈로 설치로 설치하려는 분에게 해당합니다. 따라서  CGI-Binary로 설치하려는 분은 건너뜁니다.
#AddOutputFilter INCLUDES .shtml이 포함된 문장을 찾아서 그 아래 줄에 다음의 내용을 추가합니다.
AddType application/x-httpsd-php .php .html .htm .phtml .inc
AddType application/x-httpsd-php-source .phps
LoadModule php5_module "C:/APM/PHP5/php5apache2_4.dll"
PHPIniDir "C:/APM/PHP5"

만일에 Apace 2.2x 버전을 설치한 경우라면, LoadModule php5_module "C:/APM/PHP5/php5apache2_4.dll"을 다음과 같이 수정해서 입력합니다.
C:/APM/PHP5/php5apache2_4.dll -> C:/APM/PHP5/php5apache2_2.dll
ScriptAlias /cgi-bin/ "C:/APM/Apache/cgi-bin/" 문장을 찾아서 삭제합니다.
i.  [CGI-Binary 로  설치하는  경우] ] 이 i. 항목은 오로지  CGI-Binary로 설치하려는 분에게만 해당합니다.  Apache  모듈로 설치하는 분은 건너뜁니다.
#AddOutputFilter INCLUDES .shtml이 포함된 문장을 찾아서 그 아래 줄에 다음의 내용을 추가합니다.
ScriptAlias /cgi-bin/ "C:/APM/Apache/cgi-bin/" 문장을 찾아서 그 아래에 다음의 문장을 추가합니다.
ScriptAlias /php/ "c:/APM/PHP5/"
AddType application/x-httpsd-php .php
Action application/x-httpsd-php "/php/php-cgi.exe"
<Directory "C:/APM/www">
.....
</Directory> 와 같이 "C:/APM/www"를 정의한 블록을 찾아서 그 아래의 다음의 블록을 삽입합니다.
<Directory "C:/APM//PHP5">
AllowOverride None
Options None
Require all granted
</Directory>

j. 홈페이지 기본 문서로 index.html과 함께 index.php도 추가합니다.
<IfModule dir_module>
DirectoryIndex index.html
</IfModule> 라고 되어 있는 곳을 찾아서 그 아래 줄에 다음을 추가합니다.
<IfModule dir_module>
DirectoryIndex index.php
</IfModule>

이렇게 해야 웹 사이트나 웹의 특정 폴더의 홈페이지 기본 문서로 index.html뿐만아니라, index.php가 있어도 그곳에 접속하였을 때 웹브라우저로 열립니다.
k. 환경 설정 수정이 완료되면 저장하고 나서, Apache 프로그램이 제공하는 유틸리티로 환경 설정이 제대로 되었는지 검사합니다.
- 윈도우 키 + R를 눌러 실행 창에서 다음의 문장을 입력하고 엔터키를 칩니다.
C:\APM\Apache\bin\httpsd.exe -w -t -f "C:\APM\Apache\conf\httpsd.conf" -d "C:\APM\Apache\.“
이 명령을 다 입력하기 싫다면, 파일 꾸러미에 있는 _Test_HttpdConf.bat (아파치 서버 설정 검사.lnk)를 실행하여 검사할 수도 있습니다.
- Syntax OK라고 나오며 커서가 보이면 논리적으로 환경 설정이 이상 없는 것입니다. 오류가 나면, 그 메시지를 참조하여 httpsd.conf 파일을 적절히 고칩니다.
l. 환경 설정이 완료되면, Apache 서버를 가동시킵니다.
윈도우 키 + R를 눌러 실행 창에서 아래와 같이 입력하고 엔터키를 칩니다.
C:\APM\Apache\bin\httpsd.exe -w -n Apache2 -k install
와 같이 입력하고 엔터키를 칩니다. 이 명령을 입력하기 싫다면, _Apache_Install.bat (아파치 서비스 설치.lnk) 를 입력하여 실행할 수도 있습니다.
m. 시작 - 제어판 - 관리 도구 - 서비스를 호출하여 Apache2의 시작 유형을 수동으로 고쳐 놓습니다(오른쪽 마우스 버튼 클릭 메뉴의 속성 호출). 이렇게 하면, 컴퓨터 부팅시마다 불필요하게 항상 Apache Server가 실행되지 않습니다. 그러나 사용자 편의를 더 중시하는 분이라면 그냥 놓아두어도 무방합니다.

마. APM 시작, 재시작, 중지 바로 가기 만들기 및 기타
Apache 프로그램이 제공하는 로컬 호스트 웹 서버 서비스를 구동시키려면, 명령 창에서 해당 프로그램이 있는 폴더로 이동하여 일일이 명령을 내려 주어야 합니다. 이런 불편을 덜기 위하여 한 번에 실행할 수 있는 배치 파일과 그에 대응하는 바로 가기를 만듭니다.
이 단원에서 만든 배치 파일과 바로가기, 그에 필요한 아이콘들은 파일 꾸러미 안에 포함되어 있습니다.

a. APM 시작 배치 파일 만들기
- 텍스트 에디터를 실행합니다.
- 다음 내용을 입력합니다.
@echo off
net start mysql5
C:\APM\Apache\bin\httpsd.exe -w –n "Apache2" -k start
- _APM_Start.bat라는 이름으로 C:\APM 폴더에 저장합니다.

b. APM 재시작 배치 파일 만들기
- 텍스트 에디터에서 다음 내용을 입력합니다.
@echo off
net stop mysql5
net start mysql5
C:\APM\Apache\bin\httpsd.exe -w –n "Apache2" -k restart
- _APM_Restart.bat라는 이름으로 C:\APM 폴더에 저장합니다.

c. APM 중지 배치 파일 만들기
- 텍스트 에디터에서 다음 내용을 입력합니다.
@echo off
net stop mysql5
C:\APM\Apache\bin\httpsd.exe -w –n "Apache2" -k stop
- _APM_Stop.bat라는 이름으로 C:\APM 폴더에 저장합니다.

d. 작성한 배치 파일에 대해 바로가기를 만들어 실행 아이콘을 모양 있게 꾸밉니다.
- C:\APM 폴더로 이동합니다.
- _APM_Start.bat에 마우스 커서를 대고, 오른쪽 마우스 버튼 메뉴의 '바로 가기 만
들기'를 실행합니다.
- '_APM_Start의 바로 가기.lnk'를 'APM 시작.lnk'로 바꿉니다.
- 'APM 시작.lnk'의 오른쪽 마우스 버튼 메뉴의 속성을 호출하여 자신이 좋아하는 배
경색과 텍스트 색상을 바꿉니다. 저는 이렇게 지정했습니다.
화면 텍스트 : 0, 0, 0
화면 배경색 : 223, 232, 253
- 아이콘도 자신이 좋아하는 것으로 변경합니다.
- _APM_Start.bat는 더 이상 손대거나 직접 사용할 필요가 없으므로 파일 속성을 숨김으로 합니다.
- 'APM 재시작'.lnk, 'APM 종료.lnk'도 같은 방식으로 만들고 아파치 서버의 시작,종료, 설치, 제거, 재설치 및 아파트 서버 설정 검사도     필요하면 만들어 줍니다.
☞ 이곳에서 설명한 배치파일과 바로 가기, 관련 아이콘들은 이 파일 꾸러미 안에 폴더를 만들어 포함시켰습니다. 직접 만들기 번거로운 분들은 이 압축 파일을 C:\APM에풀어 사용하시기 바랍니다. 아이콘 파일과 _로 시작되는 배치 파일은 숨김 속성으로하면, 폴더가 한결 깔끔해질 것입니다.

e. MySQL5과 Apache2 서비스의 교체 (초입자는 단지 참고만 합니다)
위의 배치 파일 문장 중 "net stop mysql5"의 'MySQL5'나 "C:\APM\Apache\bin\httpsd.exe -w –n "Apache2" -k stop"의 'Apache2,4'는 MySQL 프로그램과 Apache 프로그램에의해 실행되는 윈도우 서비스의 고유한 이름입니다. 이러한 서비스를 윈도우 시스템
에서 서비스 목록에서 제거하거나 다른 이름으로 다시 설치할 수도 있습니다.
MySQL 서비스를 서비스 목록에서 제거하고 싶으면, 명령 창에서 아래와 같이 입력합니다.
현재 작동 중인 MySQL 서비스를 닫고 제거하는 것이 안전하기 때문에 우선 아래와 같이 명령을 내려 MySQL 서비스를 닫습니다.
"C:\APM\MySQL\MySQL Server 5.6\bin\mysqladmin.exe" -u root -p1024sol shutdown
그 다음, 아래의 명령을 내립니다.
sc delete MySQL5
이 명령을 일일이 입력하기 싫다면, _MySQL_Remove.bat (MySQL 서비스 제거.lnk)를입력하여 실행할 수도 있습니다.
Apache2 서비스를 제거할 때에는 아래와 같이 입력합니다.
C:\APM\Apache\bin\httpsd.exe -w –n "Apache2" -k uninstall
이 명령도 직접 입력하기 싫다면, _Apache_Remove.bat (아파치 서비스 제거.lnk)를입력하여 실행할 수도 있습니다.
다시 MySQL 서비스를 윈도우 시스템에 가동시키고 싶으면 명령 창에서 아래와 같이 입력합니다.
"C:\APM\MySQL\MySQL Server 5.6\bin\mysqld" --install MySQL5 --defaults-file="C:\APM\MySQL\MySQL Server 5.6 ProgramData\my.ini"
이 때 MySQL 서비스명 MySQL5는 MySQL56, MySQL_of_Spring과 같이 사용자가 원하는 임의의 다른 단어로 입력할 수도 있습니다.
이 명령은 _MySQL_install.bat (MySQL 서비스 설치.lnk)를 실행하는 것으로 간단히 할 수 있습니다.
Apache2 서버 서비스를 다시 설치하려면 명령 창에서 아래와 같이 입력합니다.
C:\APM\Apache\bin\httpsd.exe -w –n "Apache2" -k install
이때에도 "Apache2" 대신에 MyAPm, Apache_of_Spring과 같이 다른 이름으로 입력하여구축할 수도 있습니다.

이 명령은 _Apache_install.bat (아파치 서비스 설치.lnk)를 실행하는 것으로 대치할 수 있습니다.
☞ 이러한 내용은 초보자가 윈도우 시스템에서 Apache, MySQL 서비스를 영구히 제거하는 의도에서가 아니라면, 참고만 할 뿐, 일부러 서비스명을 다른 것으로 바꾸어 쓰기 위해 서비스를 제거, 재설치할 이유가 거의 없습니다. 각종 APM 설치 패키지들(이를테면 근사모의 APMSETUP)이 자신들만의 고유한 서비스명을 이런 식으로 설정한다고알아 두는 정도로 족합니다.

f. 위에서 로컬호스트로 구축한 웹 서버의 도메인명을 www.spring.com으로 지정하였으므로 이 도메인 명이 사용자 컴퓨터의 주소인https://127.0.0.1/을 가리키도록 아래와 같이 윈도우 운영 체제에서 설정해 줍니다.

⑴ C:\WINDOWS\system32\drivers\etc 폴더 안의 hosts 라는 파일의 속성을 읽기 전용,숨김 등으로 변경합니다.
명령 창에서 attrib 명령을 이용하거나 hosts 파일 아이콘에 마우스 커서를 놓고 오른쪽 마우스 버튼을 클릭하여 속성 메뉴를 호출한 다음, 일반 탭에 있는 특성을변경하면 됩니다.

⑵ hosts라는 파일을 에디터로 열어서 다음의 문장을 넣고 저장합니다.
127.0.0.1 www.spring.com

[4] 최종 테스트
1. 텍스트 에디터나 웹 에디터로 아래의 점선 안의 내용을 붙이기로 복사하고 나서 index.php라는 파일 이름으로 저장합니다.
----------------------------------------------------------------------------------
<html><body>
<h1>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Spring.com에 오신 것을 환영합니
다.</h1>
</body></html>
<?php
phpinfo();
?>
----------------------------------------------------------------------------------
2. 작성한 index.php를 앞서 설정한 서버의 루트 디렉터리 C:\APM\www에 옮겨다 넣습니다.
(만일, C:\APM\www에 index.html 파일이 있다면, index.html이 실행되어 버릴 수 있으므로 index.html 이름을 적당히 다른 이름으로 바꾸어 둡니다.)
3. 이제 모든 설정이 완료되었습니다. 우선 컴퓨터를 재부팅합니다. (그래야 앞에서 hosts파일을 수정한 것이 반영됩니다.)
4. Explorer를 실행해서 주소창에 https://www.spring.com/을 입력하여 엔터키를 누릅니다.
“Spring.com 에  오신  것을  환영합니다 .”라는 메시지와 함께 서버 시스템의 환경 관련정보가 출력되면 제대로 설치된 것입니다. 축하드립니다!!
비록 2줄 짜리 명령이 들어 있는 Index.php이지만, 이 파일 안에 또 다른 파일일 삽입하고, 링크로 연결에 연결을 하다 보면, 다음이나 네이버 같은 웹사이트가 탄생하는 것입니다. 시작은 씨앗입니다.

[5] 기타 설치
☞ 이제까지의 설명으로 최신 APM의 설치 안내는 끝났습니다. 다음의 설명은 학습자 내지 개발자가 APM을 설치하고 개발, 운용하다 보면, 경우에 따라 필요하게 되는 보조 프로그램에 대해 설명합니다. 따라서 모든 분이 꼭 설치해야 하는 것은 아니고, 설치할 필요성을
느끼는 분만 설치합니다.

가. phpMyAdmin
phpMyAdmin는 MySQL의 데이터베이스에의 접근이 쉽도록 도와주는 인터넷 구동 방식의 프로그램입니다.
1. 최신 버전과 다운로드 받을 곳

a. 최신 버전 : 4.1.14

b. 다운로드받을 곳
-> https://www.phpmyadmin.net/의 Download 탭
-> phpMyAdmin-4.2.5-all-languages.zip (2014-6-26) 8.8mb
☞ 이 파일 꾸러미에도 포함되었습니다.

2. 설치
a. 로컬호스트의 웹서버에서 구동되는 방식의 프로그램이므로 설치 폴더를 편의상 C:
\APM\www\pma로 하겠습니다.
b. phpMyAdmin-4.2.5-all-languages.zip에 들어 있는 phpMyAdmin-4.2.5-all-language
s 폴더를 C:\APM\www로 압축 해제하고, phpMyAdmin-4.2.5-all-languages 이름을 p
ma로 바꾸어 줍니다. 이것으로 설치는 다 되었습니다.

3. 환경 설정
a. C:\APM\www\pma의 config.sample.inc.php를 config.inc.php로 복사합니다.
b. 텍스트 에디터로 config.inc.php를 엽니다.
c. 블로우피시(blowfish) 비밀키 값을 지정합니다.
$cfg['blowfish_secret'] = ''; 항목을 찾아서 '' 부분에 사용자가 기억하기 쉬우
면서도 타인이 유추하기 어려운 임의의 문자열을 입력합니다. 남들이 짐작하기 쉬
운 도메인명이나 성명, 아이디, 전화번호 등은 권장하지 않습니다.
* 블로우피시는 1993년 Bruce Schneier가 고안한 블록 암호로서 암호할 때와 해독할 때 똑같은 키를 사용하는 대칭 암호화 방식의 암호화 알고리듬의 이름입니다.
d. MySQL이 설치된 서버 이름과 관리자 아이디와 암호 등을 다음과 같이 입력합니다.
$cfg['Servers'][$i]['host'] = 'www.spring.com';
- 앞서 지정한 로컬 호스트의 도메인 명을 입력해 줍니다.
☞ 이 항목과 바로 다음의 Zend SafeGuard 설명은  「 라 .  최종  선택된  버전  외의  권장버전 」  
   ③ 번의 조합으로 설치한 분에만 해당합니다.
앞서 언급했듯이 Zend 사에서 마이크로소프트 사와의 저작권 분쟁으로 더 이상 TS인 PHP 버전의 암호화 모듈을 제공하지 않아 최신 버전의 PHP에서 아파치 모듈로 설치한 경우에는 Zend 사의 암호화 제품을 사용할 수 없습니다.  아파치  모듈로 최신 버전의 APM을 설치한 분은  CGI-Binary 로 APM을 설치하여 Zend 사의 SafeGuard를 이용하거나 다른 회사의 암호화 제품의 사용을 모색해야 합니다.
따라서 이 단원의 설명은 TS인 PHP 버전으로 구동되는 웹 서버에서 PHP 암호화 모듈
$cfg['Servers'][$i]['extension'] = 'mysql';
- MySQL 접근 방식인 mysql. mysqli 중에서 하나를 입력합니다.mysqli는 PHP가
5.0부터 지원하는 속도가 빠른 접근 방식인데, 문제는 사용자가 mysql. mysql
i 어느 방식으로 MySQL 데이터베이스를 구축했느냐에 따라 달리 선택합니다.
이 글 작성자는 예전에 구축한 DB를 사용하려 하고 그 당시에는 mysqli 개념도
없었으므로 mysql를 선택했습니다.
$cfg['Servers'][$i]['controluser'] = 'spring';
- 관리자 계정을 입력합니다. 실제의 서버라면 계정 아이디를 입력합니다. 저는
앞의 MySQL 서버 환경 설정 계정에서 입력한, root와 같은 권한이 있는 sprin
g을 입력하였습니다.
$cfg['Servers'][$i]['controlpass'] = '1234pass';
- 앞에서 입력한 spring 계정의 암호를 입력해 줍니다.

4. 테스트

a. 익스플로러를 열고 주소 창에 https://www.spring.com/pma 라고 입력하고 엔터키를
누릅니다.

b. 사용자 명에 spring, 암호 란에 1234pass를 입력하여 접속이 되면, 정상적으로 설
치된 것입니다.

c. 접속하여 들어가서 ‘설정’ 메뉴 등을 누르면 설정 화면이 장시간 동안 불러오지 못하는 현상을 이 가이드의 작성자는 겪었습니다. 재접속할 때 언어를 English로 하여 들어가서 ‘Settings’ 등의 메뉴를 누르면 쉽게 호출되었고, 다시 빠져나와 언어를 한국어 – Korean으로 선택하여 들어가자 일부 메뉴가 지연되는 현상이 사라졌습니다. 이런 현상에 맞닥뜨린 분들은 참고 바랍니다.

나. ZendOptimizer
모듈을 구동하기 위해 TS를 지원하는 Zend 사의 예전 버전을 사용하려는 분에게만해당합니다.
ZendOptimizer는 Zend Encoder나 Zend SafeGuard에 의해 인코딩된 파일을 실행시켜 주는 Zend 사에서 개발한 보조 프로그램입니다. Zend Encoder와 Zend SafeGuard로 인코딩하여 실행하면 소소의 보안 효과뿐만 아니라 실행 속도에서도 40% 정도의 향상이 있다고 합니다. 자신이 Zend Encoder와 Zend SafeGuard Suite로 PHP 소스를 인코딩하여 사용하지 않는다고 하더라도 다른 사람이 인코딩한 PHP 소스를 자신의 웹 서버에서 인식하고 출력해야 하므로 설치하는 것이 필수입니다. 따라서 Zend 사에서도 ZendOptimizer를 무료로 공개하여 왔습니다.

1. 권장 버전
a. 권장 버전 : 3.3.3
☞ 현재 Zend 사에서는 암호화해 주는 Encoder와 암호를 풀어 출력해 주는 Loader로 6.0을 배포하고 있지만,TS(Thread Safe)인 PHP의 암호화, 복호화(암호를 평문으로 바꿈) 기능 지원을 중단하여  아파치  모듈로 설치한 웹서버에서는 최신버전의 Zend 사 제품들이 무용지물입니다.
그래서, 마이크로소프사와의 분쟁이 있기 전의 버전의 ZendOptimizer를 선택할수밖에 없고, ver. 3.3.3 버전이 안정적으로 작동하여 이 버전을 추천합니다.
ZendOptimizer-3.3.3-Windows-i386.exe (8.31mb)는 공개용 버전이고 오래된 버전이라 구하기 어려울 것 같아 이 파일 꾸러미에 포함시켰습니다.

2. 설치
ZendOptimizer-3.3.3-Windows-i386.exe를 실행하여 설치합니다. 저는 편의상 C:\APM\Zend\ZendOptimizer 폴더에 설치하겠습니다.

a. 설치 폴더 : C:\APM\Zend\ZendOptimizer 지정
b. Web Server 종류 선택 : Apache 2.x 체크
c. PHP.ini가 위치한 폴더 선택 : C:\APM\PHP5로지정
d. Web Server의 Root folder 지정 : C:\APM\Apache

* 이 항목은 Apache\conf\httpsd.conf 파일을 찾기 위해서 웹 서버의 루트 폴더를 묻는 것입니다. 
   httpsd.conf 파일은 C:\APM\Apache\conf 폴더에 있으므로 C:\APM\www로 하지 않고 꼭 위와 같이 입력해 줍니다.

e. Web Server Restart
The Web Server will not be available untill the installation ...?
( 설치하는 동안 웹 서버가 중단되는 것에 동의하느냐는 취지의 질의 )
- [Yes] 선택

3. 실행 확인
파일 꾸러미 안의  「 배치파일 ,  바로  가기  및  관련  아이콘 」 폴더에 있는 index (어떤 노래 가사).php를 C:\APM\www 폴더로 복사하고서 텍스트 에디터로 열어 봅니다. 글자가 알아 볼 수 없게 되어 있을 것입니다.
이미 있는 index.php를 다른 이름으로 저장하여 보관하고, index (어떤 노래 가사).php를 index.php로 바꾸어 줍니다.
그러고 난 다음, Explorer를 실행하여 주소창에 www.spring.com을 입력합니다. 어떤노래 가사인지 읽어 보실 수 있다면, 정상적으로 설치될 것입니다.
이런 식으로 웹 프로그래머들이 자신이 코딩한 php 소스를 암호화하여 웹 서버 운영자에게 넘기면, 웹 서버 운영자는 그 파일을 설치만 하고, 웹 접속자가 암호화된 .php를 호출하면, 웹 서버는 ZendOptimizer 모듈을 호출하여 그 .PHP 문의 암호를 풀고,
접속자의 화면으로 평문의 html를 내보내고, Explorer 등의 웹 브라우저가 이 html를 읽어서 사용자의 화면에 출력해 주는 것입니다.
만일 제대로 나타나지 않으면, 잘못 설치된 것으로 C:\APM\PHP\php.ini 파일에 다음의 내용이 제대로 포함되어 있는지, 포함되어 있다면, 그 파일들이 해당 폴더에 제대로 있는지 확인합니다.

;;;;;;;;;;;;;;;;;;;;
; Language Options ;
;;;;;;;;;;;;;;;;;;;;
zend.enable_gc = On
[Zend]
zend_extension_manager.optimizer_ts="C:\APM\Zend\ZendOptimizer\lib\Optimizer-3.3.0"
zend_extension_ts="C:\APM\Zend\ZendOptimizer\lib\ZendExtensionManager.dll"

다. Zend SafeGuard

1. ZendOptimizer가 PHP 복호화 프로그램이라면, Zend SafeGuard는 PHP 소스를 암호화해
주는 프로그램입니다. 자신이 짠 PHP 소스가 매우 귀중하게 여기면, 다른 개발자나 서
버 운영자가 알아 볼 수 없도록, 소스를 암호화하고 보관하거나 전달하고 싶어집니다.
개발자의 이러한 요구에 부응하는 프로그램이 Zend SafeGuard입니다.

2. Zend SafeGuard도 6.0 버전이 나왔지만, 이 최신 버전은  Apache  모듈로 서버를 운영
하는 웹 서버를 지원하지 않으므로, 하위 버전의 ZendOptimizer ver 3.3, ver 3.6, ver 4.01에 대응되는 
Zend SafeGuard 버전을 선택하고,  「 라 .  최종  선택된  버전  외의  권장  버전 」  
③ 번  조합의 구 버전 APM을 설치하는 것이 바람직합니다.
제가 추천하는 버전은 Zend SafeGuard v3.1.0d for Windows이나, 상용이라서 더 이상의 설명을 생략합니다. PHP 암호화에 관심 있으신 분들은 여러 경로로 구하여 거기의 매뉴얼을 숙지하여 사용하시기 바랍니다.
다만, 이 매뉴얼을 작성하며, 여러 정보를 구하기 위해 구글을 검색하다 보니, Zend SafeGuard 5.5 버전의 암호화된 소스도 해커가 임의로 평문으로 바꾸어 주는 동영상을접할 수가 있었습니다. 따라서 이러한 암호화 프로그램들에 대해 100% 신뢰하는 것은 매우 위험하다고 하겠습니다.

☞ 웹 서버의 프로그램이 독립적으로 구동되는 프로그램이 아니어서 개발자들이 이런 프로그램을 작성할 때에는 호환성을 극히 중요시합니다. 이 가이드에서는 초입자의 입장을 고려해서 최신 버전의 APM PHP 설치를 설명하였지만, 이렇게 최신 버전으로 소스를 개발한다고 하더라도, 웹 서버에 최신 버전의 PHP 모듈을 설치하지 않았다면 원활히 구동되지 않습니다. Zend 사의 최신 버전의 암호화 프로그램으로 암호화한 소스는 TS PHP의 암호화지원 중단으로 더욱더 복잡한 문제를 야기합니다. 설사, 웹 서버에서 정상적으로 소스를
인지하여 웹 접속자에게 HTML이나 자바 스크립트를 내보어도 그 접속자의 브라우저 종류,버전에 따라 개발자의 의도와 다르게 화면에 표시될 수도 있습니다.
그래서 개발 실무자들은 호환성과 기존의 개발 운영 노하우를 살리기 위해서, 또 프로그램의 최종 소비자들인 웹 접속자들의 웹 브라우저 종류와 버전에 기준을 두어 그러한 환경에 가장 잘 작동하는 Apache, PHP, MySQL 등을 선택하여 개발하고 운영합니다.

[6] 끝으로
저는 설치 폴더를 C:\APM으로 하여 설명하였습니다만, 각자 자신의 컴퓨터 환경과 취향에 맞게 설치 폴더를 변경하여 설치해도 무방합니다. 그 외에 MySQL Server Name인 MySQL5, MySQL 사용자 계정인 spring, 암호 1234pass, 웹 마스터 이메일 주소 spring120@gmail.com,도메인명 www.spring.com도 자신의 고유한 내용으로 입력하시기 바랍니다.
이 설치 안내는 한글 윈도우 7 운영 체제에서 위에서 언급한 버전을 기준으로 작성되었습니다. 다른 컴퓨터 환경이나 다른 버전의 APM을 설치할 경우, 이 안내대로 설치하여도 정상작동하지 않거나 추가적인 설정 내지 경로 변경을 해 주어야 할 경우도 있을 수 있습니다.
이 글이 밝고 힘차고 따뜻한 웹 사이트가 많이 탄생하는 밑거름이 되기를 기대해 보며 이만 마칩니다.

2014.7.14, by Daum.net′s  봄빛깔

----------------

상기내용은    5차 개정판 내부에 포함된 APM 완벽 설치 가이드.pdf 의 내용을 
웹브라우져로 다시금 편집한 글입니다.

봄빛깔님께 감사의 말씀을 올리면서
많은 학습자 분들께서 도움이 되시리라 생각합니다.
별도로 첨부한 파일을 참고하시어 상시 읽어보시면서 궁금한 부분이나 막히는 부분에서는
항상 다시보기 하실 수 있도록 옆에 두시면 도움이 되실 것입니다.

본 문건을 학습전에 미리 게시한 이유.
APM의 제약사항이나 툴의 사용 경계(한계)를 알아야 하기 때문입니다.
이는 쉬운 예로 그림 그리는 툴로 시스템포맷을 하고자 한다면 오류가 발생하지도 않고 실행에서
시스템을 포맷하지 않기 때문입니다.
그러기에 어느부분에서 어찌하면 어떤 결과가 나오더라는 기본적인부분에 대한 상세한 설명이
부연되어져 있기 때문에 학습 부연자료로 가장 적합한 자료라서
PDF 본문을 그대로 웹게시판으로의 변환을 생각하였습니다.

홈페이지의 기본적인 구축에 앞서서
기본적으로 알아두셔야 할 부분에 대해서도 상세한 설명이 있지만
공식홈페이지의 안내까지 잘 설명이 되엇습니다.
한번 더 참조하시어 읽어보시고
해당파일의 원본을 첨부합니다...

긴글인데도 읽으시느라 수고 많으셧습니다.
감사합니다......

apmsetup 공식 홈페이지 : 여기를 클릭하세요
XE1.11.6 Layout1.4.8