サ イ ド メ ニ ュ ー
♦ トップ ページ へ 戻 る
♦ 管理者のプロフィール
♦ 免  責  事  項
技 術 的 な 情 報
♦ 定点カメラの実現方法
♦ 自分のグローバルIP
    アドレスの取得方法
自宅からホームページを
    公開する方法
♦ 手持ちのPCへ各種の
    Linuxをインストール
    してみました
♦ スマイルサーバで
    SSI・CGIの実行方法
♦ ONKYO DP315を
             分解する方法
♦ EPSON DP30S(DB51E)を
             分解する方法
古いノートPC(XP)の
      HDDをSSDに交換する
10年前のWindows XP
  ノートパソコンの有効活用
パソコンの使用上
  役立つかもしれない情報
CentOS 5.9, 5.10
   インストールとサーバ構築
CentOS 5.11
   インストールとサーバ構築
Scientific Linux 5.10
   インストールとサーバ構築
32 bit CentOS 6.5
   インストールとサーバ構築
 64 bit  CentOS 6.5-
     x86_64-bin-DVD1.iso

   インストールとサーバ構築
 CentOS-7.0-1406-
            x86_64.DVD.iso

   インストールとサーバ構築
 CentOS-7.0-1406-
       x86_64_Minimal.iso

   インストールとサーバ構築
Tare Station HDD
  (市販品へ) 交換の実験
Excel マクロ の勉強
♦ Excel 2007・2010
    対応マクロの勉強室
♦ 仕事に役立つ
    Excelマクロの作り方
Excel 2007・2010対応版
裏技 + α の部屋
♦ ゴパンの裏技を
             試してみました
♦ ホームベーカリーの
        裏技を試してみました
●  windowsPC で総てのファイルを事前にダウンロードして  ●
●   CentOS 6.5 32bit のインストールと自宅サーバの構築   ●
アクセス数 昨日 24 今日 6
  累計 47,639   

     インストールに便利な yum をあえて使用しないで、webサーバを構築してみました。
     ( その方法の骨子は、下記の通りです。)
-------------------------------------------------------------------------------------------
必要なパッケージは、○○○.i686.rpm○○○.tar.gzだけとし、すべてのファイルを事前に
      windows PC でダウンロードしておきます。
ファイル転送プログラム  proftpdTera Term の転送機能を使用して windows PC 側から直接
転送し、インストールします。
proftpd インストール後ダウンロードしたファイルをサーバ機に ffftpで書き込む方法windows PC ( Tera Term を使用 )からの遠隔操作で web サーバを構築していきます。

     ( ダウロードコマンド wget も、一切使用しないサーバ構築方法です。 )

コマンドの入力は、このページのコマンドをコピーして、Tera Term の入力画面に張付けて実行します。
つまり、設定するコマンド等は、すべてテキストファイルでストリー的に事前に作り、すべてそこから
のコピペだけで、サーバシステムの構築をしています。
         コピペの見本は、ここをクリックでジャンプしたページで紹介しています。

     ( コマンドの ; \ は、連続してコマンドを実行させる指示です。 )
     ( コマンドの \ は、長いコマンドを2行した時の継続させる指示です。 )
-------------------------------------------------------------------------------------------
  H25年11月30日付で CentOS 6.5 がリリースされました。

           ※※  CentOS 6シリーズのサポート終了は、2020年 11月 30日  ※※

      現在、私の自宅サーバ機は、CentOS 6.5 64bit で試験的に運用しています。
さらに HDD を SSD に交換し、CPU と SSD の温度の状況と CPU の利用率のデータを取得しています。

      ( 私のサーバ機の仕様では、32bit OS の時には、CPU 利用率が 11% から 13% でした。
                       64bit OS の時には、CPU 利用率がどの位になるかのデータ収集が目的です。)

             現在のサーバ機の CPU 利用率 9.17 % CPU 温度 +35 です。

       -------------------------------------------------------------------------
        私の自宅サーバ機のスペック
                型    式 : ONKYO DP315   CPU : Intel Atom N455 @ 1.66GHz,(1コア/2スレッド)
                消費電力 : 10W      メ モ リ : 1GB     SSD : 128GB
                インターネット回線 : STNet 光回線(ギガビット対応)
                USBカメラ : Logicool UVC対応 C270sCW 120万画素(固定焦点)
                LANカメラ : PCi CS-W05N 30万画素
       --------------------------------------------------------------------------
  また、 apache は、httpd-2.4.9 のバージョンを使用しています。
    ライブカメラは、fswebcam  というアプリの 20140113 のバージョンを使用しています。
  参考情報  BUFFALO の USB カメラは、フォーマットエラーになり使用できません。
        ELECOM  の USB カメラは、白とび・景色撮影等画質に難点があります。
            USB カメラは、 Logicool を使用しています。
-------------------------------------------------------------------------------------------
  ※ お断り ※
  以下は、まだまだビギナーである私が、勉強したことや苦労したことをまとめたもので、最善の
  方法とは限りません。  私の目標としてサーバの再構築を理屈抜きでいかに簡単に出来るかを考
  えて記述・まとめています。 何度もサーバ構築を繰り返すとサーバ構築の理屈等も何となく分
  かってきます。 理屈等は、後から研究してみてください。
  また、日々研究し、良い結果が出た時に更新をしています。
-------------------------------------------------------------------------------------------
  ディレクトリ等の名前は、私のサーバ機の環境での名前を使用していますので、利用するときには
  あなたの環境に合わせて変更してください。
   ( /var/www/html/www.smiyasaka.com は、httpd.conf での、DocumentRoot のパスです。
                      /home/miyasakaは、ホームディレクトリです。 )

  各種ファイルのダウンロードは、「3. 事前にダウンロードするファイル一覧と探し方」で、ファ
  イル名をクリックしたらダウンロード先へリンクするようにしています。
===========================================================================================
	目	次   ( 目次の行をクリックすると、その項目の記述行へジャンプします。 )
       インストールの項目は、私のこのホームページを表示させるのに必要な項目としています。
-------------------------------------------------------------------------------------------
       1. 32 bit CentOS 6.5 のインストール(自宅サーバ構築)
       2. CentOS 6.5 再起動後のコンソールからの各種設定
       3. 事前にダウンロードするファイル一覧と探し方
       4. セキュリティ対策のため停止したサービス
       5. ファイアーウォールの設定
       6. Tera Termでproftpd( FTPサーバ )を転送しインストール
       7. ファイルの転送プログラムの作成
       8. サーバ機の時刻を日本標準時に同期させる
       9. yumを使用しないで、RPMforgeリポジトリを導入する
      10. apache2( httpd-2.4.4, httpd-2.4.7, httpd-2.4.9, 2.4.10 )のインストール
      11. fswebcom-20140113.tar.gz のインストールと定点カメラの設定
      12. clamd( アンチウィルスソフト )のインストール
      13. chkrootkitの導入
      14. sendmail のインストール
      15. Logwatch のインストールと毎日のメールを簡単にチェックする方法
      16. ftp のインストール
      17. 漢字コード変換用にJcodeのインストール
      18. 自宅サーバの管理・運用監視・アクセスログ文字化け対策
      19. motion ( 動画 )のインストールからホームページでの表示までの設定
      20. motion ( 静止画 )のインストールからホームページでの表示までの設定
===========================================================================================
  1. 32 bit CentOS 6.5 のインストール(自宅サーバ構築)
===========================================================================================
32 bit CentOS 6.5のインストールは、CentOS-6.5-i386-bin-DVD1.iso (3.6GB)(disk2は、
不要です。)で行います。
ダウンロードは、[32 bit CentOS 6.5は、ここから]
ファイルのダウンロードには、かなりの時間がかかりますので、覚悟して行ってください。
インストールの方法は、下記に示します。なお、固定IPアドレスの手動設定・起動時の自動起動設定
とrootのパスワード・ホスト名の記録は、忘れないでください。

サーバ構築に必要なソフトウェアの選択でのカスタマイズの項目は、次の通りで、この指定で、最
低限のディスクトップの操作( GNOME )もできます。
私のサーバ機の環境では、X Window System は使えなかったので、汎用ディスクトップ( GNOME )
だけの設定にしています。

 Minimal を選ぶと、言語 ---  日本語サポート以外、すべてのチェックが外れます。

 サーバー         ---  システム管理ツール
 システム管理     ---  システム管理

 システム管理ツールとシステム管理の選択は不要です。

 デスクトップ     ---  汎用ディスクトップ( GNOME )
 ベースシステム   ---  Perlのサポート    <--- これを入れないとSSI,cgi の実行が出来ません。
                       ベース            <--- これを忘れないで入れてください。
 言語             ---  日本語サポート
 開発             ---  その他の開発      <--- これを忘れないで入れてください。
                                              このパッケージは、httpd で圧縮をしない時、
                                              fswebcam を使用しない時には、不要です。
                                              パッケージ数は、129個程なので選択して
                                              インストールすることを勧めます。
                       開発ツール        <--- これを入れないとconfigure, make 等の
                                                                      の実行が出来ません。

         下記は、私の環境でのインストール手順のメモです。参考にしてください。
         必要パッケージの選択は、サーバ機構築の最低の項目にしています。
H26.04.22 追加
32bit CentOS6.5 minimal.iso でサーバ機を構築する手順( インストール・不足するパッケージの
インストール )を下記に紹介します。
minimal.iso でのインストールは、パッケージ数が 204個なので短時間でインストールできますが
不足するパッケージが沢山あるのでインストールの必要があります。
CentOS には、パッケージをまとめてインストールできる yum の機能( yum groupinstall )があり、
これを使用して開発ツール・日本語のサポートパッケージ郡をインストールします。
また、不要なサービスを導入することなく目的とするシステムが構築できるので、不要のサービスの
停止項目も少なくなりました。
===========================================================================================
  2. CentOS 6.5 再起動後のコンソールからの各種設定
