시놀로지 워드프레스: 깔끔한 도메인 주소 설정하기 (www, /wordpress 제거)
글 목록
워드프레스 도메인
워드프레스를 도커에 설치하고 운용하려다가 꼬여서 이틀동안 블로그가 닫혀있었다. 다시 원복하고, 시놀로지와 워드프레스 도메인 설정한 내역을 기록해 둔다.
- 도메인 앞에 www 없애기
- 워드프레스 설치 안 보이도록
가비아 도메인 설정

A 타입은 삭제하고, CNAME으로만 등록했다.
@, www 모두 vividian.synology.me. 으로 설정 (뒤에 . 잊지 말자)
왜 synology.me DDNS로 설정했나?
기존에는 A타입 실제 집으로 들어오는 회선의 아이피로 연결시켜뒀으나, 고정 아이피가 아닌 까닭에 아이피가 변경되면 반영하는데 시간이 걸린다. DDNS로 설정하면, 아이피가 변경되어도 접속이 잘 유지된다.
역방향 프록시
- 시놀로지 DSM 접속 > 제어판 > 로그인 포털 > 고급 탭으로 이동
- 역방향 프록시를 클릭하고 생성 버튼 클릭
- 아래와 같이 각 항목을 설정
- 소스 (Source):
- 프로토콜:
HTTPS - 호스트 이름:
vividian.net(자신의 도메인 주소) - 포트:
443
- 프로토콜:
- 대상 (Destination):
- 프로토콜:
HTTP - 호스트 이름:
localhost - 포트: 워드프레스가 실제로 실행 중인 내부 포트 번호 (예: 8080, 7001 등)
- 프로토콜:
- 소스 (Source):
웹스테이션
웹스테이션에 PHP를 설치하면서 무언가 꼬였었다. PHP 버전 모두 삭제하고, 재부팅하고, PHP 7.4로 다시 설정했다.


PHP 프로필 설정에 아래 항목 모두 활성화
- PHP 캐시 활성화
- Xdebug 활성화
- display_errors를 활성화하여 PHP 오류 메시지 표시
PHP 프로필 편집의 확장 메뉴의 모든 기능도 활성화했다.
워드프레스 설치
워드프레스를 web 밑에 wp로 설치했다.
/web/wp 에 있는 .htaccess 파일과 index.php 파일을 /web 에 복사하고 수정한다.
#BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wp
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [L]
</IfModule>
# END WordPress
<?php
/**
* Front to the WordPress application. This file doesn't do anything, but loads
* wp-blog-header.php which does and tells WordPress to load the theme.
*
* @package WordPress
*/
/**
* Tells WordPress to load the WordPress theme and output it.
*
* @var bool
*/
define( 'WP_USE_THEMES', true );
/** Loads the WordPress Environment and Template */
require __DIR__ . '/wp/wp-blog-header.php';
/web/wp 의 .htaccess 파일과 index.php 파일
#BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
<?php
/**
* Front to the WordPress application. This file doesn't do anything, but loads
* wp-blog-header.php which does and tells WordPress to load the theme.
*
* @package WordPress
*/
/**
* Tells WordPress to load the WordPress theme and output it.
*
* @var bool
*/
define( 'WP_USE_THEMES', true );
/** Loads the WordPress Environment and Template */
require __DIR__ . '/wp-blog-header.php';
wp-config.php 파일도 수정한다.
다른 것들은 그대로 두고, WP_HOME, WP_SITEURL을 추가한다.
워드프레스 세팅 페이지에서 수정할 수 있겠지만, 수정하는 순간 접속이 안될 것이기 때문에, 편하게 config 파일에서 수정했다.
<?php
/**
* The base configuration for WordPress
*
* The wp-config.php creation script uses this file during the
* installation. You don't have to use the web site, you can
* copy this file to "wp-config.php" and fill in the values.
*
* This file contains the following configurations:
*
* * MySQL settings
* * Secret keys
* * Database table prefix
* * ABSPATH
*
* @link https://wordpress.org/support/article/editing-wp-config-php/
*
* @package WordPress
*/
define('WP_HOME', 'https://vividian.net');
define('WP_SITEURL', '/wp');
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
... 이하 생략
결론
위와 같이 설정하면,
- vividian.net/wp 로 접속하지 않고, vividian.net 으로 접속 가능 (.htaccess / index.php 파일 수정했으므로)
- www.vividian.net 으로 접속할 필요 없이, vividian.net 으로 접속 가능 (wp-config.php 파일 수정했으므로)