회사 사이트와 사무자동화를 처음 세운 한 달 — 다시 한다면 무엇을 먼저 할까

회사 사이트를 세우고, 그 옆에서 사무자동화를 하나씩 만든 첫 한 달의 기록입니다. 돌아보면 한 달 동안 시간이 간 곳은 새 기능이 아니었습니다. 순서를 잘못 잡아서 다시 한 일, 그리고 「됐다」고 나왔는데 안 된 일이었습니다.

「됐다」고 나왔는데 안 된 것 중 도메인·인증서·502 이야기는 따로 썼습니다. 이 글은 그 밖의 것, 특히 「이걸 먼저 했어야 했다」로 정리되는 것들입니다. 끝에 「다시 한다면 이 순서」를 적었습니다.

사이트 — 먼저 했어야 했던 것 다섯

도메인을 붙인 다음에 설치했어야 했습니다

처음에는 서버가 준 임시 주소로 워드프레스를 설치했습니다. 일단 되는지 보자는 생각이었습니다.

그 임시 주소가 데이터베이스에 박혔습니다. 워드프레스는 설치할 때의 주소를 사이트 주소로 저장하기 때문에, 나중에 회사 도메인을 붙이면 그 주소를 바꾸는 일이 따로 생깁니다. 도메인을 먼저 붙이고, 그 주소로 설치했어야 했습니다. 이번 한 달에서 「일단 되는지 보자」가 가장 비싼 선택이었습니다.

저장 공간(볼륨)을 먼저 붙였어야 했습니다

컨테이너로 돌리는 서버는 다시 배포할 때마다 새로 만들어집니다. 저장 공간(볼륨)을 따로 붙이지 않으면, 재배포할 때마다 올린 이미지·설치한 플러그인·테마가 전부 사라집니다. 워드프레스 공식 컨테이너 이미지의 안내도 처음 설치는 이미지에서 오지만 그 뒤로는 「/var/www/html/ data volume」 안에서 스스로 관리된다고 적고 있습니다. 그 자리에 볼륨이 없으면, 관리되던 것이 재배포와 함께 없어집니다. 사이트 내용을 채우기 전에 볼륨부터 붙여야 합니다.

설정은 처음 만들 때 넣어야 했습니다

워드프레스의 추가 설정은 설정 파일(wp-config.php)을 처음 만들 때만 읽힙니다. 나중에 서버 쪽 설정 값에 넣으면, 화면상으로는 저장이 되는데 아무 일도 일어나지 않았습니다. 에러도 없습니다.

그 설정 중 하나를 빠뜨려서 생긴 일이 이것입니다. HTTPS를 인식하는 설정이 빠지자 관리자 로그인이 무한히 돌았습니다. 아이디와 비밀번호를 넣으면 다시 로그인 화면으로 돌아옵니다. 에러 메시지는 없습니다. 겉(사용자가 보는 주소)은 HTTPS인데 안쪽(워드프레스가 아는 연결)은 HTTP라서, 워드프레스는 로그인한 사람을 계속 「안전한 주소로 다시 가라」며 돌려보냈습니다. 워드프레스 공식 문서의 HTTPS 안내에도 이 상황이 적혀 있습니다. 「If WordPress is hosted behind a reverse proxy that provides SSL, but is hosted itself without SSL, these options will initially send any requests into an infinite redirect loop.」 해결로 안내하는 것은 앞단이 넘겨주는 HTTP_X_FORWARDED_PROTO 헤더를 워드프레스가 알아보게 하는 설정입니다.

시작 명령에 한 줄을 넣었더니, 다른 한 줄이 지워졌습니다

데이터베이스가 내부 망에서 보이지 않아서, 연결을 여는 옵션을 데이터베이스의 시작 명령에 넣었습니다. 그러자 데이터베이스가 이런 에러를 내며 뜨지 않았습니다.

mysqld: File './binlog.index' not found (OS errno 13 - Permission denied)