===========================================================================================
ここの設定だけは、サーバ機のコンソールから、GNOME(テキスト入力モード)で行ってください。

 ○ ログインは、[ root ]と[ root のパスワード ]で行います。

    ○○○○○ login: root           <--- ○○○○○は、ホスト名
    Password: ( root のパスワード )

 @ ユーザーの登録  ( Tera Term, ffftp でのログインの時に必要になります。)
    adduser ○○○○○                    <--- ○○○○○は、ユーザー名

 A ユーザーパスワードの登録  ( Tera Term, ffftp でのログインの時に必要になります。)
    passwd ○○○○○                     <--- ○○○○○は、ユーザー名
    パスワードを2回入力する。

 B Tera Termの文字化け対策( Windows側も、EUC コードを使用します。)
    ここを変更して再起動後は、サーバ機のディスプレイの漢字は、文字化けします。注意!!
    vi /etc/sysconfig/i18n

    LANG="ja-JP.UTF-8"  ----> LANG="ja-JP.eucJP" に変更する。

 C SELinux を無効にする設定。( これを忘れると、再起動後うまく動作しません。)
    vi /etc/sysconfig/selinux

    SELINUX=enforcing  ----> SELINUX=disabled に変更する。

 D Windows側から、Tera Termでアクセスするポート番号を設定する。
    vi /etc/ssh/sshd_config

    #Port 22 の前の行に、Port 2222 を追加する。

 E sshdの再起動
    下記の再起動コマンドを入力して OK と表示したらポート設定完了です。

    /etc/rc.d/init.d/sshd restart

  ※ sshdが利用するポートで、標準では「22」に設定されていますが、22番ポートへのアタックは
     非常に多いため、任意のポート( 2222等)に変更するのが一般的であるとweb上に記載されてい
     ます。

 F ファイアーウォールを無効にする設定。
    system-config-firewall-tui

    [*]Enabled  ----> [ ]Enabled に変更する。(space)キーを押す。
                        (Tab)キーを押して次に(Enter)キーを2回押す。

 G システムのアップデートをする。
    曜日と時間帯によっては、ミラーサイトの運用が停止していてアップデート
    できない時があります。  その時には、後でします。
    ( 初回の update は、数が多いのでかなりの時間がかかります。 )
    yum -y update

 H システムの再起動をする。
    reboot または、 shutdown -rf now

 I 再起動後、ネットワークに接続できない時は、ネットワークの設定で「起動時の自動起動設定」を
    忘れているので、サーバ機のキーボードから、直接下記コマンドで、ネットワークの設定を編集し
    てから、一度再起動( reboot )してください。

    vi /etc/sysconfig/network-scripts/ifcfg-eth0

    ONBOOT=no  ----> ONBOOT=yes に変更する。

Tera Term の文字化けを防ぐため、漢字コードをサーバ機側と同じ漢字コード EUC に必ず設定し、
    「設定の保存」をしてください。    接続すTCPポートは、2222 にすること。

再起動後は、設定は、windows側から、Tera Term を使用して各種設定を行います。
Tera Term の漢字-送受信コードは、EUC を指定して使用してください。

Tera Termの設定・使い方の参考になるサイト   Tera Term のセットアップ方法
Tera Term は、窓の杜ライブラリでダウンロードできます。
===========================================================================================
  3. 事前にダウンロードするファイル一覧と探し方
===========================================================================================
サーバ構築に必要なファイルの探し方は、
      Google等の検索で、「 パッケージ名 + download 」のキーワード検索でほとんどの
      場合、ヒットします。
下記のパッケージ名をクリックするとダウロード出来るサイトへジャンプします。
 ( パッケージは、○○○.i686.rpm と○○○.tar.gz だけです。)
IEで上手く、ダウンロード出来ない時には、Google chrome でしてみてください。

( リンク切れでダウンロードできない時には、「 パッケージ名 + download 」で検索して
  ダウンロードしてください。)
---------------------------------------------------------------
ftp
 proftpd-1.3.5.tar.gz
 ftp-0.17-53.el6.i686.rpm
---------------------------------------------------------------
RPMforgeリポジトリ
 yum-plugin-priorities-1.1.30-14.el6.noarch.rpm
 rpmforge-release-0.5.2-2.el6.rf.i686.rpm
---------------------------------------------------------------
httpd
 httpd-2.4.3-deps.tar.gz
 pcre-devel-7.8-6.el6.i686.rpm
 httpd-2.4.10.tar.gz
 apr-1.5.1.tar.gz  
 apr-util-1.5.3.tar.gz
---------------------------------------------------------------
fswebcam
 fswebcam-20100622.tar.gz 
 fswebcam-20140113.tar.gz 
 libXpm-3.5.10-2.el6.i686.rpm
 libjpeg-turbo-devel-1.2.1-3.el6_5.i686.rpm
 libXpm-devel-3.5.10-2.el6.i686.rpm
 gd-devel-2.0.35-11.el6.i686.rpm
---------------------------------------------------------------
sendmail
 hesiod-3.1.0-19.el6.i686.rpm
 procmail-3.22-25.1.el6.i686.rpm
 sendmail-8.14.4-8.el6.i686.rpm
---------------------------------------------------------------
logwatch
 perl-Date-Manip-6.24-1.el6.noarch.rpm
 perl-YAML-Syck-1.07-4.el6.i686.rpm
 logwatch-7.3.6-49.el6.noarch.rpm
---------------------------------------------------------------
clamd
 clamav-db-0.98-2.el6.rf.i686.rpm
 clamav-0.98-2.el6.rf.i686.rpm
 clamd-0.98-2.el6.rf.i686.rpm
---------------------------------------------------------------
chkrootkit
 chkrootkit-0.49-1.el6.rf.i686.rpm
---------------------------------------------------------------
sensors
 lm_sensors-libs-3.1.1-10.el6.i686.rpm
 lm_sensors-3.1.1-10.el6.i686.rpm
---------------------------------------------------------------
その他のパッケージ
 Jcode-2.07.tar.gz
 lsof-4.82-4.el6.i686.rpm
 webmin-1.560-1.noarch.rpm
---------------------------------------------------------------
motion
 motion-3.2.12.tar.gz

===========================================================================================
  4. セキュリティ対策のため停止したサービス
===========================================================================================
停止したサービスは、下記のとおりです。

     acpid           # ホスト機の動作と電源を管理#
     haldaemon       # USB外付けHDDやUSBメモリ等を使わないのであればOFF
     irqbalance      # マルチCPU環境で複数CPU割り込みを行うためのツール
     mdmonitor       # ソフトウェアRAID 監視サービ
     messagebus      # アプリケーション間のメッセージを送るD-BUSデーモン
     netfs           # システム起動時にfstabに記述されているNFSやsambaを自動マウントする
                       ためのサービス
     nfslock         # ネームサービスキャッシュデーモン
     rdisc           # ネットワークルータディスカバリーデーモン
     rpcidmapd       # RPC name to UID/GID mapper
     saslauthd       # コネクションベースのプロトコル認証をサポートするデーモン
     atd             # 単発的にスケジュール化した コマンド を実行させるデーモンです
     nfs             # NFSサーバーのデーモンです
     rpcbind         # NFSが必要とするデーモン
     cpuspeed        # 動作負荷に応じてCPUの速度を変化させるデーモンです
     bluetooth       # Bluetooth 機能を有効にする
     auditd          # 監査システムの一部を補助し、適切なログデータを出力する
     ip6tables       # IPv6でパケットフィルタリングを行うデーモンです
     lvm2-monitor    #  論理ボリュームマネージャー(LVM) 利用時の障害監視のためのデーモン
     restorecond     # SELinuxと連動
     postfix         # メールサーバ
     沢山のサービスの停止は、シェルスクリプトのプログラム作成して行います。
     下記は、私が作成したプログラム例です。     コピーして貼り付けて使用します。
現在動作しているサービスの確認は、 コマンド pstree で確認できます。
下記は、私のサーバ機で動作しているサービスのです。

  # pstree
  init-+-clamd---{clamd}
       |-crond
       |-2*[diced]
       |-httpd-+-httpd
       |       |-5*[httpd---26*[{httpd}]]
       |       `-2*[rotatelogs]
       |-6*[mingetty]
       |-ntpd
       |-proftpd---proftpd
       |-rsyslogd---3*[{rsyslogd}]
       |-2*[sendmail]
       |-sshd---sshd---sshd---bash---su---bash---pstree
       `-udevd

===========================================================================================
  5. ファイアーウォールの設定
===========================================================================================
許可(開放)しているネットワークポートの一覧 
         ( ファイアーウォール iptables で下記のポート番号だけ、許可しています。 )
           1. 21        ( ftp ファイル転送 SMTP )
           2. 2222      ( ssh )
           3. 80        ( Webアクセス http )
           4. 123       ( NTP サーバの時刻合わせ )
           5. 10000     ( webmin )

            先人の知恵を借りて、シェルスクリプトのプログラム作成しました。
            下記は、私が改良したプログラム(例 CentOS 5.9 と同じ設定でOKです。)です。
現在許可(開放)しているポートの確認は、 コマンド netstat で確認できます。
下記は、私の公開用サーバ機で動作しているサービスです。一覧の青文字からは、ホームページに
アクセスしている人のグローバルIPアドレス表示されます。

  ( XX : LAN 内の IP アドレス 故意に XX にしています。)

  # netstat -ant             <--- ant は、コマンドのオプションです。
  Active Internet connections (servers and established)
  Proto Recv-Q Send-Q Local Address               Foreign Address             State
  tcp        0      0 127.0.0.1:3310              0.0.0.0:*                   LISTEN
  tcp        0      0 0.0.0.0:2222                0.0.0.0:*                   LISTEN
  tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN
  tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN
  tcp        0      0 192.168.0.XX:21             192.168.0.XX:1024           ESTABLISHED
  tcp        0     96 192.168.0.XX:2222           192.168.0.XX:49337          ESTABLISHED
  tcp        0      0 :::2222                     :::*                        LISTEN
  tcp        0      0 :::80                       :::*                        LISTEN
  tcp        0      0 ::ffff:192.168.0.XX:80      ::ffff:219.117.197.XX:65384 ESTABLISHED
                          -----     以下省略   -----

  ※ ポート番号と State の解説 ※

    State が ESTABLISHED となっている 箇所は、現在接続がされている状態です。
    3310 --> clamd, 2222 --> ssh, 21 --> ftp, 25 --> mail, 80 --> http

===========================================================================================
  6. Tera Termでproftpd( FTPサーバ )を転送しインストール
===========================================================================================
私の場合、自宅サーバの構築に必要とする、ファイル等は、windows側で事前にダウンロードして
おき、ffftpで一括に転送する方法を取っています。

proftpd( FTPサーバ )をインストールするまでは、ffftpが、使用できないのでTera Termの転送
機能で、proftpd( FTPサーバ proftpd-1.3.5.tar.gz )をホームディレクトリへ転送しインスト
ールします。
( Tera Termの転送機能は、ホームディレクトにしか書込みが出来ません。)

@ Tera Term から、proftpd をサーバ機のホームデレクトリィにファイルを転送する方法は、
   次の通りです。

     [ 転送方法 ]
    1. Tera Term の画面上・左端 [ファイル] をクリックする。            <--- 写真 @
     2.  プルダウンメニューの SSH SCP...をクリックする。                 <--- 写真 A
     3.  中央に窓が開くので写真 B の矢印で示すボタン[…]をクリックする。 <--- 写真 B
写真 @A 写真 AB 写真 BC
     4.  写真 C の様にファイルを選択するダイヤログ画面が開くので、
                proftpd-1.3.4c.tar.gzを選択する(ダブルクリックする。)   <--- 写真 C       
    5. 写真 D の矢印で示す[Send]ボタンをクリックする。                 <--- 写真 D
    6. ユーザのホームデレクトリィにファイルが転送される。
