SoftSquared/๊ฐœ๋ฐœ์ผ์ง€

[Soft Squared] ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ผ์ง€ 2์ฃผ์ฐจ

Seok_IN 2021. 9. 21. 10:37

๐Ÿ“– 2์ฃผ์ฐจ ๊ฐ•์˜๋‚ด์šฉ(2021.09.10)

๐Ÿ”ท ๋งŽ์ด ๋‹ค๋ฃจ๋Š” Linux ๋ช…๋ น์–ด

โ—ผ Sudo : ๋ช…๋ น์–ด ์•ž์— ์“ฐ๋ฉด ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.

โ—ผ Sudo su : ๊ด€๋ฆฌ์ž๋กœ ์ „ํ™˜

โœ” Sudo VS Sudo su : ์„œ๋ฒ„๋ฅผ ์šด์˜ํ•  ๋•Œ 1๋ช…์ด๋ฉด ์ƒ๊ด€์ด ์—†์ง€๋งŒ ์—ฌ๋Ÿฌ๋ช…์ด์„œ ์‚ฌ์šฉํ•  ๋•Œ๋Š” Sudo su๋ฅผ ์“ฐ๊ฒŒ๋˜๋ฉด ๋…ธ์ถœ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ Sudo๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

โ—ผ Cd(Change Directory) : ๊ฒฝ๋กœ๋ฅผ ๋ฐ”๊พผ๋‹ค.

โ—ผ mkdir(Make Directory) : ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ ๋‹ค.

โ—ผ Wget(Webget) : ์›น์—์„œ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ํ•œ๋‹ค.

โ—ผ Cmake : C์–ธ์–ด๋กœ ๋งŒ๋“  ์†Œ์Šค๋ฅผ make ํ•œ๋‹ค.

โ—ผ make : make ํŒŒ์ผ์„ ์ปดํŒŒ์ผํ•œ๋‹ค.

โœ” ์ปดํŒŒ์ผ๋Ÿฌ(Compiler) : '๋ฒˆ์—ญ๊ธฐ'๋ผ๋Š” ๋œป์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๊ธฐ๊ณ„์–ด๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

โ—ผ ps(Process Status) : ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.

โ—ผ netstat : ๋„คํŠธ์›Œํฌ ์ƒํƒœ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.(๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ์ƒํƒœ, ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”, ์ธํ„ฐํŽ˜์ด์Šค ์ƒํƒœ)

โœ” ๋ผ์šฐํŒ… : ํŒจํ‚ท์˜ ์ „์†ก ๊ฒฝ๋กœ๋ฅผ ์ง€์ •

โ—ผ cp(Copy) : ๋ณต์‚ฌํ•œ๋‹ค

 

๐Ÿ”ท URL ,DNS

โ—ผURL(Uniform Resource Locator)  : ๋„คํŠธ์›Œํฌ์—์„œ ํ•ด๋‹น ์ •๋ณด ์ž์›์˜ ์ข…๋ฅ˜,์œ„์น˜๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ  ์žˆ๋‹ค.

URL - ์ถœ์ฒ˜ : naver ์ง€์‹๋ฐฑ๊ณผ

โœ” URI, URL, URN

  • URI(Uniform Resource Identifier) : ์ธํ„ฐ๋„ท์— ์žˆ๋Š” ์ž์›์„ ๋‚˜ํƒ€๋‚ด๋Š” ์œ ์ผํ•œ ์ฃผ์†Œ(์‹ค์ œ ์ฃผ์†Œ)
  • URL(Uniform Resource Locator) : ๋„คํŠธ์›Œํฌ ์ƒ์— ์ž์›์˜ ์œ„์น˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
  • URN(Unifro Resource Name) : URL ์—์„œ http๋ฅผ ๋บ€ ๋ถ€๋ถ„์œผ๋กœ ๋„คํŠธ์›Œํฌ ์ƒ ์ž์›์˜ ์ด๋ฆ„์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

 โ—ผDNS(Domain Name Server)  : ๋„คํŠธ์›Œํฌ์—์„œ ๋„๋ฉ”์ธ์ด๋‚˜ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์„ ์ˆซ์ž๋กœ ๋œ IP ์ฃผ์†Œ๋กœ ํ•ด์„ํ•ด์ฃผ๋Š” TCP/IP ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค๋กœ ์˜ˆ๋ฅผ ๋“ค์–ด www.naver.com์ด๋ผ๋Š” ๋„๋ฉ”์ธ(Domain)์„ ์ž…๋ ฅํ•˜๊ฒŒ ๋˜๋ฉด ์œ„ ๋„๋ฉ”์ธ๊ณผ Mapping ๋˜๋Š” IP์ฃผ์†Œ๋ฅผ ์ฐพ์•„์ค€๋‹ค.

 

