안녕하세요. 경민나스입니다.
예전에는 우리 포럼에서 워드프레스 설치가 정말 뜨거운 주제였는데, 요즘은 조금 잊혀진 느낌이더라고요. 그래서 제가 쓰고 있는 스크립트를 다시 한 번 손보고, 현재 기준에 맞게 살짝 정리해봤습니다. 이 스크립트는 GPT와 계속 질문·답변을 주고받으며 여러 번 시행착오를 거쳐 완성한 것이고, 지금도 실제 워드프레스를 구동하는 데 사용하고 있습니다. 시놀로지에 워드프레스를 설치하는 방법과는 별도로, 추후에는 리눅스 우분투용과 언레이드용 워드프레스 설치 가이드도 하나씩 정리해서 같이 공유드릴 예정입니다. 그리고 워드프레스 설치할 때 빠지지 않고 등장하는 단골 문제, 바로 “Error establishing a database connection” 에러를 어떻게 해결하는지에 대해서도 쉽게 따라 하실 수 있도록 정리해 보았습니다. 관심 있으신 분들은 천천히 따라 해 보시고, 설치 과정에 한 번 도전해 보시면 좋겠습니다.
워드프레스를 설치할 때, Redis와 MariaDB, 그리고 PostgreSQL까지 함께 구성하는 이유는 다음과 같습니다.
- 워드프레스는 기본적으로 글, 설정, 계정 정보 등을 저장할 데이터베이스(DB)가 필요합니다. 보통 MySQL이나 MariaDB를 사용하며, 저는 여기서 MariaDB 기준으로 진행하겠습니다.
- Redis는 워드프레스가 데이터베이스에서 정보를 읽고 쓰는 과정 중 일부를 캐싱해서, 속도를 빠르게 만들어주는 보조 역할을 합니다. 필수 구성 요소는 아니지만, 성능을 신경 쓰신다면 함께 쓰면 좋은 조합입니다.
- PostgreSQL은 WPForms 같은 폼 플러그인(설문, 접수, 문의 메일폼 등)을 조금 더 확장성 있게 활용하고 싶은 분들을 위한 또 다른 데이터베이스입니다. 워드프레스 설치에 꼭 필요한 DB는 아니라서 선택 사항이지만, 설치 용량도 가볍고 부담이 적기 때문에 “설치하는 김에 같이 세팅해 두면 좋은 옵션” 정도로 보시면 됩니다.
시놀로지(헤놀로지)에서 워드프레스를 쾌적하게 운영하려면, 제가 개인적으로 효과를 봤던 팁들을 정리해봅니다. ( 개인적인 의견 입니다 😉 )
1. HDD보다는 SSD를 추천하며, SSD를 선택하신다면 RAID 1 구성을 권장합니다.
▶ 저는 워드프레스가 설치된 Docker 환경이 위치한 volume1을 RAID 1로 구성해 사용하고 있습니다. 비용 부담은 있지만, RAID가 제공하는 안정성과 이점을 활용할 수 있기 때문입니다. 다만 SSD는 HDD에 비해 RAID의 체감 효과가 크지 않을 수 있지만, 최소한 읽기(로딩) 성능은 소폭 향상되는 편입니다.
( 백업과 복원이 확실히 보장된다면 RAID 0 구성도 충분히 괜찮다고 생각합니다. )
2. **Btrfs보다는 ext4 포맷이 체감상 더 빠른 편입니다.**
다만 커널 5 기반의 **SA6400** 환경이라면, 저는 **Btrfs**로 갑니다.
3. **제어판 → 하드웨어 및 전원에서 ‘메모리 압축’을 꺼둡니다.**
즉, 메모리 압축 기능을 **비활성화**합니다.
4. **Redis는 거의 필수라고 봅니다.**
캐시 구성을 해두면 속도 체감이 확실히 납니다.
5. **Container Manager보다는 Portainer로 Docker를 관리하는 편이 DB 업데이트에서 더 안정적이었습니다.**
개인 경험 기준이지만, 업데이트 과정에서 트러블이 상대적으로 덜했습니다.
6. **필요하다면 워드프레스 웹 캐싱 플러그인도 고려해볼 만합니다.**
성능 개선에 도움이 되는 경우가 많지만, 좋은 플러그인은 대부분 유료인 편입니다.
그럼, 시작하겠습니다.
1단계
SSH로 NAS에 접속한 뒤 sudo -i로 root 권한으로 전환하고, 아래 스크립트를 실행합니다.
wordpress 폴더에는 777 권한이 부여됩니다.
이는 워드프레스 환경설정 파일인 wp-config.php를 수정할 때 권한 문제로 막히는 경우를 줄이기 위한 설정입니다.
/volume1/docker/wordpress/8081 경로 아래에 data, mariadb, postgres, redis 폴더가 생성됩니다.
#!/bin/sh
set -eu
BASE="/volume1/docker/wordpress"
TARGET="$BASE/8081"
# 1) 폴더 한꺼번에 생성(있으면 그대로)
mkdir -p "$TARGET/data" "$TARGET/mariadb" "$TARGET/postgres" "$TARGET/redis"
# 2) 권한 부여
chmod -R 777 "$BASE"
# 3) 결과 확인(선택)
ls -al "$TARGET"
DSM File Station에서 확인해 보면 /volume1/docker/wordpress/8081 폴더 안에 파란색 네모 아이콘으로 data, mariadb, postgres, redis 폴더가 생성되어 있습니다. 이 중 data 폴더는 워드프레스가 설치될 공간입니다. 이렇게 폴더를 미리 구분하지 않고 wordpress 폴더에 바로 설치하면 구조가 복잡해지기 쉬우므로, 처음부터 용도별로 영역을 나눠 구성하는 것을 추천합니다.

저는 워드프레스를 여러개를 운영하면서 워드프레스의 구분을 빨간화살표처럼 8081, 8082, 8083 처럼 포트번호로 구분하고 있습니다.
단일 워드프레스를 운영하시거나, 다른 폴더로 구분하시려면 위에 TARGET=”$BASE/8081″ 에서 “8081”을 삭제하시거나 다른 이름으로 수정하셔도 됩니다.