server

[Server] 로컬에 APM 설치하기

설기똥꼬 2022. 9. 27. 00:03

오늘은 기존 컴퓨터 운영체제 (Window)에 맞는 Apache, Php, Mysql 각각 설치하는 과정을 글로 담아보려 한다. 

 

우선 Apache, Php, Mysql 이란?

Apache: 웹 서버

Php: 프로그래밍 언어

Mysql: 데이터베이스

 

‼️ 설치 먼저 ‼️

 

1) Visual C++ 재배포 가능 패키지 설치

https://www.microsoft.com/ko-KR/download/details.aspx?id=48145

 

Download Visual Studio 2015용 Visual C++ 재배포 가능 패키지 from Official Microsoft Download Center

중요! 아래에서 언어를 선택하면 전체 페이지 내용이 해당 언어로 신속하게 변경됩니다. 독일어러시아어스페인어영어이탈리아어일본어중국어(간체)중국어(번체)체코어터키어포르투갈어(브라

www.microsoft.com

요 페이지에서 다운 가능!

 

2) Apache 설치하기

https://www.apachelounge.com/download/

 

Apache VS16 binaries and modules download

 

www.apachelounge.com

요 페이지에서 각자 컴퓨터 사양 맞게 설치하기!

3) Php 설치하기

https://windows.php.net/download/

 

PHP For Windows: Binaries and sources Releases

PHP 8.1 (8.1.10) Download source code [25.35MB] Download tests package (phpt) [15.12MB] VS16 x64 Non Thread Safe (2022-Aug-30 18:46:44) Zip [29.24MB] sha256: 7cd98bd52d14415fe893c5a92165a1919a478e9edc08d9606426ddc0c7cbd3a0 Debug Pack [23.83MB] sha256: 54ec

windows.php.net

여기서 php 버전 7 다운로드해야 함.

22.09.16 기준 최신 버전 8로 다운하니까 나중에 연결할 때 호환이 안돼서 ,,,, 애먹음

버전 7로 꼭!

 

1. 우선 C 드라이브에 압축해제 해준다

Apache는 Apache24 폴더에,

Php는 php 폴더에,

Mysql은 mysql-8.0.30-win64에 압축 해제 해주었다

 

2. Apache24\conf 폴더에서 httpd.conf 파일을 수정해준다

 

# line 37
자신에게 맞는 설치 경로로 변경
ex) Define SRVROOT "C:/Apache24"

# line 59
웹 서버는 12.34.56.78와 같은 주소를 갖고 있다. 
뒤에 80이 포트번호로, 웹문서를 주고 받기 위한 규약이 80!
Listen 80으로 변경해준다.
ex) Listen 80

# line 218
웹서버를 관리하는 관리자의 이메일 주소를 자신의 이메일로 수정
ex) ServerAdmin asdf@naver.com

# line 227
서버 도메인이 없기에 임시로 localhost로 대체
ex) ServerName localhost:80

 

3. 명령 프롬프트를 **관리자 권한**으로 실행해준다!

실행한 다음, 다음과 같은 명령어 내려준다.

cd /Apache24
cd bin
httpd -k install

 

4. 작업관리자 > 서비스에서 Apache 2.4를 실행하고 localhost를 입력해주면!

(실행하고 실행 중이라 떠야 구동 가능)

 

Apache 실행 완료!

참고로 It Works!가 쓰여져 있는 파일은 Apache24 폴더 내 htdocs 안에 index.html이다

 

5. 압축 받은 Php를 원하는 드라이브에 압축 해제한다.

그리고 파일들 중 php.ini-development 파일을 php.ini로 변경해서 수정!

이때 확장자명 제대로 확인해야 함.

php.ini.txt 이렇게 텍스트로 저장될 수 있어서.. 

계속 이랬어서 오류 났다

# line 752
ex) extension_dir = "C:/php/ext"
로 수정

 

6. httpd.conf 수정

C:/apache24/conf의 httpd.conf 열고 다음과 같이 수정한다.

