๐Ÿ“ฐ WordPress ์„ค์น˜ ๋ฐ ์‹ค์Šต (Azure ๊ธฐ๋ฐ˜ - IaaS)

Geondong Kimยท2026๋…„ 1์›” 5์ผ

ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…

๋ชฉ๋ก ๋ณด๊ธฐ
10/13
post-thumbnail

1. ๊ธฐ๋ณธ ๊ฐœ๋… ์ •๋ฆฌ

1.1. ์›Œ๋“œํ”„๋ ˆ์Šค(WordPress)๋ž€?

  • ์„ธ๊ณ„์ ์œผ๋กœ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ์˜คํ”ˆ ์†Œ์Šค ์ฝ˜ํ…์ธ  ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(CMS).
  • ๋ธ”๋กœ๊ทธ, ์›น์‚ฌ์ดํŠธ, ์‡ผํ•‘๋ชฐ ๋“ฑ ๋‹ค์–‘ํ•œ ์›น ํŽ˜์ด์ง€๋ฅผ ๊ธฐ์ˆ ์  ์ง€์‹ ์—†์ด๋„ ๊ตฌ์ถ• ๊ฐ€๋Šฅ.

1.2. SSH (Secure Shell)

  • ๊ฐœ๋…: ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์— ๋กœ๊ทธ์ธํ•˜๊ฑฐ๋‚˜ ์›๊ฒฉ ์‹œ์Šคํ…œ์—์„œ ๋ช…๋ น์„ ์‹คํ–‰ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์•”ํ˜ธํ™”๋œ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ.
  • ํŠน์ง•: ๋ฐ์ดํ„ฐ๊ฐ€ ์•”ํ˜ธํ™”๋˜์–ด ์ „์†ก๋˜๋ฏ€๋กœ ๋ณด์•ˆ์ƒ ์•ˆ์ „ํ•˜๋ฉฐ, ์ฃผ๋กœ ๊ณต๊ฐœ ํ‚ค(Public Key) ์ธ์ฆ ๋ฐฉ์‹์„ ์‚ฌ์šฉ.

2. ์‹ค์Šต: IaaS ๊ธฐ๋ฐ˜ ์„ค์น˜ (Azure VM)

๊ฐ€์ƒ ๋จธ์‹ (VM)์„ ์ƒ์„ฑํ•˜์—ฌ OS, ์›น ์„œ๋ฒ„, DB, ์›Œ๋“œํ”„๋ ˆ์Šค๋ฅผ ์ง์ ‘ ์„ค์น˜ํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค.

2.1. Azure ๋ฆฌ์†Œ์Šค ๋ฐ VM ์ƒ์„ฑ

1. ๋ฆฌ์†Œ์Šค ๊ทธ๋ฃน ๋งŒ๋“ค๊ธฐ:

  • Azure Portal ์ƒ๋‹จ ๊ฒ€์ƒ‰์ฐฝ์—์„œ '๋ฆฌ์†Œ์Šค ๊ทธ๋ฃน' ๊ฒ€์ƒ‰ ๋˜๋Š” + ๋ฆฌ์†Œ์Šค ๋งŒ๋“ค๊ธฐ ํด๋ฆญ.
  • ์ƒˆ ๋ฆฌ์†Œ์Šค ๊ทธ๋ฃน ์ƒ์„ฑ (์˜ˆ: student_wordpress_rg).

Azure Portal ํ™ˆ ํ™”๋ฉด

๋ฆฌ์†Œ์Šค ๊ทธ๋ฃน ๋งŒ๋“ค๊ธฐ ํ™”๋ฉด

2. ๊ฐ€์ƒ ๋จธ์‹ (VM) ์ƒ์„ฑ ์„ค์ •:

  • Marketplace ๊ฒ€์ƒ‰: Virtual Machine ๋˜๋Š” ๊ฐ€์ƒ ๋จธ์‹  ๊ฒ€์ƒ‰.
  • ๊ธฐ๋ณธ ์„ค์ •:
    • OS: Ubuntu Server 24.04 LTS x64 Gen2.
    • ํฌ๊ธฐ: Standard_D2s_v3 (2 vcpu, 8 GiB ๋ฉ”๋ชจ๋ฆฌ) ๊ถŒ์žฅ (ํ• ๋‹น๋Ÿ‰ ์ดˆ๊ณผ ์‹œ ๋ณ€๊ฒฝ).