写真 C
A
写真 DB
A proftpd のインストール

    1.  転送した proftpd-1.3.5.tar.gz を /usr/loacl/src/ コピーする。
         cp /home/miyasaka/proftpd-1.3.5.tar.gz /usr/loacl/src/
    2.  proftpd-1.3.5.tar.gz を展開する。 
         cd /usr/loacl/src/ ;tar zxvf proftpd-1.3.5.tar.gz
    3.  展開したソースファイルの configure を実行する。
         cd proftpd-1.3.5; \
         ./configure --prefix=/usr/local/proftpd

         1 〜 3 をまとめて実行させると
         cp /home/miyasaka/proftpd-1.3.5.tar.gz /usr/loacl/src/; \
         cd /usr/loacl/src/; \
         tar zxvf proftpd-1.3.5.tar.gz; \
         cd proftpd-1.3.5; \
         ./configure --prefix=/usr/local/proftpd

    4.  make とインストールをする。
         make && make install

B proftpd.confの設定

  vi /usr/local/proftpd/etc/proftpd.confで、"# Bar use of SITE CHMOD by default"
     以降をすべて削除し、下記の文を追加します。

  ※ まとめて削除する方法 ※

  "# Bar use of SITE CHMOD by default"の行へカーソルを移動して (削除行数)dd と入力する。

    #
    # Bar use of SITE CHMOD by default
    #     サイト内ファイルの属性変更を許可するグループ
    #
    <Limit SITE_CHMOD>
      #DenyAll
      AllowAll                
    </Limit>
    #ファイル一覧表示(ドットファイルの可視化)
    ListOptions "-a"
    #
    #ログイン時間の短縮化(DNS問い合わせしない・Identの停止)
    UseReverseDNS off
    IdentLookups off
    #
    # アクセス時刻の修正 GMT-->JST
    TimesGMT off
    # LAN内のみアクセスを許可する。
    <Limit LOGIN>
      Allow from 192.168.0.0/24    <--- ここの 192.168.0. は、あなたの環境の 
    </Limit>                                   IPアドレスに合わせてください。

C proftpdの起動ファイルをコピー・編集する。

  作成された起動ファイル proftpd.init.d を /etc/rc.d/init.d/proftpd へコピーする。

 cp /usr/local/src/proftpd-1.3.4c/contrib/dist/rpm/proftpd.init.d \
  /etc/rc.d/init.d/proftpd

D proftpdの起動ファイルの32、46行目を編集する。

  vi /etc/rc.d/init.d/proftpd

  32行目に追加( 環境変数 PATH に /usr/local/proftpd/sbin を追加・有効にする処理 )
  これは、proftpd のコンパイル後の保存先が、/usr/local/proftpd にしているためです。

  export PATH="$PATH:/usr/local/proftpd/sbin"

  46行目を修正する

  # Make sure the binary is present.
  [ -x /usr/sbin/proftpd ] || exit 5
    ↓   ↓
  [ -x /usr/local/proftpd/sbin/proftpd ] || exit 5