#Domain : IP ์ฃผ์†Œ์˜ ๋ณ„๋ช…. IP์ฃผ์†Œ๋ฅผ ์•Œ๊ธฐ ์‰ฌ์šด ์˜๋ฌธ์œผ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ์„ ๋งํ•œ๋‹ค.

 

๐Ÿ”ท ํ”„๋กœํ† ์ฝœ

ํ†ต์‹  ์‹œ์Šคํ…œ์ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ํ†ต์‹  ๊ทœ์น™์ด๋‹ค.

 

โ—ผ http : ์›น ์„œ๋ฒ„์™€ ์‚ฌ์šฉ์ž์˜ ์ธํ„ฐ๋„ท ๋ธŒ๋ผ์šฐ์ € ์‚ฌ์ด์— ๋ฌธ์„œ๋ฅผ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํ†ต์‹  ๊ทœ์•ฝ

  โ—ป Client, Server ๋Š” ์„œ๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ์ผ์„ ํ•œ๋‹ค.

  โ—ป ๋ฌด์ƒํƒœ ํ”„๋กœํ† ์ฝœ์ด๋‹ค.(Client์˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š์Œ.)

  โ—ป ๋น„์—ฐ๊ฒฐ์„ฑ์ด๋‹ค.(ํ•œ๋ฒˆ ์—ฐ๊ฒฐํ•˜๋ฉด ๋Š์Œ) → ์‘๋‹ต์†๋„ ๋น ๋ฆ„

โ—ผ https : HTTP์˜ ๋ณด์•ˆ์ด ๊ฐ•ํ™”๋œ ๋ฒ„์ „

โ—ผ ftp : ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ๋กœ ํŒŒ์ผ์„ ์ „์†กํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋ฐฉ๋ฒ•

โ—ผ sftp : ssh๋ฅผ ์ด์šฉํ•œ ํŒŒ์ผ์ „์†ก ํ”„๋กœํ† ์ฝœ๋กœ ํŒŒ์ผ์„ ์•”ํ˜ธํ™”ํ•˜์—ฌ SSH๋ฅผ ํ†ตํ•ด ์ „์†กํ•œ๋‹ค.

ํ”„๋กœํ† ์ฝœ ํฌํŠธ๋ฒˆํ˜ธ
HTTP 80
HTTPS 443
FTP 21
SFTP 22

 

#Port : Port ๋ฒˆํ˜ธ๋Š” ๋ฌธ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, Port ๋ฒˆํ˜ธ์— ๋”ฐ๋ผ์„œ ๋“ค์–ด๊ฐ€๋Š” ๋ฌธ์ด ๋‹ค๋ฅด๊ฒŒ ๋œ๋‹ค. ํ”„๋กœํ† ์ฝœ 1๊ฐœ๋‹น ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ 1๊ฐœ์”ฉ ์ž„์˜๋กœ ๋ถ€์—ฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ค‘๋ณต๋œ ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ ๋ถ€์—ฌํ•  ์ˆ˜๋Š” ์—†๋‹ค.

 

๐Ÿ”ท ์ธ๋ฐ”์šด๋“œ, ์•„์›ƒ๋ฐ”์šด๋“œ ๊ทœ์น™

Port ์— ์ ‘๊ทผํ•  ๋•Œ ๋ˆ„๊ตฐ๊ฐ€๋Š” ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ณ  ๋ˆ„๊ตฐ๊ฐ€๋Š” ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋„๋ก ํ•˜๋Š” ๊ถŒํ•œ์ด ํ•„์š”ํ•˜๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™๊ณผ ์•„์›ƒ๋ฐ”์šด๋“œ ๊ทœ์น™์ด ์žˆ๋‹ค.

 

โ—ผ ์ธ๋ฐ”์šด๋“œ

- ์„œ๋ฒ„ ๋‚ด๋ถ€๋กœ ๋“ค์–ด์˜ค๋Š” ๊ฒƒ

- ํด๋ผ์ด์–ธํŠธ → ์„œ๋ฒ„- ํด๋ผ์ด์–ธํŠธ์—์„œ ์—…๋กœ๋“œ๋ฅผ ํ•  ๋•Œ- Windows ๋ฐฉํ™”๋ฒฝ ๊ธฐ๋ณธ ์„ค์ • : ๋ชจ๋“  ์ ‘์† ์ฐจ๋‹จ

 

โ—ผ ์•„์›ƒ๋ฐ”์šด๋“œ