Marketplace ๊ฐ€์ƒ ๋จธ์‹  ์„ ํƒ

๊ฐ€์ƒ ๋จธ์‹  ์ƒ์„ฑ ๊ธฐ๋ณธ ์„ค์ •

3. ๋ณด์•ˆ ๋ฐ ๋„คํŠธ์›Œํฌ ์„ค์ • (์ค‘์š”):

  • ์ธ์ฆ ํ˜•์‹: SSH ๊ณต๊ฐœ ํ‚ค.
  • ์ธ๋ฐ”์šด๋“œ ํฌํŠธ: ์™ธ๋ถ€ ์ ‘์†์„ ์œ„ํ•ด ๋‹ค์Œ ํฌํŠธ๋ฅผ ๋ฐ˜๋“œ์‹œ ํ—ˆ์šฉํ•ด์•ผ ํ•จ.
    • 22 (SSH ์ ‘์†)
    • 80 (HTTP ์›น)
    • 443 (HTTPS ๋ณด์•ˆ ์›น)

๋„คํŠธ์›Œํฌ ๋ฐ ํฌํŠธ ์„ค์ • ํ™”๋ฉด

4. ํ‚ค ์Œ ์ƒ์„ฑ ๋ฐ ๋ฐฐํฌ:

  • ์ƒˆ ํ‚ค ์Œ ์ƒ์„ฑ์„ ์„ ํƒํ•˜๊ณ , VM ๋งŒ๋“ค๊ธฐ๋ฅผ ์™„๋ฃŒํ•˜๋ฉด ํ”„๋ผ์ด๋น— ํ‚ค(.pem) ๋‹ค์šด๋กœ๋“œ ํŒ์—…์ด ๋œน๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์€ ๋‹ค์‹œ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์—†์œผ๋‹ˆ ์•ˆ์ „ํ•œ ๊ณณ์— ์ €์žฅํ•˜์„ธ์š”.

ํ”„๋ผ์ด๋น— ํ‚ค ๋‹ค์šด๋กœ๋“œ ํŒ์—…

๋ฐฐํฌ ์™„๋ฃŒ ํ™”๋ฉด

2.2. ํ„ฐ๋ฏธ๋„ ์ ‘์† ๋ฐ ๊ธฐ๋ณธ ํ™˜๊ฒฝ ๊ตฌ์„ฑ

1. ์ ‘์† ์ •๋ณด ํ™•์ธ:

  • ์ƒ์„ฑ๋œ VM์˜ ๊ฐœ์š” ํŽ˜์ด์ง€์—์„œ ๊ณต์šฉ IP ์ฃผ์†Œ๋ฅผ ํ™•์ธํ•˜๊ณ  ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.

VM ๊ฐœ์š” ๋ฐ ๊ณต์šฉ IP ํ™•์ธ

2. SSH ์ ‘์†:
ํ„ฐ๋ฏธ๋„(PowerShell ๋˜๋Š” CMD)์—์„œ SSH ๋ช…๋ น์–ด๋กœ VM์— ์ ‘์†ํ•ฉ๋‹ˆ๋‹ค.

# SSH ์ ‘์† ์˜ˆ์‹œ (ํ‚ค ํŒŒ์ผ์ด ์žˆ๋Š” ๊ฒฝ๋กœ์—์„œ ์‹คํ–‰)
ssh -i [ํ‚คํŒŒ์ผ๊ฒฝ๋กœ\\ํŒŒ์ผ๋ช….pem] azureuser@[๊ณต์šฉIP์ฃผ์†Œ]

ํ„ฐ๋ฏธ๋„ ์ ‘์† ํ™”๋ฉด