권한 문제로 보입니다. 그래서 권한부터 봤는데, 원인은 다른 데 있었습니다. 그 플랫폼의 시작 명령은 기본 명령 뒤에 덧붙는 것이 아니라 기본 명령 전체를 대체했습니다. 한 줄을 넣은 순간, 원래 이미지가 돌리던 초기화 스크립트가 통째로 건너뛰어졌고, 저장 공간 권한 설정과 데이터베이스 초기화가 빠졌습니다. 에러는 권한이라고 말했지만, 실제로는 「내가 넣은 한 줄이 다른 한 줄을 지웠다」였습니다.

시작 명령·실행 명령을 바꿀 때는 그 칸이 「덧붙이기」인지 「바꾸기」인지부터 확인해야 했습니다.

도메인을 지우고 다시 만들면 값이 전부 바뀝니다

도메인 연결이 꼬여서 서버 쪽 도메인을 지우고 다시 만든 적이 있습니다. 그러자 DNS에 넣어야 할 CNAME 값도, 소유권 확인용 TXT 토큰도 바뀌었습니다. 예전 값을 DNS에 그대로 두면 에러 없이 조용히 실패합니다. 다시 만들었으면 값도 다시 받아서 DNS를 고쳐야 합니다.

문의 폼 — 저장을 먼저 켰습니다

사이트에 문의 폼을 달았더니 「감사합니다」는 뜨는데 메일이 오지 않았습니다. 폼 문제가 아니라, 서버가 메일을 보낼 수 없는 환경이었습니다. 컨테이너 이미지에 메일 보내는 프로그램이 빠져 있었습니다.

이때 순서를 이렇게 잡았습니다. 먼저 제출 내용이 사이트 안에 저장되게 하고, 메일은 발송용 앱 비밀번호가 준비된 뒤에 붙였습니다. 앱 비밀번호는 계정 주인의 손이 필요해서 바로 되지 않았는데, 그 사이에 들어온 문의는 하나도 잃지 않았습니다. 이 순서는 한 달 동안 잘한 것 중 하나였습니다.

이 PC — 확인하는 도구를 믿을 수 없었습니다

회사 PC에는 보안 프로그램이 깔려 있었습니다. 이 프로그램이 한 달 내내 조용히 끼어들었습니다.

같은 PC에서 브라우저와 파워셸로는 접속이 되는데, 일부 명령줄 도구만 접속이 막혔습니다. 윈도우의 인증서 저장소를 쓰는 쪽은 통과하고, 자기 인증서 목록만 믿는 도구는 막혔습니다. 보안 프로그램이 모든 연결에 자기 인증서를 씌우고 있었기 때문입니다. 그래서 이 PC에서는 사이트 인증서가 제대로 붙었는지를 브라우저로도 명령으로도 믿고 확인할 수 없었고, 서버가 API로 알려 주는 값으로만 확인했습니다.

사무자동화 쪽에서도 같은 벽이 있었습니다. n8n을 밖에서 부를 수 있게 하려고 터널 도구를 받으려 했을 때, 보안 프로그램이 실행 파일 내려받기를 막았습니다. 그래서 n8n 자동 시작을 만들 때는 처음부터 윈도우에 들어 있는 것만 썼습니다.

회사 PC에서 무언가를 세울 거라면, 보안 프로그램이 무엇을 막는지부터 알고 시작하는 편이 낫습니다.

사무자동화 — 실제로 만든 순서

사이트를 세우는 동안 사무자동화도 하나씩 만들었습니다. 기록을 남긴 순서는 이렇습니다.

순서 만든 것 핵심
하나 n8n 설치, 첫 실행 첫 실행 130초, 에러처럼 보이는 줄 세 종류
둘 시트에 줄이 차면 메일 (Apps Script) 막힌 세 번이 전부 트리거와 권한
셋 n8n 실패 알림 실패인데 초록 체크 세 종류
넷 같은 시트 알림을 n8n으로 자격증명과 공개 주소에서 멈춤
다섯 구글 폼 문의 접수 알림 폼과 시트 사이의 약속(열 순서, 게시)
여섯 매일 아침 보고 메일 「매일 08:00」은 없고 한 시간 창
일곱 n8n 자동 시작 줄 끝 문자 하나, 「끝」 버튼이 못 끔
여덟 n8n 백업·복원 56바이트 config 파일
회사 사이트와 사무자동화를 처음 세운 한 달 — 사이트에서 다시 한다면 앞당길 다섯 가지(도메인, 볼륨, 설정, HTTPS 인식, 문의 저장)와 사무자동화를 만든 여덟 단계의 순서

