Windows 7, 8, 8.1, 10, 2008, 2012, 2016, 2019 버전에서 공통이다.
그누보드, XE, Wordpress 등을 가상호스트 방식으로 여러 사이트를 운영할 목적이다.
컴퓨터에 소스들이 있을 폴더의 경로는 예을 들어 다음과 같이한다.
C:\APMW\Apache
C:\APMW\PHP
C:\APMW\MariaDB
C:\APMW\WebSites\aaaaa.co.kr
C:\APMW\WebSites\bbbbb.co.kr
C:\APMW\WebSites\ccccc.co.kr
다운로드할 파일(앞은 64비트, 뒤는 32비트이므로 운영체제에 맞게 다운로드)
vc_redist_x64 또는 vc_redist_x86 // VC15(Visual Studio 2015 Visual C++)이 필요하다. 다운로드 후 바로 설치한다.
httpd-2.4.41-win64-VC15.zip 또는 httpd-2.4.41-win32-VC15.zip
php-7.3.8-Win32-VC15-x64.zip 또는 php-7.3.8-Win32-VC15-x86.zip
mariadb-10.4.7-winx64.zip 또는 mariadb-10.4.7-win32.zip &
【프로그램 설치】
1. 다운로드 받은 VC15 설치프로그램 실행하고 기본 값으로 쭉 따라간다.
2. 압축된 Apache 바이너리를 아파치 폴더에 해제하고 bin폴더 안에서 httpd.exe -k install 실행한 뒤 Apache가 서비스에 자동으로 등록됐는지 확인한다.
3. PHP 폴더에 압축된 PHP 바이너리를 해제하고 해당 폴더를 시스템 변수에 path로 추가한다.
4. MariaDB 폴더에 압축된 MariaDB의 바이너리를 해제하고 bin 폴더를 시스템 변수에 path로 추가한 후 다음 명령으로 서비스에 넣고 자동 시작인지 확인한다.
mysql_install_db.exe --datadir=C:\APMW\MariaDB --service=MariaDB --password=루트암호
【Apache 설정】
httpd.conf 파일을 메모장이나 편집기로 열어서 다음 줄을 찾아 수정한다.
Define SRVROOT "C:\APMW\Apache" *수정
LoadModule userdir_module modules/mod_userdir.so *주석해제, 사용자 폴더를 사용하고 속성을 지정
LoadModule rewrite_module modules/mod_rewrite.so *주석해제
ServerAdmin 사용하는이메일주소 *수정
ServerName localhost:80 *주석해제 및 수정
DocumentRoot *주석
<Directory> ~ </Directory> *섹션을 모두 주석
<IfModule dir_module> ~ </IfModule> *섹션내 DirectoryIndex 줄에 index.php index.htm index.cgi 추가
<IfModule alias_module> ~ </IfModule> *섹션 모두 주석
EnableMMAP off *주석해제
EnableSendfile off *주석해제
AcceptFilter http none *추가
AcceptFilter https none *추가
Include conf/extra/httpd-userdir.conf *주석해제
Include conf/extra/httpd-vhosts.conf *주석해제
httpd-userdir.conf 파일을 열어서 다음처럼 작성한다. *Options 줄에서는 Indexes를 제거한다.
UserDir "C:\APMW\WebSites" *수정
<Directory "UserDir "C:\APMW\WebSites">
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONS
</Directory>
httpd-vhosts.conf 파일을 열어서 다음처럼 작성한다. *기존 줄들은 모두 주석
<VirtualHost *:80>
ServerAdmin 사용하는메일주소
DocumentRoot "C:\APMW\WebSites\aaaaa.co.kr"
ServerName aaaaa.co.kr
ServerAlias http://www.aaaaa.co.kr
ErrorLog "logs/aaaaa.co.kr-error.log"
CustomLog "logs/aaaaa.co.kr-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin 사용하는메일주소
DocumentRoot "C:\APMW\WebSites\bbbbb.co.kr"
ServerName bbbbb.co.kr
ServerAlias http://www.bbbbb.co.kr
ErrorLog "logs/bbbbb.co.kr-error.log"
CustomLog "logs/bbbbb.co.kr-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin 사용하는메일주소
DocumentRoot "C:\APMW\WebSites\ccccc.co.kr"
ServerName ccccc.co.kr
ServerAlias http://www.ccccc.co.kr
ErrorLog "logs/ccccc.co.kr-error.log"
CustomLog "logs/ccccc.co.kr-access.log" common
</VirtualHost>
【PHP 설정】
php.ini-development 파일은 C:\Windows 폴더 안으로 복사한 후 php.ini로 이름을 바꾼다.
php.ini를 열어서 다음처럼 수정 또는 주석을 해제한다.
short_open_tag = On
error_reporting = E_ALL & ~E_NOTICE
post_max_size = 2048M *적당한 크기
extension_dir = "C:\APMW\PHP\ext"
upload_max_filesize = 2048M *적당한 크기
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_mysqli.dll
date.timezone = Asia/Seoul
extension=php_openssl.dll
extension=php_curl.dll *wp에서 필요로 한다.
[mail function] *위부 smtp를 사용할 때는 섹션을 모두 주석한다.
httpd.conf 파일을 열어서 다음과 같이 수정한다.
LoadModule rewrite_module modules/mod_rewrite.so *주석해제
LoadModule php7_module "C:/APMW/PHP/php7apache2_4.dll" *추가, 여기가 Apache와 PHP의 연동임
AddType application/x-httpd-php .php *<IfModule mime_module> ~ </IfModule> mime_module> 섹션에 추가가 *Apache가 PHP를 실행
아파치를 httpd -k start 명령으로 실행한다.
구문 점검 명령은 httpd -t 이다.
Windows 방화벽에서 httpd.exe를 허용한다. *apache 관련 80, 443, 기타 SSL 포트들을 허용한다.
【MariaDB 시작 및 데이터베이스 생성】
net start mariadb *시작, 명령프롬프트 창 이하 해당
mysql -u root -p *로그인
select user,host from mysql.user; *등록된 사용자 확인
show databases; *데이터베이스 확인
drop database test; 불필요 데이터베이스 삭제
create database aaaaa; *데이터베이스와 계정의 이름이 aaaaa이라고 했을 때 데이터베이스와 계정을 생성
grant all privileges on aaaaa.* to aaaaa@localhost identified by '암호';
flush privileges;
show grants for aaaaa@localhost;
exit
【PHP 실행 및 환경 확인】 *명령프롬프트에서 다음
copy con C:\APMW\WebSites\aaaaa.co.kr\info.php
<?php phpinfo(); ?>^Z
브라우저에서 다음 주소
http://aaaaa.co.kr/info.php
'구축' 카테고리의 다른 글
| pfSense 여러 L3 스위치와 연동 (0) | 2026.08.25 |
|---|---|
| 원격(IDC 코로케이션) 백업서버구축 (0) | 2026.08.12 |
| 파일서버(네트워크 공유)구축하기 - FreeBSD13, Samba4 (12) | 2026.08.04 |
| Windows - MariaDB 설치 (0) | 2023.11.30 |
| Windows - PHP 설치 (0) | 2023.11.29 |