Win12 가상머신 만들기

만들기 - Azure 가상 머신

리소스 그룹 - 'rg-test' 이름으로 새로 만든다.
가용성 옵션 - 가용성 영역 - zone1 으로 설정한다.
이미지 - [smalldisk] Win12 Gen2
인바운드 포트 선택 - HTTP, RDP

가상 머신에서 이용되는 디스크를 업로드 할 수 있다. - 호환성
[새 디스크 만들기 및 연결] 클릭


[크기 변경] - 8G로 만든다.
암호화 형식 - 데이터 암호화 <= 데이터 도청 방지할 수 있다.

디스크가 생성된다.
서브넷 - default로 24비트, 크게 중요하지 않다
공용 IP - IP 복사-붙여넣기 할 필요 없음, Azure에서 미리 세팅된 별칭의 이름이 붙어 있다(webserver-ip)
바로 [검토 + 만들기] 클릭

MariaDB 서버 만들기

mariadb 검색

[만들기] 클릭

리소스 그룹 - rg-test 선택
서버 이름 - 중복 검사를 하기 때문에 할튼 어렵게 지어야 한다
위치 - Korea Central(South 아님)
컴퓨팅 + 스토리지 - [서버 구성] 클릭

컴퓨팅 계층 - 기본
vCore - 1개
스토리지 크기 - 5G
* 용어
Scale Up - VM의 용량이 늘어남
Scale Out - VM의 개수가 늘어남. 5G의 VM이 n개

[만들기] 클릭한다.
원격 데스크톱 연결하기

윈도우에서 [원격 데스크톱 연결]
가상 머신 webserver의 공용 IP를 입력한다


Computer Management 클릭
(내 컴퓨터 - 관리 와 같음)

우측 [Disk Management] 클릭 - Initialize Disk가 뜬다.
그대로 OK를 누른다.
-> 이 작업을 하지 않으면 이전에 추가한 디스크가 나타나지 않는다.

Attach는 됐지만, 내 컴퓨터에서 나타나지 않는다.


Unallocated 상태인 것을 확인할 수 있다.( 포멧, mount되지 않은 것)
오른쪽 마우스 - New Simple Volume 클릭





기본 설정대로 저장한 뒤 - Finish 한다.



Baltimore, wordpress.zip, WebplatformInstaller를 F디스크에 복사 - 붙여넣기 한다.

wordpress.zip 은 Extract 한다.
IIS(Internet Information Service) 설치하기

Server Manager (작업표시줄 서류가방) 아이콘 클릭 - Manage - Add Roles and Features 클릭





Server Roles - Web Server(IIS)를 클릭하면 - 우측 창이 뜬다.
[Add features] 클릭한다.




나머지 다 기본값으로 설정 뒤 [Install] 클릭한다.

설치가 끝나면 [Close]를 눌러 창을 닫아준다.


WebPlatformInstaller를 설치한다.

Server Manager (작업표시줄 서류가방) 아이콘 클릭 - Tools - Internet Information Service(IIS) Manager 클릭

이미 Webserver Platform이 설치되어 있기 때문에 No를 클릭한다.

Web Platform Installer 아이콘을 클릭한다.

php 검색 - PHP 7.4.13 을 [Add]한 뒤 하단의 [Install] 버튼 클릭한다.


* LAMP
Linux / Apache / Mysql / Php
현재 Win12의
Windows/ IIS/ Mariadb / Php
와 상응한다.
Wordpress 설치하기


아까 압축 해제했던 wordpress.zip 내의 파일을 C:/inetpub/wwwroot 로 옮긴다.
기존에 있던 iis-85, iisstart는 지워준다.

BaltimoreCyterTrustRoot.crt.pem 파일을 복사 - wwwroot에 붙여넣기 한다.


wwwroot 폴더 오른쪽 마우스 클릭 - properties 클릭
[Security] 탭에서 [Edit] 버튼을 누른다.


Users(webserver\Users)와 IIS_IUSRS(webserver\IIS_IUSRS)의 Permissions를 Allow로 수정한 뒤 - Apply를 누르고 - OK버튼을 누른다.
Moba Xterm으로 접속하기 위해 ssh Key 만들기

moba xterm에 들어간다
Settings - Configuration

Downloads 폴더 안에 새로운 폴더를 만든 뒤 home directory로 설정한다. - 강제 종료 후 자동으로 재시작하게 된다.
가운데 start local terminal를 클릭한다.

기본 디렉터리에 변경 사항이 없으면 그냥 엔터 누른다.
passphrase도 지정하지 않는다.


id_rsa파일을 id_rsa.pem 파일로 이름을 변경한다.(편의상 pub키와 구분하기 위해)

그 다음 home directory에 Baltimore.pem 파일을 옮겨 둔다.


마리아DB의 IP가 보안상의 이유로 출발지 IP를 제한하고 있다.
하지만 azure에서는 [클라이언트 IP 추가] 를 통해 하나의 IP를 세팅할 수 있다.
그래서 이 아이피에 한해서는 접속이 가능하도록 하고 있다. (원래는 오로지 마리아DB의 IP로만 접속할 수 있음.)
현재 구역 내에서만 접속 가능, 컴퓨터의 인터넷 연결 장소를 옮기면 안됨- 출발지 IP가 달라졌기 때문에
=> 이를 세팅하지 않으면 우리가 만든 DB서버에 접속할 수 없다.

[클라이언트 IP 추가] 버튼을 추가해서 내 컴퓨터 IP에서 접속할 수 있도록 한다
꼭 좌측의 [저장] 버튼을 눌러야 적용된다.


-h : host, DB호스트
DB호스트의 주소는?
아까 저장했던 DB 서버 호스트를 우측에 입력한다.
mysql -h shchoi2022.mariadb.database.azure.com -u azureuser@shchoi2022 -p --ssl-ca=BaltimoreCyberTrustRoot.crt.pem
-u : user
-ca : certificate authentication (보안 인증서)

CREATE USER 'wpuser'@'%' IDENTIFIED BY 'wppass';
CREATE DATABASE IF NOT EXISTS wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'%';
quit

wordpress DB를 만든다.
Win12로 다시 돌아간 뒤, wwwroot 디렉터리에서 wp-config-sample.php의 복사본을 만든다.
그 다음 복사본의 이름을 wp-config.php로 변경한다.

wp-config.php파일을 open - Notepad로 연다
* Azure의 DB 서버는 @뒤에 서브도메인의 이름이 온다.
database_name_here => wordpress
username_here => wpuser@shchoi2022
password_here => wppass
localhost => shchoi2022.mariadb.database.azure.com
로 replace 한다.

(띄어쓰기가 추가되지 않도록 주의한다)
바로 아랫줄에
//** Connect with SSL** //
define('MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL);
//** SSL CERT **//
define('MYSQL_SSL_CERT','BaltimoreCyberTrustRoot.crt.pem');
를 추가한다.
- SSL과 연결한다.
- 현재 경로에 pem파일(key)가 있다.


다시 Win12의 IIS Manager로 가서
우측의 [Manage Website] - [Restart]를 클릭한다.
후 webserver의 Public IP로 접속하면

오류가 난다.

이는 현재 로컬의 IP만 클라이언트 IP로 추가했기 때문이다.
webserver의 IP도 클라이언트 IP로 추가하여, webserver에서도 DB에 접근할 수 있도록 한다.
저장 후 다시 public IP로 접속해본다.


'Cloud > Azure' 카테고리의 다른 글
| Azure 실습 2 (0) | 2022.06.03 |
|---|---|
| Azure 시작하기 (0) | 2022.06.02 |