๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Deploy

EC2์— ubuntu, nginx, APM ์„œ๋ฒ„ ๊ตฌ์ถ•

ubuntu, nginx, APM ์„œ๋ฒ„ ๊ตฌ์ถ•

AWS์—์„œ EC2 ์ƒ์„ฑ ํ›„ nginx, Apache, php, MySql์„ ์„ค์น˜ํ•˜์—ฌ ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ๋„๋ฉ”์ธ๊ณผ HTTPS๋ฅผ ์ ์šฉํ•ด๋ณด์ž.

์„œ๋ฒ„ ๊ตฌ์ถ• ๊ณผ์ •

์ด ํฌ์ŠคํŒ…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑ๋œ๋‹ค.

  • EC2์— nginx ์„ค์น˜ ํ›„ Apache, php๋ฅผ ์„ค์น˜ํ•˜์—ฌ ์™ธ๋ถ€์—์„œ ์ ‘์†
  • FileZilla์—์„œ SFTP ์ ‘์†
  • MySql ์„ค์น˜ ํ›„ ์™ธ๋ถ€์—์„œ ์ ‘์†ํ•˜๊ธฐ (MySQL Workbench)
  • phpMyAdmin ์„ค์น˜ ํ›„ ํ™•์ธ
  • Domain ์ ์šฉ (๊ฐ€๋น„์•„ ์ด์šฉ)
  • HTTPS ์ ์šฉ (let's encrypt ์‚ฌ์šฉ)

EC2์— nginx ์„ค์น˜ ํ›„ Apache, php๋ฅผ ์„ค์น˜ํ•˜์—ฌ ์™ธ๋ถ€์—์„œ ์ ‘์†

EC2 ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ

์„œ์šธ ๋ฆฌ์ „(ap-northeast-2)์—์„œ ์‹œ์ž‘ํ•œ๋‹ค.




AWS์— ์ ‘์†ํ•˜์—ฌ EC2๋กœ ๋“ค์–ด๊ฐ€์„œ ์ƒˆ๋กœ์šด ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ ๋‹ค.

์ธ์Šคํ„ด์Šค์˜ OS๋Š” Ubuntu 20.04 LTS๋กœ ํ”„๋ฆฌ ํ‹ฐ์–ด์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ t2.micro๋กœ ์„ค์น˜ํ•˜์˜€๋‹ค.


๊ฐ ๋‹จ๊ณ„๋ณ„ ์„ค์ •์„ default๋กœ ๋„˜๊ธฐ๋‹ค๊ฐ€ ์Šคํ† ๋ฆฌ์ง€ ๋ถ€๋ถ„์—์„  ํ”„๋ฆฌ ํ‹ฐ์–ด๋Š” ์ตœ๋Œ€ 30GB๋ฅผ ๋ฌด๋ฃŒ๋กœ ์ œ๊ณตํ•ด ์ฃผ๋ฏ€๋กœ ์šฉ๋Ÿ‰์„ 30์œผ๋กœ ๊ณ ์นœ๋‹ค.


์ธ์Šคํ„ด์Šค์— ์ ‘์†ํ•  ๋• ํ‚ค ํŽ˜์–ด ํŒŒ์ผ๋กœ ์ ‘์†ํ•˜๋Š”๋ฐ, ์ด ํŒŒ์ผ์ด ๋…ธ์ถœ๋˜๋ฉด ์ธ์Šคํ„ด์Šค๋ฅผ ํƒ€์ธ์ด ๋งˆ์Œ๋Œ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ƒˆ ํ‚ค ํŽ˜์–ด๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์•ˆ์ „ํ•œ ์žฅ์†Œ์— ์ €์žฅํ•ด ์ค€๋‹ค.

์ธ๋ฐ”์šด๋“œ ๊ทœ์น™ ์„ค์ •

์‹œ๊ฐ„์ด ์–ด๋Š ์ •๋„ ์ง€๋‚˜๊ณ  ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ์„ฑ๋˜๊ณ  ์‹คํ–‰ ์ค‘์ด๋ผ๋Š” ํ‘œ์‹œ๊ฐ€ ๋˜์–ด์žˆ์œผ๋ฉด, ์ ‘์†ํ•˜๊ธฐ ์ „์— ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™์„ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ •ํ•ด ์ฃผ์—ˆ๋‹ค.

SSH ํ”„๋กœํ† ์ฝœ์ธ 22๋ฒˆ ํฌํŠธ์—” ๋ฌด์กฐ๊ฑด ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์ ‘์†ํ•˜๋ฉด ์•ˆ ๋˜๋ฏ€๋กœ ๋ง‰์•„๋‘๊ณ , ํ˜„์žฌ ์ƒ์„ฑ๋œ ์ธ์Šคํ„ด์Šค๋ฅผ ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•œ 80๋ฒˆ๊ณผ ์ถ”ํ›„์— ์„ค์น˜ํ•  MySQL ์ ‘์†์„ ์œ„ํ•œ 3306๋ฒˆ, HTTPS ์ ‘์†์„ ์œ„ํ•œ 443๋ฒˆ์„ IP์™€ ๋ฌด๊ด€ํ•˜๊ฒŒ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•ด ์ฃผ์—ˆ๋‹ค.

Mac OS์˜ Terminal๋กœ ์ ‘์†

Mac OS ๊ธฐ์ค€์œผ๋กœ ์ธ์Šคํ„ด์Šค์— ์ ‘์†ํ•œ๋‹ค.

$ cd (pem ํŒŒ์ผ์ด ์žˆ๋Š” ๊ฒฝ๋กœ)

ํ„ฐ๋ฏธ๋„์„ ํ‚จ ๋’ค EC2๋ฅผ ์„ค์น˜ํ•  ๋•Œ ์ €์žฅํ•ด๋‘” pem ํŒŒ์ผ์ด ์žˆ๋Š” ์œ„์น˜๋กœ ์ด๋™ํ•œ๋‹ค.

$ sudo chmod 400 (์ €์žฅํ•œ pem ํŒŒ์ผ)

chmod 400์œผ๋กœ ํŒŒ์ผ์˜ ๊ถŒํ•œ์„ ์ˆ˜์ •ํ•ด ์ค€๋‹ค.

$ ssh -i (pem ํŒŒ์ผ) ubuntu@(์ธ์Šคํ„ด์Šค์˜ ํผ๋ธ”๋ฆญ IPv4 ์ฃผ์†Œ)

์˜ˆ๋ฅผ ๋“ค์–ด, ssh -i vividswan.pem ubuntu@XX.XX.XXX.XXX์™€ ๊ฐ™์ด ์ž…๋ ฅํ•ด ์ฃผ๊ณ  ์ ‘์†์„ ํ•œ๋‹ค.

์œ„ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅ ํ›„ ์—ฐ๊ฒฐ์„ ์ง„ํ–‰ํ•˜๊ฒ ๋ƒ๋Š” ๋ฌผ์Œ์— yes๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์ ‘์†์ด ์ง„ํ–‰๋œ๋‹ค.

์œ„์™€ ๊ฐ™์ด ์ ‘์†์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค.

$ sudo su

sudo๊ฐ€ ํ•„์š”ํ•œ ๋ช…๋ น์–ด๋“ค์ด ๋งŽ์ด ํ•„์š”ํ•˜๋ฏ€๋กœ ๋ฏธ๋ฆฌ ์ž…๋ ฅํ•˜์—ฌ ๊ถŒํ•œ์„ ๋ณ€๊ฒฝํ•œ๋‹ค.

nginx, APM ๊ด€๋ จ ํŒจํ‚ค์ง€ ์„ค์น˜

sudo su ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•œ ์ƒํƒœ๋กœ ์ง„ํ–‰ํ•œ๋‹ค.

$ apt-get update

ํŒจํ‚ค์ง€ ์—…๋ฐ์ดํŠธ๋ฅผ ์šฐ์„  ์‹คํ–‰ํ•ด ์ค€๋‹ค.

$ apt-get install nginx

$ apt-get install mysql-server

$ apt-get install php-fpm php-mysql

mySql์€ ์šฐ์„  ์„ค์น˜ํ•ด๋‘๊ณ  ์ถ”ํ›„์— ์„ค์ •ํ•œ๋‹ค.

nginx๋กœ php ํŒŒ์ผ ๋„์šฐ๊ธฐ

ํŒจํ‚ค์ง€๋งŒ ์„ค์น˜ํ•œ ์ƒํƒœ๋กœ pc์—์„œ ์ธ์Šคํ„ด์Šค์˜ ํผ๋ธ”๋ฆญ IPv4 ์ฃผ์†Œ๋กœ ์ ‘์†ํ•ด๋ณด์ž.

$ service nginx start

nginx๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์„ค์น˜๋˜์—ˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด์ œ nginx ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๊ณ  php ํŒŒ์ผ์„ ๋„์›Œ๋ณด์ž.

$ cd /var/www/html

nginx๊ฐ€ ํŽ˜์ด์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๋ณธ ๊ฒฝ๋กœ๋กœ ์ด๋™ํ•œ๋‹ค.

$ vim phpinfo.php

ํ…Œ์ŠคํŠธ์šฉ php ํŒŒ์ผ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด vim ํŽธ์ง‘๊ธฐ๋กœ ๋งŒ๋“ค๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž…๋ ฅ ํ›„ ์ €์žฅ(!wq) ํ•ด์ค€๋‹ค.

<?php
phpinfo();
?>

$ cd /etc/nginx/sites-available

nginx์˜ default ์„ค์ • ํŒŒ์ผ์ด ์žˆ๋Š” ๊ณณ์œผ๋กœ ์ด๋™ํ•ด ์ค€๋‹ค.

$ vim default

์„ค์ • ํŒŒ์ผ์„ vim ํŽธ์ง‘๊ธฐ๋กœ ์—ด์–ด์ฃผ๊ณ  ๋‹ค์Œ์˜ ์ฃผ์„ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ œํ•ด ์ค€๋‹ค.


์œ„๊ฐ€ default ์ƒํƒœ์ด๋‹ค.

์ด๋ ‡๊ฒŒ ํ•ด์ œํ•ด ์ฃผ๋ฉด ๋˜๊ณ , ํ˜น์‹œ ์ด ๋ถ€๋ถ„์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋‚œ๋‹ค๋ฉด fastcgi_pass ๋ถ€๋ถ„์˜ php-fpm ๋ฒ„์ „์„ ํ™•์ธํ•ด ์ฃผ์ž.

์œ„์ฒ˜๋Ÿผ index์˜ ๋ฐ”๋กœ ์•ž์— phpinfo.php๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์ฒซ ํŽ˜์ด์ง€์— ์ ‘์† ์‹œ ๋‚˜์˜ค๋Š” default ํŽ˜์ด์ง€๋ฅผ ๊ธฐ์กด์˜ index ํŒŒ์ผ์ด ์•„๋‹Œ phpinfo.php ํŒŒ์ผ์ด ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๊ฒŒ ์„ค์ •ํ•ด ์ค€๋‹ค.

$ service nginx restart

๋‹ค์‹œ pc์—์„œ ์ธ์Šคํ„ด์Šค์˜ ํผ๋ธ”๋ฆญ IPv4 ์ฃผ์†Œ๋กœ ์ ‘์†ํ•ด๋ณด์ž.

phpinfo() ํ™”๋ฉด์ด ์ •์ƒ์ ์œผ๋กœ ์ถœ๋ ฅ๋œ๋‹ค.

FileZilla์—์„œ SFTP ์ ‘์†

FileZilla๋ฅผ ์„ค์น˜ ํ›„ ๊ฐ€์žฅ ์™ผ์ชฝ ์ƒ๋‹จ์˜ ์‚ฌ์ดํŠธ ๊ด€๋ฆฌ์ž ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด ์ฃผ๊ณ  ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ ‘์† ์„ค์ •์„ ์ž…๋ ฅํ•ด ์ค€๋‹ค.

ํ˜ธ์ŠคํŠธ(H) ๋ž€์—๋Š” ์ธ์Šคํ„ด์Šค์˜ ํผ๋ธ”๋ฆญ IPv4 ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•ด ์ค€๋‹ค.

ํ‚ค ํŒŒ์ผ์—๋Š” ์•ž์„œ ๋‹ค์šด๋กœ๋“œํ•œ pem ํŒŒ์ผ์„ ์ฐพ์•„์„œ ์„ ํƒํ•ด ์ค€๋‹ค.

๋ฐฐ๊ฒฝ์ƒ‰์„ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€๋ž€ ์€ ๋˜‘๊ฐ™์ด ์ž…๋ ฅํ•ด ์ฃผ์ž.

๋ฐฐ๊ฒฝ์ƒ‰์€ ์ทจํ–ฅ๊ป ๊ณจ๋ผ์ฃผ๋ฉด ๋œ๋‹ค.


์ž…๋ ฅ์„ ์ •ํ™•ํžˆ ํ•˜๊ณ  ์—ฐ๊ฒฐํ•˜๋ฉด ์œ„์™€ ๊ฐ™์ด SFTP ํ”„๋กœํ† ์ฝœ๋กœ PC์™€ ๋ฆฌ๋ˆ…์Šค ์„œ๋ฒ„ ๊ฐ„์˜ ํŒŒ์ผ์„ ์„œ๋กœ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์ด ๋งŒ๋“ค์–ด์ง„๋‹ค.

MySql ์„ค์น˜ ํ›„ ์™ธ๋ถ€์—์„œ ์ ‘์†ํ•˜๊ธฐ (MySQL Workbench)

๋ณด์•ˆ ์„ค์ •

$ apt-get install mysql-server

์•ž์„œ์„œ ์œ„์˜ ๋ช…๋ น์–ด๋กœ mysql์„ ํŒจํ‚ค์ง€ ์„ค์น˜ํ•ด ์ฃผ์—ˆ๋‹ค.

mysql์—์„œ๋Š” ์ฒ˜์Œ์— ๋ณด์•ˆ ์„ค์ •ํ•ด ์ฃผ๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ ๊ทธ์— ๊ด€ํ•œ ์„ค์ •์„ ์šฐ์„ ํ•ด ์ฃผ์ž

$ mysql_secure_installation

๋‹ค์Œ์˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์ž.

๋™์˜๋ฅผ ํ•œ ๋’ค ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•ด ์ฃผ์ž.

๊ทธ ํ›„ MySql์— ์ ‘์†ํ•ด๋ณด์ž.

$ mysql -u root -p

๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋ฐฉ๊ธˆ ์„ค์ •ํ•œ password๋ฅผ ์ž…๋ ฅํ•˜๋ผ๊ณ  ๋‚˜์˜ค๊ณ  ๊ทธ ๋’ค ์ ‘์†์ด ๋œ๋‹ค.

์™ธ๋ถ€์—์„œ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •

์šฐ์„  EC2์˜ ์ธ์Šคํ„ด์Šค ์ž…์žฅ์—์„  ์•ž์—์„œ ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™์„ ๋ฏธ๋ฆฌ ์„ค์ •ํ–ˆ๋‹ค์‹œํ”ผ, 3306 ํฌํŠธ๋กœ ๋‹ค๋ฅธ IP๊ฐ€ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •๋˜์–ด ์žˆ๋‹ค.

MySql ์ž…์žฅ์—์„œ ์™ธ๋ถ€ IP์—์„œ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •ํ•ด๋ณด์ž.

$ cd /etc/mysql/mysql.conf.d

$ vim mysqld.cnf

mySql ๋ฐ๋ชฌ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก vim ํŽธ์ง‘๊ธฐ๋ฅผ ์—ฐ๋‹ค.

์œ„์™€ ๊ฐ™์ด bind-adress๋ฅผ 0.0.0.0์œผ๋กœ ์ˆ˜์ •ํ•ด ์ค€ ๋’ค ์ €์žฅ(!wq) ํ•œ๋‹ค.

์ƒˆ ๊ณ„์ • ๊ถŒํ•œ ์ฃผ๊ธฐ

์™ธ๋ถ€์—์„œ ์ ‘์†ํ•  ๋• root ๊ณ„์ •์œผ๋กœ ์ ‘์†ํ•˜๋Š” ๊ฒƒ์ด ๋ณด์•ˆ์ƒ ์ข‹์ง€ ์•Š์œผ๋ฏ€๋กœ ๊ณ„์ •์„ ์ƒˆ๋กœ ๋งŒ๋“ค๊ณ  ๊ถŒํ•œ์„ ์ฃผ์ž.

mysql> CREATE USER '๊ณ„์ • ์•„์ด๋””'@'%' IDENTIFIED BY '๋“ฑ๋กํ•  ๋น„๋ฐ€๋ฒˆํ˜ธ';

mysql> GRANT ALL PRIVILEGES ON . TO 'vividswan'@'%';

์™ธ๋ถ€ Ip์—์„œ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ„์ •์„ ๋งŒ๋“  ๋’ค ์™ธ๋ถ€ Ip์™€ ๋ชจ๋“  Database์— ๋Œ€ํ•œ ๊ถŒํ•œ์„ ์ฃผ๋Š” ๋ช…๋ น์–ด์ด๋‹ค.

์ ‘์† ํ™•์ธ

Hostname์—” ์ธ์Šคํ„ด์Šค์˜ Ip ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

Username์— ๊ถŒํ•œ์„ ์ฃผ์—ˆ๋˜ ๊ณ„์ • Id๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ํ•˜๋‹จ์˜ Store in Keychain ...์„ ํด๋ฆญํ•ด ์ค€ ๋’ค ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅ ํ›„ Test Connection์„ ๋ˆ„๋ฅธ๋‹ค.

์ž…๋ ฅ ๊ฐ’์ด ์œ ํšจํ•˜๋‹ค๋ฉด ํ…Œ์ŠคํŠธ ์—ฐ๊ฒฐ์ด ์„ฑ๊ณตํ•  ๊ฒƒ์ด๊ณ  ๊ทธ๋Œ€๋กœ ์ ‘์†์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

phpMyAdmin ์„ค์น˜ ํ›„ ํ™•์ธ

ํŒจํ‚ค์ง€ ์„ค์น˜

$ apt install phpmyadmin

์œ„ ๋ช…๋ น์–ด๋กœ ํŒจํ‚ค์ง€ ์„ค์น˜ํ•ด ์ค€๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ password ์„ค์ •๋„ ํ•ด์ฃผ๊ณ , ์œ„์˜ ๊ฒฝ์šฐ์—” nginx๋ฅผ ์œ„ํ•œ ์ง€์›์ด ๋”ฐ๋กœ ์—†์œผ๋ฏ€๋กœ ๋‘˜ ๋‹ค ๊ณต๋ž€์œผ๋กœ ์„ค์ •ํ•œ ๋’ค Ok๋ฅผ ๋ˆŒ๋Ÿฌ์ค€๋‹ค.

๋ช…๋ น์–ด ์ž…๋ ฅ

์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ๋‹ค์Œ์˜ ๋ช…๋ น์–ด๋“ค์„ ์ž…๋ ฅํ•œ๋‹ค.

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

$ sudo chmod 775 -R /usr/share/phpmyadmin/

์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €์˜ phpMyAdmin ์ธํ„ฐํŽ˜์ด์Šค์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๊ณ  ๊ถŒํ•œ์„ ์„ค์ •ํ•ด ์ค€๋‹ค.

์‹ฌ๋ณผ๋ฆญ ๋งํฌ(symbolic link) ๋ž€?

  • ๋งํฌ๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ์›๋ณธ ํŒŒ์ผ์„ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ํšจ๊ณผ๋ฅผ ๋‚ด๋Š” ๋งํฌ (์œˆ๋„์šฐ์˜ ๋ฐ”๋กœ๊ฐ€๊ธฐ์ฒ˜๋Ÿผ)

์ธ์Šคํ„ด์Šค์˜ Ip ๋’ค์— /phpmyadmin์„ ๋ถ™์—ฌ์„œ ์ ‘์†ํ•ด๋ณด์ž.

๋กœ๊ทธ์ธ

๋กœ๊ทธ์ธ์„ ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™”๋ฉด์ด ๋‚˜์˜จ๋‹ค.

Domain ์ ์šฉ (๊ฐ€๋น„์•„ ์ด์šฉ)

๊ฐ€๋น„์•„ ์ ‘์†

๊ฐ€๋น„์•„ ์ ‘์† ํ›„ ๋กœ๊ทธ์ธ์„ ํ•˜๊ณ  ์ค‘์•™์˜ url์„ ํ‘œ์‹œํ•ด๋‘” ์ฐฝ์— ์›ํ•˜๋Š” ๋„๋ฉ”์ธ์„ ์ž…๋ ฅํ•œ๋‹ค.

~.shop์œผ๋กœ ๋๋‚˜๋Š” ๋„๋ฉ”์ธ์ด ๊ฐ€๊ฒฉ์ด ์ €๋ ดํ•˜๋ฏ€๋กœ ํ•ด๋‹น ๋„๋ฉ”์ธ์œผ๋กœ ์ง„ํ–‰ํ–ˆ๋‹ค.

๋„๋ฉ”์ธ ์„ค์ •

DNS ๊ด€๋ฆฌ๋กœ ๋“ค์–ด๊ฐ€๋ฉด ํ•ด๋‹น ํ™”๋ฉด์ด ๋‚˜์˜ค๋ฉฐ, ์—ฌ๊ธฐ์„œ ๋ ˆ์ฝ”๋“œ ์ˆ˜์ •์„ ํด๋ฆญํ•ด ์ค€๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™”๋ฉด์ด ๋‚˜์˜ค๋ฉฐ ํ™”๋ฉด๊ณผ ๊ฐ™์ด ์„ค์ •๊ฐ’์„ ์ž…๋ ฅํ•ด ์ฃผ๊ณ , ๊ฐ’/์œ„์น˜ ํ•ญ๋ชฉ์— ๋„๋ฉ”์ธ๊ณผ ์—ฐ๊ฒฐ๋˜๊ธฐ ์›ํ•˜๋Š” IP ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•ด ์ค€๋‹ค.

์–ด๋Š ์ •๋„ ์‹œ๊ฐ„์ด ์ง€๋‚œ ๋’ค ํ•ด๋‹น ๋„๋ฉ”์ธ์œผ๋กœ ์ ‘์†๋˜๋ฉด Ip ์ฃผ์†Œ๋ฅผ ์ณค์„ ๋•Œ์™€ ๋™์ผํ•˜๊ฒŒ ์ ‘์†๋œ๋‹ค.

HTTPS ์ ์šฉ (let's encrypt ์‚ฌ์šฉ)

certbot์œผ๋กœ let's encrypt๋ฅผ ์ž๋™ํ™”ํ•˜์—ฌ HTTPS๋ฅผ ์ ์šฉํ•ด๋ณด์ž.

์ €์žฅ์†Œ ์„ค์ •

$ apt-get update

$ apt-get install software-properties-common

$ add-apt-repository universe

$ add-apt-repository ppa:certbot/certbot

$ apt-get update

ํŒจํ‚ค์ง€ ์„ค์น˜

$ apt-get update

$ apt-get install software-properties-common

$ add-apt-repository universe

$ apt-get update

certbot ์„ค์น˜

$ apt-get install certbot python3-certbot-nginx

SSL ์ธ์ฆ ํš๋“

$ sudo certbot --nginx -d example.com -d www.example.com

์ด๋Ÿฐ ์‹์œผ๋กœ -d ์˜ต์…˜์œผ๋กœ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์˜ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

vividstudy.shop ์ด๋ผ๋Š” ๋„๋ฉ”์ธ์„ ๊ธฐ์ค€์œผ๋กœ ์ง„ํ–‰ํ•œ๋‹ค.

$ certbot --nginx -d vividstudy.shop

ํ•ด๋‹น ๋ช…๋ น์–ด๋ฅผ ๋„๋ฉ”์ธ์— ๋งž๊ฒŒ ์ž…๋ ฅํ•œ๋‹ค.

์ธ์ฆ์ด ์ง„ํ–‰๋˜๋ฉด ๋ฆฌ๋‹ค์ด๋ ‰์…˜์— ๋Œ€ํ•œ ์„ค์ •์„ ๋ฌป๋Š”๋‹ค.

ํด๋ผ์ด์–ธํŠธ์—์„œ http๋กœ ์ ‘์†ํ•ด๋„ https๋กœ ์ ‘์†๋˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์„ ์›ํ•˜๋ฏ€๋กœ 2๋ฒˆ์„ ์„ ํƒํ•œ๋‹ค.

์ธ์ฆ์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค.

$ vim /etc/nginx/sites-available/default

nginx์˜ ์„ค์ •์—๋„ Cerbot์— ๊ด€๋ จ๋œ ๋‚ด์šฉ๋“ค์ด ์ถ”๊ฐ€๋˜์—ˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ ‘์†

http๋กœ ์ ‘์†ํ•˜๋ฉด ๋ฆฌ๋‹ค์ด๋ ‰์…˜๋˜๊ณ , https๋กœ ์ž˜ ์ ‘์†๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.