テクノロジーガイド

UbuntuサーバーでPhilesight CGIスクリプトを使ってハードディスク使用量を可視化する方法

2 min read サーバー管理 更新されました 02 Oct 2025
UbuntuでPhilesightでディスク使用量を可視化する方法
UbuntuでPhilesightでディスク使用量を可視化する方法

TL;DR

UbuntuのLAMP環境でPhilesightを導入すると、ローカルネットワーク経由でディスク使用量を視覚的に確認できます。この記事はインストール手順、Apache設定、データベース作成、cronによる自動更新、トラブルシュート、代替手段やセキュリティ注意点までカバーします。

概要

Philesightは、ディレクトリごとの容量をグラフィカルに示すCGIスクリプト群です。ここでは、/var/www を Web ルートに持つ Ubuntu の LAMP(Linux、Apache、MySQL、PHP)サーバーを前提に、実際のコマンドと設定を示します。短い定義:Philesight — Rubyで書かれたディスク使用量視覚化ツール。

重要: 古いパッケージ(ruby 1.8、libdb4.2、libcairo-ruby1.8、libapache2-mod-php5 等)を要求するため、最新のUbuntuではパッケージ名や互換性に注意してください。代替パッケージやソースビルドが必要になることがあります。


前提条件

  • Ubuntuサーバーにrootまたはsudo権限があること。
  • Webルートが /var/www であること(別の場所ならパスを読み替えてください)。
  • ネットワーク内からサーバーにブラウザでアクセスできること。

1. 依存関係のインストール

端末で次を実行します。

sudo apt-get install libdb4.2-ruby1.8 libcairo-ruby1.8 libapache2-mod-perl2 libapache2-mod-php5 ruby

注記: これらのパッケージは古い名前の場合があります。aptで見つからない場合は、同等の新しいパッケージやrubyの最新環境(rbenv, rvm)を検討してください。

2. CGI を有効にする

CGI用ディレクトリを作り、実行権限を設定します。

sudo mkdir /usr/lib/cgi-bin  
sudo chmod 755 /usr/lib/cgi-bin

3. Apache のサイト設定を編集

 sudo nano /etc/apache2/sites-available/default

サイト設定ファイル内に次のセクションがあることを確認します。

         ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/  
          
                AllowOverride None  
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch  
                Order allow,deny  
                Allow from all  
        

編集後に保存して閉じます(Ctrl+X、次に Y)。

4. Philesight を入手して展開する

mkdir ~/downloads  
cd ~/downloads  
sudo wget http://zevv.nl/play/code/philesight/philesight-20120427.tgz

展開してディレクトリ名を整理します。

tar -xvf philesight-20120427.tgz  
sudo mv philesight-20120427 philesight  
cd philesight

5. Ruby スクリプトを配置して実行可能にする

sudo mv philesight /usr/bin/philesight  
sudo mv philesight.rb /usr/bin/philesight.rb  
sudo chmod a+x /usr/bin/philesight  
sudo chmod a+x /usr/bin/philesight.rb

6. cron からの呼び出しに備えパスを修正

sudo nano /usr/bin/philesight

ファイル内の次の行を検索して変更します。

require 'philesight'

を次のように書き換えます。

require '/usr/bin/philesight'

保存して閉じます。

7. ディレクトリデータベースを作成する

初回インデックス作成には時間がかかります。実行例:

cd /usr/bin/  
sudo /usr/bin/philesight --db /usr/lib/philesightdb --index /

ルート(/)全体を走査するため、データ量に応じて数分~数時間かかることがあります。

8. Web 用ファイルを準備する

cd ~/downloads/philesight  
sudo nano philesight.cgi

スクリプト内の次のパラメータを編集します。

 $path_db = "/usr/lib/philesightdb"

保存して閉じます。

CGI スクリプトを配置して実行権限を付与します。

sudo mv philesight.cgi /usr/lib/cgi-bin/philesight.cgi  
sudo chmod a+x /usr/lib/cgi-bin/philesight.cgi

Ruby スクリプトへのシンボリックリンクを作成します。

sudo ln -s /usr/bin/philesight.rb /usr/lib/cgi-bin/philesight.rb  
sudo chmod a+x /usr/bin/philesight.rb

9. Webサーバーを再起動

sudo apache2ctl restart  
sudo service apache2 restart  
sudo /etc/init.d/apache2 force-reload

