YOURLS
セルフホスト型の短縮URLサービス。データを完全にコントロールでき、詳細な統計機能を備え、プラグインによる拡張に対応。
スマートダウンロード
プロジェクトのホームページへ
インストーラはまだありません — ソースリポジトリをご覧ください
短縮URLサービスをセルフホストし、データと統計を完全にコントロール。
主な機能
- 完全セルフホスト:自分のサーバーにインストールでき、データプライバシーの心配なし
- 詳細なクリック統計:クリック数、参照元、地理的位置などを確認可能
- カスタムキーワード:パーソナライズされた短縮リンクを作成(例:yourls.com/offer)
- 強力なプラグインシステム:コミュニティが多数のプラグインを提供し、豊富な機能拡張が可能
- オープンAPI:プログラムによる短縮リンクの作成と管理をサポート
できないこと
- •PHP 7.4 以上のバージョンが必要で、PDO_MYSQL 拡張機能を有効にする必要があります;2. データ転送のセキュリティを確保するため、HTTPS の使用を推奨します;3. デフォルトでインストールした後は、管理画面のパス(例:/admin)を変更し、強固なパスワードを設定することをお勧めします;4. 公開して使用する予定がある場合は、スパム対策メカニズムに注意が必要です;5. 本番環境では Nginx/Apache を使用し、URL リライトを有効にすることを推奨します。
使用例
- ブランドマーケティング:独自のドメインで短縮リンクを生成し、ブランドイメージを向上させる
- ソーシャルメディアプロモーション:長いリンクを短縮し、共有や効果の追跡を容易にする
- リンク管理:すべての短縮リンクを一元管理し、クリックデータを確認する
- 学術引用:論文や資料のために永続的で安定した短縮リンクを作成する
詳細説明
YOURLS は、オープンソースで無料の PHP アプリケーションであり、自分のサーバー上に独自の短縮URLサービスを構築できます。データを完全に管理でき、詳細なクリック統計、カスタムキーワード、API インターフェース、強力なプラグイン拡張システムを提供します。商用の短縮URLサービスとは異なり、すべてのデータを所有し、自由にカスタマイズできます。ブランドマーケティング、リンク管理、プライバシー保護が必要な場面に最適です。
トラブルシューティング & FAQ (2)
トラブル対応YOURLSの管理画面のリストが、ドイツ語(de_DE)など、千の位区切りにドットを使用するロケールでクリック数を正しくソートしないのはなぜですか?
YOURLS 1.10.6 では、clicks カラムにロケール形式でフォーマットされた数値(例: 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 にパッチを適用し、clicks カラムから数字のみを抽出するようにします: textExtraction: { 4: function(node){ return $(node).text().replace(/\D/g, ''); } }。(3) 別の方法として、clicks セルに生の数値を 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