1편에서는 멀티벤더 이커머스 플랫폼의 아키텍처와 기술 스택을 설계하였다.
이번 편에서는 실제 서비스 운영을 위한 서버 환경을 구축한다.
VMware 기반 가상머신에 Rocky Linux 9.8을 설치하고, WordPress 기반 쇼핑몰 운영을 위한 기본 서버 환경을 준비한다.
VMware 가상머신 생성
먼저 VMware에서 새로운 가상머신을 생성한다.
주요 설정은 다음과 같다.
| 항목 | 리소스 할당 | 설명 |
| CPU | 8 Core | WooCommerce와 Dokan은 PHP 기반 애플리케이션이므로 동시 접속자가 증가할 경우 CPU 사용량이 높아질 수 있다. 초기 운영 환경에서는 8 Core 정도면 충분한 성능을 확보할 수 있다. |
| Memory | 16 GB | WordPress, MySQL, PHP-FPM을 함께 운영하기 위해 최소 8GB 이상을 권장하며, 운영 환경에서는 16GB를 할당하였다. |
| Storage | 1024 GB | 상품 이미지와 업로드 파일을 고려하여 SSD 기반 스토리지를 사용하였다. |
Step 1. VMware 다운로드 및 설치
해당 부분은 생략
Step 2. Rocky Linux 9.8 설치 (Virtual Machine 생성)
- VMware → File → New Virtual Machine
- Typical (recommended) → I will install the operating system later
- Select a Guest Operating System
- Guest operating system: Linux → Version: Rocky Linux 64-bit
- Name the Virtual Machine
- Virtual machine name: Rocky Linux 64-bit E-Commerce
- Location: C:\Users\ahndr\Virtual Machines\Rocky Linux 64-bit E-Commerce
- Specify Disk Capacity
- Maximum disk size (GB): 1024
- Split virtual disk into multiple files
- Ready to Create Virtual Machine
- Processors: 8
- Memory: 16 GB
- Power on this virtual machine
Step 3. Rocky Linux 9.8 (OS 설치)
OS 설치시 수동 파티션 설정과 ssh에 root로 바로 로그인 할 수 있도록 설정한다.
Rocky Linux 설치시 설정
- 언어: 한국어
- 시스템 → 설치 목적지(D) → 저장소 구성: 사용자 정의
- /home: 300GiB
- /boot: 1024 MiB
- /: 715.14 GiB
- swap: 7.85 GiB

- ROOT 비밀번호 설정

네트워크 설정
VMware의 Virtual Network Editor 설정을 참고하여 세팅하면된다.
- VMware → Edit → Virtual Network Editor
- VMnet8 (NAT Settings)
- Gateway IP: 192.168.100.2
- VMnet8 (DHCP Settings)
- Starting IP address: 192.168.100.100
- Ending IP address: 192.168.100.254

- ssh 접속 → nmtui
- 연결 편집 → ens160
- IPv4 설정

- reboot (그냥 편의상 reboot)
시스템 업데이트
설치 직후 최신 패키지로 업데이트를 진행 (권장)
# 시스템 업데이트
dnf update -y
# 완료시 재부팅
reboot
Hostname 설정
서버 식별을 위해 Hostname을 설정
hostnamectl set-hostname ecommerce-prod
시간 동기화 설정
전자상거래 서비스에서는 주문 시간, 로그 분석, 정산 작업이 중요하므로 시간 동기화가 필수이다.
# chrony 확인
systemctl status chronyd
# 만약 active 상태가 아니라면
systemctl enable chronyd --now
# 동기화 상태 확인
chronyc tracking
[root@ecommerce-prod ~]# chronyc tracking
Reference ID : C17BF302 (193.123.243.2)
Stratum : 4
Ref time (UTC) : Mon Jun 08 12:55:26 2026
System time : 0.000235086 seconds slow of NTP time
Last offset : -0.000569761 seconds
RMS offset : 0.000464991 seconds
Frequency : 4.448 ppm fast
Residual freq : -3.909 ppm
Skew : 2.701 ppm
Root delay : 0.007136596 seconds
Root dispersion : 0.001557112 seconds
Update interval : 64.8 seconds
Leap status : Normal
# 현재 타임존 확인
timedatectl
[root@ecommerce-prod ~]# timedatectl
Local time: 월 2026-06-08 21:57:10 KST
Universal time: 월 2026-06-08 12:57:10 UTC
RTC time: 월 2026-06-08 12:57:10
Time zone: Asia/Seoul (KST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
# 타임존이 맞지 않으면 아래와 같이 타임존을 Asia/Seoul로 변경
timedatectl set-timezone Asia/Seoul
[root@ecommerce-prod ~]# timedatectl
Local time: Fri 2026-06-26 13:16:55 KST
Universal time: Fri 2026-06-26 04:16:55 UTC
RTC time: Fri 2026-06-26 04:16:55
Time zone: Asia/Seoul (KST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
방화벽 설정
# 필요한 서비스만 허용(SSH, HTTP, HTTPS)
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
# 적용
firewall-cmd --reload
# 확인
firewall-cmd --list-all
SELinux 확인
SELinux 설정은 permissive로 변경한다. (Default: enforcing)
# usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
setenforce 0
# vi /etc/selinux/config
# SELinux security policy is enforced.
SELINUX=enforcing
# SELinux prints warnings instead of enforcing.
SELINUX=permissive
마무리
모든 설정이 완료되었다면, 마지막으로 시스템을 재부팅한 후 설정이 정상적으로 반영되었는지 확인하는 것을 권장한다. 재부팅 이후에도 의도한 설정이 잘 유지되는지 점검하여 설정 누락이나 오류가 없는지 확인하는 것이 좋다.
그런 의미에서 마지막으로 재부팅을 한 번 하겠다.
reboot
이번 편에서는 VMware 환경에 Rocky Linux 9.8 서버를 구축하고 기본 운영 환경을 준비하였다.
다음 편에서는 Nginx, PHP-FPM, MySQL을 설치하여 WordPress 운영을 위한 LEMP 스택을 구축해보겠다.
- Nginx 설치
- PHP 8.x 설치
- PHP-FPM 구성
- MySQL 설치
- 서비스 연동 테스트
'웹 프로그래밍 > WordPress' 카테고리의 다른 글
| 멀티벤더 쇼핑몰 구축기 #1 - 아키텍처 설계 (0) | 2026.06.08 |
|---|