Munin(サーバ監視)

munin は自分自身(Local)を監視する。
munin-nodeはネットワーク上の他のホストも監視できる。 
Basic認証やIP制限などを行った方がいいと思います。
主な特徴
比較的導入が簡単
プラグインによる取得データの拡張が出来る
グラフ化部(マスター)とデータ取得部(ノード)が違うプログラムになっている。
インストール後
設定ファイルの編集
【/etc/munin/apache.conf】

グラフの出力先は
Alias /munin /var/cache/munin/www

# Order allow,deny コメントアウト

Order deny,allow
deny from all
  allow from localhost 127.0.0.0/8 ::1
allow from 192.168.0.0/24  ←LAN内からのみアクセス許可
(※Ipアドレスは自分の環境に変更すます。)

Apache2 の再起動
# service apache2 reload

Muninのトップページへアクセスする。
http://IPアドレス/munin

Apache,IOサービスタイム、CPU、メモリ使用状況、HDDのレイテンシーが記録される。
OSの再起動後も動作OK
Munin01

Webdruid(Web解析)

Webアクセスのログファイル解析でHPのアクセス状況をグラフィカルに表示できます。

Webdruidのインストール
Synapticパッケージマネージャからインストールします。

1.クイック検索でwebdruidを検索してインストールする。
2.グラフィックツールのインストール
クイック検索でgraphvizを検索する。

適応ボタンを押してインストールします。

配置ディレクトリの作成
アクセスログの解析結果を配置して表示するディレクトリを作成します。
端末より管理者になり
# mkdir /var/www/webdruid

所有者をApacheの実行ユーザーに変更
# chown -R USER:gruopA /var/www/webdruid
   (/var/www/webdruidの権限を例:USERユーザ 例:gruopAグループに変更します。)

webdruidの設定
# gedit
【/etc/webdruid/webdruid.conf】を編集

【33行目】 LogFile /var/log/apache2/access.log 【追加】ログファイル(access.log)は現在のログを指定する。

【46行目】 OutputDir /var/www/webdruid  【追加】解析ファイルの格納ディレクトリ

【86行目】 Incremental yes   【追加】過去の解析結果を蓄積する。

【151行目】 DNSCache dns_cache.db  【変更】#コメントを外す DNS逆引きを有効にする。

【165行目】 DNSChildren 10  【変更】#コメントを外す プロセスの数値を10に設定する。(推奨値は5~20)

【446行目】 HideReferrer ドメイン名 【変更】#コメントを外す 自サイトからのリファラーを除外する。

【538行目】 IgnoreSite 192.168.0.*  【変更】#コメントを外す LAN内からのアクセスを無視します。
                        ※IPアドレスは自分の環境に変更すます。

【322行目】 DotLocation /usr/bin/dot 【変更】#コメントを外す  dotプログラムのパスを指定する。

アクセス制限
アクセス解析結果を外部に公開するといけませんので
LAN内のみアクセスできるようにアクセス制限を設定します。
サイトが有効の場合はの無効にする。(無効の場合はスキップ)
# a2dissite default2

サイトの設定
【/etc/apache2/sites-available/default】
すでにdefaultファイルをコピーしてある場合はスキップします。
/etc/apache2/sites-available/# cp default default2

【/etc/apache2/sites-available/default2】を編集する。

      
<VirtualHost *:80>        ポートはこのまま      
      
DocumentRoot /var/www/   ディレクトリこのまま      
      
<Directory /var/www>      ディレクトリこのまま      
    Options FollowSymLinks MultiViews      
         (※OptionsのIndexesを削除する。      
          Indexesを外すとファイルの一覧は表示されない)      
        AllowOverride None      
        Order allow,deny      
        allow from all      
</Directory>      
            
【追加】以下の5行を追加する。      
<Directory /var/www/webdruid/>      
     Order deny,allow      
     deny from all      
     allow from 192.168.0.0/24  ←LAN内からのみアクセス許可
</Directory>                  (※Ipアドレスは自分の環境に変更すます。)      

サイトを有効にする。
/etc/apache2/sites-available# a2ensite default2

設定が完了したらApache2を再起動します。
# /etc/init.d/apache2 restart
 エラーが出たら各設定を再度確認する。

文字化け対策
解析ページが文字化けをしてしまうので無効にします。
# cd /usr/share/locale/ja/LC_MESSAGES
# mv webdruid.mo webdruid.mo.org

動作確認
webdruidを実行する。
# webdruid

【/var/www/webdruid】のフォルダにアクセスログの解析結果が作成されます。

LAN内から接続
Webブラウザで【http://IPアドレスまたはドメイン名/webdruid】 にアクセスすると
ホームページの利用統計が表示される。
Webdruid01
日別アクセス状況
Webdruid02
フォルダ(WebDAV)のアクセス状況
Webdruid03
国ごとのアクセス状況

外から接続
外から【http://ドメイン名/webdruid】へ接続できないことを確認する。
以下の紋々が表示され利用統計がみられません。
Forbidden
You don’t have permission to access /webdruid on this server.
または403が表示される。

解析の自動実行
一日一回 webdruidを実行するためにCronに登録する。
【/etc/crontab】を編集

15 3 * * * root /usr/bin/webdruid    【追 加】
【実行時間例: 3時15分】任意に決めます。

これでホームページの利用状況がグラフィカルに表示されてわかりやすいですね。

【補 足】
ログ・ローテーションの設定
logrotate はubuntuにデフォルトでインストール済みです。
サーバのすべてのログの基本設定は
/etc/loglotate.conf に記述する。
weekly     毎週ログを置き換える。
rotate 4    ファイルを4つまで保存する。
create     同名のログファイルを作成する。
include /etc/logrotate.d     ログ設定ファイルが置かれたディレクトリの指定

個々のサービスログの設定は/etc/logrotate.d にあります。
【例】 /etc/logrotate.d/apache2

VNC

VNC(Virtual Network Computing)
クライアントPC(Windows)からUbuntuサーバを操作してみます。

操作されるUbuntuサーバ側の設定
システム - 設定 – リモートディスクトップ
VNC-01
共有 –  
「他のユーザが自分のディスクトップを表示できる」と 
「他のユーザがデスクトップを操作できる」にチェックを入れる。
このマシンへの接続を毎回確認するのチェックを外す
(接続時に確認しないたと接続できないため)
セキュリティ – パスワードの入力を要求するにチェックを入れて、
パスワードを入力して閉じるボタンを押す。

ファイアーウォールの設定
ファイアウォールgufwでVNCのポートを開放します。
サービスタグを選択して許可 – サービス – VNC で追加ボタンを押す。

操作するWindowsPC(クライアント)のVNCにはReal VNC , Meta VNC , UltraVNC などがある。
【参考サイト】
・Real VNC   http://arkouji.cocolog-nifty.com/blog/2009/07/ubuntu2-1c41.html
・UltraVNC   http://blog.dc-d.jp/archives/838.html
・Meta VNC   http://viva-ubuntu.com/?p=1797

今回はRealVNCのVNCビューワをインストールしました。
VNCのビューワを起動します。
VNC-02
サーバ名にIPアドレスまたはホスト名を入力してOKボタンを押す。
続いてパスワードを入力する。

