Webフォトアルバム

今回は設定が簡単な IMAGIN を選択しました。
写真やアルバムをWeb上に公開してデジタルフォトフレームのように再生できます。
他人に写真を見られたくない場合はSSLを使用します。
SSL(証明書・秘密鍵の作成)までをやっておきます。

IMAGINサイト http://imagin.ro/

Webアルバムを使いたいがサーバの設置や設定が面倒な方は
Picasa Webアルバムと同期機能がある。
http://picasa.google.co.jp/intl/ja/#utm_source=ja-all-more&utm_campaign=ja-pic&utm_medium=et
Flickr フリッカー オンライン写真アルバムサービス
http://www.flickr.com/

【参考サイト】
KUMA TYPE
Flashフォトギャラリー『IMAGIN』がかなりおすすめな件
http://blog.kumacchi.com/2010/02/flashimagin.html

IMAGINのダウロード
WindowsのクライアントPCよりIMAGINサイト(http://imagin.ro/)の「Download V3beta」を
クリックしてimagin_v3_beta5.zipファイルをダウンロードします。
解凍するとimagin_v3_beta5フォルダに__MACOSX と imagin_v3_beta5のフォルダがあります。
__MACOSXはMac Os用なんでしょうね
imagin_v3_beta5のフォルダを使用します。
imagin_v3_beta5のフォルダ名を imaginに任意に変更します。

IMAGINのアップロード
WindowsのクライアントPCよりFFFTPを使用してimaginのフォルダをHTTPS用ディレクトリ(/var/ssl)へアップロードします。
アルバムのアップロード
アルバムはフォルダ単位で/var/ssl/imagin/photos のディレクトリへアップロードします。
(フォルダ名がアルバム名になります。)
アルバムのサムネイル画像名は_thumb.jpg(大きさ128×128)でアルバムのフォルダ内に入れておきます。
アップロードする写真のサイズはだいたい500KB以下がよいかも、、、大きすぎると動作が重くなります。

【注意】
FFFTPでアップロード時、一つ上のフォルダへボタンを押して上のディレクトリへ遷移できない場合
UbuntuサーバのFTP(vsftpd)サーバ /etc/vsftpd.chroot_listにApache2の実行ユーザ名(USER)を
登録して上のディレクトリ(/var)へ移動してアップロードする。
ようが済んだら最後にユーザ名を削除しておきます。

SSLを使用しない場合は通常どおりにHTTP用ディレクトリ(/var/www)へアップロードします。

ダイジェスト認証ユーザーを追加
ユーザ名:userE このユーザでWebアルバムにログインします。
領域名:album-ssl は任意に決めます。
【2人目以降】
# htdigest /etc/apache2/.htdigest “album-ssl” userE
New password:(パスワード入力)
Re-type new password:(パスワード入力)

   [オプション]機能
   -c ユーザー定義ファイルを新規作成する。
   【削除】ユーザーを削除するオプションがないみたいなので
   geditで直接、.htdigestファイルを編集します。
   削除したいユーザーの一行を削除して保存します。

サイトの設定
端末より管理者になり
#gedit
【/etc/apache2/sites-available/default-ssl2】を編集する。

       
<VirtualHost _default_:443>   【確 認】443    
DocumentRoot /var/ssl     【確 認】  
       
<Directory /var/ssl>      【確 認】  
    Options FollowSymLinks MultiViews       
          (※OptionsのIndexesを削除する。    
          Indexesを外すとファイルの一覧は表示されない。)    
        AllowOverride None       
        Order allow,deny       
        allow from all       
</Directory>       
    
【/var/ssl/imagin】部追加        
<Directory /var/ssl/imagin>        
    AuthType Digest        【Digest 認証】    
    AuthName "album-ssl"    【AuthNameに領域名"album-ssl"を指定するとパスワードはハッシュ値が使用される。】    
    AuthUserFile /etc/apache2/.htdigest        
    Require user userE     今回ユーザ名を指定します。Require user ユーザ名    
                       このユーザuserEでWebアルバムにアクセスします。    
                     複数名の場合はスペースを入れる。userB userC userD    
    Options FollowSymLinks MultiViews      
          (※OptionsのIndexesを削除する。)      
    AllowOverride None        
    Order allow,deny        
    allow from all        
</Directory>        
        
  #   SSL Engine Switch:         
 " #   Enable/Disable SSL for this virtual host."         
 SSLEngine on        【確 認】SSLを有効      
          
【変更前】 SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem         
【変更後】 SSLCertificateFile  /etc/apache2/ssl/apache.pem        サーバ証明書    
          
【変更前】 SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key         
【変更後】 SSLCertificateKeyFile  /etc/apache2/ssl/apache.pem      サーバの秘密鍵    

Apache2を再起動させる。
# /etc/init.d/apache2 restart

ファイアウォールの設定
すでに Allow TCP 443ポート開放のルールを追加されていると思いますが、、、

動作確認
ブラウザからURL(https://ドメイン名/imagin)へアクセスする。
初回はブラウザーで認証エラーが発生しますので 【SSL証明書のインストール】を行います。
(すでにSSL証明書はインストール済みだとは思いますが、、、)

ダイジェスト認証のユーザーとパスワードを入力してエンターキーを押します。
トップ画面にアルバムのサムネイルが表示されるので見たいアルバムをクリックします。
サンプル動画はスライドショウの再生からノーマルビューに切り替えて最後に×マークをクリックしてアルバムのサムネイルに戻ります。
初回接続時には写真を変換するのに時間がかかるみたいなのでしばらく待ちます。
これで安全にもんたの間抜けな写真も友達に公開できます。(苦笑)
設定なしでかっこよく表示できるのはとてもいいですね~♪

ポートフォワーディング
外から接続したいのでルータのポートフォワーディングの設定を行う。
(すでに開放していると思いますが、、、)
以下のポートマッピング設定を自宅のルータに追加します。
【LAN側のホスト】:ubuntuサーバのアドレス
【プロトコル】:TCP
【ポート番号】:443

トラブルシュート
DNSサーバがないのでURLの名前解決ができないとブラウザでアクセスできない場合があるので
LAN内から接続する場合はクライアントPC(Windowsなど)のhostsファイルにドメイン名を記述する。
【C:\WINDOWS\system32\drivers\etc¥hosts】
127.0.0.1 localhost localhost
例192.168.0.133 ○○○.ath.cx ubun-pc
(UbuntuのIPアドレス 【登録したドメイン名】 【ホスト名】になります。)
hostsファイルにドメインを記述しておけば何かと問題が発生しなくなりますので、、、
192.168.0.133 はubntuサーバアドレスです。
ホスト名はインストール時のコンピュータ名です。

※VistaやWindows7のhostsファイルを書き換える場合は最初にメモ帳を管理者として実行します。