- ์„œ๋ฒ„์—์„œ ๋ฐ”๊นฅ์œผ๋กœ ๋‚˜๊ฐ€๋Š” ๊ฒƒ

- ์„œ๋ฒ„ → ํด๋ผ์ด์–ธํŠธ

- ํด๋ผ์ด์–ธํŠธ์—์„œ ๋‹ค์šด๋กœ๋“œ ํ•  ๋•Œ

- Windows ๋ฐฉํ™”๋ฒฝ ๊ธฐ๋ณธ ์„ค์ • : ๋ชจ๋“  ์ ‘์† ํ—ˆ์šฉ

 

#Daemon Process : Background ํ”„๋กœ์„ธ์Šค์˜ ์ผ์ข…์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ๊ณ„์† ์ƒ์ฃผํ•˜์—ฌ

 ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. (Ex. mysqld, httpd)

 

โ—ผ Background Process VS ForeGround Process

  โ—ป Background Process : ์‚ฌ์šฉ์ž ์ž…๋ ฅ๊ณผ ์ƒ๊ด€์—†์ด ์‹คํ–‰๋˜๋Š”ํ”„๋กœ์„ธ์Šค

  โ—ป Foreground Process : ์‰˜์—์„œ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค ์‹คํ–‰์„ ๋ช…๋ นํ•œ ํ›„, ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค ์ˆ˜ํ–‰ ์ข…๋ฃŒ๊นŒ์ง€ ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅธ ์ž…๋ ฅ์„ ํ•˜์ง€ ๋ชปํ•˜๋„๋ก ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค

๐Ÿ”ท ํฌํŠธํฌ์›Œ๋”ฉ(Port Forwarding)

๊ฐ๊ฐ์˜ ์„œ๋ฒ„์— ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ๋ถ€์—ฌํ•˜์—ฌ ์ ‘์† ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•จ

Q. ์™ธ๋ถ€์—์„œ PC 1์— ์ ‘์†ํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์–ด๋–ป๊ฒŒ ์ ‘์†ํ•  ์ˆ˜ ์žˆ์„๊นŒ?

 

A. ์™ธ๋ถ€ IP(๊ณต์œ ๊ธฐ IP 123)์— + ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋‹ค.


๐Ÿ“š2์ฃผ์ฐจ ๊ณผ์ œ

๐Ÿ“ŒLocal ์„œ๋ฒ„ ๊ตฌ์ถ•/ Window/Mac OS + Apache PHP MySQL (Bitnami)

- ์™ธ๋ถ€์—์„œ ์ ‘์†ํ•˜๊ธฐ : phpinfo ๋„์šฐ๊ธฐ (by ํฌํŠธํฌ์›Œ๋”ฉ)

 

๐Ÿ“Œ AWS ์„œ๋ฒ„ ๊ตฌ์ถ•/ Linux + Nginx PHP MySQL

- ์™ธ๋ถ€์—์„œ ์ ‘์†ํ•˜๊ธฐ : phpinfo ๋„์šฐ๊ธฐ

- MySQL ์™ธ๋ถ€์—์„œ ์ ‘์†ํ•˜๊ธฐ

- phpMyAdmin ์„ค์น˜

- Domain ์ ์šฉ (๊ฐ€๋น„์•„, ํ›„์ด์ฆˆ ๊ตฌ์ž…)