Ubuntuのサーバ側でユーザがログイン状態でないとVNCが動作できないとのことで 
ログイン状態で画面のロックをかけておりVNC接続時にロック解除をしてから操作します。
(出先からどうしてもubuntuサーバを再起動したい場合はシステム – システム管理 – ログイン画面で自動ログインに設定しておきます。
>セキュリティ上よくないが、、、)

これでWindowsPC上のディスクトップにUbuntuディスクトップ画面が表示される。
外からOpenVPNで接続してやれば安全にUbuntuサーバの操作とネットワークカメラの映像確認や
カメラ制御が可能になります。
(OpenVPNがルーティング接続でもUbuntuサーバのWebブラウザやファイルブラウザを通して
LAN内の他のホスト(NASやカメラサーバなど)へ接続可能です。)

OpenVPN3(クライアント設定)

クライアント設定
証明書の設置
OpenVPN1証明書で作成した。
・Ca証明書 ca.crt
・クライアント証明書 clientA.crt
・クライアント秘密鍵 clientA.key を
クライアントPC(Windows)の任意のフォルダを作成して配置します。
(例 D:\OpenVPN_CRTへ配置しました。)
OpenVPN3-01

OpenVPN GUI for Windowsのインストール
クライアントPC(Windows)でOpenVPN GUI for Windowsサイト(http://openvpn.se/)から
ダウンロード – Stableを選択する。
Installation Package (Both 32-bit and 64-bit TAP driver included):
openvpn-2.0.9-gui-1.0.3-install.exeをダウンロードして実行します。
セットアップウィザード画面でNextボタンを押します。
次にライセンス確認画面でIAgreeボタンをおします。

コンポーネント選択画面はそのままNextボタンを押します。
OpenVPNのインストール先を選択してInstallボタンを押します。
途中でTAP-Win32 Adapter V8の警告画面が表示されるが続行ボタンを押す。
インストールが完了してNextボタンを押す。
Finishボタンを押してセットアップウィザードを終了させます。
OpenVPN3-02
ネットワーク接続にはTAP-Win32 Adapter V8が表示されます。
タスクバーにOpenVPNアイコンが表示されます。

クライアントの設定
C:\Program Files\OpenVPN\sample-configのclient.ovpnを
C:\Program Files\OpenVPN\configへコピーする。
client.ovpnはVPNを接続するサーバごとに必要になります。
client.ovpnを任意の名前Ubuntu-client.ovpnへ変更します。

Ubuntu-client.ovpnファイルを編集します。
;はその行は無効
#の以降はコメント

【16行目】client     【確認】OpenVPNをクライアントを明示

      ;dev tap0
【24行目】dev tun     【確認】ルーティング方式なのでtunデバイスを指定

【37行目】proto udp     【確認】通信プロトコル Ubuntuサーバ側がudpなのでudpを指定

【42行目】remote Ubuntuサーバのドメイン名 1194     
            【変更】Ubuntuサーバのドメイン名と待ち受けポートを指定
            ※無料ドメインの取得と設定リンク

【54行目】resolv-retry infinite     【確認】Ubutuサーバの名前解決を無限トライ

【58行目】nobind            【確認】クライアント側で固定のポートを使用(bind)しない。

【65行目】persist-key         【確認】クライアント再起動時切断後、秘密鍵の再読み込みをしない。
【66行目】persist-tun         【確認】クライアント再起動時切断後、tunデバイスの再オープンをしない。

【88行目】ca D:\\OpenVPN_CRT\\ca.crt      【変更】Ca証明書へのフルパス
【89行目】cert D:\\OpenVPN_CRT\\clientA.crt  【変更】クライアント証明書へのフルパス
【90行目】key D:\\OpenVPN_CRT\\clientA.key  【変更】クライアント秘密鍵へのフルパス
       (※ディレクトリの区切りは\\である。)

【112行目】cipher BF-CBC 【変更】;cipher x をcipher BF-CBCに変更します。
                Ubuntuサーバと同じcipher(暗号器) BF-CBC(Blowfish)を指定する。

【117行目】comp-lzo         【確認】lzo圧縮を有効

【120行目】verb 3          【確認】ログレベル  ログファイルの詳細度0から11で大きいほど上がる。

クライアントPC(Windows)からの接続
1.ノートPCなどで使用しているネットワーク接続管理ツールやアプリを一時的に停止する。
2.通信端末(PHSや携帯)など外からのインターネット回線の接続を行う。
3.vIpCnfgツールなどネットワーク切り替えツールを使用している場合は
【外からの接続】にhostsを変更設定する。
  (URLリンク)
4.タスクトレイのOpenVPN GUIのアイコンを右クリックして
クライアントの設定ファイルUbuntu-client(接続するUbuntuサーバ)を選びConnectを選択します。
OpenVPN3-03
5.クライアントの証明書作成時のパスフレーズを入力してOKボタンを押します。
Ubuntuサーバと通信が開始されて、接続が完了するとログウィンドウが閉じます。
OpenVPN3-04
接続IPアドレスとUbuntuサーバと接続が完了した旨が表示され、
タスクトレイのOpenVPN GUIのアイコンの色が茶色→黄色→緑色へ変わります。
タスクトレイのOpenVPN GUIのアイコンを右クリックしてView Logを選択すると接続状況のログを確認できます。
最後に「 Initialization Sequence Completed 」の紋々があれば接続は成功しています。
ちなみに コマンドプロンプトより 例 C:\>ping 192.168.0.133(UbuntuサーバのIPアドレス)を実行するとpingが通ります。

これで安全にUbuntuサーバ(Samba、WebDAV、FTPなど)へデータアップ・ダウンロードやWebカメラ(Webcam、Motion)の監視が可能になります。
OpenVPN3-05
※マイ ネットワークから共有フォルダ(Samba)へアクセスできない場合は
クライアントPC(Windows)のスタート – ファイル名を指定して実行を選びます。
名前の入力欄に例 \\192.168.0.133 UbuntuサーバのIPアドレスを入力してOKボタンを押しますと
Sambaの共有フォルダの一覧が表示されてアクセスできます。

クライアントPC(Windows)からの切断
タスクトレイのOpenVPN GUIのアイコンを右クリックして
接続中の設定ファイルUbuntu-client(Ubuntuサーバ)を選びDisconnectを選択します。
切断後は当然、コマンドプロンプトより ping は通りません。

その他のWindowsのクライアントソフト
vpnux Connector
http://www.vpnux.jp/
無料で簡単にOpenVPNが接続できます。
OpenVPN3-06

OpenVPN2(サーバ設定)

サーバ設定
準備
Ubuntuサーバの雛形server.conf.gzをコピーします。
#cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn

解凍します。
/etc/openvpn# gunzip server.conf.gz
server.confがあります。
-rw-r–r– 1 root root 10289 2009-09-23 09:25 server.conf

server.confの設定 【ルーティング方式】
;はその行は無効
#の以降はコメント

【32行目】Port 1194       【確認】 例 51194など任意に変更してもよい。
                        
       # TCP or UDP server?           
       ;proto tcp                   
【36行目】proto udp       【確認】プロトコルできるだけUDPを使用する。
                        
      # the firewall for the TUN/TAP interface.
      ;dev tap
【53行目】dev tun        【確認】ルーティング方式はtunデバイスを使用する。

【61行目】;dev-node MyTap   【確認】 Linuxはこのままです。

【78行目】ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt 【Ca証明書変更】「ca ca.crt」 を変更します。
【79行目】cert /etc/openvpn/easy-rsa/2.0/keys/server.crt 【サーバー証明書変更】「cert server.crt」 を変更します。
【80行目】key /etc/openvpn/easy-rsa/2.0/keys/server.key
【サーバー秘密鍵変更】「key server.key # This file should be kept secret」 を変更します。

【87行目】dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem 【DHパラメータ変更】「dh dh1024.pem」を変更します。

【96行目】server 10.8.0.0 255.255.255.0    【サブネット確認】ルーティング方式は先頭の ; を削除して有効にする。

【103行目】ifconfig-pool-persist ipp.txt     【確認】
クライアントのCommon Nameが識別子になり再接続時に前回のIPアドレスを割り当てるためのテーブルファイル

【115行目】;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100 【確認】ルーティング方式なので ; をつけて無効にする。

【127行目】;server-bridge        【確認】ルーティング方式なので ; をつけて無効にする。

      # back to the OpenVPN server.
      ;push “route 192.168.10.0 255.255.255.0”
      ;push “route 192.168.20.0 255.255.255.0”
【138行目】push “route 192.168.0.0 255.255.255.0” 【追加】VPNサーバ側のサブネット情報

【188行目】push “redirect-gateway def1 bypass-dhcp” 【変更】先頭の ; を削除して有効にする。
セキュリティの不安のあるアクセスポイントを利用する場合有効だそうです。

【196行目】;push “dhcp-option DNS 208.67.222.222”   【確認】サーバのDNSを利用するときは;を外す。
【197行目】;push “dhcp-option DNS 208.67.220.220”   【確認】サーバのWINSを利用するときは;を外す。 DNS?

【227行目】keepalive 10 120 【確認】定期通信頻度
Pingを10秒間隔で送信して120秒以内に反応がない場合切断する。

【245行目】cipher BF-CBC # Blowfish (default) 【変更】cipher(暗号器)ディフォルトはBlowfishを使用する ; を外します。
;cipher AES-128-CBC # AES
;cipher DES-EDE3-CBC # Triple-DES

      Blowfishはdefaultで128Bitの共通鍵のブロック暗号 。他にAESやDES、暗号深度(64,128,192,256bit)などを選択できる。
      Bit数が上がるほど安全性は高いが処理が遅くなる。 ※OpenVPNのサーバとVPNのクライアントに同じ設定を行う。

【252行目】comp-lzo          【確認】LZO圧縮を利用する。

【263行目】user nobody            【変更】 ; を削除して有効にする。セキュリティ対策
【264行目】group nogroup           【変更】 ; を削除して有効にする。セキュリティ対策
                        Rootからnobodyへ権限を変更してアタックを防げる。

【270行目】persist-key         【確認】再起動後の処理方法 VPNサーバの再起動時 デバイスの再オープンを行わない
【271行目】persist-tun         【確認】再起動後の処理方法 VPNサーバの再起動時 秘密鍵の再読込を行わない

【276行目】status openvpn-status.log       【確認】ログ

【286行目】;log-append openvpn.log        【確認】ログファイルを継続取得する場合は;を削除する。

【295行目】verb 3             【確認】ログレベル  ログファイルの詳細度0から11で大きいほど上がる。

Ipフォワーディングを有効にする。
UbuntuサーバのIPアドレスとVPN上のアドレスが異なるためその間の通信ができるように設定する。
Ubuntuサーバ起動時に自動設定が必要です。
【/etc/sysctl.conf】を編集する。

【28行目】net.ipv4.ip_forward=1          【変更】 値を0から1に変更して有効にする。

OpenVPNの起動
起動の確認
# /etc/init.d/openvpn start

停止
# /etc/init.d/openvpn stop

状態
# /etc/init.d/openvpn status

Ubuntu再起動後、起動していない場合は実行する。
# chkconfig –add openvpn または# chkconfig openvpn on

オフにする場合# chkconfig openvpn off

起動ランレベルの確認
# chkconfig –list openvpn で確認する。
(Chkconfigがない場合はインストールして下さい。)
openvpn 0:off 1:off 2:on 3:on 4:on 5:on 6:off

ファイアウォールの設定
ファイアウォールgufwでAllow UDP 1194 のポートを開放します。
 (または任意のポート例 51194などを開放する。)

ポートフォワーディング
外からVPNを利用しますのでルータのポートフォワーディングの設定を行う。
ルータの管理画面へアクセスして
ポートマッピング画面へ移動する。
【LAN側のホスト】:ubuntuサーバのアドレス
【プロトコル】:TCP
【ポート番号】:1194   
(または任意のポート例 51194などを設定する。)
これらの設定をルータに追加して保存(反映)します。

これでクライアントPCからの接続待ち状態になります。

OpenVPN1(証明書)

Virtual Private Network(VPN)はクライアントPC(Windows)と自宅のUbuntuサーバ間に
暗号化されたトンネルを作成し、ファイル共有(Samba)、FTP、WebDAV、自宅のWebカメラの制御と監視、
VNC(リモートディスクトップ)など外から安全に遠隔操作できるようになります。
【VPN】
VPNの種類としてPPTP、Ipsec、SSL-VPNなどがあります。
今回は手軽で無料でできるOpenVPNを構築します。
秘密鍵、公開鍵証明書、ユーザ名、パスワードを使ってクライアントとサーバの相互認証を行います。

【通信方式】
●ルーティング方式とブリッジ方式があります。
ブリッジ方式は仮想ブリッジを作成してあたかも自宅のLAN内にいる状態になり、ホスト間で直接通信が可能になります。
tapデバイスを使用します。
●ルーティング方式は自宅のUbuntuサーバとは別のネットワークを構築して接続できるのはUbuntサーバで
ホスト間の直接通信はできません。
(ホスト間の通信はOpenVPNサーバでルーティングを設定する必要がある。)
tunデバイスを使用します。

ブリッジ方式のが便利なのですが仮想ブリッジの作成が面倒ではあります。
実際にブリッジ方式も確認しましたがある不具合?を確認しました。
ブリッジ方式だと自宅LAN内で映像などのコンテンツを再生しますと音声がとぎれたり、音ヅレが発生してしまいました。
(特にTV REGZAの地デジコンテンツの再生は無理そうです。)
ルーティング方式を選択します。

【仮想デバイス】
ネットワークインターフェイス(LANアダプタ、LANカード)を仮想的に構築します。
2種類のtun/tap仮想ネットワークインターフェイスがあり、
tunデバイスはレイヤー3でトンネリング(カプセル化)を行う。
tapデバイスはレイヤー2でトンネリング(カプセル化)を行う。

【OpenVPN JP日本語情報サイト】 http://www.openvpn.jp/
【OpenVPN公式サイト】 http://openvpn.net/
【参考サイト】
・OpenVPNで手軽にVPN構築
http://www.atmarkit.co.jp/flinux/special/openvpn/openvpna.html
・OpenVPNでハブ直結
http://nai.homelinux.net/openvpn.html
・OpenVPNで構築するリモートアクセス環境
http://www.stackasterisk.jp/tech/systemConstruction/openVpn01_01.jsp

【使用環境】
サーバー   Ubuntu9.10
通信方式   ルーティング方式
仮想デバイス tun
プロトコル   UDP
port 1194     任意(30000~50000~代)に変更してもよい。
サブネット 192.168.0.0 / 255.255.255.0 (←適宜、自分のネットワーク環境に合わせます。)
クライアントPC ネットブック(WindowsXP home SP3)
通信端末はWillcomのPHSやイー・モバイルで問題ありませんでした。
速度はなるべく速いほうがいいのでしょうが、、、

インストール
OpenVPNのアプリは一つでありサーバ、クライアントの区別はなく設定によってモードが変わる。
端末より管理者になる。
# apt-get update
# apt-get install openvpn

【各証明書・秘密鍵の作成】(※以下の作業はいっきに行います。)
varsファイルを編集する。
【/usr/share/doc/openvpn/examples/easy-rsa】
easy-rsaのフォルダを/etc/openvpn へコピーする。

# cp -R /usr/share/doc/openvpn/examples/easy-rsa /etc/openvpn

# cd /etc/openvpn/easy-rsa

1.0と2.0がありましたのでVer2.0の方を使用します。
# cd 2.0

【/etc/openvpn/easy-rsa/2.0/vars】ファイルを編集する。

【53行目】export KEY_SIZE=1024   【確認】暗号深度をあげたい場合は2048へ変更 RSA鍵を強化する。 >その分処理時間がかかる
DH(Diffie-Hellman)パラメーターの作成時間もかかるので1024 ディフォルト値1024で十分かなぁ

【64行目】export KEY_COUNTRY=”JP” 【変更】 例 “JP” 日本
【65行目】export KEY_PROVINCE=”Tokyo” 【変更】 例 “Tokyo” 東京
【66行目】export KEY_CITY=”Minatoku” 【変更】 例 “Minatoku” 港区
【67行目】export KEY_ORG=”Monta ” 【変更】 例 “Monta“ 団体名もんた
【68行目】export KEY_EMAIL=”root@abc.com” 【変更】 例 “ root@abc.com”  メールアドレス

認証局(Ca)証明書の作成
# cd /etc/openvpn/easy-rsa/2.0
# . ./vars

# ./clean-all

# ./build-ca

Generating a 1024 bit RSA private key
…………+++
……………………………………………………………………………………….+++
writing new private key to ‘ca.key’
—–
途中省略
—–
Country Name (2 letter code) [JP]: Enterキー
State or Province Name (full name) [Tokyo]: Enterキー
Locality Name (eg, city) [Minatoku]: Enterキー
Organization Name (eg, company) [Monta]:   Enterキー
Organizational Unit Name (eg, section) []: Enterキー
Common Name (eg, your name or your server’s hostname) [Phantom CA]:OPEN_VPN-CA 【←任意に入力】
Email Address [root@abc.com]: Enterキー

# cd keys
Ca証明書と秘密鍵が生成されている。
-rw-r–r– 1 root root 1545 2009-09-22 16:04 ca.crt 【Ca証明書】
-rw——- 1 root root 1675 2009-09-22 16:04 ca.key 【Ca秘密鍵】

サーバ証明書の作成
/etc/openvpn/easy-rsa/2.0# ./build-key-server server 【パラメータはserverを使用する。】
Generating a 1024 bit RSA private key
………………………………………………………………………………………………………………………+++
………..+++
writing new private key to ‘server.key’
—–
途中省略
—–
Country Name (2 letter code) [JP]:          Enterキー
State or Province Name (full name) [Tokyo]:    Enterキー
Locality Name (eg, city) [Minatoku]:          Enterキー
Organization Name (eg, company) [Monta]:     Enterキー
Organizational Unit Name (eg, section) []:      Enterキー
Common Name (eg, your name or your server’s hostname) [server]:VPN-SERVER 【←任意に入力】
Email Address [root@abc.com]: Enterキー

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []: Enterキー
An optional company name []: Enterキー
Using configuration from /etc/openvpn/easy-rsa/2.0/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject’s Distinguished Name is as follows
countryName :PRINTABLE:’JP’
stateOrProvinceName :PRINTABLE:’Tokyo’
localityName :PRINTABLE:’Minatoku’
organizationName :PRINTABLE:’Phantom’
commonName :PRINTABLE:’VPN-SERVER’
emailAddress :IA5STRING:’root@abc.com’
Certificate is to be certified until Sep 20 07:28:58 2019 GMT (3650 days)
Sign the certificate? [y/n]:y          【Yを入力】

1 out of 1 certificate requests certified, commit? [y/n]y 【Yを入力】
Write out database with 1 new entries
Data Base Updated

# cd keys
-rw-r–r– 1 root root 5209 2009-09-22 16:29 server.crt 【サーバー証明書】
-rw-r–r– 1 root root 1021 2009-09-22 16:28 server.csr
-rw——- 1 root root 1675 2009-09-22 16:28 server.key 【サーバー秘密鍵】

DH(Diffie-Hellman)パラメーターの作成
(RFC2539準拠)
安全でない通信経路上で、鍵交換を行うためのアルゴリズム

/etc/openvpn/easy-rsa/2.0# ./build-dh
しばらく待ちます。
(Atom CPU 330 で数分かかります。)

# cd keys
-rw-r–r– 1 root root 424 2009-09-22 18:36 dh1024.pem 【DHパラメータ】

クライアント証明書の作成
クライアント(clientA)の数だけ作成する必要があります。

/etc/openvpn/easy-rsa/2.0# ./build-key-pass clientA
Generating a 1024 bit RSA private key
………….+++
.+++
writing new private key to ‘clientA.key’
Enter PEM pass phrase: 【****** パスフレーズを入力】
Verifying – Enter PEM pass phrase: 【****** パスフレーズを入力】
—–
途中省略
—–
Country Name (2 letter code) [JP]:            Enterキー
State or Province Name (full name) [Tokyo]:      Enterキー
Locality Name (eg, city) [Minatoku]:            Enterキー
Organization Name (eg, company) [Monta]:       Enterキー
Organizational Unit Name (eg, section) []:        Enterキー
Common Name (eg, your name or your server’s hostname) [clientA]: Enterキー
Email Address [root@abc.com]:              Enterキー

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:                Enterキー 【クライアントPCでVPN起動時にパスワードをかけたい時】
An optional company name []:             Enterキー
Using configuration from /etc/openvpn/easy-rsa/2.0/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject’s Distinguished Name is as follows
countryName :PRINTABLE:’JP’
stateOrProvinceName :PRINTABLE:’Tokyo’
localityName :PRINTABLE:’Minatoku’
organizationName :PRINTABLE:’Monta’
commonName :PRINTABLE:’clientA’
emailAddress :IA5STRING:’root@abc.com’
Certificate is to be certified until Sep 20 10:47:07 2019 GMT (3650 days)
Sign the certificate? [y/n]:y            【Yを入力】

1 out of 1 certificate requests certified, commit? [y/n]y   【Yを入力】
Write out database with 1 new entries
Data Base Updated

# cd keys
-rw-r–r– 1 root root 5079 2009-09-22 19:47 clientA.crt 【クライアント証明書】
-rw-r–r– 1 root root 1013 2009-09-22 19:47 clientA.csr
-rw——- 1 root root 1751 2009-09-22 19:47 clientA.key 【クライアント秘密鍵】

生成物の一覧 設置先 重要度
【サーバ】
Ca証明書 ca.crt サーバ/クライアント なし
Ca秘密鍵 ca.key サーバ 秘密
サーバー証明書 server.crt サーバ なし
サーバー秘密鍵 server.key サーバ 秘密
Dhパラメータ dh1024.pem サーバ なし
【クライアント】
クライアント証明書 clientA.crt クライアント なし
クライアント秘密鍵 clientA.key クライアント 秘密

※ca.crt、 clientA.crt、 clientA.key はクライアントへコピーする。
clientA.keyが権限でコピーできないので

# chmod +r clientA.key

WinSCPやUSBメモリでクライアントPCへ安全にコピーする。

クライアントの証明書を廃止する
クライアントPCの証明書の情報が漏れた場合
すぐにその証明書をリボーク(無効)する。
Linuxの場合
# cd /etc/openvpn/easy-rsa/2.0
# . ./vars
# ./revoke-full クライアント名(例ClientB)

/etc/openvpn/easy-rsa/2.0/keysにcrl.pem 証明書廃止リストができる。

server.confと同じ場所にcrl.pemをコピーする。
# cp /etc/openvpn/easy-rsa/2.0/keys/crl.pem /etc/openvpn

証明書廃止リストを監視するようにserver.conf に一行追加する。

Crl-verify crl.pem  【追加】

vIpCnfg

DNSサーバが自宅になく、Windowsのネットブックやタブレットで外出先や自宅など接続条件を変更して
Ubuntuサーバへ接続したい場合、hostsファイルを変更して対応したいと思います。
ネットワークの切り替えソフト 「ヴァルヘルIPコンフィグ」を使ってみます。
【注 意】
ウィルスソフトなどのセキュリティアプリケーションからはhostsファイルの書き換えは禁止行為になりますので
ヴァルヘルIPコンフィグを動作できるように例外に登録します。

【ヴァルヘルIPコンフィグ】サイト http://www.valsoft.jp/delphi/vipconfighp.html
使 用
vIpCnfg.exeを実行する。
vIpCnfg01
【外からの接続】の設定作成
「ファイル」 – 「新規作成」 「新しい設定タブ」が作成されます。
「新しい設定タブ」の上でマウスの右クリックして名前を変更を選択する。
名前の変更画面で新しい名前 例「外からの接続」を入力します。
外からの接続なのでhostsファイルの内容は変更しません。
2段目のタグ「その他」を選びHOSTSファイルの「参照」ボタンを押します。
ファイル名はC:\WINDOWS\system32\drivers\etcのhostsを選択して「開く」ボタンを押します。
確認画面が表示される場合は「はい」ボタンを押して設定した変更を保存します。

【自宅からの接続】の設定作成
「ファイル」 – 「新規作成」 「新しい設定タブ」が作成されます。
「新しい設定タブ」の上でマウスの右クリックして名前を変更を選択する。
名前の変更画面で新しい名前 例「自宅からの接続」を入力します。
自宅からの接続なのでhostsファイルの内容を変更します。
「編集」 – 「HOSTS」ファイルの編集を選択します。
メモ帳が起動してhostsファイルが開きます。

「 127.0.0.1 localhost 」の下にUbuntuサーバのアドレスを記述します。

192.168.0.133  ドメイン名  ホスト名
メモ帳のファイル - 名前を付けて保存を選択して
「外からの接続」のhostsファイルと区別するために別名(例 jitaku.txt)を付けて保存します。
(保存先はどこでもよいのでしょうがC:\WINDOWS\system32\drivers\etcにしておきます。)
2段目のタグ「その他」を選びHOSTSファイルの「参照」ボタンを押します。
ファイル名はC:\WINDOWS\system32\drivers\etcのjitaku.txtを選択して「開く」ボタンを押します。
確認画面が表示される場合は「はい」ボタンを押して設定した変更を保存します。

「設定反映」ボタンを押してしばらく待つと設定が有効になります。
続けるを選択して「OK」ボタンを押します。

接続確認
【自宅LAN内から自宅のUbuntuサーバへ接続】
ヴァルヘルIPコンフィグ起動後のタグは【自宅からの接続】のタグになっているのを確認します。

【自宅からの接続】のタグになっていない場合は【自宅からの接続】のタグを選択して「設定反映」ボタンを押します。
ブラウザからhttp://Ubuntuサーバのドメイン名/へアクセスしてHPなどが正しく表示されれば名前解決ができています。

【外から自宅のUbuntuサーバへ接続】
ヴァルヘルIPコンフィグ起動後のタグは【外からの接続】のタグになっているのを確認します。
【外からの接続】のタグになっていない場合は【外からの接続】のタグを選択して「設定反映」ボタンを押します。
ブラウザからhttp://Ubuntuサーバのドメイン名/へアクセスしてHPなどが正しく表示されるはずです。

これでワンタッチで内・外のネットワーク設定を切り替えられます。
その他の設定項目ではワークグループ、DNS、WINS、Proxy、ファイアウォール、プリンタなどが切り替えられ便利です。

【使い方の参考サイト】
TCP/IP設定変更ツール http://www.isc.meiji.ac.jp/~isd/faq/tcp-ip.htm

Motion

カメラ映像の動き(変化)を検知して動画や静止画を撮影します。
建物の通路やドアの開閉の映像を記録すれば防犯監視カメラのレコーダになります。
USB-WebカメラはUVC対応のものを使用しています。
ノートPCやネットブックについているWebカメラでも大丈夫でした。
おすすめUSB-Webカメラは赤外線LEDを搭載したWEBカメラ(DC-NCR13U)です。
http://www.digitalcowboy.jp/products/ncr13u/
このmotionサーバの機能は赤外線カメラを使用すると暗闇で最大限の効果が発揮できます。

【Motionサイト】http://www.lavrsen.dk/foswiki/bin/view/Motion/WebHome
【参考サイト】 Bird-soft WebBLOG http://www.bird-soft.net/mt/2009/06/linuxwebmotion.html

Motionをインストール
システム – システム管理 – Synapticパッケージマネージャよりmotionをインストールする。
motionの設定
【/etc/motion/motion.conf】を編集します。
端末より管理者になる。
#gedit

【11行目】 daemon on    Onに変更

【70行目】 width 320     QVGA(VGAの場合640)

【73行目】 height 240     QVGA(VGAの場合480)

【77行目】 Framerate 10   1秒間に撮影する枚数(範囲2~100)
                    >物理的に限界はあると思いますが、、、

【153行目】 Threshold 1000     動体を検知する値
 (default: 1500で数値が大きくなるほど検知が鈍くなり、小さくなるほど過敏に反応します。)

【227行目】 output_normal off   静止画像ファイルを保存しない。Onにすると静止画(jpg)も保存する。

【247行目】 ffmpeg_cap_new on  動画をキャプチャを有効にする。動画を保存したくない場合はoff

【282行目】 ffmpeg_video_codec mpeg4 動画をmpeg4(拡張子AVI)で保存
                       (ffmpegによって使用されるコーデックmpeg4)

【314行目】 Locate on    映像の変化がある領域を四角で囲みます。>おもろい

【329行目】 text_changes on  変化があったピクセル数を画面右上へ表示

【359行目】 target_dir /tmp/motion 撮影映像を保存するディレクトリ
                       (任意に保存するディレクトリを新規作成する。)

【413行目】 webcam_localhost off OffにするとローカルやクライアントPCからリアルタイム映像が表示される。

【429行目】  control_localhost off ブラウザからmotionを設定できます。

カメラの動作確認
USBカメラを接続する。

【起動】
# motion (監視開始)

【トラブルシューティング】
以下の紋々で起動できない場合
[0] Exit motion, cannot create process id file (pid file) /var/run/motion/motion.pid:

 ディレクトリを作成します。
# mkdir -p /var/run/motion

ユーザとグループがroot.rootを確認します。
/var/run/motionのパーミッションは755を確認してそうでない場合は変更します。

【終了】
Ctrl + C または # /etc/init.d/motion stop

【リアルタイム映像】
http://IPアドレス:8081/    (※ブラウザによっては表示されません。)

【motion制御】
ブラウザからmotionを制御できます。
http://IPアドレス:8080/

ファイアウォールの設定
ブラウザでリアルタイム映像とmotion制御を使用する場合は
Allow TCP 8080、8081ポート開放のルールを追加します。

撮影動画(AVI)の確認
/tmp/motionのフォルダに動画ファイル(AVI)が作成されているのでそれを再生します。
Motion01
Threshold 300値のチョロQラジコンの動画です。
正確に動きを検知していますね。

【監視カメラの運用】
簡単な運用方法はjpgの静止画で撮影して日付ごとのフォルダを作成して管理します。
(静止画の方が動画よりCPUの負荷が小さいと思います。)

【設 定】
【227行目】 output_normal on    静止画(jpg)を保存する。
【247行目】 ffmpeg_cap_new off   動画を保存しない。
以下の4行のシェル(motion.sh)をエディタで作成して任意のフォルダに保存します。

#!/bin/sh
DA=$(date +%y%m%d)     シェル実行時の日付 例100125(10年01月25日)を変数DAへ格納する。
mkdir /var/pc_pub/motion/$DA   変数DAの内容で日付のフォルダをSambaの共有フォルダ内に作成する。
mv /tmp/motion/*.jpg /var/pc_pub/motion/$DA   JPGの静止画ファイルをSambaの共有フォルダ内の日付フォルダへすべて移動する。

ディレクトリ(/var/pc_pub/motion)は自分の環境に変更します。

# chmod +x motion.sh 実行権限を与える。

一日一回 シェルを実行するためにCronに登録する。
【/etc/crontab】を編集

45 23 * * * root /home/monta/motion.sh 【追 加】
【実行時間例:23時45分】任意に決めます。
【/home/monta】はシェル(motion.sh)が置いてあるパス。

記録静止画像(JPG)の確認
静止画像を連続表示できるSnapViewerを使用します。
クライアントPC(Windows)よりSnapViewerを起動して参照ボタンを押します。
ネットワークよりUbuntuサーバの静止画が保存してある日付フォルダを選択します。
並び替えにチェックを入れて画像リスト生成ボタンを押します。
Playボタンを押して再生します。
Motion02
画面下にあるカーソルを左右に移動すると自由に再生位置(撮影時間)が選べてとても便利です。
(映像は二足歩行ロボットを不審者に見立てて撮影しています。)

これで立派な監視カメラレコーダーができました。
Motionは他にも4スレッド4台までWebカメラを接続できそうですね。
MySQLにも対応しているみたいでPHPなどのブログラムができる方は
膨大に撮影した映像や静止画をブラウザから管理・確認ができそうですね。

後ほどVPNを設定してこれらのWebカメラの制御や映像の確認を遠隔で操作できるようにします。
【静止画像を連続表示】
SnapViewer 
http://www.onecreation.jp/products/snapviewer/

XOOPS YYBBS

XOOPSに掲示板(yybbs)モジュールをインストールしてみましょう。
XOOPS Cube日本サイトのモジュールより http://xoopscube.jp/
クライアントPC(Windows)に カテゴリー – フォーラム・掲示板のyybbs改をダウンロードします。
altsysモジュールもネットからダウンロードしておきます。

【環境条件】
altsysモジュールのインストール
exFrame-0.89モジュールのインストール
ImageMagickのインストール
yybbsモジュールの設定とインストール

altsysモジュールのインストール
XOOPSはApache2のドキュメントルートフォルダ内(/var/www/xoops)に設置してあります。
XOOPS_TRUST_PATHフォルダはドキュメントルートフォルダ(/var/www)の外に作成します。
セキュリティ上外のが良いのでしょう。

XOOPS_TRUST_PATHフォルダの作成
# mkdir /var/xoops_trust_path

所有者をApacheの実行ユーザーに変更
# chown USER:gruopA /var/xoops_trust_path
   (/var/xoops_trust_pathの権限をUSERユーザ gruopAグループに変更します。)

【/var/www/xoops/mainfile.php】の編集
mainfile.phpのパーミッションをいったん666にもどす。
XOOPS_TRUST_PATH のディレクトリの位置を記述します。
XOOPS Cube Legacy の場合
39行目 【変更前】define( ‘XOOPS_TRUST_PATH’ , ” );

     【変更後】define( ‘XOOPS_TRUST_PATH’, ‘/var/xoops_trust_path’ );

編集後mainfile.phpのパーミッションを444にもどしておきます。

altsys-0.7.zipを解凍する。
   altsys-0.7/html 内の modules と preload を、XOOPS_ROOT_PATH(/var/www/xoops)へアップロードする。
      (上書きする。)
   altsys-0.7/xoops_trust_path 内の libs を、XOOPS_TRUST_PATH(/var/xoops_trust_path)へアップロードする。
ブラウザよりXOOPS Cubeへログインします。
管理者メニュー – 互換モジュール – モジュールのインストール
altsysモジュールをインストールします。 

exFrame-0.89モジュールのインストール
掲示板(yybbs_0.59.9.7_hoda.zip)を解凍します。
modules/exFrameフォルダを/var/www/xoops/modulesへアップロードします。
管理者メニュー – 互換モジュール – モジュールのインストール
ExFrame0.89モジュールをインストールします。 

ImageMagickのインストール
Ubuntuサーバよりシステム – システム管理 – Synapticパッケージ・マネージャーを起動する。
クイック検索でからImageMagickを入力してインストールする。

yybbsモジュールの設定とインストール
【顔iconを表示させる場合】
項目のアイコンの一覧と新しいアイコンを表示させる。
  クライアントPC(Windows)よりエディタでmodules/yybbs/admin/menu.php の//を削除して保存する。

アイコンのリストを表示させる。
  yybbs/templates内のyybbs_item.htmlとyybbs_form.htmlのhodakaコメント部分を外す。

【表示されないSmartyコメントアウトの説明】

   <{*
    
   *}> 
  とすることで <{*  *}> タグ内はHTML上へ反映されない。
  通常の<!--  --> はHP上は表示されないが、HTML上へは反映される。
  
とりあえず以下の行をすべて削除して一行つめる。   
yybbs_item.html    
  3行目 <{***** hodaka added 3 lines to act like joyful-note not yybbs-board. Uncomment if you like to show icon. *****}>  
  10行目 <{***** end of hodaka *****}>  
  52行目 <{******* hodaka hides icon to show. Uncomment if you like to show icon.  
  54行目 ***** end of hodaka*}>  
    
yybbs_form.html    
  44行目 <{*-- hodaka hides input column for file-upload if user doesn't have permission  added on 2005.08.17 –*}>   
  51行目 <{*-- hodaka hides icons to show. Uncomment if you like to show icon.  
  65行目 -- end of hodaka*}>   

modules/yybbsフォルダを/var/www/xoops/modulesへアップロードします。
ブラウザよりXOOPS Cubeへログインします。
管理者メニュー – 互換モジュール – モジュールのインストール
yybbs モジュールをインストールします。 

はじめに
管理者メニュー – XOOPS YYBBS – 新しい掲示板を登録しておきます。
掲示板のパーミッションの変更
 管理者メニュー – XOOPS YYBBS – 全体のパーミッション
 管理者メニュー – XOOPS YYBBS – 掲示板一覧 – PERMISSION
 (Submitボタン ⇒ Confirmボタン)

アイコンの準備
おすすめアイコン http://home.m07.itscom.net/pungum/
素材のページ – かぶりもんアイコン がおすすめです。
管理者メニュー – XOOPS YYBBS – 新しいアイコン
ICON入力画面が表示されるのでそこでアイコンを登録します。

管理者メニュー – XOOPS YYBBS – 一般設定
ファイル最大容量
画像ファイルのファイル最大容量
ディフォルトで100000バイト(100KB)で小さいので 600000バイト(600KB)ぐらいに変更する。

ImageMagickを使ってサムネールを作成する 「はい」にチェックを入れる。
「送信」ボタンを押す。

管理者メニュー – XOOPS YYBBS – アップロード検査をクリックして問題がないかを確認します。
問題がなければホームページ – XOOPS YYBBSをクリックして掲示板を表示させます。
XOOPS_YYBBS_Protector01
アイコンの選択や画像ファイルが投稿できること確認します。

管理者以外の登録ユーザが掲示板を閲覧できるようにアクセス権を変更します。
ユーザーモジュール – ユーザーグループ管理 – パーミッション で登録ユーザのモジュールへのアクセスを許可する。
(ゲストは禁止する。)

【モジュールを削除する場合】
管理者メニュー – 互換モジュール – モジュールの管理で削除したいモジュールのアクティブのチェックを外します。
次にアップデートボタンを押します。
再度、アップデートボタンを押します。
モジュールの管理画面でアンインストールボタンが表示されるのでアンインストールボタンを押して削除します。

XOOPS PROTECTOR
Protector は悪意のある攻撃から守るためのモジュールです。
Protectorのダウンロード
(安定版の3.41をダウンロードします。)
ダウンロードサイト http://xoops.peak.ne.jp/

クライアントPC(Windows)にprotector-3.4.zipをダウンロードして解凍します。
  protector-3.4/html/modulesのprotectorを/var/www/xoops/modulesへアップロードします。

  protector-3.4/xoops_trust_pathのmodulesと.htaccessをvar/xoops_trust_pathへアップロードする。

ちなみに.htaccessの内容は以下になっています。
order deny,allow
deny from all

PROTECTORモジュールをインストール
ブラウザよりXOOPS Cubeへログインします。
管理者メニュー – 互換モジュール – モジュールのインストール
protector モジュールをインストールします。 

【/var/www/xoops/mainfile.php】 設定
mainfile.phpのパーミッションをいったん666にもどす。
geditでmainfile.phpを編集します。
【XOOPS Cube Legacy の場合】

if (!defined(‘_LEGACY_PREVENT_LOAD_CORE_’) && XOOPS_ROOT_PATH != ”) {
include XOOPS_TRUST_PATH.’/modules/protector/include/precheck.inc.php’ ; 【追 加】
@include_once XOOPS_ROOT_PATH.’/include/cubecore_init.php’;
if (!isset($xoopsOption[‘nocommon’]) && !defined(‘_LEGACY_PREVENT_EXEC_COMMON_’)) {
include XOOPS_ROOT_PATH.’/include/common.php’;
}
include XOOPS_TRUST_PATH.’/modules/protector/include/postcheck.inc.php’ ; 【追 加】
}

編集後mainfile.phpのパーミッションを444にもどしておく。
管理者メニュー – Protector – セキュリティガイドをクリックして問題がないかを確認します。
allow_url_fopen on で非推奨になっているのでoffに変更します。

PHPの設定
【/etc/php5/apache2/php.ini】を編集します。

570行目あたり
; Fopen wrappers ;
; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
allow_url_fopen = On  【Offへ変更】

# /etc/init.d/apache2 restart
設定の変更後、Apacheを再起動します。
これでセキュリティがアップされprotectorが必須なモジュールをインストールできるようになります。

//////////////////////////////////////////////////////////////////////////////////////////////////
ユーザーの登録
管理者メニューより
ユーザーモジュール ユーザー管理 ユーザーの新規登録 からユーザを登録する。

ALTSYS
piCalのカレンダーを全ページの左サイドに表示する。
pcCalを選択する 表示サイドの左にチェックを入れる 表示対象 全ページ 対象者(サイト管理者と登録ユーザを選択)
アクセス権限の設定を行い送信ボタンを押す。
左サイドにカレンダーが表示される。
※対象者にゲストを選択していないのでログイン画面にはカレンダーは表示されない。

カスタムブロックの追加
互換モジュールの顔アイコンの管理 新規作成ボタンを押す。
コード :番号 を入力して顔アイコンを選択する。
互換モジュールのブロックの管理 カスタムブロックの追加ボタンを押す。
ようこそ – ログイン画面を追加してみる。
タイプに自動フォーマット(顔アイコン有効)を選択して コンテンツ内にアイコンを入力して表示する。
表示先のモジュールはトップページを選択する
アクセス権限のあるグループはゲストを選択するとこのブロックはログイン画面のみ表示される。

次に「ようこそ」メッセージ画面を追加してみる。
互換モジュールのブロックの管理 カスタムブロックの追加ボタンを押す。
タイプに自動フォーマット(顔アイコン有効)を選択して コンテンツ内にアイコンを入力して表示する。
表示先のモジュールはトップページを選択する
アクセス権限のあるグループはサイト管理者と登録ユーザを選択するとこのブロックはホームページのトップ画面のみ表示される。
XOOPS_YYBBS_Protector02
「ようこそ」メッセージ画面が表示される。

次に掲示板のモジュールをトップ画面へ追加してみます。
互換モジュールのブロックの管理 ブロックのインストールボタンを押す。
YYBBS 最近投稿されたスレッドをインストールボタンを押す。
互換モジュールのブロックの管理 YYBBS 最近投稿されたスレッドがリストに追加さる。
YYBBS 最近投稿されたスレッドの編集ボタンを押す。
表示サイド 表示位置を選択する。
表示先のモジュール トップページを選択する。
アクセス権限のあるグループはサイト管理者と登録ユーザを選択するとこで掲示板モジュールはホームページのトップ画面のみ表示される。
XOOPS_YYBBS_Protector03
同様にヘッドラインニュースのモジュールを掲示板の下に配置してみた。
表示位置や並び順を変えてデザインを調整する。

グループの全体的な権限(パーミッション)
管理者以外 重要な変更をさせないためインストールしたすべてのモジュールのグループの全体的な権限を必ず設定すること
設定後登録ユーザーの動作を確認する。

XOOPS Cube Legacy

MySQLまでを実行してからやって下さい。
SSLを使用する場合は⑦SSL(証明書・秘密鍵の作成)までをやって下さい。

XOOPS Cubeを設置するフォルダの作成
# mkdir /var/www/xoops

所有者をApacheの実行ユーザーに変更
# chown -R USER:gruopA /var/www/xoops
   (/var/www/xoopsの権限をUSERユーザ gruopAグループに変更します。)

ダウンロード
XOOPS Cube日本サイト様より http://xoopscube.jp/
クライアントPC(Windows)にサイトからPackage_Legacy_2_2_1.zipをダウンロードして解凍する。
Package_Legacy
docs  インストール方法の手順書があります。
extras  SSLログインのlogin.phpファイルがある。
xoops_trust_path
html   Htmlフォルダの中身をすべてサーバーへアップロードする。

FFFTPでUbuntuサーバへ転送
クライアントPC(Windows)からApache2の実行ユーザでFFFTPでUbuntuサーバへ接続します。
xoops用のディレクトリ/var/www/xoops へ解凍したフォルダ(html)内のすべてを転送します。
しばらく待ちます。

インストール
クライアントPC(Windows)からブラウザでドメイン名へアクセスする。
http://ドメイン名/xoops または http://ドメイン名/xoops/install/index.php
  LAN内からアクセス(名前解決)できない場合
  クライアントPC(Windowsなど)のhostsファイルにドメイン名を記述する。
  【C:\WINDOWS\system32\drivers\etc¥hosts】
  例192.168.0.133 ○○○.ath.cx ubun-pc
  (UbuntuのIPアドレス 【登録したドメイン名】 【ホスト名】になります。)

XOOPS Cube2.1 インストールウィザードの画面が表示される。
イントロダクション >>次へボタンを押す。
アクセス権のチェック >>次へボタンを押す。
アクセス権に問題がないことを確認する。
設定の入力 >>次へボタンを押す。

データベース、およびパス・URLの設定
データベースサーバ         mysql
データベースサーバのホスト名  Localhost
データベースユーザ名       root
データベースパスワード *******【MySQL管理者(root)パスワードを入力】
データベース名        xoopsdb (とりあえず任意に決めます。)
テーブル接頭語   デフォルトのまま
SALT   デフォルトのまま
データベースへ持続的接続 よく分からない場合は「いいえ」を選択
XOOPS Cubeへのパス   /var/www/xoops
XOOPS CubeへのURL   http://ドメイン名/xoops

確認 >>次へボタンを押す。
設定内容の確認画面で設定の保存>>次へボタンを押す。

パス・URLのチェック
パス・URLのチェック >> 次へボタンを押す。
設定が正しい場合は、インストールを続ける。
間違っている場合は、はじめからやり直します。
データベース設定の確認 >> 次へボタンを押す。

データベース設定の確認
データベースをチェック >> 次へボタンを押す。
データベースをチェック
データベースxoopsdbは存在しない場合
データベース作成を試みる >> 次へボタンを押す。

データベース作成を試みる。
データベースxoopsdbを作成しました。
再度、データベースをチェック >> 次へボタンを押す。

データベースをチェック
問題ない場合は データベーステーブル作成 >> 次へボタンを押す。

データベーステーブル作成
ステータスがすべて緑で問題ない場合は サイト管理者についての設定 >> 次へボタンを押す。
サイト管理者についての設定
管理者ユーザ名
管理者メールアドレス
管理者パスワード
管理者パスワード(再入力)
各項目を入力して データの生成 >> 次へボタンを押す。

データの生成
完了 >> 次へボタンを押す。

インストール第1ステップ完了
インストール第2ステップ >>次へボタンを押す。
ユーザ名とパスワードを入力してログインボタンを押す。
インストールボタンを押してモジュールをすべてインストールする。
「インストール完了!」画面が表示される。
あなたのサーバーに /var/www/xoops/install ディレクトリが残っています。
悪意のある攻撃者がこのインストールウィザードにアクセスできないようにする為に、
このディレクトリを削除してください。
FFFTPより/installディレクトリをすべて削除します。

mainfile.phpファイルのパーミッションを 444(書き込み不可)に変更する。

動作確認
クライアントPC(Windows)からブラウザで【http://ドメイン名/xoops】へアクセスする。
管理メニュー
互換モジュール »» 全般設定

・デバッグモードを有効にする (デバッグ用に使用してください。実際のサイト運営時には解除してください。)
 PHPデバグを「オフ」に変更して送信ボタンを押す。

インストールをやり直す場合はディレクトリやファイルをすべて削除します。
フォルダや隠しファイルが削除できない場合、Ubuntuサーバの端末から管理者になりrmコマンドで削除します。
例 # rm -rf 【ディレクトリ名】 ディレクトリ名以下のファイルをすべて削除
# rm 【ファイル名】

このままでも使用できますがログイン画面をSSLに対応してみましょう。

ログインを SSLに対応する。
はじめに解凍したZIPフォルダのPackage_Legacy/Extrasフォルダの中にある
login.phpをテキストエディタで編集します。
5行目のパスを変更します。
【変更前】$path = ‘/path/to/xoops/directory’;
【変更後】$path = ‘/var/www/xoops’;

編集したlogin.phpをSSLの有効なフォルダへアップロードする。
HTTPS用ディレクトリ(/var/ssl)に格納するフォルダを作成
# mkdir /var/ssl/xoopslogin
(フォルダ名は任意に決めます。)

所有者をApacheの実行ユーザーに変更
# chown USER:gruopA /var/ssl/xoopslogin

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

Xoopsの管理者メニューの「互換モジュール – 全般設定」と
[ユーザーモジュール – 一般設定」にある2画面で以下の設定を変更します。

ログインにSSLを使用する を「はい」にチェックを入れる。
SSLログインページへのURL  https://ドメイン名/xoopslogin/login.php を入力する。
 送信ボタンを押す。

再度ログイン画面に戻るとログインボタンの下にSSLの文字が表示されるのでそれをクリックする。
  セキュリティで保護されたWebページコンテンツのみを表示しますか?>いいえボタンを押す。
別途にhttps://ドメイン名/xoopslogin/login.phpの画面が開きますので
ユーザ名とパスワードを入力してログインボタンを押します。
  セキュリティで保護されたWebページコンテンツのみを表示しますか?>いいえボタンを押す。
ログインボタンを押します。
ログイン処理中の画面で閉じるボタンを押してログインします。
ユーザ名とパスワードがSSLで暗号化されている?。

サイト全体をSSLで暗号化したい場合はSSLの有効なHTTPS用ディレクトリ(/var/ssl)にXoopsを
インストールすればいいのでしょうね。

アクセス時に証明書の認証エラーが発生する場合は証明書のインストールを行います。