YOURLS
자체 호스팅 단축 링크 서비스로, 데이터에 대한 완전한 제어와 상세한 통계를 제공하며 플러그인 확장을 지원합니다.
스마트 다운로드
프로젝트 홈페이지 방문
아직 설치 프로그램이 없습니다 — 소스 저장소로 이동하세요
자체 단축 링크 서비스를 구축하여 데이터와 통계를 완전히 제어하세요.
주요 기능
- 완전 자체 호스팅: 자체 서버에 설치하므로 데이터 프라이버시 걱정 없음
- 상세 클릭 통계: 클릭 수, 출처, 지리적 위치 등 확인 가능
- 사용자 지정 키워드: 개인화된 단축 링크 생성(예: yourls.com/offer)
- 강력한 플러그인 시스템: 커뮤니티에서 제공하는 수많은 플러그인으로 다양한 기능 확장
- 오픈 API: 프로그래밍 방식의 단축 링크 생성 및 관리 지원
할 수 없는 것
- •PHP 7.4 이상 버전이 필요하며, PDO_MYSQL 확장을 활성화해야 합니다; 2. 데이터 전송 보안을 위해 HTTPS 사용을 권장합니다; 3. 기본 설치 후 관리자 경로(예: /admin)를 변경하고 강력한 비밀번호를 설정하는 것이 좋습니다; 4. 공개적으로 사용할 계획이라면 스팸 방지 메커니즘에 주의해야 합니다; 5. 프로덕션 환경에서는 Nginx/Apache를 사용하고 URL 재작성을 활성화하는 것을 권장합니다.
사용 사례
- 브랜드 마케팅: 자체 도메인으로 단축 링크를 생성하여 브랜드 이미지 향상
- 소셜 미디어 프로모션: 긴 링크를 단축하여 공유와 효과 추적이 용이
- 링크 관리: 모든 단축 링크를 통합 관리하고 클릭 데이터 확인
- 학술 인용: 논문이나 자료를 위한 지속적이고 안정적인 단축 링크 생성
상세 설명
YOURLS는 오픈소스 무료 PHP 애플리케이션으로, 자신의 서버에 전용 단축 링크 서비스를 구축할 수 있습니다. 데이터를 완전히 제어할 수 있으며, 상세한 클릭 통계, 사용자 정의 키워드, API 인터페이스 및 강력한 플러그인 확장 시스템을 제공합니다. 상용 단축 링크 서비스와 달리 모든 데이터를 소유하고 자유롭게 커스터마이징할 수 있습니다. 브랜드 마케팅, 링크 관리 및 개인정보 보호가 필요한 환경에 매우 적합합니다.
문제 해결 & FAQ (2)
문제 해결독일어(de_DE) 또는 천 단위 구분 기호로 마침표를 사용하는 다른 로케일에서 YOURLS 관리자 목록이 클릭 수를 잘못 정렬하는 이유는 무엇인가요?
YOURLS 1.10.6에서는 클릭 수 열이 로케일 형식의 숫자(예: de_DE에서는 1.258)를 표시하지만, jQuery tablesorter가 usNumberFormat: true로 이를 파싱하여 1.258을 1258이 아닌 1.258으로 읽습니다. 이로 인해 .를 천 단위 구분 기호로 사용하는 모든 로케일(de_DE, nl_NL, it_IT, pt_BR)에서 정렬이 깨집니다. PR #4197에서 업스트림으로 수정되었습니다(YOURLS를 업데이트하세요). 1.10.6용 해결 방법: (1) html_head 훅에서 jQuery.tablesorter.defaults.usNumberFormat = false;를 출력하는 작은 플러그인을 추가합니다. (2) 또는 js/tablesorte.js를 패치하여 클릭 수 열에서 숫자만 추출합니다: textExtraction: { 4: function(node){ return $(node).text().replace(/\D/g, ''); } }. (3) 또는 클릭 수 셀에 원시 숫자를 data-text 속성으로 추가하면 tablesorter가 기본적으로 이를 읽습니다.
문제 해결MariaDB/PDO 환경에서 YOURLS 관리자 검색 시 발생하는 치명적 오류 "COLLATION 'utf8mb4_unicode_ci' is not valid for CHARACTER SET 'binary'"를 어떻게 수정하나요?
이 문제는 YOURLS 1.10.4에서 all 또는 title을 검색할 때 MariaDB 세션이 바인딩된 :search 매개변수를 binary로 처리하는 경우 발생하며, 일반적으로 init_connect=SET NAMES binary가 DSN 문자 집합을 재정의하는 것이 원인입니다.
1. 연결 설정을 확인합니다:
SHOW VARIABLES LIKE 'init_connect';
SHOW VARIABLES LIKE 'character_set%';
2. PDO 연결이 utf8mb4를 사용하도록 강제합니다:
$pdo = new PDO(
'mysql:host=localhost;dbname=YOUR_DB;charset=utf8mb4',
'YOUR_USER',
'YOUR_PASS',
[
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8mb4",
]
);또는 연결 후 다음을 실행합니다:
$pdo->query('SET NAMES utf8mb4');서버를 제어할 수 있는 경우
init_connect=SET NAMES binary를 제거하거나 변경합니다.
3. 코드 수준의 해결 방법으로, 제목 검색 SQL에서 바인딩된 플레이스홀더의 콜레이션을 제거합니다:
`title` COLLATE utf8mb4_unicode_ci LIKE (:search)또는 매개변수를 명시적으로 변환합니다:
`title` COLLATE utf8mb4_unicode_ci
LIKE CONVERT(:search USING utf8mb4) COLLATE utf8mb4_unicode_ci연결 문자 집합이
binary인 경우 (:search) COLLATE utf8mb4_unicode_ci를 사용하지 마세요. 코어 파일 패치는 업그레이드 시 덮어쓰일 수 있으므로 연결 문자 집합을 변경하는 것이 권장되는 해결 방법입니다.태그
시작하기
소프트웨어 설치
다운로드한 설치 프로그램을 더블 클릭하고 안내에 따르세요
1단계: YOURLS 소스 코드를 다운로드하여 Web 서버에 업로드합니다(PHP 7.4+ 및 MySQL/MariaDB 필요)
2단계: 서버에 데이터베이스와 사용자를 생성하고 user/config-docker.php 또는 user/config.php에 데이터베이스 연결 정보를 구성합니다
3단계: 브라우저에서 도메인에 접속하여 설치 마법사를 실행하고 관리자 계정 비밀번호를 설정합니다
- 1단계: YOURLS 소스 코드를 다운로드하여 Web 서버에 업로드합니다(PHP 7.4+ 및 MySQL/MariaDB 필요)
- 2단계: 서버에 데이터베이스와 사용자를 생성하고 user/config-docker.php 또는 user/config.php에 데이터베이스 연결 정보를 구성합니다
- 3단계: 브라우저에서 도메인에 접속하여 설치 마법사를 실행하고 관리자 계정 비밀번호를 설정합니다
체크섬 없음
이 프로젝트는 GitHub Release 페이지에 SHA-256 체크섬을 게시하지 않았습니다
SHA256 체크섬
체크섬 없음
GitHub Releases에서 직접 다운로드하고 파일 무결성을 직접 확인하세요
이 플랫폼의 모든 SHA-256 체크섬은 프로젝트의 공식 GitHub Release 페이지에서 추출되었으며, 어떠한 변경도 없습니다. GitHub Releases 페이지에서 직접 검증할 수 있습니다.
오픈소스 투명성
GitHub 소스 보기제거 정보
YOURLS 설치 디렉터리의 모든 파일을 삭제하고, 해당하는 MySQL 데이터베이스와 테이블도 함께 삭제하세요. 사용자 정의 설정과 플러그인은 반드시 백업해 두세요.
추가 의존성 없음
다운로드 후 바로 사용 가능. 추가 런타임이 필요하지 않습니다.
문제 발생? 아래 FAQ 확인
2 FAQs