- HTTPS ์ ์šฉ (let's encrypt)

- Sub Domain ์ ์šฉ (Dev, Prod)

- Redirection ์ ์šฉ (IP to Domain)

 

๐Ÿ”ท 2021.09.15

  โ—ผ Local ์„œ๋ฒ„ ๊ตฌ์ถ• ๋ฐ ์™ธ๋ถ€ ์ ‘์†ํ•˜๊ธฐ

1. Bitnami ์„ค์น˜

Bitnami ์„ค์น˜ ํ›„ ๋‚˜์˜ IP๋กœ ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ํ™”๋ฉด์ด ๋‚˜์˜จ๋‹ค.

(IP ํ™•์ธ ๋ฐฉ๋ฒ•  :  ์‹คํ–‰ → cmd → ipconfig)

2. phpinfo.php ๋งŒ๋“ค๊ธฐ

bitnami ๊ฐ€ ์„ค์น˜๋˜์–ด์žˆ๋Š” ๊ฒฝ๋กœ๋กœ ๊ฐ€์„œ apache2 → htdocs ๋กœ ๋“ค์–ด๊ฐ„ํ›„ phpinfo ๋ฅผ text ํŒŒ์ผ๋กœ ์ƒ์„ฑ์„ ํ•œ ํ›„ ํ™•์žฅ์ž ๋ณ€๊ฒฝ์„ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

 

- phpinfo.php ํŒŒ์ผ ๋งŒ๋“ค๊ธฐ

<?php
phpinfo();
?>

์œ„ ์ฝ”๋“œ๋ฅผ ํ…์ŠคํŠธ ํŒŒ์ผ๋กœ ์ €์žฅ ํ›„ ํ™•์žฅ์ž๋ฅผ ๋ณ€๊ฒฝํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

 

- ํ™•์žฅ์ž ๋ณ€๊ฒฝ๋ฒ•

๋ณด๊ธฐ → ์˜ต์…˜ → ๋ณด๊ธฐ → ์•Œ๋ ค์ง„ ํŒŒ์ผ ํ˜•์‹์˜ ํŒŒ์ผ ํ™•์žฅ๋ช… ์ˆจ๊ธฐ๊ธฐ ํ•ด์ œ

 

- ๊ฒฐ๊ณผํ™•์ธ

 

3. ํฌํŠธํฌ์›Œ๋”ฉ(1์ฐจ ์‹œ๋„ : ์ง‘)

์™ธ๋ถ€์—์„œ ๋‚ด PC์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‚ด ๊ณต์œ ๊ธฐ์—์„œ ํฌํŠธํฌ์›Œ๋”ฉ์œผ๋กœ ํฌํŠธ๋ฅผ ๊ฐœ๋ฐฉํ•ด์ค˜์•ผ ํ•œ๋‹ค.

 

์ตœ์ดˆ์—๋Š” ์ง‘์—์„œ ์‹œ๋„๋ฅผ ํ–ˆ๋Š”๋ฐ ์ง‘ ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์ด ์œ„ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด 3๊ฐœ์˜ ๊ณต์œ ๊ธฐ๋กœ ๋˜์–ด์žˆ์—ˆ๋‹ค. ๊ฐ๊ฐ์˜ ๊ณต์œ ๊ธฐ์—์„œ ๋‹ค์Œ ๊ณต์œ ๊ธฐ ๊นŒ์ง€ ํฌํŠธํฌ์›Œ๋”ฉ์„ ๊ฐ์ž ํ•ด์ฃผ๋ฉด ๋œ๋‹ค๊ณ  ํ•ด์„œ ๊ทธ๋Œ€๋กœ ์‹คํ–‰ํ•˜์˜€๋‹ค.

 

โ—ป ๊ณต์œ ๊ธฐ 1 ์—์„œ ๊ณต์œ ๊ธฐ 2๋กœ ํฌํŠธํฌ์›Œ๋”ฉ

โ—ป ๊ณต์œ ๊ธฐ 2 ์—์„œ ๊ณต์œ ๊ธฐ 3๋กœ ํฌํŠธํฌ์›Œ๋”ฉ

โ—ป ๊ณต์œ ๊ธฐ 3 ์—์„œ ๋‚ด PC ๋กœ ํฌํŠธํฌ์›Œ๋”ฉ

 

๐Ÿ’ก ๊ณต์œ ๊ธฐ์˜ IP๊ฐ€ ๋„ค์ด๋ฒ„์—์„œ "๋‚ด ์ฃผ์†Œ ํ™•์ธ" ์‹œ ๋‚˜์˜ค๋Š” IP์™€ ๊ฐ™๋‹ค๋ฉด ์ตœ์ƒ๋‹จ ๊ณต์œ ๊ธฐ์ด๋‹ค.

 

์ด๋ ‡๊ฒŒ ์‹คํ–‰ํ•˜์˜€์œผ๋‚˜ ์–ด์ฐŒ๋œ ์ผ์ธ์ง€ LG U+ ์ตœ์ƒ๋‹จ๋ถ€ํ„ฐ ๊ณต์œ ๊ธฐ์˜ ํฌํŠธ๊ฐ€ ์—ด๋ฆฌ์ง€ ์•Š์•˜๊ณ  ์˜ค๋ฅ˜ํ•ด๊ฒฐ์„ ์œ„ํ•ด ๊ฐ์ข… ๊ตฌ๊ธ€๋ง ๊ฒ€์ƒ‰, ๋ฐฉํ™”๋ฒฝ ํ•ด์ œ, LG U+ ์›๊ฒฉ์ ๊ฒ€ ๋“ฑ์„ ๋ฐ›์•˜์œผ๋‚˜ ๋ฌด์Šจ ๋ฌธ์ œ์ธ์ง€ ์ฐพ์„ ์ˆ˜๊ฐ€ ์—†์—ˆ๋‹ค.

 

๐Ÿ”ท 2021.09.16

 

  โ—ผ Local ์„œ๋ฒ„ ๊ตฌ์ถ• ๋ฐ ์™ธ๋ถ€ ์ ‘์†ํ•˜๊ธฐ

3. ํฌํŠธํฌ์›Œ๋”ฉ (2์ฐจ ์‹œ๋„ : ์นดํŽ˜)

๊ฒฐ๊ตญ ์ง‘์— LG U+ ๊ธฐ์‚ฌ๋‹˜ ๊นŒ์ง€ ์™€์„œ ํ™•์ธํ•˜์˜€์œผ๋‚˜ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ–ˆ๊ณ , ์นดํŽ˜ ๊ณต์œ ๊ธฐ๋ฅผ ํ†ตํ•ด ํฌํŠธํฌ์›Œ๋”ฉ์„ ์ง„ํ–‰ํ•˜์˜€๋‹ค.

ํฌํŠธ ํฌ์›Œ๋”ฉ ์‹œ์— cmd ipconfig ์— Gateway ์ฃผ์†Œ๋กœ ์ ‘์†ํ•˜๋ฉด ๊ณต์œ ๊ธฐ ๊ด€๋ฆฌ์ž ์„œ๋ฒ„๋กœ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋‹ค.

์œ„์™€ ๊ฐ™์ด ํฌํŠธํฌ์›Œ๋”ฉ์„ ์„ค์ •ํ•ด ์ฃผ๋Š”๋ฐ ์ด ๋•Œ

 

โ—ป ์™ธ๋ถ€ํฌํŠธ : ์™ธ๋ถ€์—์„œ ์ ‘์†ํ•  ํฌํŠธ

โ—ป ๋‚ด๋ถ€ํฌํŠธ : ๋‚ด๋ถ€์—์„œ ์ ‘์†ํ•  ํฌํŠธ

โ—ป ๋‚ด๋ถ€ IP ์ฃผ์†Œ : ์™ธ๋ถ€์—์„œ ์ ‘์†ํ•  ๋•Œ ์—ฐ๊ฒฐํ•  IP ์ฃผ์†Œ (๋‚ด PC IP์ฃผ์†Œ)

 

๊ฐ€ ๋œ๋‹ค.

 

์œ„์™€ ๊ฐ™์ด ์ž…๋ ฅํ•ด ์ฃผ์—ˆ๊ณ , ์ด์ œ ํœด๋Œ€ํฐ์œผ๋กœ ์ ‘์†ํ•˜๊ธฐ ์ „์— ํฌํŠธ์˜ ๊ฐœ๋ฐฉ์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด

https://www.yougetsignal.com/tools/open-ports/ ์— ๋“ค์–ด๊ฐ„๋‹ค. ์œ„ ์‚ฌ์ดํŠธ์— ๋“ค์–ด๊ฐ€๋ฉด Port์˜ ๊ฐœ๋ฐฉ ํ™•์ธ ๋ฐ ๋‚ด ๊ณต์ธ IP์ฃผ์†Œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

4. ํœด๋Œ€ํฐ์œผ๋กœ ์ ‘์†ํ™•์ธ

์ด์ œ ํœด๋Œ€ํฐ์œผ๋กœ ๊ณต์ธ IP:๊ฐœ๋ฐฉํฌํŠธ/phpinfo.php ๋ฅผ ์ž…๋ ฅํ•˜๊ฒŒ ๋˜๋ฉด ์ ‘์†์ด ๊ฐ€๋Šฅํ•œ์ง€ ์•ˆํ•œ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

โ—ผ AWS๋กœ ์„œ๋ฒ„ ๊ตฌ์ถ•ํ•˜๊ธฐ - ์™ธ๋ถ€์—์„œ ์ ‘์†ํ•˜๊ธฐ / Phpinfo ๋„์šฐ๊ธฐ

1. AWS ์ ‘์† ํ›„ ๊ฐ€์ž… ๋ฐ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ

AWS์— ์ ‘์†ํ•˜์—ฌ ๊ณ„์ •์ƒ์„ฑ ๋ฐ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜์˜€๋‹ค.

 

2. ๊ทธ ํ›„ ์„œ๋ฒ„ ๊ฐ€๋™์„ ์œ„ํ•ด WINSCP ๋ฅผ ๋‹ค์šด๋ฐ›์•„ ๊ตฌ๋™ํ•˜์˜€๋‹ค.

์ด ๋•Œ AWS ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ์‹œ ๋งŒ๋“ค์—ˆ๋˜ ๊ฐœ์ธํ‚ค ํŒŒ์ผ์„ ์ธ์ฆํ•˜์—ฌ ์„œ๋ฒ„๋ฅผ ๊ฐ€๋™ํ•œ๋‹ค.

 

3. WINSCP ๋‚ด์—์„œ Putty๋ฅผ ์ด์šฉํ•˜์—ฌ NGINX, MYSQL, PHP ๋‹ค์šด๋กœ๋“œ

 

- Nginx ์„ค์น˜

sudo apt get update
sudo apt install nginx

์ด ๋•Œ AWS๋กœ ๋“ค์–ด๊ฐ€์„œ ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™์— HTTP์ธ 80ํฌํŠธ๋ฅผ ํ—ˆ์šฉํ•ด์ฃผ๋Š” ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•ด์ค˜์•ผํ•œ๋‹ค.

๊ฒฐ๊ณผ ํ™•์ธ

- MySQL ์„ค์น˜

sudo apt install mysql-server
sudo mysql_secure_installation

ํ›„ ํŒจ์Šค์›Œ๋“œ ์„ค์ •์„ ํ•˜๊ณ  mysql ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋œ๋‹ค.

 

๊ฒฐ๊ณผํ™•์ธ

- PHP ์„ค์น˜

sudo add-apt-repository universe
sudo apt install php-fpm php-mysql

# php-fpm : apache์—์„œ configure์™€ ๋น„์Šทํ•œ ์—ญํ• ๋กœ PHP๋ฅผ FastCGI ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•˜๋„๋ก ํ•˜๋Š” ์†”๋ฃจ์…˜์ธ๋ฐ, ์ฃผ๋กœ Nginx์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋œ๋‹ค. 

 

- PHPINFO ๋งŒ๋“ค๊ธฐ

index.php ๋กœ ์ด๋ฆ„์„ ๋งŒ๋“ค๊ณ 

sudo cd /var/www/html/
sudo vi index.php

์•„๋ž˜ ํŒŒ์ผ์„ ๋งŒ๋“  ํ›„ ์ €์žฅ

<?php
phpinfo();
?>

 

๊ทธ ํ›„ ๋ชจ๋“ˆ ์„ค์ •์„ ํ•ด์ฃผ๋ฉด

sudo vi /etc/nginx/sites-available/default

 

์•„๋ž˜์™€ ๊ฐ™์ด ํŒŒ์ผ ์ˆ˜์ • ํ›„ ์ €์žฅ(ubuntu 18.04 ๋ฒ„์ „์—์„œ๋Š” php7.2๊ฐ€ ์“ฐ์ธ๋‹ค.)

Nginx ์„œ๋ฒ„๋ฅผ ์žฌ๊ฐ€๋™ ํ›„ ๊ฒฐ๊ณผ ํ™•์ธ

sudo service nginx restart

 

โ—ผ AWS๋กœ ์„œ๋ฒ„ ๊ตฌ์ถ•ํ•˜๊ธฐ - MySQL ์™ธ๋ถ€์—์„œ ์ ‘์†ํ•˜๊ธฐ

1. MySQL ์‚ฌ์šฉ์ž ์ƒ์„ฑ

$sudo mysql -u root -p
mysql> create user 'Seokin'@'%' identified by 'password';

2. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ ๋ฐ ๊ถŒํ•œ ๋ถ€์—ฌ

mysql> create database Seokindb;
mysql> show databases;
mysql> grant all privileges on Seokindb.*to 'Seokin'@'%';
mysql flush privileges;

3. MySQL ์™ธ๋ถ€ ์ ‘์† ์„ค์ •

cd /etc/mysql/mysql.conf.d
sudo vi mysqld.cnf

bind-adress = 0.0.0.0 ์œผ๋กœ ์ˆ˜์ •

4. MySQL ์„œ๋ฒ„ ์žฌ์‹œ์ž‘

sudo service mysql restart

5. ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™ ์ถ”๊ฐ€

6. Datagrip์œผ๋กœ ์™ธ๋ถ€์—์„œ MySQL ์ ‘์†

HOST์—” IP์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค. Test Connection ์‹œ Succeeded ๊ฐ€ ๋‚˜์˜ค๋ฉด ๋œ๋‹ค.

 

โ—ผ AWS๋กœ ์„œ๋ฒ„ ๊ตฌ์ถ•ํ•˜๊ธฐ - phpMyAdmin ์„ค์น˜

 

1. phpMyAdmin ์„ค์น˜

์•”ํ˜ธ ๋ฐ ๊ฐ์ข… ์„ค์ •์„ ํ•ด์ค€๋‹ค.

sudo apt update
sudo apt upgrade
sudo apt install phpmyadmin

2. Nginx ์™€ phpMyAdmin ์—ฐ๊ฒฐ

 

- ์‹ฌ๋ณผ๋ฆญ ๋งํฌ ์„ค์ •

Nginx๊ฐ€ phpMyAdmin ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ์—ฐ๊ฒฐํ•ด์ค€๋‹ค.

Nginx์˜ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ์ธ : /var/www/html/phpmyadmin ๊ณผ phpMyAdmin ์˜ ๋””๋ ‰ํ† ๋ฆฌ/usr/share/phpmyadmin ์—ฐ๊ฒฐ

# ์‹ฌ๋ณผ๋ฆญ๋งํฌ : ๋งํฌ๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ์›๋ณธ ํŒŒ์ผ์„ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ํšจ๊ณผ๋ฅผ ๋‚ด๋Š” ๋งํฌ

sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

 

- Nginx ์„ค์ • ๋ณ€๊ฒฝ

sudo vi /etc/nginx/sites-available/default

3. Nginx ์„œ๋ฒ„ ์žฌ์‹œ์ž‘ ํ›„ ๊ฒฐ๊ณผํ™•์ธ

sudo service nginx restart

์›น ๋ธŒ๋ผ์šฐ์ €์— http://AWS ํ• ๋‹น IP/phpmyadmin ์œผ๋กœ ๊ฒฐ๊ณผํ™•์ธ

 

โ—ผ AWS๋กœ ์„œ๋ฒ„ ๊ตฌ์ถ•ํ•˜๊ธฐ - Domain ์—ฐ๊ฒฐ & HTTPS ์ ์šฉ

1. Domain ์—ฐ๊ฒฐ

- ๊ฐ€๋น„์•„์—์„œ ํšŒ์›๊ฐ€์ž… ๋ฐ ๋„๋ฉ”์ธ ๊ตฌ๋งค

- My ๊ฐ€๋น„์•„ → ์„œ๋น„์Šค๊ด€๋ฆฌ→ ๋„๋ฉ”์ธ→ ๊ด€๋ฆฌํˆด → ๋„๋ฉ”์ธ ์—ฐ๊ฒฐ ์„ค์ • → ๊ตฌ์ž…ํ•œ ๋„๋ฉ”์ธ ์„ค์ •

- DNS ์„ค์ • → ๋ ˆ์ฝ”๋“œ ์ˆ˜์ • → ๋ ˆ์ฝ”๋“œ ์ถ”๊ฐ€

ํ˜ธ์ŠคํŠธ์— @๋ฅผ ๋„ฃ์œผ๋ฉด www ์—†์–ด๋„ ์ ‘์† ๊ฐ€๋Šฅํ•˜๋‹ค.

2. ๊ฒฐ๊ณผ ํ™•์ธ

3. HTTPS ์ ์šฉ์„ ์œ„ํ•œ CertBot ์„ค์น˜

certbot์„ ์œ„ํ•œ ์ €์žฅ์†Œ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

sudo apt update
sudo apt upgrade
sudo add-apt-repository ppa:certbot/certbot

๋‹ค์‹œ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ๋ฐ˜์˜ํ•œ ํ›„ certbot์˜ nginx ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜

sudo apt install python3-certbot-nginx

 

4. Nginx ์„ค์ • ๋ณ€๊ฒฝ

sudo vi /etc/nginx/sites-available/default

server ๋ธ”๋ก์„ ๋งŒ๋“ค์–ด์„œ server_name์— ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋„๋ฉ”์ธ ์ถ”๊ฐ€ ํ›„ ์ €์žฅ

* listen 80 ๋’ค์— default_server๋Š” listen 80์œผ๋กœ๋งŒ ์ˆ˜์ •

ํ…Œ์ŠคํŠธ ๋ฐ ๋ฆฌ๋กœ๋“œ

sudo nginx -t
sudo systemctl reload nginx

 

5. TLS ์ธ์ฆ์„œ ์„ค์น˜ ๋ฐ ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™์ถ”๊ฐ€ / ๊ฒฐ๊ณผ ํ™•์ธ

 

certbot์˜ Nginx ํŒจํ‚ค์ง€๋ฅผ ํ†ตํ•˜์—ฌ ๋„๋ฉ”์ธ์— ์ธ์ฆ์„œ ํš๋“

sudo certbot --nginx -d www.seokin-test.shop -d seokin-test.shop

 

HTTPS ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™ ์ถ”๊ฐ€

Nginx ์„œ๋ฒ„ ์žฌ์‹œ์ž‘ ํ›„ ๊ฒฐ๊ณผํ™•์ธ

HTTPS๋กœ ์ ‘์†์‹œ ์œ„์™€ ๊ฐ™์ด ์ž๋ฌผ์‡ ๊ฐ€ ๊ฑธ๋ฆฌ๋ฉด ๋œ๋‹ค.

 

โ—ผ AWS๋กœ ์„œ๋ฒ„ ๊ตฌ์ถ•ํ•˜๊ธฐ - SubDomain

1. ๊ฐ€๋น„์•„ DNS ๋ ˆ์ฝ”๋“œ ์ถ”๊ฐ€

ํƒ€์ž…์„ CNAME์œผ๋กœ ๋ฐ”๊ฟ” ์„œ๋ธŒ ๋„๋ฉ”์ธ์„ ์ถ”๊ฐ€ํ•œ๋‹ค.

2. ์„œ๋ธŒ๋„๋ฉ”์ธ ๊ด€๋ จ HTML ํŒŒ์ผ ๋งŒ๋“ค๊ธฐ

cd /var/www/html/
sudo chmod -R 777 .

์ด๋ ‡๊ฒŒ ๊ถŒํ•œ์„ ์„ค์ •ํ•œํ›„ WINSCP์—์„œ ํด๋”๋ฅผ ๋งŒ๋“  ํ›„ Vi ํŽธ์ง‘๊ธฐ๋กœ HelloWorld์ธ HTMLํŒŒ์ผ ๋งŒ๋“ค์—ˆ๋‹ค.

๊ทธ๋ƒฅ putty์—์„œ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด์ค˜๋„ ๋œ๋‹ค.

3. Nginx ์„ค์ •๋ณ€๊ฒฝ

Nginx์—์„œ ์„œ๋ฒ„์— ์„œ๋ธŒ๋„๋ฉ”์ธ์„ ์ถ”๊ฐ€์‹œ์ผœ์ค˜์•ผ ํ•œ๋‹ค.

4. Nginx ์žฌ์‹œ์ž‘ ํ›„ ๊ฒฐ๊ณผํ™•์ธ

sudo servie nginx restart

โ—ผ AWS๋กœ ์„œ๋ฒ„ ๊ตฌ์ถ•ํ•˜๊ธฐ - Redirection

- redirection ์„ค์ •ํ•˜๊ธฐ

sudo vi /etc/nginx/sites-available/default

- Server Block ์‚ฝ์ž…

server {
        if ($host = 13.125.107.42){
                return 301 https://seokin-test.shop$request_uri;
        }
        listen 80;
        listen [::]:80;
        server_name 13.125.107.42;

        return 404;
}

๐Ÿšจ ์˜ค๋ฅ˜ ๋ฐœ์ƒ

๐Ÿ”‘ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• : ์ฐพ์ง€ ๋ชปํ•œ์ฑ„๋กœ... ์žฌ์„ค์น˜ ํ•˜์˜€๋‹ค.. ์„ค์น˜ํ•˜๊ณ  ๋ณด๋‹ˆ redirect ์‹œ์— return ์„ 302๋กœ ํ•ด์คฌ๋”๋‹ˆ ์ด๋Ÿฐ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋“ฏํ•˜๋‹ค. ๊ทธ ํ›„ if๋ฌธ์œผ๋กœ 301๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ํ•ด์คฌ๋”๋‹ˆ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜์˜€๋‹ค.

 

 

 

๐Ÿ’ก 301๊ณผ 302์˜ ์ฐจ์ด

- 301 : ํ•ด๋‹น URL ์ด ์˜๊ตฌ์ ์œผ๋กœ ๋ณ€ํ™˜๋˜์—ˆ์Œ์„ ๋‚˜ํƒ€๋ƒ„

- 302 : ํ•ด๋‹น URL ์ด ์ž„์‹œ์ ์œผ๋กœ ์ƒˆ๋กœ์šด URL๋กœ ์ด๋™ํ–ˆ์Œ

 


๐Ÿ† ์ฑŒ๋ฆฐ์ง€ ๊ณผ์ œ

๐Ÿ“ŒSub Domain์— ๊ฐ๊ฐ ๋‚˜๋งŒ์˜ ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ (html, css, javascript)

 

๊ณผ๊ฑฐ ํ•˜๋‹ค๊ฐ€ ์ค‘๊ฐ„์— ๊ด€๋’€๋˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜์ • ๋ฐ ๋ณด์™„ํ•ด์„œ ๋งŒ๋“ค์–ด ๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

 

๊ณ ๋ ค์‚ฌํ•ญ

 

๐Ÿ“‘ ๋ฐ˜์‘ํ˜• ์›น์œผ๋กœ ์„ค์ •

๐Ÿ“‘ ๋ ˆ์ด์•„์›ƒ ๊ตฌ์กฐ์— ๋Œ€ํ•œ ๊ณ ๋ ค