ブラウザで次のURLにアクセスします(your_server_name を実際のホスト名かIPに置き換えてください)。

http://your_server_name/cgi-bin/philesight.cgi

初回表示で「proc が100%」のような表示が出ることがあります。これは proc ファイルシステムが占めて見える表示上の仕様で、多くの場合無視してページ下部のフォルダ一覧へスクロールしてください。各フォルダをクリックすると中身の視覚表示が見られます。

10. 画像を自動更新する cron を追加

日次でインデックスを更新する例を示します。

sudo nano /etc/cron.daily/philesight

以下を貼り付けて保存します。

#!/bin/sh  
sudo rm /usr/lib/philesightdb  
sudo /usr/bin/philesight --db /usr/lib/philesightdb --index /

実行権限を付与します。

sudo chmod a+x /etc/cron.daily/philesight

注: 大きなファイルシステムでは毎日フルインデックスは負荷が高いです。必要に応じて週次や差分戦略を検討してください。

トラブルシューティング(よくある問題)

  • CGI が実行されない: /usr/lib/cgi-bin/philesight.cgi の実行権限と Apache の ScriptAlias 設定を再確認。エラーログは /var/log/apache2/error.log を確認。
  • パッケージが見つからない: 現代の Ubuntu ではパッケージ名が異なるか古い依存関係が使えません。ruby を rbenv/rvm で入れて philesight の Ruby スクリプトを動かす方法を検討。
  • proc が100%表示される: 表示上の仕様なので、フォルダ一覧に進んで内容を確認してください。

セキュリティとプライバシーの注意

  • CGI を公開ネットワークに露出させないこと。認証のない状態でアクセス可能にするとディレクトリ構造が第三者に見える可能性があります。
  • 必要に応じて Apache のアクセス制限(Require ip や Basic 認証)を設定してください。
  • 検索インデックスに機密ファイルが含まれないように除外ルールを設けるか、インデックス対象のパスを限定してください。

代替アプローチ

  • ncdu: CLI でインタラクティブにディスク使用量を調査できる。軽量でその場で調べたいときに有用。
  • baobab (ディスク使用量アナライザー): GUI 環境がある場合に便利。
  • Prometheus + Grafana: 長期的なメトリクス収集と可視化が必要な場合に適する。
  • du + ツールチェーン: スクリプトで定期レポートを作る簡易的な方法。

管理者向けチェックリスト(導入・運用)

  • Apache の ScriptAlias と CGI 設定を有効にする
  • 必要な Ruby とライブラリをインストールする(互換性を確認)
  • /usr/lib/philesightdb にインデックスを作成する
  • philesight.cgi を /usr/lib/cgi-bin に配置して実行権限を与える
  • Cron の更新頻度を決め、負荷を監視する
  • アクセス制限とログ監査を設定する

受け入れ基準(簡潔)

  • ブラウザで http://your_server_name/cgi-bin/philesight.cgi にアクセスし、各ルートフォルダの視覚表示が正しく表示される
  • cron ジョブ実行後に /usr/lib/philesightdb が更新される
  • Apache エラーログに致命的なエラーが出ていない

まとめ

Philesight はローカルネットワーク内で視覚的にディスク使用量を把握する簡便な手段です。ただし、古い依存関係やセキュリティの観点から注意が必要です。モダンな環境では ncdu や Prometheus/Grafana といった代替ツールも検討してください。

重要: パッケージ互換性や公開範囲には十分注意して運用してください。

共有する: X/Twitter Facebook LinkedIn Telegram
著者
編集

類似の素材

右クリックでセーフモードを追加する方法(Windows 11)
Windows

右クリックでセーフモードを追加する方法(Windows 11)

Scientific Linux 6.1 の DVD インストール手順
Linux

Scientific Linux 6.1 の DVD インストール手順

iPad/iPhoneで外部GPSを使う簡単ガイド
ハードウェア

iPad/iPhoneで外部GPSを使う簡単ガイド

Windows 10のタスクバーに通信速度を表示する方法
Windows

Windows 10のタスクバーに通信速度を表示する方法

UbuntuでPhilesightでディスク使用量を可視化する方法
サーバー管理

UbuntuでPhilesightでディスク使用量を可視化する方法

Instagramで「いいね」した投稿を見る方法と整理のコツ
SNS ガイド

Instagramで「いいね」した投稿を見る方法と整理のコツ