lilURL : 自前で短縮URL
ちょっとした需要があったので、自鯖でできるURL短縮システムをさがしていたら、lilURL とかいうのが見つかった。軽く中身を見てみたら、DB作成+phpを単純にうpな感じで動きそうだったので、試しに入れてみたらあっさりと動いた。
というわけで、忘れないようにメモしておく。
1. ダウンロード
lilURL にアクセスし、download lilURL from SourceForge. をクリック
Browse Files for lilURL の表の中に「lilurl-(バージョン).tar.gz」 があるので、そこからダウンロードする。
エントリー時点での最新バージョンは、「lilurl-0.1.1.tar.gz」でした。
2. 解凍
適当に解凍してください。 鯖で直接wgetしてもいいし、端末経由でもお好きに。 本エントリーではWin端末上に一旦解凍して作業する。
3. DB作成
MySQLのDBを作成する。方法はお好きにどうぞ。 面倒なのでphpMyAdminから作業。
DB名も特に制限はないので、適当に「lilurl」とでもしておく。 文字コード等は鯖に合わせて。今回はutf-8で作成。
4. lilurl.sql のインポート
解凍したファイルの中に「lilurl.sql」というファイルがあるので、それをインポートする。
が、
そのままインポートするとエラーがでる。syntax が云々とか。
どうやらsqlファイルのコメント部分が邪魔しているらしい。つーか最初から消しといてよ。(‘A`)
コメント部分をばっさり削除してインポートすると無事成功。テーブルが作成されます。
ちなみに必要なのは↓だけ。
CREATE TABLE lil_urls ( id varchar(255) NOT NULL default '', url text, date timestamp(14) NOT NULL, PRIMARY KEY (id) ) TYPE=MyISAM;
5. conf.php の編集
includes ディレクトリ内 conf.php の以下を編集。
// page title
define('PAGE_TITLE', 'ページのタイトル');
// MySQL connection info
define('MYSQL_USER', 'DBのユーザー名');
define('MYSQL_PASS', 'DBのパスワード');
define('MYSQL_DB', 'DB名');
define('MYSQL_HOST', 'DB鯖名(通常はlocalhostでおk)');
残りは基本的にデフォルトのままでおk。必要に応じて適宜変更する。
6. うp! うp!
動作に必要なファイルは、
- includes/*
- .htaccess
- index.php
書くまでもないが、事前にうpする場所の用意と設定をしておく必要あり。ここでは省略。
7. パーミッション変更
付属のREADMEにはパーミッション周りは書いていないけど、さすがにDBのパスとか書かれている conf.php が閲覧可能なのはマズいでしょうということで、conf.php だけパーミッションの設定をしておく。
$ chmod 600 includes/conf.php
8. 動作確認
ブラウザで index.php にアクセスする。特にエラーがなければおk。
テキストボックスに適当なURLを入力してみる。テキストボックスの上に短縮されたURLが表示されれば成功。多分頭に「http(s)」または「mailto」が入っていれば、有効なURIとして認識されるんじゃないかと予想。(ソースをほとんど読んでないのであくまで推測)
表示されたURLにアクセスして、目的の場所に飛べたところでインスコ終了です。
9. その他
index.php を編集することで、ブラウザでの表示内容を変更することができます。CSSとかも直接書いてあるので、そこを変更でどうにでもできるかと。日本語もおkでした。
さて、ほとんど詰まることなくインスコできてしまったので、何かが起きた時の対処方法がよくワカランのですが、ファイル構成にしても設定ファイルにしても、少なくとも現バージョンについては詰まるような要素もみあたらないかと。
サンプルを公開できればよかったのですが、まだサンプル用のサイトを仕込むには至っていないのでご容赦。まぁサンプルといっても画面はシンプルこの上ないし、なにしろ簡単なので、興味があれば自分でインスコしてみてください。
ちなみに、bit.ly のようなアクセス解析とかはできないのであしからず。
イントラ内部とかでこっそり使うような用途としては、手軽でなかなか良いのではないでしょうか。
関連記事:
(( 関連記事は特にありません ))
コメントをどうぞ