3. ํ•„์ˆ˜ ํŒจํ‚ค์ง€ ์„ค์น˜:
์ ‘์† ํ›„, ํŒจํ‚ค์ง€ ๋ชฉ๋ก์„ ๊ฐฑ์‹ ํ•˜๊ณ  ํ•„์ˆ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(LAMP Stack)๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

# 1. ํŒจํ‚ค์ง€ ๋ชฉ๋ก ์ตœ์‹ ํ™” (๊ฐ€์žฅ ๋จผ์ € ์‹คํ–‰)
sudo apt update -y

# 2. LAMP ์Šคํƒ(Linux, Apache, MariaDB, PHP) ๋ฐ ํ•„์ˆ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜
# (VM ์•ˆ์— ์„ค์น˜๋˜๋ฏ€๋กœ ๋‚ด PC์—๋Š” ์˜ํ–ฅ ์—†์Œ)
sudo apt install apache2 mariadb-server php php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap libapache2-mod-php php-mysql -y

2.3. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(MariaDB) ๊ตฌ์ถ•

์ œ๋กœ ํŠธ๋Ÿฌ์ŠคํŠธ(Zero Trust) ์›์น™์— ๋”ฐ๋ผ Root ๊ณ„์ • ๋Œ€์‹  ์ตœ์†Œํ•œ์˜ ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์ „์šฉ ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์šด์˜ํ•ฉ๋‹ˆ๋‹ค.

1. ๋ณด์•ˆ ์„ค์ •:

sudo mysql_secure_installation
# ์„ค์ • ๊ณผ์ •์—์„œ Root ๋น„๋ฐ€๋ฒˆํ˜ธ ์„ค์ •, ์ต๋ช… ์‚ฌ์šฉ์ž ์ œ๊ฑฐ ๋“ฑ์„ ์ง„ํ–‰ (Y/N ์„ ํƒ)

2. DB ๋ฐ ์œ ์ € ์ƒ์„ฑ (SQL ๋ชจ๋“œ ์ง„์ž…):

sudo mysql -u root -p

(์•„๋ž˜๋Š” MariaDB ์ฝ˜์†” ๋‚ด๋ถ€ ๋ช…๋ น์–ด)

-- ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ™•์ธ
show databases;

-- 1. ์›Œ๋“œํ”„๋ ˆ์Šค์šฉ DB ์ƒ์„ฑ
CREATE DATABASE wordpress;

-- 2. ์‚ฌ์šฉ์ž ์ƒ์„ฑ (์ œ๋กœ ํŠธ๋Ÿฌ์ŠคํŠธ: root ์‚ฌ์šฉ ์ง€์–‘)
CREATE USER 'wordpress'@'localhost' IDENTIFIED BY '์„ค์ •ํ• ๋น„๋ฐ€๋ฒˆํ˜ธ';

-- ์‚ฌ์šฉ์ž ํ™•์ธ
SELECT USER, HOST from mysql.user;

-- 3. ๊ถŒํ•œ ๋ถ€์—ฌ (ํ•ด๋‹น DB์— ๋Œ€ํ•œ ๋ชจ๋“  ๊ถŒํ•œ)
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost';

-- ๊ถŒํ•œ ํ™•์ธ
SHOW GRANTS FOR 'wordpress'@'localhost';

-- 4. ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ ์šฉ ๋ฐ ์ข…๋ฃŒ
FLUSH PRIVILEGES;
EXIT;

2.4. ์›Œ๋“œํ”„๋ ˆ์Šค ๋‹ค์šด๋กœ๋“œ ๋ฐ ๋ฐฐ์น˜

๊ธฐ์กด ์›น ๋ฃจํŠธ์˜ ํŒŒ์ผ์„ ๋น„์šฐ๊ณ  ํ•œ๊ตญ์–ด ๋ฒ„์ „ ์›Œ๋“œํ”„๋ ˆ์Šค๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

# ์›น ๋ฃจํŠธ ์ด๋™ ๋ฐ ๊ธฐ์กด ํŒŒ์ผ ์‚ญ์ œ
cd /var/www
sudo rm -rf *

# ํ•œ๊ตญ์–ด ์›Œ๋“œํ”„๋ ˆ์Šค ๋‹ค์šด๋กœ๋“œ (wget)
sudo wget <http://ko.wordpress.org/latest-ko_KR.tar.gz>