이 순서도 돌아보면 거꾸로인 데가 있습니다. 설치형 도구(n8n)부터 깔았는데, 처음 필요했던 것은 이미 쓰는 도구 안에서 끝나는 자동화였습니다. 그리고 n8n을 깐 PC가 꺼지거나 바뀌는 경우는 맨 뒤에 다뤘는데, n8n에 무언가를 맡기기 전에 먼저 챙겼어야 할 것이었습니다.

다시 한다면 — 이 순서

사이트

  1. 회사 도메인을 먼저 붙이고, 그 주소로 설치
  2. 저장 공간(볼륨)을 설치 전에 붙이기
  3. HTTPS 인식을 포함한 설정은 설정 파일을 처음 만들 때 넣기
  4. 시작 명령을 바꾸기 전에 그 칸이 「덧붙이기」인지 「바꾸기」인지 확인
  5. 도메인을 다시 만들었으면 DNS 값도 다시 받기
  6. 문의 폼은 저장부터, 메일은 그다음

사무자동화

  1. 쓰던 도구 안에서 끝나는 자동화 하나부터
  2. 두 번째로 실패 알림
  3. 설치형 도구는 켜는 방법·끄는 방법·백업을 정한 뒤에 일을 맡기기

공통

  1. 회사 PC의 보안 프로그램이 무엇을 막는지 먼저 확인

한 달 동안 새로 배운 기능은 많지 않았습니다. 순서를 바꾸면 하지 않아도 됐을 일이 많았습니다.

이 글이 다루지 않은 것

도메인·인증서·502처럼 「성공」 표시 뒤에 숨어 있던 문제는 따로 정리했습니다.

사용한 플랫폼의 이름은 적지 않았습니다. 시작 명령이 기본 명령을 대체하는 동작은 그 플랫폼에서 확인한 것이고, 다른 곳에서도 같은지는 확인하지 않았습니다.

각 문제에 걸린 시간은 기록에 남아 있지 않아 적지 않았습니다.

요약

겪은 것 다시 한다면
임시 주소가 데이터베이스에 박힘 도메인을 붙인 뒤에 설치
재배포마다 이미지·플러그인·테마가 사라짐 볼륨 먼저
나중에 넣은 설정은 저장만 되고 무시됨 설정 파일을 처음 만들 때 넣기
관리자 로그인 무한 반복 (겉은 HTTPS, 안은 HTTP) HTTPS 인식 설정을 처음부터
권한 에러처럼 보인 초기화 누락 시작 명령은 「바꾸기」일 수 있음
도메인 재생성 뒤 옛 값이 조용히 실패 값 다시 받기
「감사합니다」인데 메일 없음 저장 먼저, 메일은 나중
명령줄 도구만 접속이 막힘 보안 프로그램이 무엇을 막는지 먼저
n8n부터 깔았음 쓰던 도구 안에서 하나 먼저

어디서부터 손대야 할지 막히시면 문의로 알려 주십시오. 지금 상황에서 어느 순서가 맞는지 정도는 같이 짚어 드릴 수 있습니다.

참고 (2026-09-23 확인)
– WordPress 공식 문서 — Administration Over SSL, 「Using a Reverse Proxy」: 「If WordPress is hosted behind a reverse proxy that provides SSL, but is hosted itself without SSL, these options will initially send any requests into an infinite redirect loop.」 · HTTP_X_FORWARDED_PROTO 설정 예
– WordPress 공식 컨테이너 이미지 문서: 「the initial install comes from the image, but after that it becomes self-managing within the /var/www/html/ data volume」

Leave a Comment