웹서버 DB 구축 - webseobeo DB guchug

이 글은 웹서버를 처음 구축하시는 분들을 위해 작성된 글입니다.

bitnami 또는, autoset 등을 통해 쉽게 웹서버 구축도 가능하지만, 향후 유지보수 및 관리가 쉽고, 스스로 구축하면서 웹서버 기초 개념도 학습하는 것이 이 글의 목적입니다.

이 글은 [웹서버] 윈도우 10 웹서버 구축하기_제2장_PHP 설치하기를 선행으로 요구하고 있습니다. 아직 PHP를 설치하지 않은 분은 해당 글을 보고 PHP를 먼저 설치하여 주시기 바랍니다.

이 글은 윈도우 10 에 APM를 설치하기 웹서버를 구축하는 방법을 설명합니다.

1. MYSQL 다운로드

MYSQL은 세계에서 가장 많이 사용되는 DB 프로그램입니다.

아래 주소에서 MYSQL를 다운로드합니다.

https://dev.mysql.com/downloads/mysql/

Windows (x86, 64-bit), ZIP Archive 를 다운로드 해줍니다.

웹서버 DB 구축 - webseobeo DB guchug

다운로드 버튼을 누르면 아래와 같은 페이지가 뜰텐데 당황하지 말고 로그인 하지 않고 No thanks, just start my download 를 눌러줍니다.

웹서버 DB 구축 - webseobeo DB guchug

2. MYSQL 압축해제

다운로드 받은 MYSQL ZIP 파일을 압축해제합니다. 본 글에서는 E 드라이브 최상위 폴더에 압축해제하도록 하겠습니다.

압축 해제 경로 : E:\
웹서버 DB 구축 - webseobeo DB guchug

저는 압축해제 한 후, 알기 쉽도록 폴더명을 아래와 같이 변경했습니다.

mysql-8.0.25-winx64 -> MySQL
웹서버 DB 구축 - webseobeo DB guchug

저는 압축해제 한 후, 알기 쉽도록 폴더명을 아래와 같이 변경했습니다.

3. MYSQL 설정값 변경

다음은 MYSQL 기본 설정값을 세팅해줘야 합니다.

MYSQL ZIP 파일에는 기본적으로 설정파일이 포함되어 있지 않으므로, 새로 생성해줘야합니다.

MYSQL 압축 해제한 공간에 my.ini 라는 파일을 만들고 메모장으로 다음과 같이 내용을 입력합니다.

E:\my.ini
[mysqld]

basedir=E:/MySQL

datadir=E:/Mysql/data

port=3306

웹서버 DB 구축 - webseobeo DB guchug

그 다음 다른이름으로 저장 버튼을 누르시고 파일 형식 및 인코딩을 다음과 같이 설정합니다.

웹서버 DB 구축 - webseobeo DB guchug

4. MYSQL system DB 생성

이제 MYSQL을 구동하기 위한 기본 DB를 생성해보도록 하겠습니다.

CMD를 관리자 권한으로 실행하고 아래 명령어를 순서대로 입력합니다.

E:
cd MySQL
cd bin
mysqld.exe --initialize
웹서버 DB 구축 - webseobeo DB guchug

위와 같이 실행이 완료되면 E:\MySQL 폴더 안에 data라는 폴더가 생성됩니다.

웹서버 DB 구축 - webseobeo DB guchug

E:\Mysql\data\PC이름.err 이라는 파일을 메모장으로 실행해줍니다.

웹서버 DB 구축 - webseobeo DB guchug

파일을 열어보면 최하단에 MYSQL root 계정의 임시 비밀번호가 생성되었다는 메세지를 확인할 수 있습니다.

웹서버 DB 구축 - webseobeo DB guchug

이제 해당 정보를 이용해 MYSQL에 접속해보도록 하겠습니다. (빨간색 박스 안의 비밀번호는 Ctrl +C로 복사 해줍니다.)

4.1 MYSQL 윈도우 서비스 등록

CMD를 관리자 권한으로 실행하고 아래 명령어를 순서대로 입력합니다.

E:
cd MySQL
cd bin
E:\Mysql\bin\mysqld.exe --install
net start mysql
웹서버 DB 구축 - webseobeo DB guchug

