설치 가이드

나만의 단축 URL 서비스 - 설치 및 설정 안내

단축 전용 사이트
mydomain.com/
서브폴더 설치
mydomain.com/myurl/

전용 사이트 설치 개요

단축URL 전용 사이트란? 단축 URL 전용 도메인(예: mydomain.com)을 사용하여 도메인 루트에 직접 설치하는 방식입니다.

설치 후 구조

  • 관리자 페이지: mydomain.com/admin/
  • 단축 URL: mydomain.com/abc123

1. 시스템 요구사항

PHP 버전
8.0 이상
MySQL 버전
5.7 이상
웹서버
Apache / Nginx
SSL 인증서
HTTPS 필수

필수 PHP 확장 모듈

  • PDO (PDO_MySQL)
  • GD Library (QR 코드 생성용)
  • cURL
  • mbstring

2. 설치 전 준비사항

  • 도메인 구매 및 연결 완료
  • SSL 인증서 설치 완료 (HTTPS)
  • FTP 또는 파일 관리자 접속 정보
  • MySQL 데이터베이스 생성 완료
  • 구매 키 (이메일로 발송됨)
중요 구매 키는 구매 시 등록한 도메인에서만 사용 가능합니다.

3. 파일 업로드

  1. 압축 파일 다운로드 이메일로 받은 다운로드 링크에서 파일을 다운로드합니다.
  2. 압축 해제 다운로드한 파일의 압축을 해제합니다.
  3. FTP 업로드 FTP 클라이언트(FileZilla 등) 또는 호스팅 파일 관리자를 통해 모든 파일을 도메인의 루트 폴더(public_html)에 업로드합니다.
  4. index.php 파일 교체 index_buyer.php 파일을 index.php로 이름 변경합니다.
  5. 폴더 권한 설정 다음 폴더에 쓰기 권한(755)을 부여합니다:
    • /logs/
    • /qr/phpqrcode/temp/
    • /install/

업로드 후 파일 구조

public_html/ (도메인 루트) ├── admin/ ├── assets/ ├── includes/ ├── install/ ├── logs/ ├── qr/ ├── templates/ ├── index.php ├── redirect.php └── .htaccess

4. 데이터베이스 설정

  1. 데이터베이스 생성 호스팅 제어판(cPanel 등)에서 새 MySQL 데이터베이스를 생성합니다.
  2. 사용자 생성 및 권한 부여 데이터베이스 사용자를 생성하고, 해당 데이터베이스에 모든 권한을 부여합니다.
  3. config.php 수정 /includes/config.php 파일을 열고 데이터베이스 정보를 수정합니다:
/* === 데이터베이스 설정 === */ define('DB_HOST', 'localhost'); // 호스트 define('DB_NAME', 'your_database_name'); // 데이터베이스 이름 define('DB_USER', 'your_username'); // 사용자 이름 define('DB_PASS', 'your_password'); // 비밀번호
보안 주의 config.php 파일에는 민감한 정보가 포함되어 있습니다. 절대 외부에 노출되지 않도록 주의하세요.

5. 설치 진행

  1. 설치 페이지 접속 브라우저에서 https://mydomain.com/install/에 접속합니다.
  2. 구매 키 입력 이메일로 받은 구매 키를 입력합니다.
  3. 관리자 정보 입력 관리자 아이디(3자 이상)와 비밀번호(6자 이상)를 입력합니다.
  4. 설치 완료 "설치 시작" 버튼을 클릭하면 자동으로 테이블이 생성되고 설치가 완료됩니다.
설치 완료! 설치가 완료되면 관리자 로그인 페이지로 이동할 수 있습니다.

6. 설치 후 확인

  • 관리자 페이지 로그인: https://mydomain.com/admin/
  • 단축 URL 생성 테스트
  • 생성된 단축 URL 리다이렉션 확인
  • QR 코드 생성 확인
  • 통계 페이지 작동 확인
권장 설정 운영 환경에서는 /includes/config.php에서 DEBUGfalse로 설정하세요.

서브폴더 설치 개요

서브폴더 설치란? 기존 운영 중인 사이트에 서브폴더(예: /myurl/)를 만들어 설치하는 방식입니다.

설치 후 구조

  • 관리자 페이지: mydomain.com/myurl/admin/
  • 단축 URL: mydomain.com/abc123
추가 설정 필요 서브폴더 설치는 루트에 리다이렉트 파일과 .htaccess 규칙 추가가 필요합니다.

1. 시스템 요구사항

PHP 버전
8.0 이상
MySQL 버전
5.7 이상
웹서버
Apache / Nginx
SSL 인증서
HTTPS 필수

필수 PHP 확장 모듈

  • PDO (PDO_MySQL)
  • GD Library (QR 코드 생성용)
  • cURL
  • mbstring

2. 설치 전 준비사항

  • 기존 사이트 운영 중인 도메인
  • SSL 인증서 설치 완료 (HTTPS)
  • FTP 또는 파일 관리자 접속 정보
  • MySQL 데이터베이스 생성 완료
  • 구매 키 (이메일로 발송됨)
  • 기존 루트 .htaccess 파일 백업
필수: 백업 기존 사이트의 .htaccess 파일을 반드시 백업한 후 진행하세요.