# ์••์ถ• ํ•ด์ œ
sudo tar -xvzf latest-ko_KR.tar.gz

# ํด๋”๋ช… ๋ณ€๊ฒฝ (wordpress -> html) ๋ฐ ์••์ถ•ํŒŒ์ผ ์‚ญ์ œ
sudo mv wordpress html
sudo rm latest-ko_KR.tar.gz

# ํŒŒ์ผ ๋ฆฌ์ŠคํŠธ ํ™•์ธ
ls -al

2.5. ๊ถŒํ•œ ๋ถ€์—ฌ ๋ฐ ์›น ์„œ๋ฒ„(Apache) ์„ค์ •

์•„ํŒŒ์น˜ ์›น ์„œ๋ฒ„๊ฐ€ ํŒŒ์ผ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ์†Œ์œ  ๊ถŒํ•œ์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์„ค์ •์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

1. ๊ถŒํ•œ ์„ค์ •:

# ์†Œ์œ ์ž๋ฅผ www-data(์•„ํŒŒ์น˜ ์œ ์ €)๋กœ ๋ณ€๊ฒฝ
sudo chown -R www-data:www-data /var/www/html

# ๊ถŒํ•œ ๋ณ€๊ฒฝ (775)
sudo chmod -R 775 /var/www/html

2. VirtualHost ์„ค์ •:

# ์„ค์ • ํŒŒ์ผ ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™
cd /etc/apache2/sites-available

# ์›Œ๋“œํ”„๋ ˆ์Šค ์„ค์ • ํŒŒ์ผ ์ƒ์„ฑ ๋ฐ ํŽธ์ง‘ (vi ์—๋””ํ„ฐ ์‚ฌ์šฉ)
sudo vi wordpress.conf

wordpress.conf ๋‚ด์šฉ ์ž…๋ ฅ:*(ServerName์—๋Š” ๋ณธ์ธ์˜ Azure DNS ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. DNS ์„ค์ •์€ 2.6 ์ฐธ์กฐ)*

<VirtualHost *:80>
        ServerAdmin test@test.com
        DocumentRoot /var/www/html

        # [๋ณธ์ธ์˜-DNS-์ฃผ์†Œ] ์˜ˆ: geondongkim-wordpress.koreacentral.cloudapp.azure.com
        ServerName [๋ณธ์ธ์˜-DNS-์ฃผ์†Œ]

        <Directory /var/www/html/>
                Options FollowSymLinks
                AllowOverride All
                Require all granted
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/wordpress_error.log
        CustomLog ${APACHE_LOG_DIR}/wordpress_access.log combined
</VirtualHost>

3. ์„ค์ • ์ ์šฉ ๋ฐ ์•„ํŒŒ์น˜ ์žฌ์‹œ์ž‘:

# ์‚ฌ์ดํŠธ ํ™œ์„ฑํ™”
sudo a2ensite wordpress.conf

# ์„ค์ • ๋ฌธ๋ฒ• ๊ฒ€์‚ฌ (Syntax OK ํ™•์ธ)
sudo apache2ctl configtest

# ์•„ํŒŒ์น˜ ์„œ๋น„์Šค ์žฌ์‹œ์ž‘ ๋ฐ ์ƒํƒœ ํ™•์ธ
sudo systemctl reload apache2
sudo systemctl status apache2

2.6. ๋„๋ฉ”์ธ ์—ฐ๊ฒฐ

1. Azure DNS ์„ค์ •:

  • Azure Portal์—์„œ ํ•ด๋‹น VM์˜ ๊ณต์šฉ IP ์ฃผ์†Œ ๋ฆฌ์†Œ์Šค๋กœ ์ด๋™ํ•˜๊ฑฐ๋‚˜ ๊ฐœ์š” -> DNS ์ด๋ฆ„: ๊ตฌ์„ฑ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  • DNS ์ด๋ฆ„ ๋ ˆ์ด๋ธ”์— ์›ํ•˜๋Š” ์œ ๋‹ˆํฌํ•œ ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