위와 같이 실행이 완료되면 MYSQL이 정상적으로 설치되고 서비스가 시작된 것입니다.

4.2 MYSQL 접속

CMD를 관리자 권한으로 실행하고 아래 명령어를 순서대로 입력합니다.

E:
cd MySQL
cd bin
mysql -u root -p
EiD4qxuy3;S# (아까 생성된 비밀번호를 복사, 붙여넣기 합니다.)
웹서버 DB 구축 - webseobeo DB guchug

위와 같이 실행되면 MYSQL 접속에 성공하신 겁니다.

4.2 MYSQL root 비밀번호 변경하기

현재는 임시로 생성된 root 비밀번호를 사용하여 MYSQL에 접속한 것이기 때문에 비밀번호를 변경하는 작업이 필요합니다.

MYSQL에 접속 후 명령어를 사용해 입력해 비밀번호를 변경합니다. (저는 1234로 변경했습니다.)

ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '변경할비밀번호';
웹서버 DB 구축 - webseobeo DB guchug

위와 같이 실행되면 MYSQL root 계정 비밀번호가 변경된 것입니다.

4.3 MYSQL DB 만들기

이제 MYSQL DB를 만들어 볼겁니다. 아래 명령어를 사용해 현재 DB를 확인해 봅시다.
(아래 명령어는 MYSQL에 접속한 후에 입력하시면 됩니다.)

show databases;
웹서버 DB 구축 - webseobeo DB guchug

현재 4개의 DB가 생성되어 있습니다. 아래 명령어를 사용하여 "test"라는 DB를 만들어보겠습니다.

create database test;
show databases;

웹서버 DB 구축 - webseobeo DB guchug

이번엔 아래 명령어를 사용해 "test"라는 DB를 삭제해보겠습니다.

drop database test;
show databases;
웹서버 DB 구축 - webseobeo DB guchug

test가 삭제된 것을 확인하실 수 있습니다.

이렇게 해서 MYSQL DB를 간단하게 알아보았습니다. 이제 계속해서 웹서버 구축을 진행하도록 하겠습니다.

5. MYSQL과 PHP 연동

php에서 MySQL에 접근하기 위해 php 설정파일(E:\PHP\php.ini-production)을 수정해줍니다.

설정파일에서 아래 문구를 찾아 맨 앞에 ; 를 삭제해 줍니다.

;extension=mysqli
;extension=pdo_mysql
웹서버 DB 구축 - webseobeo DB guchug

CMD를 관리자 권한으로 실행하고 아래 명령어를 사용해 Apache를 재시작 해줍니다.

E:
cd Apache24
cd bin
httpd -k restart

웹서버 DB 구축 - webseobeo DB guchug

이제 모든 설정이 끝났습니다. php가 MySQL과 제대로 연동이 되었는지 확인해보겠습니다.

5.1 MYSQL과 PHP 연동 테스트

Apache htdocs 폴더 안에 mysqltest.php 라는 파일을 만들고 메모장으로 편집합니다.(파일 형식은 UTF-8로 저장해 줍니다.)

  • E:\Apache24\htdocs\mysqltest.php
 <?php
    $user = "root";
    $pass = "MYSQL 비밀번호";
    $host = "localhost";
    $dbdb = "mysql";

    $conn = new mysqli($host, $user, $pass, $dbdb);
   if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

echo "It works, Connected successfully";

?>

3번 째 줄의 MYSQL 비밀번호만 자신이 설정한 비밀번호로 변경합니다. 저는 아래 그림과 같이 설정했습니다.

웹서버 DB 구축 - webseobeo DB guchug

 이제 웹 브라우저로 아래 주소에 접속합니다.

http://localhost/mysqltest.php

아래 그림과 같이 성공했다는 메세지가 나오면 MYSQL 설치가 성공한 것입니다.

이렇게 윈도우 10에 APM을 설치해서 웹서버를 구축해 보았습니다.

웹 서버로써 제대로 된 역할을 하려면 다른 PC에서 접속을 할 수 있어야 겠죠?

다음 시간에는 [웹서버] 윈도우 10 웹서버 구축하기_제4장_내 웹서버에 접속하기로 돌아오겠습니다.