3. 파일 업로드

  1. 서브폴더 생성 도메인 루트에 서브폴더를 생성합니다. (예: /myurl/)
  2. 압축 파일 다운로드 및 해제 이메일로 받은 파일을 다운로드하고 압축을 해제합니다.
  3. 서브폴더에 업로드 모든 파일을 생성한 서브폴더(/myurl/)에 업로드합니다.
  4. index.php 파일 교체 index_buyer.php 파일을 index.php로 이름 변경합니다.
  5. 폴더 권한 설정 다음 폴더에 쓰기 권한(755)을 부여합니다:
    • /myurl/logs/
    • /myurl/qr/phpqrcode/temp/
    • /myurl/install/

업로드 후 파일 구조

public_html/ (도메인 루트) ├── (기존 사이트 파일들) ├── redirect.php4단계에서 추가 ├── .htaccess5단계에서 수정 │ └── myurl/ ← 프로젝트 폴더 ├── admin/ ├── assets/ ├── includes/ ├── install/ ├── logs/ ├── qr/ ├── templates/ ├── index.php └── .htaccess

4. 루트 리다이렉트 설정

왜 필요한가요? 단축 URL(mydomain.com/abc123)이 루트에서 작동하려면 루트에 리다이렉트 파일이 필요합니다.
  1. redirect_root.php 파일 복사 서브폴더의 redirect_root.php 파일을 도메인 루트에 복사합니다.
  2. 파일명 변경 복사한 파일명을 redirect.php로 변경합니다.
  3. 서브폴더 경로 설정 루트의 redirect.php 파일을 열고 서브폴더 경로를 수정합니다:
/* === 서브폴더 경로 설정 === */ define('SUBFOLDER_PATH', 'myurl'); // 실제 폴더명으로 변경
주의 폴더명만 입력하세요. 슬래시(/)는 포함하지 않습니다.
예: 'myurl' (O) / '/myurl/' (X)

5. 루트 .htaccess 설정

주의: 기존 파일 백업 필수 기존 .htaccess 파일을 수정하기 전에 반드시 백업하세요.

도메인 루트의 .htaccess 파일에 아래 규칙을 추가합니다.
기존 내용 아래에 붙여넣으세요.

# ===== 단축 URL 리다이렉션 (서브폴더 설치용) ===== <IfModule mod_rewrite.c> RewriteEngine On # 실제 파일이나 폴더가 아닌 경우에만 처리 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # 영문/숫자로만 구성된 단축 코드를 redirect.php로 전달 RewriteRule ^([a-zA-Z0-9]+)$ redirect.php?code=$1 [L,QSA] </IfModule> # ===== 단축 URL 리다이렉션 끝 =====
참고 이미 RewriteEngine On이 있다면 중복으로 넣지 마세요.
RewriteCondRewriteRule만 추가하면 됩니다.

6. 데이터베이스 설정

  1. 데이터베이스 생성 호스팅 제어판(cPanel 등)에서 새 MySQL 데이터베이스를 생성합니다.
  2. 사용자 생성 및 권한 부여 데이터베이스 사용자를 생성하고, 해당 데이터베이스에 모든 권한을 부여합니다.
  3. config.php 수정 /myurl/includes/config.php 파일을 열고 수정합니다:
/* === 데이터베이스 설정 === */ define('DB_HOST', 'localhost'); // 호스트 define('DB_NAME', 'your_database_name'); // 데이터베이스 이름 define('DB_USER', 'your_username'); // 사용자 이름 define('DB_PASS', 'your_password'); // 비밀번호

7. 설치 진행

  1. 설치 페이지 접속 브라우저에서 https://mydomain.com/myurl/install/에 접속합니다.
  2. 구매 키 입력 이메일로 받은 구매 키를 입력합니다.
  3. 관리자 정보 입력 관리자 아이디(3자 이상)와 비밀번호(6자 이상)를 입력합니다.
  4. 설치 완료 "설치 시작" 버튼을 클릭하면 자동으로 테이블이 생성되고 설치가 완료됩니다.
설치 완료! 설치가 완료되면 관리자 로그인 페이지로 이동할 수 있습니다.

8. 설치 후 확인

  • 관리자 페이지 로그인: https://mydomain.com/myurl/admin/
  • 단축 URL 생성 테스트
  • 단축 URL 리다이렉션 확인: https://mydomain.com/테스트코드
  • QR 코드 생성 확인
  • 기존 사이트 정상 작동 확인
문제 발생 시 단축 URL이 작동하지 않으면 루트의 redirect.php 파일과 .htaccess 설정을 다시 확인하세요.

9. 문제 해결

단축 URL 404 에러

  • 루트에 redirect.php 파일이 있는지 확인
  • redirect.phpSUBFOLDER_PATH 값 확인
  • 루트 .htaccess에 리라이트 규칙이 추가되었는지 확인
  • Apache mod_rewrite 모듈 활성화 확인

기존 사이트 작동 안됨

  • 백업한 .htaccess 파일로 복원
  • 추가한 리라이트 규칙의 위치 조정 (기존 규칙 아래로)
  • 규칙 충돌 확인

500 Internal Server Error

  • /myurl/includes/config.php의 DB 정보 확인
  • 폴더 권한 확인 (755)
  • DEBUG를 true로 변경하여 상세 에러 확인

문의

설치 또는 사용 중 문제가 있으시면 언제든지 문의해주세요.

replypark@naver.com