공감

|

SM

SM

DH

DH

JH

JH

WordPress : ①설치(Docker)

제공

Ubuntu 24.04에서 Docker Desktop를 이용하여 WordPress를 설치 경험을 공유합니다. docker-compose.yml과 .env 생성하여 WordPress 컨테이너와 Mysql 컨테이너를 만듭니다.


설치환경(사용 프로그램)

■ Ubuntu 24.04
■ Docker Desktop 4.42
■ vim (편집프로그램 : sudo apt install -y vim)

설치된 호스트 OS는 Ubuntu 24.04 이고 Docker는 Docker Desktop 4.42 입니다. OS는 Linux 환경, Docker는 Docker Engine 도 가능합니다.

디렉토리 구조

■ 파일1 : sample-folder/docker-compose.yml
■ 파일2: sample-folder/.env

신규 폴더(sample-folder 등)를 생성한 후에 해당 폴더에 docker-compose.yml과 .env 파일을 만듭니다. ".env" 파일을 사용하는 이유는 데이터베이스인 mysql 의 비밀번호 등을 docker-compose.yml 등에 노출하지 않기 위함입니다.

▷ 파일 생성
mkdir sample-folder
cd sample-folder

touch docker-compose.yml
touch .env

파일 내용 작성

■ docker-compose.yml 편집
> docker-compose.yml 파일 내용은 다음과 같습니다.
services:
  db:
    image: mysql:latest
    container_name: wordpress_db
    restart: unless-stopped
    ports:
      - "3301:3306" # 로컬 포트 3301을 컨테이너의 3306 포트와 연결
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_DATABASE: ${MYSQL_DATABASE}
      MYSQL_USER: ${MYSQL_USER}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}
    volumes:
      - db_data:/var/lib/mysql
    networks:
      - wordpress_network

  wordpress:
    image: wordpress:latest
    container_name: wordpress
    depends_on:
      - db
    restart: unless-stopped
    ports:
      - "8081:80" # 로컬 포트 8081을 컨테이너의 80 포트와 연결
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_NAME: ${MYSQL_DATABASE}
      WORDPRESS_DB_USER: ${MYSQL_USER}
      WORDPRESS_DB_PASSWORD: ${MYSQL_PASSWORD}
    volumes:
      - wordpress_data:/var/www/html
    networks:
      - wordpress_network

networks:
  wordpress_network:
    driver: bridge

volumes:
  wordpress_data:
  db_data:
> ports 확인
ports 에 있어서, 사용하지 않는 port 번호를 써야 합니다. 사용하고 있는 ports 확인은 Ubuntu 24.04 에서는 다음과 같습니다.
bash : 현재 사용하고 있는 posts 확인
ss -tuln

bash : port 8080을 사용하고 있는지 확인, 출력결과가 나오면 사용 중입니다.
ss -tuln | grep 8080
■ .env 편집
.env 파일 내용은 다음과 같습니다. "=" 다음으로 원하는 내용으로 수정하면 됩니다. 예를 들어서 MYSQL_ROOT_PASSWORD=abcde12345
MYSQL_ROOT_PASSWORD=myrootpassword
MYSQL_DATABASE=wordpress_db
MYSQL_USER=wp_user
MYSQL_PASSWORD=wp_password

WordPress 컨테이너 : 만들기

■ sample-folder/docker-compose.yml
sample-folder에서 다음 명령어를 실행합니다. WordPress 컨테이너와 Mysql 컨테이너가 Docker Desktop 내부 Network 에서 서로 연결되는데 약간의 시간이 소요됩니다. 컴퓨터 사양에 따라서 다를 것 같아요.(내 경우 5초 정도)

▷ 파일 실행
docker compose up -d

WordPress 컨테이너 : 접속

■ 웹브라우저 : Chrome, Edge 등
Chrome, Edge, Firefox 와 같은 웹브라우저 주소창에 위의 docker-compose.yml 내용에서 wordpress의 ports 부분인 8081을 다음과 같이 입력하여 접속합니다. (8081:80 에서 8081은 host 포트이고 뒤의 80포트는 컨테이너 포트입니다. 내 컴퓨터(host) 8081포트와 컨테이너 포트 80번을 연결한다는 의미입니다.)

혹시, 데이터베이스에 접속할 수 없다는 메시지가 출력된다면, 위에서 말했던 Docker Desktop 내부에서 컨테이너간 네트워크가 서로 연결되지 않았기 때문일 수 있습니다. 좀 더 기다리시거나, 위의 과정을 다시 한번 살피시기를 바랍니다. 웹 브라우저에 저장된 cache 등을 삭제하고서 새로고침(F5) 해보시기 바랍니다. 그럼에도 않된다면 사용자마다 설치 환경이 다를 수 있기에 알아서들 해결하기 바랍니다.

▷ 실행 방법
localhost:8081
>  Database Error
좀 기다리시면 됩니다.


WordPress Setting

■ 언어 선택
워드프레스에서 한국어를 제공하니 한국어를 선택할 수 있습니다.

■ 기본정보
- 기본 정보는 설치가 완료된 이후에도 변경할 수 있으나, 처음부터 재대로 입력하는 게 관리 측면에서 좋습니다.
- 사이트 제목 : 홈페이지를 대표하는 제목입니다. 구글, 네이버 등 검색엔진에 노출되어 검색되는 부분입니다.
- 사용자명 : 영어로 작성해야 합니다. 한국어로 하면 "유효하지 않은 문자" 라며 error 가 됩니다.
- 비밀번호 : 자동으로 만들어지나 변경할 수 있습니다. 일단 복사해서 메모장 등에 기록해 둡니다.
- 이메일 : 홈페이지 대표 이메일 입니다.
- 검색엔진가시성 : 빈공간으로 두고 지나갑니다. 구글, 네이버 등 검색엔진에 노출하지 않고서 사용할 경우에 해당합니다.
- wordpress 설치 : 설치버튼을 누르면 설치가 진행됩니다.

■ 설치완료
- "wordpress 설치" 버튼을 클릭 후 몇 초면 설치가 완료됩니다.
- 이후 과정은 로그인 하고서 WordPress 기본화면이 표시됩니다.

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다