※ 参考 ※  1行毎直すのが面倒な時には、sed コマンドで下記の様にすると同じ事ができます。
            ( sed -i は、上書き指定、二つの処理を一度に実行させます。処理と処理の区切りは、
              「改行」になります。)
            ( "31a\ は、31行目の次の行として a 以降の文字列が追加・\ は、改行指示です。 )
            ( s/△△/□□/ は、△△の文字列が□□文字列に置換されます。 )
            ( \ は、メタ文字[ $, /, . 等 ]の指定です。 )

sed -i -e "31a\export PATH=\$PATH\:\/usr\/local\/proftpd\/sbin
s/-x \/usr\/sbin\/proftpd/-x \/usr\/local\/proftpd\/sbin\/proftpd/" \
/etc/rc.d/init.d/proftpd

E  proftpd.conf は、グループの初期値が 
    30行目  User  nobody
    31行目  Group nogroup
    の設定なので、グループ名 nogroup を追加( groupadd nogroup )するか、
    31行目を  Group nobody に変更します。

    私は、groupadd nogroup のコマンド入力をしています。

F /etc/hostsに、ホスト名( 127.0.0.1 ○○○○ )を echo にて追加する。
  これをしないと起動しません。

    echo "127.0.0.1 ○○○○" >> /etc/hosts ( ○○○○は、ホスト名です。)

G 編集したproftpdの属性を変更、chkconfig に proftpd を追加して起動する。

  EFもまとめて実行させると
  groupadd nogroup; \
  echo "127.0.0.1 ○○○○" >> /etc/hosts; \
  chmod 755 /etc/rc.d/init.d/proftpd; \
  chkconfig --add proftpd; \
  /etc/rc.d/init.d/proftpd start

  以下の様に表示すれば起動成功です。

  Starting proftpd:                                               [  OK  ]

  ※※ 注意事項  ※※
      windows 側の ffftp の[ホストの設定][文字コード]は、
      ホスト側の漢字コード    ---> 無変換
      ファイル名の漢字コード  ---> 自動
      に設定してください。

H windows側にある各種インストールするためのプログラムは、ffftpで一度ホームデレクトリィ
   に転送し、コマンドで所定デレクトリィに移動なり、コピーしてから、インストールします。

I ffftpの時間ずれを直すには、ffftpの設定を変更します。
   windows側でFFTPを起動し、接続時に設定変更で「拡張」を選び、ホストタイムゾーンを
   GMT+9:00 に変更します。

K ffftpで接続したときに所有者なの欄が数字に成っている時、ユーザー名に変更する方法

   ffftpの起動時に表示する「ホスト一覧」の画面で、ダイアログ→「高度」タブ→「可能であれ
   ばMLSDコマンドで一覧を取得(M)」のチェックを外すと所有者名が表示されます。

L ffftpの設定で[アップロードするファイルの属性]を事前に設定しておくと、転送後の属性設
   定が不要になるので便利です。
   その方法は、ffftp のツールバーの[オプション(O)][環境設定(S)]を選び、表示されるオプシ
   ョンの画面のタグ[転送3]をクリック、[追加(A)]で拡張子毎に設定追加します。

   設定例
      *.pl  *.cgi  *.sh ---> 755
      *.txt *.cnt       ---> 666
      *.html は、設定不要です。

  ※ 参考になるサイト   linuxmaster.jp

===========================================================================================
  7. ファイルの転送プログラムの作成
===========================================================================================
私の場合、インストールするプログラムのファイルは、windows側でダウンロードし、windows側の
フォルダ src2にまとめて保存しおき、ffftpで /home/miyasaka/に転送し、サーバ機側では、転送
プログラムで所定のディレクトリに転送しています。
ファイルのダウンロードは、ファイル名で検索するとダウンロード先を見つけることができます。

      ファイルを転送するシェルスクリプトのプログラムをホームディレクトリに作成して行います。
   下記は、私が作成したプログラム例です。
===========================================================================================
  8. サーバ機の時刻を日本標準時に同期させる
===========================================================================================
(独)情報通信研究機構 時空標準研究室 が、提供している「公開NTPサービス」を利用して
日本標準時にサーバの時刻を同期させます。

CentOS 6.4, 6.5 では、ntpサーバがインストールされているので上記のサーバにアクセスさせる
ための修正をします。(設定方法等は、先人の知恵を借りて行いました。)

@ vi /etc/ntp.conf を入力して、設定ファイルを下記の様に変更します。
  22行目あたり
  CentOS 6.4 の時                    CentOS 6.5 の時
  server 0.centos.pool.ntp.org       server 0.centos.pool.ntp.org iburst
  server 1.centos.pool.ntp.org       server 1.centos.pool.ntp.org iburst
  server 2.centos.pool.ntp.org       server 2.centos.pool.ntp.org iburst
                                     server 3.centos.pool.ntp.org iburst

  こうなっている部分を以下のように変更します。
  ( 必ず三つ書き込みます。)
   ↓
  server ntp.nict.jp
  server ntp1.jst.mfeed.ad.jp
  server ntp2.jst.mfeed.ad.jp

※ 参考 ※  1行毎直すのが面倒な時には、sed コマンドで下記の様にすると同じ事ができます。
            念のため、バックアップを取ってから置換します。

cp /etc/ntp.conf /home/miyasaka/ntp.conf.bak; \
sed -i -e "s/server 0\.centos\.pool\.ntp\.org iburst/server ntp\.nict\.jp/
s/server 1\.centos\.pool\.ntp\.org iburst/server ntp1\.jst\.mfeed\.ad\.jp/
s/server 2\.centos\.pool\.ntp\.org iburst/server ntp2\.jst\.mfeed\.ad\.jp/
s/server 3\.centos\.pool\.ntp\.org iburst//" /etc/ntp.conf

A ntpdを起動します。

  /etc/init.d/ntpd start

  下記の様に表示するはずです。
  --------------------------------------------------------------------------------
  ntpd を起動中:                                             [  OK  ]
  --------------------------------------------------------------------------------

B サーバー起動時に自動で、サーバーの時刻合わせを有効にする設定をする。

  vi /etc/rc.d/rc.local

  以下を追加する。

  #ntpd
  /etc/init.d/ntpd start

  ※  echo コマンドで追加する方法  ※
  下記2行をコピペして実行します。

  echo "#ntpd
  /etc/init.d/ntpd start" >> /etc/rc.d/rc.local

  ついでに自動起動の設定もしておきましょう。
  chkconfig ntpd on

  ABもまとめて実行させると
  echo "#ntpd
  /etc/init.d/ntpd start" >> /etc/rc.d/rc.local; \
  chkconfig ntpd on; \
  /etc/init.d/ntpd start

C ntpdのステータスの確認。

  # ntpq -p
  起動当初は、下記の様に表示します。
       remote           refid      st t when poll reach   delay   offset  jitter
  ==============================================================================
   ntp-b3.nict.go. .NICT.           1 u   58   64    1   19.006  1011.19   0.002
   ntp1.jst.mfeed. 172.29.2.50      2 u   57   64    1   16.972  1011.42   0.002
   ntp2.jst.mfeed. 133.243.236.18   2 u   56   64    1   16.953  1011.43   0.002

  以下のように*印がついていたら同期ができています。
   (起動してから同期までに10分ぐらいかかります。)
  # ntpq -p
       remote           refid      st t when poll reach   delay   offset  jitter
  ==============================================================================
  *ntp-b3.nict.go. .NICT.           1 u    3   64   77   17.612    0.205   0.323
   ntp1.jst.mfeed. 172.29.2.50      2 u   37   64   37   16.167    0.225   0.492
   ntp2.jst.mfeed. 172.29.2.50      2 u   24   64   37   16.255    0.433   0.202

D システム時刻(年月日,曜日,時刻)の確認と手動での修正方法

  date を入力して時刻が確認できます。
  例えば、下記の様に表示します。

  2013年 10月  7日 月曜日 13:21:17 JST

  時刻の修正は、date MMDDhhmmYYYY の様に入力します。 
  [ MM 月 01〜12 DD 日 01〜31 hhmm 時刻 24時表示 YYYY 年(西暦) ]

  ex. 2013年10月07日 09:05  --> date 100709052013

===========================================================================================
  9. yumを使用しないで、RPMforgeリポジトリを導入する
===========================================================================================
RPMforgeリポジトリの導入は、yum でのインストールで依存関係あるファイル等のインストール
が出来るようにする。つまり、標準リポジトリで提供されないパッケージをyumでインストールで
きるようになります。

Jcode( 漢字コード変換 ),clamd( アンチウィルスソフト ),chkrootkit 等が yum でインストール
できるようになります。

yum 無しでRPMforgeリポジトリの導入する方法を紹介します。( インストール後の設定等は、先人の
知恵を拝借しています。)

○ yum-prioritiesインストール
  [ yum では、 yum -y install yum-plugin-priorities でインストールします。]

  cd /usr/local/src/; \
  rpm -Uvh yum-plugin-priorities-1.1.30-14.el6.noarch.rpm

○ 標準リポジトリ設定ファイル編集
   
※ 参考 ※  1行毎直すのが面倒な時には、sed コマンドで下記の様にすると同じ事ができます。
            念のため、バックアップを取ってから置換します。
            ( 27i は、27行目に i 以降の文字列が追加されます。 )

cp /etc/yum.repos.d/CentOS-Base.repo /home/miyasaka/CentOS-Base.repo.bak; \
sed -i -e "19ipriority=1
27ipriority=1
35ipriority=1
44ipriority=1" /etc/yum.repos.d/CentOS-Base.repo

  vi /etc/yum.repos.d/CentOS-Base.repo

  [base]
  name=CentOS-$releasever - Base
  mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
  #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
  gpgcheck=1
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
  priority=1  ← 追加する
  #released updates
  [updates]
  name=CentOS-$releasever - Updates
  mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
  #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
  gpgcheck=1
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
  priority=1  ← 追加する
  #additional packages that may be useful
  [extras]
  name=CentOS-$releasever - Extras
  mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
  #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
  gpgcheck=1
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
  priority=1  ← 追加する
  #additional packages that extend functionality of existing packages
  [centosplus]
  name=CentOS-$releasever - Plus
  mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centos
  #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
  gpgcheck=1
  enabled=0
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
  priority=1  ← 追加する
  #contrib - packages by Centos Users
  [contrib]
         ( 省略 )

○ RPMforgeリポジトリインストール

  rpm -ivh rpmforge-release-0.5.2-2.el6.rf.i686.rpm

○ RPMforgeリポジトリのアップデート updateなので、ここだけは、 yum を使用します。

  yum -y update rpmforge-release

○ CentOS-Base.repo のファイルも編集済のファイルを上書きできるので保存しておくことをすす
   めます。

 cp /etc/yum.repos.d/CentOS-Base.repo /home/miyasaka/    <---- ホームディレクトリへ保存

 cp /home/miyasaka/CentOS-Base.repo /etc/yum.repos.d/    <---- 上書きする

  ※ 参考にしたサイト   RPMforgeリポジトリ導入(RPMforge)
===========================================================================================
  10. apache2( httpd-2.4.3, 2.4.4, httpd-2.4.7, 2.4.9, 2.4.10 )のインストール
===========================================================================================
H26.07.19 にリリースされた httpd-2.4.10 は、下記方法でインストール・設定できます。
同時に apr-1.4.6.tar.gz      ---> apr-1.5.1.tar.gz
       apr-util-1.4.1.tar.gz ---> apr-util-1.5.3.tar.gz
にバージョンアップされています。

※※ 参考情報  ※※
       httpd-2.4.4 以降のインストール
          httpd-2.4.4 以降ののインストールは、httpd-2.4.*-deps.tar.gz は、不要です。

--------------------------------------------------------------------------------

httpd-2.4.X から、 srclib以下は何も用意されていないので、apr、apr-util、pcreを
準備しインストールして置く必要があるります。
     ( コマンドの ; \ は、連続してコマンドを実行させる指示です。 )

@ pcre のインストール
   cd /usr/local/src; \
   rpm -Uvh pcre-devel-7.8-6.el6.i686.rpm

   yum でのインストールは、
   yum -y install pcre-devel

A apr を展開したファイルをフォルダ ./httpd-2.4.X/srclib/ へ書き込む。
   注意 httpd-2.4.3-deps.tar.gz を展開しておかないと configure スクリプトの実
         行時にエラーになります。

   ○ httpd-2.4.3 or httpd-2.4.4 or httpd-2.4.7 or httpd-2.4.9 を展開する。

    1. httpd-2.4.3 の時

       tar xzvf httpd-2.4.3.tar.gz; \
       tar zxvf httpd-2.4.3-deps.tar.gz; \
       chown -R root. httpd-2.4.3; \
       cd ./httpd-2.4.3/srclib

    2. httpd-2.4.4 の時

       tar xzvf httpd-2.4.4.tar.gz; \
       chown -R root. httpd-2.4.4; \
       cd ./httpd-2.4.4/srclib

    3. httpd-2.4.7 , httpd-2.4.9, httpd-2.4.10 の時

       tar xzvf httpd-2.4.10.tar.gz; \  <---- httpd-2.4.7 の時は、
       chown -R root. httpd-2.4.10; \                 httpd-2.4.7 にしてください。
       cd ./httpd-2.4.10/srclib

   ○ apr を展開する。

   tar xzvf  apr-1.5.1.tar.gz; \
   chown -R root. apr-1.5.1/; \
   mv apr-1.5.1 apr; \
   tar xzvf  apr-util-1.5.3.tar.gz; \
   chown -R root. apr-util-1.5.3/; \
   mv apr-util-1.5.3/ apr-util

B configure の実行

   cd  httpd-2.4.10; \     <---- httpd-2.4.4 の時は、httpd-2.4.4 にしてください。
   ./configure \                 httpd-2.4.7 の時は、httpd-2.4.7 にしてください。
   --enable-rewrite \
   --enable-so \
   --enable-deflate=shared \     <---- 圧縮する処理を追加
   --with-included-apr

  -------------------------------------------------------------------------------
  ・enable-rewrite        : Rewriteサポート(mod_rewrite)
    Apache側で要求されたURLを書き換えたり、リダイレクトしたりしてくれるモジュール
  ・enable-so             : mod_soモジュールを静的に組み込む
  ・enable-deflate=shared : データの転送を圧縮するモジュールを組み込む
  -------------------------------------------------------------------------------

以下で、終われば、OK
--------------------------------------------------------------------------------
config.status: creating support/log_server_status
config.status: creating support/logresolve.pl
config.status: creating support/phf_abuse_log.cgi
config.status: creating support/split-logfile
config.status: creating build/rules.mk
config.status: creating build/pkg/pkginfo
config.status: creating build/config_vars.sh
config.status: creating include/ap_config_auto.h
config.status: executing default commands
--------------------------------------------------------------------------------
D make & install
   make && make install
以下で、終われば、OK
--------------------------------------------------------------------------------
Installing CGIs
mkdir /usr/local/apache2/cgi-bin
Installing header files
Installing build system files
Installing man pages and online manual
mkdir /usr/local/apache2/man
mkdir /usr/local/apache2/man/man1
mkdir /usr/local/apache2/man/man8
mkdir /usr/local/apache2/manual
make[1]: ディレクトリ ` httpd-2.4.10' から出ます
--------------------------------------------------------------------------------
E 私のサーバの環境でした、httpd.confの設定は、下記のとおりです。

   下記は、修正箇所の一覧ですが、ディレクトリは、私のサーバ機の環境での設定値です。
   機能は、「cgi, SSI, が、.htmlで使用可能・cgi, SSI のファイルは、ホームページファイ
   ルと同一ディレクトリで可能にする・png, jpg ファイル以外は、圧縮して転送する」を設定
   しています。
   なお、ドメインは一つしか使用しないのでバーチャルドホストの設定は、していません。
   圧縮設定は、最後に追加していますが、圧縮ログの出力は、コメントアウトしていますので、
   ローカルで確認する時には、削除してください。

※ httpd.conf の設定が、終わったファイルを ffftp で、windows側に転送しておくと、再構
   築の時に、そのファイルを上書きすれば、設定内容は、すべて有効になります。 ただし、
   直接上書きはできないので、一度ホームディレクトリへ転送し、コピーコマンドで、上書き
   します。
   cp /home/miyasaka/src2/httpd.conf /usr/local/apache2/conf/httpd.conf。




-----------------------------------------------------------------------------------------
  Alias(エイリアス) を使用して、別 DocumentRoot を作り CGI, SSI, html を動作させ
  る方法を下記に紹介します。

  この方法は、当ホームページのトップページ内の指定した「日」および「月」の保存した定点
  カメラの映像表示で使用しています。
-----------------------------------------------------------------------------------------
  編集済の httpd.conf は、再構築時使用すると便利なので windows PC へ保存します。
  ( ディレクトリ・ユーザ名は、私のサーバ機の場合の設定です。)

  cp /usr/local/apache2/conf/httpd.conf /home/miyasaka/
-----------------------------------------------------------------------------------------
Fホームページの書き込み先のフォルダを作成・所有者の変更・属性変更をします。
   ( /var/www/html/www.smiyasaka.com は、私の場合の DocumentRoot です。)

   mkdir -p /var/www/html/www.smiyasaka.com; \
   chown -R miyasaka:miyasaka /var/www/; \
   chmod 777 /var/www/html/www.smiyasaka.com

G httpd.confの設定に間違いが無いか確認します。

   /usr/local/apache2/bin/apachectl configtest

「 Syntax OK 」と表示されればOKです。

 ※※  注意  ※※
   configtest を実行する時に、DocumentRoot で指定したディレクトリが無いと
   下記エラーが出ますのでディレクトリを作成してから、configtest を実行して
   ください。

              DocumentRoot must be a directory

H apache2を起動する。

   /usr/local/apache2/bin/apachectl start

   何も表示しなければ OK です。

J システム起動時に、自動起動させるために、rc.local に apache の起動コマンドを書き込み
   ます。

   vi /etc/rc.d/rc.local

   下記を追加する。
   # Apache
   /usr/local/apache2/bin/apachectl restart

   ※  echo コマンドで追加する方法  ※
   下記2行をコピペして実行します。

   echo "# Apache
   /usr/local/apache2/bin/apachectl restart" >> /etc/rc.d/rc.local

K ここで、 httpd.conf へ設定したドキュメントのルート( DocumentRoot )へホームページのファイ
   ルデータを書き込みます。

   私の場合は、自宅サーバの現用機で、毎日下記のファイルを圧縮してバックアップファイルとし作

        1.ホームページのhtml・cgi・SSI・写真のファイルとデータ
        2.システム管理用に作成した perl・sh等の各種プログラム
        3.webalizerが解析した apacheのアクセスデータ(htmlデータ)
        4.apache のログデータ(1カ月分)
        5.root宛てメールデータ(10日分)

   成しているので、専用の転送プログラムと展開プログラムで簡単に、前日の24時の時点に数分で
   復元できるようにシステムを構築しています。

L 動作確認は、予備機のローカルIPアドレスを別の PC から入力して確認します。
   予備機を現用機とした時には、[ ホームページが外部へ公開 ] されているかの確認が出来るサイ
   トで行います。下記をクリックするとそのサイトへジャンプします。
                     [サーバー監視/ネットワーク監視サービス]

M 書き込んだプログラムを定時実行させるため、cron への設定もします。
-------------------------------------------------------------------------------------------
   ※ 圧縮されたかの確認ができるwebサイトを紹介します。下記 URL をクリックして
   あなたのホームページの URL を入れるだけです。
   www.gidnetwork.com
   私のドメインでアクセスした結果は、下記の通りです。(圧縮レベル 5 で設定)


 -------------------------------------------
 右の写真のような情報が取得できます。
 ( H25.09.05 アクセスし、データ取得 )

 Results for: www.smiyasaka.com    
 Web page compressed?     Yes   ← 圧縮有
 Compression type?        gzip  ← 圧縮タイプ
 Size, Markup (bytes)     53,871  ← 解凍した
                                 後の バイト数
 Size, Compressed (bytes) 10,451  ← 圧縮された
                                 時の バイト数
 Compression %            80.6  ← 圧縮率
 -------------------------------------------







www.gidnetwork.com からの回答
B


  圧縮した時の圧縮ログデータは、このようになりました。
 ( 私の環境では、/usr/local/apache2/logs/deflate_log に圧縮ログデータが保存されました。)
     (出力バイト数)↓ ↓(入力)↓( 元データに対するデータの大きさ[ % ] ) を意味します。
"GET / HTTP/1.1" 10335/53768  (19%) Mozilla/5.0 (compatible; MSIE 9.0;…………………………
"GET /.webcam/camdata.jpg HTTP/1.1" 730/1235 (59%) Mozilla/5.0 (compatible;…………………
"GET /.webcam/camdata.jpg HTTP/1.1" -/- (-%) Mozilla/4.0 (compatible; )………………………
"GET /fswebcam.html HTTP/1.1" 16258/71964 (22%) Mozilla/5.0 (compatible; MSIE 9.0; ………
"GET /server.html HTTP/1.1" 13682/55830 (24%) Mozilla/5.0 (Windows NT 6.1; …………………
"GET /html_point.html HTTP/1.1" 14973/70669 (21%) Mozilla/5.0 (Windows NT  …………………
"GET /html_point8.html HTTP/1.1" 1017/1985 (51%) Mozilla/5.0 (Windows NT ……………………
"GET /html_point4.html HTTP/1.1" 852/1575 (54%) Mozilla/5.0 (Windows NT………………………
HTMLのページによって圧縮率[ 100 - 上記の()内の値 ]が違う事が分かります。また、jpg は、圧縮対
象外にしているので圧縮されてないことも分かります。
圧縮率の計算は、
          {(入力バイト数)-(出力バイト数)}÷(入力バイト数)×100 %になるので
上記1行目の場合、( 53,768 - 10,335 )÷53,768×100=80.78 % になります。
-------------------------------------------------------------------------------------------
N mod_status を使用した apache サーバステータスの監視機能を使用可能にする設定。

apache サーバステータスを LAN内 PC から、ホームページとして見られる様に設定します。

   N-1 httpd.conf の編集

        vi /usr/local/apache2/conf/httpd.conf

        135行目あたり コメントアウトされてない事を確認する。

        LoadModule status_module modules/mod_status.so

        461行目(原本での行数)あたり コメントアウトを解除する。

        Include conf/extra/httpd-info.conf

   N-2 httpd-info..conf の編集

        vi /usr/local/apache2/conf/extra/httpd-info.conf

        <Location /server-status>
            SetHandler server-status

        16  Require host .example.com
               ↓ ↓ ↓
            Require host localhost

        17  Require ip 127
               ↓ ↓ ↓
            Require ip 192.168.0.  <--- LAN 内のみアクセス許可にする
        </Location>              ここは、あなたの環境に合わせてください。

        サーバステータス情報の拡張表示を行う
        #ExtendedStatus On
           ↓ ↓ ↓
        ExtendedStatus On

        httpd の設定情報は、不要なのですべてコメントアウトする

        32  #<Location /server-info>
        33  #    SetHandler server-info
        34  #    Require host .example.com
        35  #    Require ip 127
        36  #</Location>

       上記をまとめて sed コマンドで実行は、下記の様になります。
       なお、同じ文字列があるので、行を指定して実行しています。
       ( s/ の前の数字は、置換をさせる行番号です。)
       ( 32,36s/^/#/ は、32 〜 36 行の先頭に # を挿入する指示です。)

sed -i -e "16s/Require host \.example\.com/Require host localhost/
17s/Require ip 127/Require ip 192\.168\.0\./
s/#ExtendedStatus On/ExtendedStatus On/
32,36s/^/#/" /usr/local/apache2/conf/extra/httpd-info.conf

    ○  httpd を再起動する。

        /usr/local/apache2/bin/apachectl restart  <--- 停止してから起動する

        または、

        /usr/local/apache2/bin/apachectl graceful <---  アクセス中のユーザを
                                                          有効にしたまま再起動する。

   N-3 LAN内 PC からのアクセス方法

        [LAN内のサーバのIPアドレス]/server-status?refresh=5       <--- 5 秒更新
        [LAN内のサーバのIPアドレス]/server-status                 <--- 更新なし

        下記は、私のサーバ機で表示したサーバステータス情報です。
A
   N-4 apache のコマンド apachectl status と fullstatus を使えるようにする。

        CentOS 6.5 32bit 版では、テキストベースのブラウザパッケージ[ elinks ]のインストールは、
        必要ありません。

        コマンド apachectl status でコンソールから、テキスト情報で見ることができます。
        詳しいアクセス情報の表示は、コマンド apachectl fullstatus で見ることもできます。

        下記は、コマンド apachectl status の表示例です。
        コマンドには、/usr/local/apache2/bin/apachectl statusの様にフルパスを付けて実行
        してください。

        # /usr/local/apache2/bin/apachectl status
                          Apache Server Status for localhost (via ::1)
           Server Version: Apache/2.4.10 (Unix)
           Server MPM: event
           Server Built: Oct 2 2014 08:34:47
           --------------------------------------------------------------------------
           Current Time: Sunday, 05-Oct-2014 09:30:12 JST
           Restart Time: Sunday, 05-Oct-2014 09:26:37 JST
           Parent Server Config. Generation: 2
           Parent Server MPM Generation: 1
           Server uptime: 3 minutes 34 seconds
           Server load: 0.09 0.15 0.09
           Total accesses: 1 - Total Traffic: 3 kB
           CPU Usage: u0 s.01 cu0 cs0 - .00467% CPU load
           .00467 requests/sec - 14 B/second - 3072 B/request
           1 requests currently being processed, 74 idle workers
                 以下 省略

サーバステータスの監視機能の出力結果の見方の解説は、
                    [サーバステータスの監視の解説は、ここをクリック]してください。

-------------------------------------------------------------------------------------------
※※  apache のバージョンの確認方法  ※※
    /usr/local/apache2/bin/httpd -v のコマンドで確認できます。

    Server version: Apache/2.4.10 (Unix)
    Server built:   Sep 19 2014 10:46:54

○  おまけ
 1. Linux OS のバージョンの確認方法
    cat /etc/redhat-release のコマンドで確認できます。

    CentOS release 6.5 (Final)

 2. Linux カーネルのバージョンの確認方法
    uname -a のコマンドで確認できます。

    Linux LeoMiya 2.6.32-431.el6.i686 #1 SMP ………

 3. httpd を restrat としたら、こんなエラーが出た時の対処方法
    このエラーは、他のプロセスがポート80を使用しているため、停止が出来なかった時にでます。

 (98)address already in use: ah00072: make_sock: could not bind to address [::]:80
 (98)address already in use: ah00072: make_sock: could not bind to address 0.0.0.0:80

    何番のプロセスが httpd を使用しているか、lsof コマンドで調べます。
    
    lsof -i | grep http

    この様に表示します。

    httpd     1391     root    4u  IPv6  10236      0t0  TCP *:http (LISTEN)
    httpd     2175 miyasaka    4u  IPv6  10236      0t0  TCP *:http (LISTEN)
      ( 以下省略 )

    kill コマンドで root のプロセス番号を削除し、再度 start したら終了です。

    kill 1391

===========================================================================================
  11. fswebcom-20140113.tar.gz のインストールと定点カメラの設定
===========================================================================================
  2014年 1月にリリースされたfswebcam-20140113.tar.gzバージョンをインストールしました。
  このバージョンは、タイトルの日本語が文字化けしますので、タイトルに文字を設定する時には、
  必ず E の処理を忘れずして下さい。fswebcam-20140113.tar.gz のインストール手順

  @ 依存関係のあるパッケージのインストール
     5個の i686.rpm のパッケージを下記の順序でインストールする。
     必ず、システムのアップデート後にインストールしてください。
     [ yum では、 yum -y install db gd-devel でインストールします。]

     cd /usr/local/src/; \
     rpm -ivh libXpm-3.5.10-2.el6.i686.rpm; \
     rpm -ivh libjpeg-turbo-devel-1.2.1-3.el6_5.i686.rpm; \
     rpm -ivh libXpm-devel-3.5.10-2.el6.i686.rpm; \
     rpm -ivh gd-2.0.35-11.el6.i686.rpm; \
     rpm -ivh gd-devel-2.0.35-11.el6.i686.rpm

  A fswebcam-20140113 の展開と configure

     tar zxvf fswebcam-20140113.tar.gz;\
     cd ./fswebcam-20140113; \
     ./configure --prefix=/usr

     以下で、終われば、OK 
   -------------------------------------------------------
     checking for working mmap... yes
     checking for gdImageCreateTrueColor in -lgd... yes
     checking for gdImageStringFT in -lgd... yes
     checking for gdImageJpeg in -lgd... yes
     checking for gdImagePngEx in -lgd... yes

        Buffer type ........... 16 bit
        PNG support ........... yes
        JPEG support .......... yes
        Freetype 2.x support .. yes
        V4L1 support .......... yes
        V4L2 support .......... yes

     configure: creating ./config.status
     config.status: creating Makefile
     config.status: creating config.h

  B make と インストール

     make && make install

     以下で、終われば、インストールOK です。
    ------------------------------------------------------
     mkdir -p /usr/bin
     mkdir -p /usr/share/man/man1
     install -m 755 fswebcam /usr/bin
     install -m 644 fswebcam.1.gz /usr/share/man/man1

  C Logicool C270 の UVC 対応 USB カメラの輝度・明るさの調整は、下記の様に設定しています。

     -s Brightness=65%
     -s Contrast=15%        <----  明るさは、ここまで下げないと綺麗な画像になります。

  D Logicool C270 のカメラが認識された時の認識データは、 
                                         cat /proc/bus/usb/devices で下記の様になります。

     S:  SerialNumber=E981E810
     ( E981E810 は、USB カメラのシリアル番号なので同一機種でも、
                                                       カメラを入れ替えれば変わります。)

  E タイトルの文字化け対策

     cron で一分毎に実行させるコマンドにシステムの文字コード環境変数の文字コードを変更する
     コマンドを下記の様( 私のサーバ機の環境の場合 )に追加する。
     fswebcam-20100622.tar.gz のバージョンでは、文字化け起こりませんので不要です。

      */1 6-18 * * * /var/www/html/www.smiyasaka.com/webcam/webcam.sh
                            ↓↓↓
      */1 6-18 * * * export LANG=ja_JP.eucJP; /var/www/html/…………/webcam.sh

  webcam.sh は、私が作成した USB カメラで撮影するシェルスクリプトのプログラムです。
  fswebcomを使った定点カメラの実現方法については、定点カメラの実現方法のページで詳細
  に解説していますので参考にしてください。

                ※※   fswebcam で実現した 1分更新の定点カメラの映像です。  ※※
  上の映像は、我が家の東側の窓に取り付けた USB カメラで撮影した今の映像です。
           ( なお、17:00 〜 06:00 の間は、撮影を停止しています。)
  ここの映像の表示は、iframe を使用して、フレーム内だけを 30秒ごとに更新して表示しています。

  HTML のプログラムは、こんな具合にします。( フレームの枠は、cssで定義しています。)

  <iframe src="./( 30秒ごとに更新して表示するページ ).html" frameborder="0" scrolling="no"
     marginwidth="0" marginheight="0" width="406" height="296">表示できません。</iframe>

    frameborder="0"    <---  境界線を表示しない
    scrolling="no"     <---  スクロールバーなし
    marginwidth="0"    <---  横方向余白なし
    marginheight="0"   <---  縦方向余白なし

iframe を使用したホームページの作成方法については、定点カメラの実現方法のページで詳細
に解説していますので参考にしてください。

===========================================================================================
  12. clamd( アンチウィルスソフト )のインストール
===========================================================================================
  Linux用のフリーのアンチウィルスソフトであるClam AntiVirus のインストール・設定方法は、下
  記サイトに詳しく紹介されていますので参考にしてください
  なお、yum 使用しないので、下記の3個のパッケージを最初に  インストールします。
  注意 パッケージのインストールは、下記の順序でしてください。順序が変わると、依存関係の
       エラーがでます。

  [ yum では、 yum -y install clamd でインストールします。]

  cd /usr/local/src; \
  rpm -Uvh clamav-db-0.98-2.el6.rf.i686.rpm; \
  rpm -Uvh clamav-0.98-2.el6.rf.i686.rpm; \
  rpm -Uvh clamd-0.98-2.el6.rf.i686.rpm

○ clamd設定ファイル編集

   root権限で動作するようにする。

※ 参考 ※  sed コマンドで下記の様にすると同じ事ができます。
            念のため、バックアップを取ってから置換します。

cp /etc/clamd.conf /home/miyasaka/clamd.conf.bak; \
sed -i -e "s/User clam/#User clam/g" /etc/clamd.conf

  vi /etc/clamd.conf
  :194 で194行目へジャンプ

  User clamv
     ↓
  #User clamv  <----  コメントアウトする。

○ ウィルススキャン実行スクリプト作成

   作成方法は、下記リンクの「アンチウィルスソフト導入(Clam AntiVirus)」を参照して
   ください。

○ セルフチェックの頻度を変更する。

   初期設定では、10分に1回(24時間では、144回になる。)になっているので回数を30分に
   1回(24時間では、48回になる。)に変更する為、clamd.conf を編集する。

   Logwatch の rooo宛てメールを見ると下記のようなっています。

    --------------------- Clamav Begin ------------------------ 
 
    Daemon check list:
       Database status OK: 144 Time(s)  <----  ここが、セルフチェックの回数
                                               ここが、48回になります。
   ---------------------- Clamav End -------------------------

※ 参考 ※  sed コマンドで下記の様にすると同じ事ができます。

sed -i -e "s/#SelfCheck 600/SelfCheck 1800/" /etc/clamd.conf

   vi /etc/clamd.conf
  :185 で185行目へジャンプ

185 # SelfCheck 600   <----  単位は、秒,10分は、10 × 60 = 600
           ↓    ↓
      SelfCheck 1800  <----  コメントを取り、1800 にする。

  詳細の設定は、下記サイトを参考にしてください。
  ※ 参考にしたサイト   アンチウィルスソフト導入(Clam AntiVirus)
===========================================================================================
  13. chkrootkitの導入
===========================================================================================
インストールは、chkrootkit.tar.gz を使いたいのですが、make sense で下記エラーが出るので
chkrootkit-0.49-1.el6.rf.i686.rpm を使用します。

/usr/bin/ld: cannot find -lc
collect2: ld はステータス 1 で終了しました
make: *** [strings-static] エラー 1

  @ chkrootkit のインストール
  [ yum では、 yum -y install chkrootkit でインストールします。]

  cd /usr/local/src; \
  rpm -Uvh chkrootkit-0.49-1.el6.rf.i686.rpm

  A 起動用シェルスクリプトの作成
  vi rootkit.sh
  -----------------------------------------------------------
  #!/bin/sh
  rootkit='/usr/bin/chkrootkit'
  LOG='/var/log/chkrootkit.log'
  DISCOVERY='discovery'

  $rootkit > $LOG
     grep "INFECTED" $LOG > $DISCOVERY
  if [ -s $DISCOVERY ];
  then
     cat $DISCOVERY | mail -s "rootkit discovery" root
  else
     echo "rootkit check OK" | mail -s "rootkit check" root 
     ( OK メールが不要の時には、else とこの部分は、不要です。)
  fi
  chmod 600 $LOG
  rm -f $DISCOVERY
  -----------------------------------------------------------

  B rootkit.sh に属性設定
    chmod 700 rootkit.sh

  C 毎日2時に実行するよう cron に設定する。
    0 2 * * * /usr/local/src/rootkit.sh

  D ハッカーの攻撃にあったかの確認
     root 宛てにメールが、来ているので確認する。
     mail コマンドを入力して rootkit check OK が、表示すれば、ハッカーの攻撃は、なしです。

 詳細の設定は、下記サイトを参考にしてください。
  ※ 参考にしたサイト   rootkit検知ツール導入(chkrootkit)
===========================================================================================
  14. sendmail のインストール
===========================================================================================
  ○ root 宛てのメールは、sendmail が、無いと来ないみたいのでインストールします。
  [ yum では、 yum -y install sendmail でインストールします。]

  依存関係のある2個のパッケージも一緒にインストールします。

    cd /usr/local/src; \
    rpm -Uvh hesiod-3.1.0-19.el6.i686.rpm; \
    rpm -Uvh procmail-3.22-25.1.el6.i686.rpm; \
    rpm -Uvh sendmail-8.14.4-8.el6.i686.rpm

    root 宛てのメールは、mail コマンドでみます。詳細は、下記サイトを参考にしてください。
  ※ 参考にしたサイト   mail コマンドの使い方
===========================================================================================
  15. Logwatch のインストールと毎日のメールを簡単にチェックする方法
===========================================================================================
  ○ サーバー上のログを定期的にまとめ、集約してレポートを出してくれるソフトウェア
     (Logwatch)は、CentOS 6.4 の場合、デフォルトでインストールされていないのでインスト
     ールします。
     [ yum では、 yum -y install logwatch でインストールします。]

    Logwatch のインストールは、依存関係から、下記の順序で行ってください。

    cd /usr/local/src/; \
    rpm -ivh perl-YAML-Syck-1.07-4.el6.i686.rpm; \
    rpm -ivh perl-Date-Manip-6.24-1.el6.noarch.rpm; \
    rpm -ivh logwatch-7.3.6-49.el6.noarch.rpm

  ○ logwatch.conf は、下記の箇所を変更して 実行させれば root宛てにメールがきます。

※ 参考 ※  1行毎直すのが面倒な時には、sed コマンドで下記の様にすると同じ事ができます。
            念のため、バックアップを取ってから置換します。

cp /usr/share/logwatch/default.conf /home/miyasaka/logwatch.conf.bak; \
sed -i -e "60s/#//
s/# Range = All/Range = Yesterday/
72s/Low/Med/
109s/-t\"/-f root@localhost\"/" /usr/share/logwatch/default.conf/logwatch.conf

    vi /usr/share/logwatch/default.conf/logwatch.conf 

    アーカイブされたログも含めるかどうか
    60行目  コメントアウトの解除
    #Archives = Yes
    ↓
    Archives = Yes

    レポートの日付範囲を3つのオプションから。All, Today, Yesterday
    61行目
    Range = All
             ↓
    Range = Yesterday

    ログの詳細度、Low (=0), Med (=5), High (=10) または 0から10までの数字で
    72行目   私の場合、Med にしました。
    Detail = Low
             ↓
    Detail = Med

    メールコマンドパスの変更
    109行目 rooo宛てにする。
    [ Can't execute sendmail -t: No such file or directory ]というエラーが出るので修正し
    ます。

    mailer = "sendmail -t"
      ↓   ↓   ↓ 
    mailer = "sendmail -t -f root@localhost"

  ○ Logwatch の定時実行は、cron.daily の設定で午前 3時から 4時頃の間のランダムな時刻に
     毎日実行されるので、crontab に設定する必要は、無いようです。

  ○ Logwatch の rooo宛てメールを毎日簡単にチェック出来るように下記のようなプログラム
     を作ってみました。

    1. Logwatch の rooo宛てメールを前日の日付でユーザーエリヤに保存するとともに、パスワー
       ドのかかったヘージから、ホームページから日にちを指定して見られるようにしています。

    2. 保存したLogwatch の rooo宛てメールは、10日間としそれ以前は、削除するようにした。

    3. プログラムは、cron で毎日一回4時以降に実行させています。

    4. /var/spool/mail/root のメールデータは、本プログラムで転送後肥大を防ぐため削除して
       います。

    5. また、ついでに chkrootkit 実行結果・DiCE のイベントログも同時に見られるように
       もしています。

        こんな具合に表示します。

        表示例

        ○ 11/14 7:34 デーモン動作を開始しました
        ○ 11/14 11:26 デーモン動作を開始しました
        ○ 11/14 11:26 IPアドレスが変わりました >123.215.114.234  <---- 変更後のグロバル
        ★ 11/14 11:27 に(イベント名が表示)が実行されました                    IPアドレス
          IPアドレスを更新しました
        ○ 11/14 11:45 デーモン動作を開始しました

    ※※ 参考情報 ※※
       corn で定時的に実行させている処理のコマンドの最後に [  > /dev/null 2>&1 ] を付
      けましょう。これを付けないと実行結果が rooo宛てメールとして残ってしまいます。
       ( これは、実行結果を表示させない処理です。 メールデータの肥大化防止にもなります。)

    6. DiCE のイベントログの rooo宛てメールは、シェルスクリプトで簡単なプログラムを作り、
       IPアドレスの更新が7日毎なので、これに合わせて、週一回 cron で実行させています。
       ( DiCE の IPアドレスの更新実行は、起動した日を基準に繰返し行われます。 )

    7. Logwatch の rooo宛てメールは、漢字があるので文字化けしない様に漢字コードをJcode で
       Shift_JIS 変換にしてユーザーエリヤに保存しています。

    8. rooo宛てメールをホームページエリヤに移動保存すると、不正に見られることがあるかもし
       れないので、移動保存は、ホームディレクトリにしていますが、perl では、cp( コピーコマ
       ンド )使えないので、ユーザーエリヤに保存してあるメールデータを読みだすため、open
       コマンドで変数( get_data )に書込む方法をとりました。
       コピーコマンド( cp )の替りに open を使つてプログラムを組むとデータの読込みが簡単に
       なり、便利です。皆さんも是非マスターしてください。

          open( get_data, "<ユーザーエリヤの保存先のパス+ファイル名");

    下記がシェルスクリプト・cgi のプログラムと Logwatch の rooo宛てメールの内容です。
    ユーザーエリヤ等のパスは、○表記にしていますが、使用するときには、あなたの環境に合わせ
    てください。

    ※ 注意 ※
    「rooo宛てメール」が見られる様になるのは、システムを起動後、翌々日からになりますので
    注意してください。
rooo宛てメールで
            [ Searching for Suckit rootkit... Warning: /sbin/init INFECTED ]の
     メッセージがある時に、chkrootkit の誤検知かを判断する方法

    1. サーバ機にログインして rpm -qf /sbin/init のコマンドを入力して、インストールされ
       ているパッケージ名を確認します。

       CentOS 6.4 の場合、upstart-0.6.5-12.el6_4.1.i686 でした。

    2. Logwatch の rooo宛てメール内の yum によるアップデート情報をチェックします。
       私のサーバ機でのrooo宛てメールの表示例です。

      --------------------- yum Begin ------------------------ 
          Packages Updated:
          libcom_err-devel-1.41.12-14.el6_4.2.i686
          libss-1.41.12-14.el6_4.2.i686
          e2fsprogs-1.41.12-14.el6_4.2.i686
          e2fsprogs-libs-1.41.12-14.el6_4.2.i686
          upstart-0.6.5-12.el6_4.1.i686
          libcom_err-1.41.12-14.el6_4.2.i686
      ---------------------- yum End -------------------------

    3. /sbin/init にインストールされているパッケージがアップデートされているのでこの場
       合は、誤検知になります。

    4. メッセージの消去は、サーバ機を reboot する事により、次回からは、出なくなるそうです。
       ( 私は、試してはいませんが、私の場合には、予備機に入れ替えています。)
===========================================================================================
  16. ftp のインストール
===========================================================================================
  ○ 上記のインストール方法では、Linux のファイルを、ネットワークでつながった他の Linux や
     PCに転送する「 ftp 」(file transfer protocol)というコマンドが使えないので、ftp をイン
     ストールします。
     ftp は、運用・管理のバックアップファイルの転送の時に必要になります。
     [ yum では、 yum -y install ftp でインストールします。]

    cd /usr/local/src; \
    rpm -Uvh ftp-0.17-53.el6.i686.rpm

===========================================================================================
  17. 漢字コード変換用にJcodeのインストール 
===========================================================================================
  ○ apache のアクセスログの文字化けを修正するための漢字コード変換パッケージ Jcode を
     インストールします。
     一般的には、コマンド [ perl -MCPAN -e shell ]でしますが、Jcode のソースから、イ
     ンストールした方が、簡単に終わります。

    cd /usr/local/src; \
    tar zxfv Jcode-2.07.tar.gz; \
    cd ./Jcode-2.07; \
    perl Makefile.PL; make; make install 
    以下で、終われば、OK 
    -----------------------------------------------------------
    Jcode-2.07/Unicode/Unicode.xs
    Checking if your kit is complete...
    Looks good
    Writing Makefile for Jcode
    cp Jcode/Nihongo.pod blib/lib/Jcode/Nihongo.pod
    cp Jcode.pm blib/lib/Jcode.pm
    Manifying blib/man3/Jcode::Nihongo.3pm
    Manifying blib/man3/Jcode.3pm
    Installing /usr/local/share/perl5/Jcode.pm
    Installing /usr/local/share/perl5/Jcode/Nihongo.pod
    Installing /usr/local/share/man/man3/Jcode::Nihongo.3pm
    Installing /usr/local/share/man/man3/Jcode.3pm
    Appending installation info to /usr/lib/perl5/perllocal.pod
===========================================================================================
  18. 自宅サーバの管理・運用監視・アクセスログ文字化け対策等
===========================================================================================
自宅から、Webサーバを開設・運用するには、次の事もしなければなりません。

  1. 停電の対策

      私の場合、100% 趣味として、運用しているので、対策はしていません。

  2. グローバルIPアドレスの監視

      ネームサーバへのグローバルIPアドレス変更の通知
      DiCEで対応していますが、自分で気づいたときは、( ほとんどの場合、ルータの電源断です。)
      直接ネームサーバへログインして変更をかけています。( 20分程度で変更されています。)

  3. サーバの監視

      プロセス監視は、perl で作成した監視プログラム内から、ps コマンド実行させ DiCE, ssh, 
      apache, proftpd が、停止していないかチェックしています。

      ( DiCE のプログラムは、時々落ちるのでぜひ定時監視させる必要があります。私は、毎週
        土曜日に DiCE のイベントログをチェックしていますが、「デーモン動作を開始しました」
        のメッセージが結構表示されています。)

      監視プログラムは、 cron で1分ごとに実行させプロセス( DiCE,ssh,apache,proftpd )の停止
      を監視させ、停止した場合に再起動し、システムの安定稼働を実現させています。

      監視プログラムの概要

      Linux のコマンド [ /bin/ps -aef ]を open 関数で実行させプロセスが稼働していれば、
      それぞれのプロセスで下記のメッセージがあるので、そのメッセージの有無を判定させ、無い
      時には、再起動するようにさせています。

      proftpd --->  proftpd: (accepting connections)
      apache  --->  /usr/local/apache2/bin/httpd -k restart
      apache  --->  /usr/local/apache2/bin/httpd -k start
      DiCE    --->  /usr/local/DiCE/diced -d -l
      ssh     --->  /usr/sbin/sshd

      下記は、perl で作成したプロセス監視プログラムの例です。参考にしてみてください。
      監視は、cron で 1 分毎に下記プロセス監視プログラムを起動するだけです。
  4. webalizerを使用したapacheのアクセスログの取得と解析

      国別集計だけが上手く行かない為、現在研究中です。
      問題等が解決して国別集計が出来るようになったら、方法等を公開します。

  5. アクセスログの文字化け対策・月初め処理・不要な過去のログの自動削除

      Jcode にて、毎晩定時に日本語のコード変換をして別ファイル名で保存するプログラムを作成
      しています。  なお、毎月 1日と元旦の日は、次のように特別処理をしていいます。

      このプログラムは、シェルスクリプトで作成し、1月1日時には、前年の12月31日に・1日の時
      には、前月の30日または、31日にして日本語のコード変換をして、その月の変換 HTML ファ
      イルとして保存するようにしています。

      表示の時には、webalizer が作成する index.html の月別リンクページのファイル名を入れ
      替えるプログラムを perl で作成して cgi として実行させて日本語のコード変換をしたペ
      ージを表示さています。

      これらのプログラムでは、一年分の処理をさせているので、毎日前日の文字化けのないアク
      セスログを見ることができています。

      下記に、先人の知恵を借りて私なりに改良した、上記の問題点を処理したシェルスクリプトと
      cgi のプログラムです。参考にしてください。

      下記プログラムは、webalizer のログ解析ファイル名に「年月」の文字が入っていることを
      を前提として、処理しています。




  6. サーバ機が、ダウンした場合の予備サーバ機の準備等
      ホームページのファイルとapacheのアクセスログは、毎日定時に、バックアップ( 圧縮 )
      をとり、予備機との入れ替えをスムーズにできるようにシステムを組んでいます。

  7. サーバ機のシステムが正常に動作しているか・外部から不正アクセスがないか等は、
      Logwatch の rooo宛てメールをホームページ上で見えるようにして日々チェックしていま
      す。 

 ※ 有ると便利なパッケージを紹介します。

    ポート番号からサービスを特定したり、どんなプロセスが動いているとかの確認プログラム

    ダウロードしてインストールするだけ

    cd /usr/local/src; \
    rpm -Uvh lsof-4.82-4.el6.i686.rpm

  使用例
    ポート 3310 をオープンしているプロセスを調べてみます。
    -i オプションでポート番号を指定すると、そのポートをオープンしているプロセスが表示さ
    れます。

    lsof -i:3310
    COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    clamd   1111 root    5u  IPv4   9747      0t0  TCP localhost:dyna-access (LISTEN)

    ポート 3310 は、clamd が使用していることが分かります。

  詳しい使い方は、下記サイトを参考にしてください。
  ※ 参考になるサイト   lsof の使い方

  8. CPU 温度を表示させるプログラム

    こんな具合に表示できます。

    現在のサーバ機の CPU 温度 +35 です。

    ダウロードしてインストールした後、少しの設定をするだけです。

    ※ CPU 温度の取得は、CPU の種類によって違いますので、あなたのサーバ機の仕様に合わせ
       てくたせさい。

    cd /usr/local/src; \
    rpm -Uvh lm_sensors-libs-3.1.1-10.el6.i686.rpm; \
    rpm -Uvh lm_sensors-3.1.1-10.el6.i686.rpm

    sensors-detectと入力し、すべてに対して [return] キー( 14回ほど )を押し、
    最後に[ OK ] がでれば、動作します。

    sensors と入力すると下記の様に表示します。
    (下記は、私のサーバ機 CPU:Intel(R) Atom(TM) CPU N455 の表示です)

    coretemp-isa-0000
    Adapter: ISA adapter
    Core 0:      +33.0°C  (high = +80.0°C, crit = +100.0°C)

    下記は、CPU 温度をホームページ上に表示させるプログラム( シェルスクリプト・SSI )の例です。




  9. CPUの稼働時間・HDDの稼働時間と温度を表示する方法

     こんな具合に表示できます。
       サーバ機連続稼働時間  35 日と 22 時間 31
     現在のサーバ機の CPU 利用率 9.17 % です。
     現在のサーバ機の HDD の稼働時間と温度は、 863 時間 ( 35  23 時間 ) +34  です。

     CPU の稼働時間と HDD の温度を表示させるプログラムは、CentOS 6.4 の場合標準で
     インストールされていました。

     CPU の稼働時間と HDD の温度を表示ついての詳細は、下記のクリックでジャンプします。

      @ CPUの稼働時間を表示する方法は、[ここをクリック]して下さい。

      A HDDの稼働時間と温度を表示する方法は、、[ここをクリック]して下さい。

     CPU の稼働時間・温度と HDD の温度のホームページ上での表示は、サイドメニューの
     一番上の欄[システム管理情報]にマウスを載せるとプルダウンで表示するようにして
     います。

     ※※ 参考情報 1 ※※
     HDD の情報を取得するパッケージ( smartmontools, 他 )は、ホームページからの SSI 等で実行
     させても結果は得られませんので注意して下さい。端末から実行すると結果が表示するのでちょ
     っと疑問を持つと思います。( 私も悩みました。)

     これらは、root 権限でないと実行されない( ホームページの実行は、ユーザーモードの実行に
     なります。 )ので、これらを実行させて情報を得たい時には、cron で定時的に実行させファイ
     ルへ結果を保存し、ホームページでは、それを参照する方法にします。
     私のサーバ機の HDD の情報は、この方法で実現しています。

 10. エラーページを表示させる設定

     .htaccess というファイル名で下記を記述します。

 ErrorDocument 400 /error400.html  <--- エラーコード 400「要求されたコードを理解できません」
 ErrorDocument 401 /error401.html  <--- エラーコード 401「認証に失敗」
 ErrorDocument 403 /error403.html  <--- エラーコード 403「アクセスする為の許可がありません」
 ErrorDocument 404 /error404.html  <--- エラーコード 404「ページが見つかりません」
 ErrorDocument 500 /error500.html  <--- エラーコード 505「サーバは内部エラー」

    ( error400 〜 500.html は、エラーに成った時に表示するホームページのファイル名 )

   .htaccess というファイルとエラーに成った時に表示するホームページのファイルをホームページ
   のディレクトリへ保存します。

  11. ホームページ上にDiCE のIPアドレス更新ログを表示させる。

    DiCE のIPアドレス更新ログをその都度サーバにログインして見るのは、面倒なので、パスワード
    のかかったページに perl と HTML でプログラムを組み見られる様にしてみました。
    DiCE のログは、日本語表示なので、EUCコードをシフトJISコードに変換しているのとイベントロ
    グの先頭文字が「★」なので、わざわざ16進コードに変換して、if 文で一致をとっています。
    DiCE の events.log のパスは、あなたの環境に合わせてください。





    上記 perl のプログラム中に日本語のコード変換モジュールを使用とてします。
    ここのサイトから、[ここから]の jcode.pl の行をクリックしダウンロードしてください。
    あとは、そのモジュールを上記の perl のプログラムと同じディレクトリーに転送するだけ
    です。

  HTML の記述例
  dice_events_check.pl は、perlのプログラム名です。

  <CENTER><H3>DiCE のIPアドレス更新履歴<br><!--#exec cmd="./dice_events_check.pl"--></H3>

  表示結果

          DiCE のIPアドレス更新履歴
       4/30 8:51 に○○○○○が実行されました    <---- ○○○○○は、イベント名
       5/7 8:52 に○○○○○が実行されました 
       5/14 8:52 に○○○○○が実行されました 

  12. サーバ構築で .conf 等の設定ファイルを編集後 ffftp でwindows側へ保存しましょう。

  サーバを再構築する時にwindows側へ保存したファイルを使用すると簡単に再構築が出来るように
  うになります。   私は、この方法で再構築をしています。

  保存したファイルは、直接目的のディレクトリに書込みはできないので一度 home ディレクトリへ
   ffftp で転送し、cp コマンドで目的のディレクトリに書込みます。
  この時、上書きの yes/no が聞かれますので y を入力して上書きさせれば編集終了です。
===========================================================================================
19. motion ( 動画 )のインストールからホームページでの表示までの設定
===========================================================================================
motion を使って動画のホームページ作成してみました。

motion のインストールは、依存するパッケージが沢山あるので、ここでは、yum を使用しています。
手順は、下記の通りです。詳細は、下記のフレームを参照してください。


参考情報 @ 私のサーバ機の環境では、fswebcam と motion は、同時には、動作しませんでした。
            何か設定方法が有るのかもしれません。???
         A motion は、私のサーバ機ではかなりの負荷がかかっているようです。
            cpu の利用率・温度が、fswebcam の時は、10%・40度位に対して40%・50度を軽く越し
            てしまいます。
            motion で動画を配信するには、パワーの有るCPUのサーバ機が必要ではないかと思い
            ます。

@ ffmpegを含めた依存パッケージのインストール
   依存パッケージ数が多いので、ここでは、yum を使用します。
   ( 事前に RPMforgeリポジトリを導入をしないと No package ffmpeg available.になります。)

   yum -y install ffmpeg

A motion ( motion-3.2.12.tar.gz )のインストール

   ダウンロードは、 ここを クリックしてください。

   cd /usr/local/src/; \
   tar -xvzof motion-3.2.12.tar.gz; \
   cd motion-3.2.12; \
   ./configure

   make && make install

B motion を起動時のエラー対策
   これを忘れると motion は、動作しませんので注意してください。

   ディレクトリ( /var/run/motion )の作成

   mkdir -p /var/run/motion

C motion の起動スクリプトの作成

   motion と入力するだけで起動しますが、停止するのがチョット面倒です。
   上手い具合に、Fedora用の起動スクリプトが作成されているので流用し編
   集します。  起動スクリプトの名前は、motion にしています。
                    ( 起動スクリプトの名前は、自由に決めてください。 )
   これにより、start/restart/stop が簡単にできるようになります。

   cp /usr/local/share/motion-3.2.12/examples/motion.init-Fedora \
   /etc/rc.d/init.d/motion; \
   chmod 755  /etc/rc.d/init.d/motion

D motion の起動スクリプトの編集

   パスの設定を2か所修正します。

   motion=${MOTION-/usr/bin/motion}   <--- 26行目
   ↓
   motion=${MOTION-/usr/local/bin/motion}

   pidfile=/var/run/motion.pid   <--- 26行目
   ↓
   pidfile=/var/run/motion/motion.pid

E motion-dist.conf を motion.conf でコピーし、編集します。

   14か所修正します。

F 一時的な動作確認

   motion -n のコマンドで動作確認します。
    ( 本番は、サービス(デーモン) つまり、裏で動作させます。 )
    ( -n : Run in non-daemon mode. )

   motion -n を入力すると
   ......... 何やらメッセージが沢山でます。
 
   終了は、(Ctrl)+C を入力します。
 
   ブラウザを起動し、URL に http://(ローカルIPアドレス):8081
   ( IEでは、不可 fire fox, Safariは、OK )
   にアクセスしてライブ映像が見れる事を確認。

G Javaアプレットを使用して、IEでも見られるホームページを作成する。

   cambozola ストリーミング・イメージ・ビューアを使用して、IE でも
   見られる様にします。

   ダウンロードは、 ここを クリックしてください。

H motion の起動・停止・再起動

   /etc/rc.d/init.d/motion start / restart / stop

   /etc/rc.d/init.d/motion restart
   motion を停止中:                                           [  OK  ]
   motion を起動中:                                           [  OK  ]

   pstree コマンドで動作を確認してみました。

   # pstree
   init-+-abrtd
        |-anacron
        |-crond
        |-httpd-+-httpd
        |       |-4*[httpd---26*[{httpd}]]
        |       `-2*[rotatelogs]
        |-6*[mingetty]
        |-motion---2*[{motion}]
        |-ntpd
        |-proftpd
        |-rsyslogd---3*[{rsyslogd}]
        |-2*[sendmail]
        |-sshd---sshd---sshd---bash---su---bash---pstree
        `-udevd---2*[udevd]

I システム起動時に、自動起動するように設定をします。

   chkconfig --add motion; \
   chkconfig motion on

J 動画の外部への公開には、8081 の ポートを開放する必要があります。

K 上記手順の詳細を、下記に記述しています。
下記は、motion のテスト用ホームページです。
上記の方法でこんな具合に表示します。
( 使用したUSBカメラは、ELECOM UCAM-DLA200HWH です。)
A
  ※ 参考にしたサイト   Papa Net ライブカメラサーバー(motion)
===========================================================================================
  20. motion ( 静止画 )のインストールからホームページでの表示までの設定
===========================================================================================
H26.04.10 追加
motion で1秒更新の静止画の取込み・表示をしてみました。
( 当然、fswebcam の1分更新の定点カメラとの共用をしています。 )
-------------------------------------------------------------------------------------------
※※ 参考情報 1 ※※
  CPU の利用率は、fswebcam (カメラ1台)時は、        10〜15% 
  fswebcam (カメラ1台) + motion 静止画(カメラ1台)  30〜40% 
  fswebcam (カメラ1台) + motion 静止画(カメラ2台)  70% 以上になります。
  motion のアプリは、かなり CPU の負荷に影響しますので、注意して下さい。

※※ 参考情報 2 ※※
  今回、fswebcam で使用できなかった BUFFALO の USB カメラが、motion でカメラ1台時は、使 
  用出来ました。
  カメラ2台の時には、motion は、 USB カメラを選ぶようです。ELECOM 2台では、動作しまし
  たが、BUFFALO + ELECOM と BUFFALO + BUFFALO の組合せでは、動作しませんでした。
  なお、この検証は、私のサーバ機では、重荷なので、DELL のデスクトップ PC で行いました。
  この時の CPU の利用率は、70% を超えていました。
  ( DELL デスクトップ PC の仕様は、AMD Athlon(tm) 64 Processor 3500+ 2.2GHz です。)

※※ 注意情報 ※※
  USB カメラを入替えた時には、必ず motion を restart してください。
-------------------------------------------------------------------------------------------

インストール・起動スクリプトの作成までは、19項の motion ( 動画 )@〜Dまでは、同じ手順で
行います。
また、将来複数台のカメラを使用することを考慮し、カメラ毎の設定 conf ファイルは、
thread○.conf で設定する方法で行いました。

@ motion.conf と thread1.conf の編集
motion.conf の編集

cp /usr/local/etc/motion-dist.conf /usr/local/etc/motion.conf
vi /usr/local/etc/motion.conf

thread1.conf の編集
thread1.conf のファイルは、/usr/local/src/motion-3.2.12 に展開された設定ファイル
thread1.conf を /usr/local/etc/ にコピーして編集します。

cp /usr/local/src/motion-3.2.12/thread1.conf /usr/local/etc/
vi /usr/local/etc/thread1.conf
-------------------------------------------------------------------------------------------
	●  ホームページの記述は、下記の通りです。参考にしてください。
-------------------------------------------------------------------------------------------
     ※※  本体ページの HTML  ※※
    ( 表示サイズは、css で設定しています。 )
		省略
  <table border="1" width="100%"><col width="100%">
  <tr><td align="left" valign="top">
    iframe の枠線・スクロールバーは、表示なし・余白もなしにします。
  <iframe src="./○○○○.html" marginwidth="0" marginheight="0" 
     frameborder="0" scrolling="no" width="497" height="366">表示できません。</iframe>
  </td></tr>
  </table>

    ※※  iframeからリンクするページ(○○○○.html)の HTML  ※※

    写真の枠線は、こちら側で設定します。
		省略
    1秒毎の画面更新は、ここで設定します。
	<meta http-equiv="Refresh" content="1">
    </head> 
    <style type="text/css"><!--
    	/* 表示領域 枠線設定 */
    table.wakusen {border: solid 1px #649633; border-collapse: collapse;}
   	--></style>
  </head>
    <body>
    <div>
  <table class="wakusen" border="1" width="100%"><col width="100%">
  <tr><td align="left">
  <img src = "./snapshot.jpg"  width="494" height="362"
         title="今の風景写真を表示中" alt="今の風景写真を表示中>
  </td></tr>
  </table>

TOPへ戻る