Docker를 이용하여 우분투 서버에 워드프레스를 설치하는 방법을 단계별로 설명드리겠습니다. 이 방법은 컨테이너를 사용해 워드프레스를 배포하며, 간단하고 효율적인 환경 구성을 제공합니다.
1. Docker와 Docker Compose 설치
1.1 Docker 설치
- 패키지 목록 업데이트:
sudo apt update
- 필수 패키지 설치:
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
- Docker GPG 키 추가:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- Docker 리포지토리 추가:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- Docker 설치:
sudo apt update
sudo apt install docker-ce -y
- Docker 설치 확인:
docker --version
1.2 Docker Compose 설치
- 최신 버전의 Docker Compose 다운로드:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- 실행 권한 부여:
sudo chmod +x /usr/local/bin/docker-compose
- 설치 확인:
docker-compose --version
2. 워드프레스 및 MySQL 컨테이너 구성
2.1 Docker Compose 파일 생성
- 작업 디렉토리를 생성하고 이동:
mkdir wordpress-docker && cd wordpress-docker
docker-compose.yml
파일 작성:nano docker-compose.yml
- 아래 내용을 입력:
version: '3.1'
services:
wordpress:
image: wordpress:latest
container_name: wordpress
restart: always
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wp_user
WORDPRESS_DB_PASSWORD: strongpassword
WORDPRESS_DB_NAME: wp_database
volumes:
- wordpress_data:/var/www/html
db:
image: mysql:5.7
container_name: wordpress_db
restart: always
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: wp_database
MYSQL_USER: wp_user
MYSQL_PASSWORD: strongpassword
volumes:
- db_data:/var/lib/mysql
volumes:
wordpress_data:
db_data:
3. Docker Compose로 워드프레스 실행
- Docker Compose 실행:
sudo docker-compose up -d
- 컨테이너 상태 확인:
sudo docker ps
4. 워드프레스 설정
- 브라우저에서 서버의 IP 주소와 포트
8080
을 입력하여 접속:- 예:
http://your_server_ip:8080
- 예:
- 워드프레스 설치 마법사 화면에서 언어를 선택하고, 사이트 제목, 관리자 계정 정보 등을 입력하여 설치를 완료합니다.
5. 데이터 유지 및 관리
5.1 데이터 볼륨 확인
docker volume ls
데이터는wordpress_data
와db_data
볼륨에 저장됩니다.
5.2 컨테이너 중지
sudo docker-compose down
5.3 컨테이너 재시작
sudo docker-compose up -d
6. SSL 인증서 설정 (선택 사항)
- nginx-proxy와 Let’s Encrypt를 활용한 SSL 설정:
- 추가로 Nginx Proxy와 Let’s Encrypt를 설정하면 HTTPS를 사용할 수 있습니다. 이를 위해
nginx-proxy
및docker-letsencrypt-nginx-proxy-companion
이미지를 추가 구성하면 됩니다.
- 추가로 Nginx Proxy와 Let’s Encrypt를 설정하면 HTTPS를 사용할 수 있습니다. 이를 위해
- HTTPS 설정에 대한 자세한 도움말이 필요하면 언제든 요청해 주세요!
7. Docker Compose의 장점
- 설치와 관리가 간단하며, Docker Compose 파일 하나로 환경 구성이 가능합니다.
- MySQL과 워드프레스 컨테이너 간 연결이 자동으로 설정됩니다.
- 데이터는 Docker 볼륨에 저장되므로, 컨테이너 재생성 시에도 데이터가 유지됩니다.
이제 Docker를 사용해 우분투 서버에서 워드프레스를 실행할 수 있습니다. 추가적인 질문이나 도움이 필요하시면 언제든지 문의하세요!