DNS ์ด๋ฆ„ ๋ ˆ์ด๋ธ” ์„ค์ •

DNS ์„ค์ • ์™„๋ฃŒ ํ™”๋ฉด

2.6. Certbot์„ ์ด์šฉํ•œ HTTPS ๋ณด์•ˆ ์ ์šฉ

DNS ์„ค์ •์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค๋ฉด, Certbot ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌด๋ฃŒ SSL ์ธ์ฆ์„œ(Let's Encrypt)๋ฅผ ๋ฐœ๊ธ‰๋ฐ›๊ณ  ์›น์‚ฌ์ดํŠธ๋ฅผ HTTPS๋กœ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

1. Certbot ์„ค์น˜ ๋ฐ ์‹คํ–‰
ํ„ฐ๋ฏธ๋„์—์„œ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

# 1. Certbot ์•„ํŒŒ์น˜ ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜
sudo apt install python3-certbot-apache -y

# 2. ์ธ์ฆ์„œ ๋ฐœ๊ธ‰ ์š”์ฒญ (์ค‘์š”: http:// ๋“ฑ์„ ์ œ์™ธํ•œ ์ˆœ์ˆ˜ ๋„๋ฉ”์ธ ์ฃผ์†Œ๋งŒ ์ž…๋ ฅ)
# ์˜ˆ: sudo certbot --apache -d geondongkim-wordpress.koreacentral.cloudapp.azure.com
sudo certbot --apache -d [๋ณธ์ธ์˜-DNS-์ฃผ์†Œ]

2. Certbot ์„ค์ • ๋‹จ๊ณ„ (์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ๋ชจ๋“œ)
๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋ช‡ ๊ฐ€์ง€ ์งˆ๋ฌธ์ด ๋‚˜์˜ต๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ง„ํ–‰ํ•˜์„ธ์š”.

  1. Enter email address: ๋ณธ์ธ์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ ์ž…๋ ฅ (์ธ์ฆ์„œ ๋งŒ๋ฃŒ ์•Œ๋ฆผ์šฉ).
  2. Please read the Terms of Service... (Y)es/(N)o: ์•ฝ๊ด€ ๋™์˜ โ†’ Y ์ž…๋ ฅ.
  3. Would you be willing to share your email... (Y)es/(N)o: ์ด๋ฉ”์ผ ๊ณต์œ  ์—ฌ๋ถ€ (์„ ํƒ ์‚ฌํ•ญ) โ†’ N ์ž…๋ ฅํ•ด๋„ ๋ฌด๋ฐฉ.
  4. Congratulations! ๋ฉ”์‹œ์ง€๊ฐ€ ๋œจ๋ฉด ์ธ์ฆ์„œ ๋ฐœ๊ธ‰ ๋ฐ ์ ์šฉ์ด ์™„๋ฃŒ๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๐Ÿ’ก ์ฐธ๊ณ : Certbot์ด ์ž๋™์œผ๋กœ Apache ์„ค์ •์„ ์ˆ˜์ •ํ•˜์—ฌ, ์‚ฌ์šฉ์ž๊ฐ€ http://๋กœ ์ ‘์†ํ•˜๋”๋ผ๋„ ์•ˆ์ „ํ•œ https://๋กœ ์ž๋™ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ๋˜๋„๋ก ์„ค์ •ํ•ด ์ค๋‹ˆ๋‹ค.

Certbot ์‹คํ–‰ ๋ฐ ์ด๋ฉ”์ผ ์ž…๋ ฅ ํ™”๋ฉด


[์ „์ฒด ํ๋ฆ„ ์š”์•ฝ]

  1. sudo apt install ... ๋กœ ๋„๊ตฌ ์„ค์น˜.
  2. sudo certbot ... ๋ช…๋ น์–ด๋กœ ์ธ์ฆ์„œ ์š”์ฒญ.
  3. ์ด๋ฉ”์ผ ์ž…๋ ฅ ๋ฐ ์•ฝ๊ด€ ๋™์˜ (Y).
  4. ์„ค์น˜ ์™„๋ฃŒ ๋ฉ”์‹œ์ง€ ํ™•์ธ.
  5. ๋ธŒ๋ผ์šฐ์ €์—์„œ https://๋„๋ฉ”์ธ์œผ๋กœ ์ ‘์†ํ•˜์—ฌ ์ž๋ฌผ์‡  ์•„์ด์ฝ˜ ํ™•์ธ.

2.7. ์›Œ๋“œํ”„๋ ˆ์Šค ์„ค์น˜ ๋งˆ๋ฌด๋ฆฌ (๋ธŒ๋ผ์šฐ์ €)

  1. ๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ์ฐฝ์— https://[๋ณธ์ธ์˜-DNS-์ฃผ์†Œ] ์ž…๋ ฅ.
  2. ์„ค์ • ํ™”๋ฉด:
    • ์›น ์„ค์น˜ ๋งˆ๋ฒ•์‚ฌ(Tool)๋ฅผ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค.
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„: wordpress
    • ์‚ฌ์šฉ์ž๋ช…: wordpress
    • ๋น„๋ฐ€๋ฒˆํ˜ธ: (์•„๊นŒ DB ์„ค์ • ์‹œ ๋งŒ๋“  ๋น„๋ฐ€๋ฒˆํ˜ธ)
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ˜ธ์ŠคํŠธ: localhost ์ƒ๋žต
    • ํ…Œ์ด๋ธ” ์ ‘๋‘์–ด: wp ์ƒ๋žต

์›Œ๋“œํ”„๋ ˆ์Šค DB ์—ฐ๊ฒฐ ์„ค์ • ํ™”๋ฉด

  1. ์ „์†ก์„ ๋ˆ„๋ฅด๊ณ , ์‚ฌ์ดํŠธ ์ œ๋ชฉ ๋ฐ ๊ด€๋ฆฌ์ž ๊ณ„์ • ์ƒ์„ฑ ํ›„ ์„ค์น˜๋ฅผ ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค.
    ๋„ค, DuckDNS๋ฅผ ์ด์šฉํ•ด ์ถ”๊ฐ€ ๋„๋ฉ”์ธ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๊ณผ์ •์„ 2.6 ์„น์…˜ ํ•˜๋‹จ์— [์ฐธ๊ณ ] ํ•ญ๋ชฉ์œผ๋กœ ์ถ”๊ฐ€ํ•˜๋ฉด ํ๋ฆ„์ด ์ž์—ฐ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค.

์ œ๊ณตํ•ด์ฃผ์‹  ๋ช…๋ น์–ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋‚ด์šฉ์„ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.


[์ฐธ๊ณ ] DuckDNS ๋ฌด๋ฃŒ ๋„๋ฉ”์ธ ์ถ”๊ฐ€ ์—ฐ๊ฒฐ

Duck DNS ํ™”๋ฉด

Azure์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ธด ๋„๋ฉ”์ธ(*.cloudapp.azure.com) ๋Œ€์‹ , DuckDNS์™€ ๊ฐ™์€ ๋ฌด๋ฃŒ ๋„๋ฉ”์ธ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ ์งง์€ ์ฃผ์†Œ(*.duckdns.org)๋ฅผ ์ถ”๊ฐ€๋กœ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1. ์„ค์ • ํŒŒ์ผ ๋ณต์‚ฌ ๋ฐ ์ƒ์„ฑ
๊ธฐ์กด์— ์ž‘์„ฑํ•œ wordpress.conf ํŒŒ์ผ์„ ๋ณต์‚ฌํ•˜์—ฌ DuckDNS์šฉ ์„ค์ • ํŒŒ์ผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

# ๊ธฐ์กด ์„ค์ • ํŒŒ์ผ ๋ณต์‚ฌ
sudo cp wordpress.conf duckdns.conf

# ํŒŒ์ผ ์ƒ์„ฑ ํ™•์ธ
ls -al

# DuckDNS ์„ค์ • ํŒŒ์ผ ํŽธ์ง‘
sudo vi duckdns.conf

2. duckdns.conf ๋‚ด์šฉ ์ˆ˜์ •
ServerName ๋ถ€๋ถ„์„ ๋ณธ์ธ์ด DuckDNS์—์„œ ๋ฐœ๊ธ‰๋ฐ›์€ ๋„๋ฉ”์ธ์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

<VirtualHost *:80>
        ServerAdmin test@test.com
        DocumentRoot /var/www/html
        
        # [๋ณธ์ธ์˜ DuckDNS ๋„๋ฉ”์ธ ์ž…๋ ฅ]
        # ์˜ˆ: ServerName geondongkim.duckdns.org
        ServerName geondongkim.duckdns.org

        <Directory /var/www/html/>
                Options FollowSymLinks
                AllowOverride All
                Require all granted
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/duckdns_error.log
        CustomLog ${APACHE_LOG_DIR}/duckdns_access.log combined
</VirtualHost>

3. ์‚ฌ์ดํŠธ ํ™œ์„ฑํ™” ๋ฐ SSL ์ ์šฉ
์ƒˆ๋กœ ๋งŒ๋“  ์„ค์ •์„ ์•„ํŒŒ์น˜์— ๋“ฑ๋กํ•˜๊ณ , Certbot์„ ํ†ตํ•ด HTTPS ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์Šต๋‹ˆ๋‹ค.

# 1. DuckDNS ์‚ฌ์ดํŠธ ์„ค์ • ํ™œ์„ฑํ™”
sudo a2ensite duckdns.conf

# 2. ์•„ํŒŒ์น˜ ์„ค์ • ๋‹ค์‹œ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
sudo systemctl reload apache2

# 3. SSL ์ธ์ฆ์„œ ๋ฐœ๊ธ‰ (DuckDNS ๋„๋ฉ”์ธ)
# ์ฃผ์˜: --apache ์•ž์— ๋Œ€์‹œ(-)๊ฐ€ ๋‘ ๊ฐœ์ž…๋‹ˆ๋‹ค.
sudo certbot --apache -d 'geondongkim.duckdns.org'

3. ์‹ค์Šต: PaaS ๊ธฐ๋ฐ˜ ์„ค์น˜ (Azure App Service)

Azure Marketplace๋ฅผ ์ด์šฉํ•ด ํด๋ฆญ ๋ช‡ ๋ฒˆ์œผ๋กœ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

  • ๊ณผ์ •: Azure Portal ๊ฒ€์ƒ‰ โ†’ 'WordPress' (Microsoft ์ œ๊ณต) ์„ ํƒ โ†’ ๋งŒ๋“ค๊ธฐ โ†’ ํ”Œ๋žœ/DB ์„ค์ • โ†’ ๋ฐฐํฌ.
  • ํŠน์ง•:
    • IaaS: ๋น„์šฉ ์ €๋ ด, ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ๊ฐ€๋Šฅ, ์„ค์ • ๋ณต์žก (OS ์—…๋ฐ์ดํŠธ๋ถ€ํ„ฐ ์ง์ ‘ ๊ด€๋ฆฌ).
    • PaaS: ๋ฐฐํฌ ๋น ๋ฆ„(5๋ถ„), ๊ด€๋ฆฌ ํŽธํ•จ, ๋น„์šฉ ๋†’์Œ (๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค).

4. ๋งˆ๋ฌด๋ฆฌ ๋ฐ ์ฃผ์˜์‚ฌํ•ญ

  • ๋น„์šฉ ๊ด€๋ฆฌ: ์‹ค์Šต์ด ๋๋‚˜๋ฉด ๊ณผ๊ธˆ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด ํ•ด๋‹น ๋ฆฌ์†Œ์Šค ๊ทธ๋ฃน์„ ๋ฐ˜๋“œ์‹œ ์‚ญ์ œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณด์•ˆ: ์‹ค์ œ ์„œ๋น„์Šค ์‹œ root ์‚ฌ์šฉ ๊ธˆ์ง€, SSH ํฌํŠธ ๊ด€๋ฆฌ ๋“ฑ ๋ณด์•ˆ ์ˆ˜์น™์„ ์ค€์ˆ˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€