# line 288
DirectoryIndex 다음에 index.php 추가

# 파일 맨 마지막
PHPIniDir “C:/APM/php”
LoadModule php7_module “C:/APM/php/php7apache2_4.dll”
AddType application/x-httpd-php .html .php
AddHandler application/x-httpd-php .php

 

7. 저장 후 Apache 서비스 재시작

명령프롬프트 관리자 권한으로 실행 후 apache 서버 재시작한다.

명령은 httpd -k restart

 

8. php 실행 테스트

php 인터프리터가 제대로 동작하는지 확인하기 위해 웹문서 공간에 php 파일을 작성한다

# 웹문서 저장공간 주소 => C:/Apache24/htdocs에 php파일 작성
<?php
	phpinfo();
?>

 

완료!

 

9. Mysql 구축

Path 환경변수 추가해준다

실행 (Win키 + r) -> SystemPropertiesAdvanced -> 환경변수 (N)

시스템 변수 -> Path 아래 줄에 추가

C:\mysql-8.0.30-winx64/bin

 

 

10. 메모장으로 C:\mysql-8.0.30-winx64\ (Mysql 루트 디렉토리)에 my.ini 파일 생성

파일 생성 후 아래 내용 작성하기

[mysqld]

# set basedir to your installation path
basedir=C:/APM/mysql

#set datadir to the location of your data directory
datadir=C:/APM/mysql/data

port=3306

 

11. C:\mysql-8.0.30-winx64 (Mysql 루트 디렉토리)에 data 디렉토리 생성

 

12. Mysql 구동을 위해 System DB 생성하기

명령 프롬프트 관리자 권한으로 실행한다

mysqld --initialize

 

13. 자동 생성된 임시 root 비밀번호 취득한다

1) C:\mysql-8.0.30-winx64\data에 생성된 (어쩌구).err 파일 열기

2) '[Note] A temporary password is generated for root@localhost: '다음에 나온 비밀번호가 root 비밀번호'

 

14. Mysql 서비스 등록

mysqld.exe를 실행하는데 이번에는 절대경로를 적어서 실행해야한다.

1) 관리자 권한 명령프롬프트 -> C:\mysql-8.0.30-winx64\bin\mysqld.exe --install

2) net start mysql 실행

3) services.msc 실행, MySQL 서비스 '실행 중' 상태면 성공이다!

 

15. Mysql 로그인해 root 비밀번호 변경

1) mysql -u root -p 실행

2) 위에서 얻은 root 비밀번호 입력

3) 다음 쿼리문 실행 (밑줄은 바꾸고자 하는 root 비밀번호 입려)

ALTER USER 'root'@'localhost' IDENTIFIED BY '비밀번호';

 

15. Mysql 테스트

1. 현재 DB 확인
show databases;

2. 새로운 DB 생성
create database seolki;

3. 생성된 DB 확인
show databases;

 

DB 테이블 생성 확인!

 

16. php.ini에서 mysql 관련 extension dll 사용 활성화

1. C:/php/php.ini 수정

2. Dynamic Extensions 항목 찾기

3. 다음 항목을 찾아 주석 해제 후 저장
;extension = mysqli
;extension = pdo_mysql

4. 관리자 권한 명령프롬프트 -> httpd -k start

 

17. APM 전체 연동 테스트

1)  document root (C:/Apache24/htdocs)에 아래와 같이 mysqltest.php 작성

<?php
    echo "Mysql connection test<br />";
    $db = mysqli_connect("localhost", "root", "<password>", "test");
    if($db) {
        echo "connect success<br />";
    } else {
        echo "connect failed<br />";
    }
    $result = mysqli_query($db, 'SELECT VERSION() as VERSION');
    $data = mysqli_fetch_assoc($result);
    echo $data['VERSION'];
?>

2) 웹브라우저 주소창에 localhost/mysqltest.php 입력하여 접속

위와 같이 나온다면 정상 작동하는 것이다!