본문 바로가기
Apache

윈도우서버 apache2.4+php5.6+mysql 5.6설치

by 씨엔아이소프트 2023. 6. 14.
반응형

===================================================
윈도우용 Apache 2.4.X 와 PHP 5.6.X 설치 하기
===================================================
* mysql 5.6은 다른서버에 독립설치

ㅇ 중요!!! 먼저 Visual Studio 2012 업데이트 4용 Visual C++ 재배포 가능 패키지 설치해야함
    - https://www.microsoft.com/ko-KR/download/details.aspx?id=30679 
    - VSU4\vcredist_x64.exe 선택 다운로드


-------------------------------------- 
ㅇ Apache2.4.x 설치
--------------------------------------
http://www.apachelounge.com/download/
- httpd-2.4.57-win64-VS17.zip 다운로드
https://www.apachelounge.com/download/VS17/binaries/httpd-2.4.57-win64-VS17.zip


C:\ 에 압축풀고 C:\Apache24 이름 변경 

윈도우 서비스에 설치
cd C:\Apache24\bin 이동
httpd.exe -k install  설치완료

오류 메세지 비슷한게 나올껍니다. 그냥 무시하셔도 됩니다.
서버네임이 없어서 그런 오류가 생기는 것인데.
C:\Apache24\conf\httpd.conf 파일을 열어서
#ServerNamewww.example.com:80#을 제거

* 어디서나 가능하게 윈도우 시스템 고급 환경 Path 에 c:\Apache24\bin 추가

* 윈도우 서버 홈페이지 폴더 권한설정
 - E:\web 폴더속성에서 특성 ▣읽기전용(폴더의 파일에남 적용)(R) 해제 후 적용 (서브폴더까지 적용)
 - 사용자속성은 설정하지 않아도됨

* httpd.conf 설정

# 디렉토리 접근허용설정
<Directory "E:/web/htdocs/*">
    AllowOverride All
    Require all granted
</Directory>

MPM 설정파일 주석해제
# Server-pool management (MPM specific) 
Include conf/extra/httpd-mpm.conf

vhost 설정파일 주석해제
# Virtual hosts
Include conf/extra/httpd-vhosts.conf

ssl 설정파일 주석해제
# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf

#PHP설정
PHPIniDir "C:/php56"
LoadModule php5_module "C:/php56/php5apache2_4.dll"



--------------------------------------
ㅇ PHP 5.6 설치
--------------------------------------

다운로드 php-5.6.40-Win32-VC11-x64.zip
 https://windows.php.net/downloads/releases/archives/ 
https://windows.php.net/downloads/releases/archives/php-5.6.40-Win32-VC11-x64.zip

- C:\에 압축을풀고  php56으로 이름변경
- C:\php56

ㅇ Apache 연동 설정
"C:\Apache24\conf" 폴더에 있는 "httpd.conf" 파일 편집

PHPIniDir "C:\php56\"
LoadModule php5_module "C:\php56\php5apache2_4.dll"

php 타입,핸들러 추가
AddType application/x-httpd-php .php .html
AddHandler application/x-httpd-php .php .html

phpinfo.php 파일 만들고, Apache재시작
phpinfo php 설치 확인

This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

httpd.conf 수정
<IfModule dir_module>
DirectoryIndex index.php index.html index.htm
</IfModule>


ㅇ php.ini 설정

- php.ini-production 파일을 php.ini 로 복사

short_open_tag = On 
memory_limit = 512M
post_max_size = 50M
; extension_dir = "./"
extension_dir = "C:/php56/ext"
upload_max_filesize = 50M
allow_url_fopen = Off

* 필요한 dll 주석해제
;extension=php_bz2.dll
extension=php_curl.dll
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_mbstring.dll
extension=php_exif.dll      ; Must be after mbstring as it depends on it
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_openssl.dll
extension=php_pdo_mysql.dll

date.timezone =Asia/seoul

* opcache설정

opcache.enable                  = 1
opcache.enable_cli              = 1
opcache.memory_consumption      = 256 // 캐시 메모리 크기
opcache.max_accelerated_files   = 12000 // 파일 키 갯수
opcache.max_wasted_percentage   = 10 // 만료된 캐시 저장 공간 비율
opcache.interned_strings_buffer = 16 // 문자열 버퍼 크기 (MB)
opcache.validate_timestamps     = 1 // 파일과 캐시 변경점 체크 여부 (0=off, 1=on)
opcache.revalidate_freq         = 60 // 변경점 체크 시간 (초)

 OPcache 리소스를 모니터링 할수 있는 Opcache Control Panel

 

wget https://gist.githubusercontent.com/ck-on/4959032/raw/ad6362bff017f3c59c96ab395e3308ed52650cab/ocp.php



ㅇ ZendGuardLoader 설치
다운로드
https://www.zend.com/downloads/zend-guard-loader
Zend Guard Loader - Windows 32-bit - 7.0.0 (PHP 5.6) 선택 다운로드
 * 다운로드 하려면 국가, 이메일 등 입력해야함. 대충 입력해도됨
- 압축파일해제 후 C:\php56\ext 폴더에 파일복사


php.ini 하단에 추가

; End:
zend_loader.enable=1
zend_loader.disable_licensing=0
zend_loader.obfuscation_level_support=3
zend_extension=c:/php56/ext/ZendLoader.dll
zend_extension=c:/php56/ext/php_opcache.dll


--------------------------------------
ㅇ SSL 설치 
--------------------------------------
1. httpd.conf 의 mod_ssl 모듈 Load // 주석 제거
LoadModule ssl_module modules/mod_ssl.so

2. httpd-ssl.conf 주석제거
Include extra/httpd-ssl.conf

3. httpd-ssl.conf 파일 VirtualHost설정
Listen 443
<VirtualHost *:443>
DocumentRoot "C:\Apache24\htdocs"
ServerNamewww.mydomain.co.kr:443
ServerAlias  mydomain.co.kr:443

#SSL 환경설정
SSLEngine on
SSLProtocol –All +TLSv1.2 +TLSv1.3
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCMSHA384:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSAAES256-GCM-SHA384

</VirtualHost>


*  SSLPassPhraseDialog builtin is not supported on Win32 오류 해결방법
원인 : SSL key 파일이 Win32를 지원하지 않음 오류
대책 : Apache24/bin 에 openssl 로 key 를 다시 생성함
- openssl rsa -in 원본파일priv_key.pem -out 새로운키priv_key_new.pem
- 인증서패스워드 입력
Apache 재시작
httpd -k restart

* 트레이에 Apache 모니터 나오게
Apache24/bin/ApacheMonitor.exe 실행


--------------------------------------
 MySQL 5.6 수동으로 설치
--------------------------------------
 https://dev.mysql.com/downloads/mysql/
mysql-5.6.51-winx64.zip 다운로드

    C:\에 압축풀고 이름변경 c:\mysql56

* c:\mysql56 폴더에 my-default.ini 파일을 my.ini 로 저장 

* 윈도우 시스템 고급설정 환경변수 Path 추가
C:\mysql56\bin

* mysql 시작
  - 관리자 cmd 창 뛰움
  - net start mysql
* mysql 서비스 등록
  mysqld --install
  
* mysql 서비스 시작
- 관리자 cmd 창 뛰움
- net start mysql
* 중지 : net stop mysql

* mysql root 패스워드 설정
mysql -u root -p mysql
update user set password=password('패스워드') where user='root';
flush privileges;
quit;

* mysql 관리툴 Mysql workbench 설치하여 관리

    * 윈도우 mysql root 패스워드 초기화
 https://cnisoft.tistory.com/192
  

반응형

댓글