1. MoonTree 웹페이지의 주요 수정사항

기존 그누보드의 장점이었던 상위 게시판 → 하위 게시판 → 글 목록 구조를 유지하면서, PHP 8.4 환경에 맞는 Laravel 기반 홈페이지로 새로 구성했습니다.

  • 게시판 관리: 관리자 화면에서 상위·하위 게시판을 생성, 수정, 삭제할 수 있습니다. 하위 게시판을 삭제하면 그 안의 글과 댓글도 영구 삭제되며, 상위 게시판은 하위 게시판이 모두 제거된 뒤에만 삭제할 수 있습니다.
  • 회원 권한: 방문자는 별명을 입력해 댓글을 작성할 수 있습니다. 승인된 1단계 회원은 관리자가 허용한 게시판에서 글을 쓸 수 있고, 2단계 회원은 모든 게시판에서 글을 쓸 수 있습니다.
  • 글쓰기 편집기: 제목 단계, 글씨색, 자동 링크, 본문 이미지, 유튜브 영상, 첨부파일과 Code View를 지원합니다. 이미지와 영상은 50%, 75%, 100% 크기를 선택할 수 있으며 기본 삽입 크기는 75%입니다.
  • Code View: 관리자와 글쓰기 권한이 있는 1·2단계 회원이 HTML 구조를 직접 편집할 수 있습니다. 저장 시 허용되지 않은 태그와 위험한 속성은 서버에서 제거됩니다.
  • 화면 구성: 컴팩트한 게시판 목록, 현재 글 주변의 10개 글 목록, 밝은 기본 모드와 녹색 계열 다크 모드를 지원하며 관리자 화면의 모드도 홈페이지 설정과 동기화됩니다.
  • 편의 기능: 게시글 URL 복사, 기존 첨부파일 삭제, 본문 이미지 원본 보기, 페이지 번호와 반응형 메뉴를 지원합니다.

2. FTP로 홈페이지 파일 업데이트하기

  1. Laravel 프로그램 파일은 서버의 ~/moontree-app 아래에서 동일한 폴더 구조에 맞춰 덮어씁니다.
  2. 브라우저에서 사용하는 공개 파일은 서버의 /www 아래에 업로드합니다.
  3. 프런트엔드 빌드 파일은 로컬 site/public/build/assets의 내용을 서버 /www/build/assets에 먼저 올립니다.
  4. site/public/build/manifest.json은 서버 /www/build/manifest.json에 마지막으로 덮어씁니다.
  5. 기존 /www/build/assets 파일은 새 버전의 동작을 확인하기 전에는 삭제하지 않습니다. 파일 이름에 붙는 고유 문자가 서로 다르기 때문에 이전 파일이 남아 있어도 새 manifest가 현재 파일을 선택합니다.
  6. 업로드가 끝나면 SSH로 Laravel 캐시를 비우고 브라우저에서 Ctrl+F5를 눌러 확인합니다.

3. Cafe24 웹호스팅에서 SSH를 사용하는 이유

SSH는 내 PC의 명령 창에서 Cafe24 서버에 안전하게 접속하여 서버 안의 파일 위치를 확인하고 Laravel 관리 명령을 실행하는 방법입니다. FTP가 파일 전송을 담당한다면, SSH는 서버 내부의 점검과 명령 실행을 담당합니다.

개인 키 파일의 실제 내용, 비밀번호, 데이터베이스 비밀번호는 게시글이나 공개 폴더에 기록하지 않습니다.

SSH 접속

ssh -i "C:\경로\개인키.pem" [계정아이디]@[호스트주소]

-i는 로그인 인증에 사용할 개인 키 파일을 지정합니다. 처음 연결할 때 서버 지문 확인 질문이 나오면 접속 주소가 정확한지 확인한 뒤 yes를 입력합니다.

Laravel 폴더로 이동하고 캐시 비우기

cd ~/moontree-app
/usr/local/php84/bin/php artisan optimize:clear

Cafe24에서는 php라는 짧은 명령이 등록되어 있지 않을 수 있으므로 PHP 8.4의 전체 경로인 /usr/local/php84/bin/php를 사용합니다. optimize:clear는 설정·라우트·화면 등의 임시 캐시만 제거하며 게시글, 회원, 첨부파일과 데이터베이스는 삭제하지 않습니다.

4. 자주 사용하는 안전한 SSH 명령어

  • pwd — 현재 위치한 서버 폴더를 표시합니다.
  • ls — 현재 폴더의 파일과 하위 폴더를 표시합니다.
  • ls -la — 숨김 파일과 권한을 포함해 자세히 표시합니다.
  • cd ~ — 현재 계정의 홈 폴더로 이동합니다.
  • cd ~/moontree-app — MoonTree Laravel 프로그램 폴더로 이동합니다.
  • cd .. — 한 단계 위 폴더로 이동합니다.
  • clear — SSH 명령 화면을 정리합니다.
  • find ~ -maxdepth 3 -type f -name artisan 2>/dev/null — 홈 폴더 아래에서 Laravel의 artisan 파일을 찾습니다.
  • /usr/local/php84/bin/php -v — 서버의 PHP 8.4 버전을 확인합니다.
  • /usr/local/php84/bin/php artisan about — Laravel과 실행 환경의 주요 정보를 확인합니다.
  • /usr/local/php84/bin/php artisan migrate:status — 데이터베이스 마이그레이션 상태만 조회합니다.
  • tail -n 50 storage/logs/laravel.log — 최근 Laravel 오류 기록 50줄을 확인합니다.
  • df -h — 서버 저장공간 사용량을 확인합니다.
  • exit — SSH 접속을 안전하게 종료합니다.

5. 작업할 때 지켜야 할 사항

  • 명령을 실행하기 전에 pwdls로 현재 위치를 확인합니다.
  • rm -rf와 같은 강제·재귀 삭제 명령은 정확한 대상과 백업을 확인하지 않았다면 사용하지 않습니다.
  • .env, 개인 키, 비밀번호와 데이터베이스 접속 정보는 /www 같은 공개 폴더에 올리지 않습니다.
  • DB 구조를 바꾸는 명령은 백업 후 실행하며, 단순 업데이트에서는 임의로 migrate를 실행하지 않습니다.
  • 업데이트 후 홈페이지의 로그인, 글쓰기, Code View, 이미지·파일 첨부, 댓글과 관리자 화면을 차례로 확인합니다.

기록일: 2026년 8월 13일