当サイトをご利用頂き有難うございます。
当サイトは今月末日にモールタイプの総合検索サイトへリニューアルの予定です。
サイト名も変更となりますが、今後とも宜しくお願いいたします。

このノートパソコン AL-N1にはサウンド機能があるので、DSLで音を出してみます。

①alien のインストール

   * RPM(Redhat Package Manager)形式のパッケージを
     deb形式のパッケージに変換してインストール出来るようにします。

  1. Mydsl ブラウザを起動します。

  2. system にある aliendebs.dsl を選んでインストール(installingAlien)します。


②sndconfig のダウンロード

   * サウンドカードを検出し音を出せるようにします。

     Vine Linux の ミラーサイトにsndconfigのパッケージがあるので
     ここからダウンロードさせて頂きます。

     セカンダリサーバ(何処でも良い)の奈良先端科学技術大学院大学を選びます。

     →  ディレクトリ Vine

     →  ディレクトリ Vine-2.6

     →  ディレクトリ i386

     →  ディレクトリ Vine

     →  ディレクトリ RPMS

     →  sndconfig-0.68-2vl2.rpm (中段より下) を選んでダウンロード(home/dsl)します。


③sndconfig のインストール

  シェルを起動します。

   # sudo su
   # cd /home/dsl
   # alien -i sndconfig-0.68.2vl2.i386.rpm
   
④sndconfig の設定

   # sudo su
   # sndconfig 

     Introduction   →   ok
     Probe Results   →   ok
     card Type   →   Sound Blaster   →   ok
     card Settings   →   I/O PORT 0X220   →   IRQ 5(環境に合わせる)
                   →   DMA 1   →   ok
     Sound Card Test   →   ok

      Hello this is ......... としゃべります。

       * 喋らない場合は次のTest Result で no を選び
                     card Settings で IRQ を変える。

     Test Result   →   yes
     File Exists   →   ok

   # exist
   # exist


パソコンに使用するので音が有った方が何かと便利です。


 

NTPサーバーによりサーバーのシステム時刻を日本標準時間に自動的に合わせます。
Windows xp 以上のosを持つpcにもこの時刻同期システムが標準で搭載されています。


GNOME端末より

   # rpm -q ntp  →  パッケージがインストールされているかを確認
                   (通常CentOS5には標準で搭載されています。)

   ------ インストールされていない場合は続けて下記を実行します。 ------

   # yum install ntp

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

   # vi /etc/ntp.conf  →  ntp設定ファイルを編集します。

            (省略)

     # Hosts on local network are less restricted.
     #restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

           →  アンコメントを解除(restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap)し内部からの時刻同期を許可します。

            (省略)

     # Use public servers from the pool.ntp.org project.
     # Please consider joining the pool (http://www.pool.ntp.org/join.html).
     server 0.centos.pool.ntp.org  →  コメントアウトします。
     server 1.centos.pool.ntp.org  →  コメントアウトします。
     server 2.centos.pool.ntp.org  →  コメントアウトします。

          →  追加(server -4 ntp.nict.jp # 日本標準時を提供)
          →  追加(server -4 ntp.jst.mfeed.ad.jp # 上記サーバーと直接同期)

   # chkconfig ntpd on  →  NTPサーバーを自動起動する様に設定

   # chkconfig --list ntpd  →  設定の確認

   # service ntpd stop  →  NTPサーバーを一時停止

   # service ntpd start  →  NTPサーバーを再起動


最初に、ライブCDにあるosをHDDにコピーします。
次に正式にHDDへインストールします。

① dsl の仮インストール

   1. PC で Linux(osのインストール準備)-2 で作成したライブCD-ROMを

      CDROMドライブに入れます。

   2. FDDドライブにFreeDOS FDを入れDOSを読み込ませます。

   3. ライブCD-ROMの内容を全てHDDへコピー

      コマンドプロンプトによりディレクトリを作成します。

       mkdir c:\boot
       mkdir c:\boot\isolinux
       mkdir c:\KNOPPIX

      ライブCD-ROMの内容をコピーします。

       q:
       cd \boot\isolinux
       copy *.* c:\boot\isolinux
       cd ..
       cd ..
       cd KNOPPIX
       copy *.* c:\KNOPPIX

   4. 確認

      FDDドライブにPC で Linux(osのインストール準備)-2 で作成したDSLブートFDを入れます。

      Ctrl + Alt + Del キーを押してpcを再起動します。

        暫くすると 50MB Live BizCard CD の画面が出てきます。

      boot: と表示されたら F2 キーを押します。

      →  fb800x600 と入力

      →  Xfbdev xserver

      →  後は画面に従い yes/no を選択し進みます。

      →  keyboad タイプでは jp106 を選びます。

      入力が完了すると dslのデスクトップ が表示されます。


② dsl を正式にHDDへインストール

      DSL
          →  アプリケーション
              →  ツール
                  →  ハードディスクへインストール   として 

      HDDへインストールします。

      →  Linuxパーティションを作成しますか?   y
      →  hda2を選んで
      →  Bootable で Enter
      →  パーテションの変更と設定をしてもよいかの問いに  yes
      →  Write に移動して Enter
      →  quit に移動して Enter
      →  インストールパーティションを入力してください。  hda2
      →  マルチユーザーによるログインをインストールしますかの問いに n
      →  ext3にしますかの問いに  y (低速でもyを入力します)
      →  最後のチャンスの問いに  y (大丈夫です爆発しません。)
      →  ブートローダの選択の問いに l
      →  windows がインストールされているか,叉は,windows のパーテションがあるかの問いに y
      →  直ちにリブートしますかの問いに y
      →  リブートの途中でパスワードを入力
      →  リブートの途中で固まりストップしますが、
           暫くそのままにしてから徐にPCの電源を落とします。

③ BootMenu の登録

    1. クライアントPCにて

       BootMenu IPL をダウンロードします。

       解凍して出来たファイルをFDにコピーします。

    2. AL-N1をFreeDOS FDで立ち上げます。

    3. FreeDOS FD を取り出し 1.で作成したFDを入れます。

        C: BOOIPL.EXE inst  と入力し Enter で実行します。

    4. FDを取り出し Ctrl + Alt + Del キーを押してpcを再起動します。

    5. BootMenu が表示されたら、 二番目にある 83(Linux) を選んで Enter

        Liloが立ち上がったら Enter を押します。
        暫くすると dsl が起動します。


これでDSLのインストールは完了です。
立派に再起を果たしました。
更にお役立ちのPCとするために、無線LANを搭載します。


       

      

dos 上で CDROMドライブが認識できるようにします。
記事にしてしまうとなんて事ないのですが、ここが一番ハマリマクリのところでした。crying


①専用CDROM用PCカード・ドライバの入手

  今回使用したCDROMドライブは Panasonic KXL-808AN です。
  運よくカードが付属したドライブが入手できたので、
  PanasonicのサイトよりKXL-808ANのドライバを入手します。

  PCカードは専用品でなくともかまいません。

    * 検証したところ、入手した十数種の古いカードが下記のコンフィグで認識されました。

  入手したドライバの中の DOSディレクトリ にある

    ATASMGR.SYS、ATAS365.SYS、KMESATCD.SYS  を

  HDDの cドライブ に CDRMAT20 という名でディレクトリを作成(mkdir)しコピー(copy)します。
  下記のように配置します。

      C:\CDRMAT20\ATASMGR.SYS
      C:\CDRMAT20\ATAS365.SYS
      C:\CDRMAT20\KMESATCD.SYS

②汎用CDROM用PCカード・ドライバの入手

   東芝PCファン ディスカッションサイト・株式会社日本インテリジェンス にある

    DOS版カードドライバーのダウンロード よりドライバを入手します。

      PCCARD.LZH  を解凍し中にある

    PCMSS.EXE、PCMCS.EXE、PCMRMAN.EXE、PCMSCD.EXE、PCMATA.SYS  を

    HDDの cドライブ に PCMPLUS という名でディレクトリを作成(mkdir)しコピー(copy)します。
  下記のように配置します。
    
      C:\PCMPLUS\PCMSS.EXE
      C:\PCMPLUS\PCMCS.EXE
      C:\PCMPLUS\PCMRMAN.EXE
      C:\PCMPLUS\PCMSCD.EXE
      C:\PCMPLUS\PCMATA.SYS


③ autoexec.bat の作成(FDに作成)

------------------- 作成内容 -----------------------

   C:\DOS\MSCDEX.EXE /D:KXL808AN /L:Q
             → CDROMドライブがQとして認識されます。

      * 先の設定によるMSCDEX.EXEの認識と製品の型番の認識とドライブを割り当てます。

   @echo off
   echo Welcome to FreeDOS (http://www.freedos.org)!
   path=\dos
   echo FreeDOS/V 珠洲版へようこそ (http://homepage1.nifty.com/bible/fdos/)!
   echo 01月02日V01L38版
   lh jis_a01
   PATH %PATH%;C:\PCMPLUS

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

  作成した autoexec.bat をHDDの cドライブ にコピーします。

④ config.sys の作成(FDに作成)

------------------- 作成内容 -----------------------

   FILES=30
   BUFFERS=26
   country=81
   dosdata=umb
   device=\dos\himem.exe
   device=\dos\emm386.exe I=B000-B7FF X=E000-EFFF NOEMS x=CE00-CFFF P0=D000 P1=D400
P2=D800 P3=DC00 X=C800-C8FF X=C900-CCFF  →  ここまで一行で書きます。
   devicehigh=\dos\fontnx.exe
   dos=high,umb
   devicehigh=\dos\vesapat.exe /JP
   devicehigh=\dos\dispvb.exe /hs
   device=\sys\otri.sys /d\sys /2 /3 /4 /ス /K00020 /K1000D /K2B6FF /K3B3FF /K4AFFF /K5B0F8 /K6F920 /K70008 /K8001B /K9F820 /KAF820
/KB0020 /KCA8F8 /KDA9F9 /KEB2FA /KFFFFF /J0FA20 /J1ABFF /J2B2FA /J3FFFF /J498F9 /J597F9
/J7A7FF /J8AAFA  →  ここまで一行で書きます。
   shellhigh=\command.com /p /e:512 /MSG
   device=\dos\pansi.sys
   DEVICE=C:\DOS\ANSI.SYS

   STACKS=9,256
   DEVICE=C:\PCMPLUS\PCMSS.EXE
   DEVICE=C:\PCMPLUS\PCMCS.EXE /WAIT=12 /IRQ=10
   DEVICE=C:\PCMPLUS\PCMRMAN.EXE
   DEVICE=C:\PCMPLUS\PCMSCD.EXE /RS=4 /COM=3
   DEVICE=C:\PCMPLUS\PCMATA.SYS /SRAM

   DEVICE=C:\CDRMAT20\ATASMGR.SYS
   DEVICE=C:\CDRMAT20\ATAS365.SYS /port=190 /mem=CE00
   DEVICE=C:\CDRMAT20\KMESATCD.SYS /D:KXL808AN
   LASTDRIVE=Q  → CDROMドライブがQとして認識されます。

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

  作成した config.sys をHDDの cドライブ にコピーします。


⑤ 確認

   コマンドプロンプトで

    q: と入力しドライブが認識されている事を確認します。

   
だんだん準備が整ってきました。


つづく 、、、、、、

  

FDD(フロッピーディスクドライブ)からHDD(ハードディスクドライブ)を使えるようにします。

① dos FDの作成

   1. dosにはFreeDOS/V 珠洲版を使用させて頂きました。

      このページにある

   2. 1.44Mバイリンガル自己展開:fds0125b.exe(03/05/30 ASCIIキーボード仕様)

      をダウンロードします。

   3. フォーマットしたFDをFDDに入れます。

   4. ダウンロードした fds0125b.exe をダブルクリックします。

   5. OKをクリックするとFreeDOSファイルがFDにインストールされます。

      * このFreeDOS FDは何度も使用しますので、大切に扱いましょう。

② dos のインストール

   1. ①で作成したFDを本体(AL-N1)に接続されたFDD(AL-NFFE)に入れます。

   2. 本体(AL-N1)の電源をONします。

   3. カシャカシャと機械的な音を立ててDOSファイルの読み込みが始まります。

   4. 読み込み完了したら

     コマンドプロンプトに fdisk と入力します。

     後は fdisk の操作により 

       c ドライブに 200MB   →   Linuxでは fda1 になります。
       d ドライブに 残り全部(約1100MB)   →   Linuxでは fda2 になります。

     を割り当てパーティションを作成し cドライブ をアクティブにします。

   5. hdd のフォーマット

     format c: として c ドライブ をフォーマットします。

   6. dos のインストール

     コマンドプロンプトの操作で

      cd dos
      hdsetup c:

     として hdd に dos をインストールします。

③DOS用のCDROMドライバのインストール

  上記で作成したDOSにはCDROMを動かすドライバである MSCDEX.EXE が有りません。

  マイクロソフトからダウンロードします。

   ダウンロードした mscdx223.exe を実行すると MSCDEX.EXE が作成されます。

  これを ②でインストールしたHDDの cドライブ の DOSディレクトリ へコピーします。

  ここでは、今まであまり使うことのなかったFDが大活躍です。

   こんな感じで  copy mscdex.exe c:\dos  コピーします。


これで、基本的なdosの下準備が完了です。


つづく 、、、、、、

いよいよ、身支度に取り掛かります。

① os (DSL)のダウンロードとインストールCD-ROMの作成

  Welcome to Simos Networks Inc よりdamnsmall/を選びます。

   ここでは、日本語版がダウンロード出来ます。

    →  dsl-4.4-0617-jp.iso  をダウンロード。

   次にダウンロードしたisoイメージファイルより

        DeepBurner などでCD-ROMを作成します。

    * これは、ライブCDとなりインストール無しでLinuxを体験できるようになります。
      WindowsPCなどでブータブルCDとして利用できます。

②DSLブートFDの作成

   ①で作成したCD-ROMをクライアントpcで立ち上げ、FDDにフォーマットされたFDを入れます。

      DSL
          →  アプリケーション
              →  ツール
                  →  ブートfloppy作成   として DSLブートFDを作成します。

     * このFDはAL-N1でDSL立ち上げ確認用に使用します。


③DSLの確認(早く慣れるための操作)

   クライアントpcにてライブCDにより既に立ち上がっているDSLをあちこち操作してみます。

    中にFirefoxブラウザがあるのですが、実機(AL-N1)ではメモリーの不足により、
    立ち上がりに時間がかかり使い物になりませんので、ブラウザは Dillo を使用しての
    確認をお勧めします。
    Dillo ではCSSの表現が出来ませんが、文字サイトには威力を発揮しますので
    こんなものかとして操作します。


つづく 、、、、、、

可愛いパソコンが手に入りました。 Panasonic の AL-N1 です。
売り場棚の隅で僕を連れて帰ってと叫んでいたようだったので、おもわず引き取ってしまいました。

状態は初期起動OKの完動品で、使用感もほとんど無いジャンク品ものです。
1997年02月12日発売の製品。
なんと12年前の「ぱそこん」です。
スペックは、

 B5サイズ
 SVGA(800×600ドット) 10.4型 TFTカラー液晶
 Pentium(150MHz)
 HDD:1.35GB
 メインメモリー 48MB(最大)
 インターフェース FDD専用コネクター
 ポインティングデバイス フラットパッド
 消費電力 約26W スタンバイモード時 : 約7W

usbなど有りません。LANの接続口も有りません。
biosも見えません。

これはスゴイ。今時のパソコンと比べてみると、なんと非力な仕様ではありませんか。
ところが、当時の価格といえば、メモリーも最大の搭載ですので、30数万円はした代物です。

使用感が無いところから判断すると、おそらく、購入価格分の働きもせずに、
お払い箱となってしまったのでしょうか。
別な考え方をすると、真に時代を反映したコンピュータといったところでしょうか。
これは大変に残念なことです。

12年ぶりに再度、働きの出来るパソコンとして復活させねば。
こんなに昔の非力な「ぱそこん君」でもまだまだ場を選べば
十分に活躍できるところを見せてあげましょう。

旧型から最新式まで機種に合わせ幅広く os を選べるのも Linux の良いところです。

ということで、この、可愛いぱそこんにはサーバーにもなる、osとして DSL(Damn Small Linux) を搭載することにしました。

再起の方法としては、HDDを取り出してHDDに直接ソフトを搭載する方法もありますが、
今回はCDROMを使用し通常の立ち上げを採用します。

再出発の門出にあたり仕度品を集めます。
助かったことに、当時はオプション品だった専用のFDドライブと
電源は付属品として購入できたので、後は、

  CDROM用PCカード(PCMCIA) ..... Linuxに限定しなくてよい。
  CDROM ドライブ..... コネクター特殊(当時としては普通) 
  CDROM接続用コード ..... コネクター特殊(当時としては普通)
  LANカード ..... Linuxに限定しなくてよい。(100Mbps を選びます。)
  LAN接続コード ..... コネクター特殊(LANカードに合わせます。100Mbps を選びます。)
  無線LANカード .....  規格は ab 或いは g にも対応で 11Mbps-54Mbps の製品。
  フロッピーディスク .....  4-5枚程(最初にフォーマットしておきます。)
  CDROM .....  一枚

記録ディスクを除き、他は全て7-12年ほど前の製品で十分です。
注意しなければいけない所は、
接続用ケーブルのコネクターの形状と、
カードの相違挿入防止になっているところが薄いものを選びます。

お店に在るときには、山済みにされて薄汚れた品物ばかりでしたが、
中でも程度の良いものを集めましたので、持ち帰って、少し磨いてあげると、
新品には遠く及びませんが、今でも十分に使用に耐えられる状態になりました。
磨きに使用しているのは油絵の具の筆を洗浄する揮発性の油です。(Washing OILといいます。)
これは、シールなどの粘着剤も綺麗に剥がせ製品に影響無いのでお気に入りです。


つづく 、、、、


既にCUI型で稼動しているメールサーバに管理効率化のため、
Postfix Admin を搭載し構築し直します。
これによりバーチャルドメイン対応でのメール運用がGUI化され、
Webブウウザより楽に運用可能となります。

初めてメールサーバを稼動させる場合はCUI型のFedora10(メールサーバー)も参考に構築します。

Postfix Admin はおおまかですが下記のような事がWebブウウザから操作出来ます。

  ・ ドメインの追加、変更、削除
  ・ メールアカウントやパスワード、転送設定等の追加、変更、削除

また、現在稼動しているデフォルトでのPostfixはMySQLに対応していないので、
MySQLに対応するように再構築します
更に、通信の暗号化対策としてSSLを運用します。


再構築後の動作環境

 Postfix(今回MySQL対応に再構築) + Dovecot + MySQL
                   + Apache + PHP + SSL + Postfix Admin


①PostfixAdminが使用するデータベース作成 

    # mysql -u ユーザ名 -p パスワード(例: mysql -u root -p mysql )
                     →  MySQLへログイン

     mysql> create database postfix;
                     →  postfix データベース作成(環境により名前は変更)

     mysql> use postfix;   → postfix デーダースへ接続

     mysql> grant all privileges on postfix.* to abc@localhost identified by 'パスワード';
                     → ユーザabcに全ての権限を付与しパスワードを設定

     mysql> exit;

②PostfixAdmin用のバーチャルドメインユーザーと専用ディレクトリを作成

     * PostfixAdminでは、データベース化されたユーザーにメールを配送します。

    # groupadd -g 10000 vuser
    # useradd -g vuser -u 10000 vuser
    # mkdir /home/mailvirtual
    # chown vuser:vuser /home/mailvirtual
    # chmod 771 /home/mailvirtual


③postfixをMySQLに対応させる

      * postfixのデフォルトパッケージはMySQLに対応していません。

    # cd /usr/local/src/  →  で作業します。
    # wget http://ftp.riken.jp/Linux/centos/5.2/os/SRPMS/postfix-2.3.3-2.src.rpm
    # mkdir -p /usr/src/redhat/SOURCES  →  SOURCESは大文字で!!
    # rpm -ihv postfix-2.3.3-2.src.rpm

      * 「警告:mockbuild は存在しません -root を使用します」と出ますが、
         ユーザー名 mockbuild が存在しないというだけで影響無いので無視します。

    #cd /usr/src/redhat/SOURCES
    # wget http://vda.sourceforge.net/VDA/postfix-2.3.3-vda.patch.gz
    # gunzip postfix-2.3.3-vda.patch.gz

    # cd /usr/src/redhat/SPECS/
    # cp postfix.spec postfix.spec.df  →  コピーしておきます。
    # vi postfix.spec  →  MySQLを有効にする設定とパッチの追加設定を行います。

      %define MYSQL 0  →  %define MYSQL 1 に変更 
         (省略)
      Patch10: postfix-2.3.3-vda.patch  →  追加
         (省略)
      %patch10 -p1 -b .vda  →  追加

    # yum -y install rpm-build db4-devel zlib-devel openldap-devel cyrus-sasl-devel pcre-devel mysql-devel openssl-devel
                       →  Postfixをリビルドする準備をします。(必要なものだけ)

       * リビルドするには下記パッケージが必要となります。

           # yum list | grep ファイル名(名前の一部でも可)

         としてインストール対象の確認をします。
              (installedと出たものは既にインストールされています。)

             ・ gcc
             ・ rpm-build
             ・ pkgconfig
             ・ db4-devel
             ・ zlib-devel
             ・ openldap-devel
             ・ cyrus-sasl-devel
             ・ pcre-devel
             ・ mysql-devel
             ・ openssl-devel


    # rpmbuild -ba postfix.spec  →  パッチをあてPostfixをリビルドします。

      * 暫し、先達たちの開発者に感謝しながら待ちます。

    # rpm -e postfix-2.3.3-2.1.el5_2  →  既にあるpostfixをアンインストールします。

      * 先の構築によりインストールしたpostfix関連のファイルで編集したものは、
                   xxx.xxx.rpmsave として保存されます。(同一ディレクトリ)

    # rpm -Uhv /usr/src/redhat/RPMS/i386/postfix-2.3.3-2.i386.rpm
                    →  出来上がったMySQL対応のpostfixをインストールします。

      * rpm -Uhv --force /usr/src/redhat/RPMS/i386/postfix-2.3.3-2.i386.rpm
        とすれば同一バージョンの場合はアンインストールとインストールが続けて行われます。

    # yum list | grep postfix  →  バージョンが変わっていることを確認。

    # vi /etc/yum.conf  →  postfixを自動アップデートしないように設定します。
                             (ここを飛ばすと後で大変なことになります。)

      exclude=postfix*  →  最後の行に追加

    # chkconfig sendmail off  →  sendmail の自動起動を停止
    # chkconfig postfix on  →  postfix の自動起動を開始


④バーチャル対応Postfixの設定(main.cfの編集)---右端の数値はおおよその行番号

      * postfixをアンインストールしたので新規の作成になります。
      * セーブ版より全コピーし修正すると間違いが発生する可能性大なので、
        ここは新規に作成としましょう。部分的に旧と同じところは、
                              rpmsave版 よりコピーします。

    # cd /etc/pki/tls/certs/
    # make mail.pem →  環境にあわせます。
    # /etc/postfix/main.cf

      myhostname = mail.abc.xyz.com →  追加71
      mydomain = abc.xyz.com →  追加79
      myorigin = $mydomain →  修正(アンコメント削除;必ず追加します)95 
      myorigin = $myhostname →  修正(アンコメント削除)96
      inet_interfaces = all →  修正(アンコメント削除)114
      #inet_interfaces = localhost →  修正(アンコメント追加)115
      #mydestination = $myhostname, localhost.$mydomain, localhost
                                   →  修正(アンコメント追加)159
     mydestination =
        →  空を追加(仮想サイトに登録したアドレス宛以外は受けない様にします。)163

      mynetworks = 192.168.0.0/24, 127.0.0.0/8 →  追加263
       relay_domains = $mydestination →  修正(アンコメント削除)294
      home_mailbox = Maildir/ →  修正(アンコメント削除)418
      smtpd_banner = $myhostname ESMTP unknown →  追加570
      #sendmail_path = /usr/sbin/sendmail.postfix →  修正(アンコメント追加)643
      sendmail_path = /usr/sbin/sendmail →  追加(CGIの挙動合わせ)644


----------------- 追加 ------------------------

     local_transport = virtual
     virtual_transport = virtual
     virtual_mailbox_base = /home/mailvirtual →  環境にあわせます。
     virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
     virtual_alias_domains = $virtual_alias_maps
     virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
     virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
     virtual_minimum_uid = 10000 →  環境にあわせます。
     virtual_uid_maps = static:10000 →  環境にあわせます。
     virtual_gid_maps = static:10000 →  環境にあわせます。

     smtpd_sasl_auth_enable = yes
     smtpd_sasl_type = dovecot
     smtpd_sasl_path = private/auth
     smtpd_sasl_local_domain = $myhostname
     smtpd_client_restrictions = reject_rbl_client bl.spamcop.net
                                       →  環境にあわせます。
     smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
     smtpd_sasl_security_options = noanonymous
     broken_sasl_auth_clients = yes

     smtpd_use_tls = yes
     smtpd_tls_cert_file = /etc/pki/tls/certs/mail.pem →  環境にあわせます。
     smtpd_tls_key_file = /etc/pki/tls/certs/mail.pem →  環境にあわせます。
     smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache
     tls_daemon_random_source = dev:/dev/urandom

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


⑤PostfixにあわせMySQL認証用ファイルを作成

    # vi /etc/postfix/mysql_virtual_alias_maps.cf

     user = abc
     password = ********
     hosts = localhost
     dbname = postfix
     table = alias
     select_field = goto
     where_field = address


    # vi /etc/postfix/mysql_virtual_domains_maps.cf

     user = abc
     password = ********
     hosts = localhost
     dbname = postfix
     table = domains
     select_field = domains
     where_field = domains
     additional_conditions = and active = '1'


    # vi /etc/postfix/mysql_virtual_mailbox_maps.cf

     user = abc
     password = ********
     hosts = localhost
     dbname = postfix
     table = mailbox
     select_field = maildir
     where_field = username


⑥MySQL用設定ファイル作成

    # vi /etc/dovecot-mysql.conf

     driver = mysql
     default_pass_scheme = PLAIN
     connect = dbname=postfix user=abc host=/var/lib/mysql/mysql.sock password=********
        →  環境にあわせ user host password を設定します。

     password_query = SELECT password FROM mailbox WHERE username = '%u' AND active = '1'
     user_query = SELECT concat('/home/mailvirtual/', maildir) as home, 10000 as uid, 10000 as gid FROM mailbox WHERE username = '%u' AND active = '1'


⑦TLS セッションキャッシュマネージャの設定(master.cf の編集)

     * SSLの利用に必要です。

    # vi /etc/postfix/master.cf

      submission inet n - n - - smtpd  →  アンコメントを外します。
      smtps inet n - n - - smtpd  →  アンコメントを外します。
      -o smtpd_tls_wrappermode=yes  →  アンコメントを外します。
      -o smtpd_sasl_auth_enable=yes  →  アンコメントを外します。


⑧Dovecot の設定(dovecot.confの編集)

    # cd /etc/pki/tls/certs/
    # make mail.pem  →  鍵を作成します。
    # openssl x509 -in mail.pem -outform DER -out mail.der
                    →  クライアント向けインポート用サーバー証明書作成
    # cp /etc/dovecot.conf /etc/dovecot.conf.save
    # vi /etc/dovecot.conf

----------------- 修正内容--右端の数値はおおよその行番号--------------------------------

      protocols = imap imaps pop3 pop3s  →  変更(アンコメントを外す)20
      listen = [::]  →  変更(アンコメントを外す)39
      log_path = /var/log/dovecot.log  →  変更(アンコメントを外しパス追加)61
      ssl_disable = no  →  変更(アンコメントを外す。disable+no = yes。へんなの!!)85
      ssl_cert_file = /etc/pki/tls/certs/mail.pem  →  変更(追加。鍵ファイルを指定)93
      ssl_key_file = /etc/pki/tls/certs/mail.pem  →  変更(追加。鍵ファイルを指定)94
      verbose_ssl = yes  →  変更(アンコメントを外しno→yes;ログ解析用)119
      mail_location = maildir:/home/mailvirtual/%d/%u  →  変更(追加)213
      first_valid_uid = 10000  →  変更(アンコメントを外し数値は環境に合わせ変更)330
      first_valid_gid = 10000  →  変更(アンコメントを外し数値は環境に合わせ変更)338
      protocol pop3 {  →  変更しません。575
       pop3_uidl_format = %08Xu%08Xv  →  変更(アンコメントを外す)626
      } →  変更しません。652
      auth_verbose = yes  →  変更(アンコメントを外しno→yes;ログ解析用)740
      auth_debug = yes  →  変更(アンコメントを外しno→yes;ログ解析用)745
      auth_debug_passwords = yes  →  変更(アンコメントを外しno→yes;ログ解析用)750 
      auth default {  →  そのまま。762
       #mechanisms = plain  →  変更(アンコメントを付ける)766
       mechanisms = plain login digest-md5 cram-md5 apop  →  追加771
       passdb pam {  →  そのまま。805
       }  →  そのまま。838
       passdb sql {  →  変更(アンコメントを外す)879
       args = /etc/dovecot-mysql.conf  →  変更(アンコメントを外しパス追加)881
       }  →  変更(アンコメントを外す)882
       userdb passwd {  →  そのまま。906
       }  →  そのまま。913
       userdb sql {  →  変更(アンコメントを外す)940
       args = /etc/dovecot-mysql.conf  →  変更(アンコメントを外しパス追加)942
       }  →  変更(アンコメントを外す)943
       socket listen {  →  変更(アンコメントを外す)988
       client {  →  変更(アンコメントを外す)999
       path = /var/spool/postfix/private/auth  →  追加(authは自動的に生成される)999
       mode = 0660  →  変更(アンコメントを外す)1005
       user = postfix  →  追加1006
       group = postfix  →  追加1007
       }  →  変更(アンコメントを外す)1008
       }  →  変更(アンコメントを外す)1009
       }  →  そのまま。1010
--------------------------------------------------------------

⑨認証ライブラリ関連のインストール

    # yum -y install cyrus-sasl-md5 cyrus_sasl_sql

      *  cyrus-sasl-plain も必要ですが、インストール済みでした。


⑩postfixadmin のインストール

    # cd /var/www   →  環境により変更
    # wget http://nchc.dl.sourceforge.net/sourceforge/postfixadmin/postfixadmin-2.3beta.tar.gz   →  ダウンロード

     * postfixadmin の最新版を確認します。バージョンpostfixadmin-2.3betaが最新版でした。

    # tar zxvf postfixadmin-2.3beta.tar.gz   →  展開
    # mv postfixadmin-2.3beta/ /var/www/postfixadmin   →  ディレクトリ名変更

⑪コンフィグファイルの編集

    # vi /var/www/postfixadmin/config.inc.php
----------------------------------------------------
     //$CONF['configured'] = false;
       $CONF['configured'] = true;   →  変更

     //$CONF['default_language'] = 'en';
       $CONF['default_language'] = 'ja';   →  変更

     $CONF['database_type'] = 'mysql';   →  既に登録されています。(mysqlの場合)
     $CONF['database_host'] = 'localhost';   →  既に登録されています。
     $CONF['database_user'] = 'abc';   →  登録
     $CONF['database_password'] = '********';   →  登録
     $CONF['database_name'] = 'postfix';   →  登録
     $CONF['database_prefix'] = '';   →  空のまま

     //$CONF['encrypt'] = 'md5crypt';
     $CONF['encrypt'] = 'cleartext';   →  変更

     $CONF['page_size'] = '100';   →  変更

     //$CONF['domain_path'] = 'NO';
     $CONF['domain_path'] = 'YES';   →  変更

     // Default Domain Values
     // Specify your default values below. Quota in MB.
     $CONF['aliases'] = '100';   →  変更
     $CONF['mailboxes'] = '100';   →  変更
     $CONF['maxquota'] = '300';   →  変更

     // Quota
     // When you want to enforce quota for your mailbox users set this to 'YES'.
     $CONF['quota'] = 'NO';   →  YESより変更
     $CONF['backup'] = 'NO';   →  YESより変更
     $CONF['sendmail'] = 'NO';   →  YESより変更
     $CONF['fetchmail'] = 'NO';   →  YESより変更
     $CONF['footer_text'] = 'Postfix Admin Top';   →  変更
     $CONF['footer_link'] = 'http://www.ホスト名ドメイン名/postfixadmin/';   →  変更
     $CONF['emailcheck_resolve_domain']='NO';   →  YESより変更
----------------------------------------------------

⑫Apache用の設定ファイル作成

    # vi /etc/httpd/conf.d/postfixadmin.conf

--------------  追加内容  (注:<>は大文字になっています。)--------------------------

     Alias /postfixadmin "/var/www/postfixadmin"

     <Directory "/var/www/postfixadmin">
      Order allow,deny
      Allow from all
     </Directory>

     <IfModule mod_rewrite.c>
     RewriteEngine On
     RewriteLog "logs/rewrite_log"
     RewriteLogLevel 0
     RewriteCond %{SERVER_PORT} !^443$
     RewriteRule ^/postfixadmin/(.*)?$ https://%{HTTP_HOST}/postfixadmin/$1 [L,R]
     </IfModule>
------------------------------------------------------------------------------------------

    # service dovecot start   →  dovecot の再起動
    # service postfix start   →  postfix の再起動
    # service httpd restart   →  Apache の再起動

⑬ファイアウォールの設定

   サーバーとルーターのポートへ設定

    465 番  SMTP over SSL
    993 番  IMAP over SSL
    995 番  POP3 over SSL

   を開けます。

    まさかと思いますが、25番(SMTP)、110番(POP3)、443番(https)もお忘れなく。

     * /etc/services にサービス名とポート番号の関連リストがあります。


⑬postfixadminのセットアップと管理者情報の登録

 クライアントpcより

   http://www.ホスト名ドメイン名/postfixadmin/setup.php を入力

     Postfix Admin Setup Checker が動作し環境のチェックをします。

      他はOKだったのですが

       # Warning: Depends on: IMAP functions - NOT FOUND
       To install IMAP support, install php5-imap

      と表示された(Warning情報は環境により違ってきます)ので、

     # yum -y install php-imap  としてインストール

            →  php5-imap の 5.1.6-20.el5_2.1 がインストールされました。

   再度

   http://www.ホスト名ドメイン名/postfixadmin/setup.php を入力 

     Checking for dependencies:の項目全て OK となりました。

   次にサーバーより

     # service httpd restart

   次にクライアントPCに戻り

      Postfix Admin Setup Checkerの最後にある、

       Admin(管理者のメールアドレス:唯のidなので架空アドレスでもok)、
       Password(パスワード) 
                                を入力しAdd Admin(登録)します。

         * 次の画面で表示された中にある click here からログインします。

⑭不要ファイルの削除

    # rm -f /var/www/postfixadmin/setup.php
    # rm -f /var/www/postfixadmin/motd*  →  不必要な表示をするので削除。


⑮動作確認

 クライアントpcより

   http://サイト名ドメイン名/postfixadmin/ を入力しログイン

 
 
 
 
いやー今回はハマリどころが多くどっぷりと浸かってしまいました。coldsweats02
とりあえずは完成です。
今回の構築をすることによりメールクライアントの設定も少々変更になります。
特にユーザー名にはPostfixAdminの仕様により「@ホスト名ドメイン名」が追加となります。


サーバー機能の応用例として、通信販売サイトを構築してみます。
通信販売サイトには EC-Cube を搭載します。

現在はレンタルサーバー各社が格安で高機能の通販型ショッピングカートを提供しているところが多くあります。
通常の通信販売サイトでは、業務工数を考えた場合、
レンタルのショッピングカートを利用したほうが対費用効果的には有効ですが、
ここでは、サーバー + α を目指し構築方法を取得します。

動作環境は下記の構築が済んでいる事を前提とします。
また、バーチャルホストが稼動している事も前提として設置しています。

  動作環境 : Apache(httpd) + PHP (v4.1.0以降) + MySQL(v4.1.x以降) + SSL(HTTPS通信)

先に構築したFedora10(EC-Cube)では、公開ディレクトリをホスト名の下の階層に取りましたが、
ここでは、ホスト名のアドレスで直に表示する方法を構築します。

①EC-Cube の導入

  1. データベース作成

    GNOME端末より

     # su + 管理者権限パスワード

     # mysql -u root -p

      Enter password:パスワード  →  MySQLへログイン

      mysql> create database ECCube;  →  ECCube データベース作成(環境により名前は変更)

      mysql> grant all privileges on ECCube.* to abc@localhost identified by 'パスワード';

  →  データベース ECCube に権限を設定(ユーザーabcに全て許可)

          * ユーザー名とパスワードはデータベースの接続情報に合わせます。

      mysql> exit;

     # /etc/rc.d/init.d/mysqld restart  →  MySQL の再起動

  2. 公開ディレクトリ作成

    GNOME端末より

     # su + 管理者権限パスワード

     # mkdir /var/www/html/virtual/++++++++.com/

        →  shop ディレクトリ作成(環境に合わせ変更します)

  3. EC-Cube のダウンロードと設置

    GNOME端末より

     # su -     + 管理者権限パスワード

     # cd /var/www/html/virtual/++++++++.com/

     # wget http://downloads.ec-cube.net/src/eccube-2.3.3.tar.gz   →  ダウンロードします。
          * 今日現在の最新バージョンは Version 2.3.3 でした。
          * EC|CUBE のサイトで最新版を確認しましょう。

     # tar xvfpz eccube-2.3.3.tar.gz   →  必ずpオプションを付けて解凍します。

          * パーミッションを保持したまま解凍する事ができます。
            (パーミッションを保持しないで解凍するとインストールの時に大変な事になります。)

     # rm eccube-2.3.3.tar.gz   →  不要ファイル削除

     # cd eccube-2.3.3   →  ディレクトリの移動

     # mv html /var/www/html/virtual/++++++++.com/   →  htmlディレクトリを、++++++++.com配下に移動します。

     # mv .htaccess /var/www/html/virtual/++++++++.com/   →  .htaccessを、++++++++.com配下に移動します。
  
     # mv data /var/www/html/virtual/++++++++.com/   →  dataディレクトリを、++++++++.com配下に移動します。

     # cd
 
     # rm -r /var/www/html/virtual/++++++++.com/eccube-2.3.3   →  空になったディレクトリは不要となる為、削除します。

     # chown -R abc:abc /var/www/html/virtual/++++++++.com/  →  所有者と権限を abc に変更

     # mv /var/www/html/virtual/++++++++.com/html/*.* /var/www/html/virtual/++++++++.com/

      →  htmlディレクトリ配下にあるフォルダーとファイルを全て、++++++++.com配下に移動します。(この時に.htaccessも忘れずに移動します。)

     # rm -r /var/www/html/virtual/++++++++.com/html   →  空になったディレクトリは不要となる為、削除します。


②ファイルの編集

    GNOME端末より

     # vi /var/www/html/virtual/++++++++.com/define.php

       /** HTMLディレクトリからのDATAディレクトリの相対パス */

        define("HTML2DATA_DIR", "/../data/");

          →  define("HTML2DATA_DIR", "/data/"); へ変更

       /** DATA ディレクトリから HTML ディレクトリの相対パス */

        define("DATA_DIR2HTML", "/../html/");

          →  define("DATA_DIR2HTML", "../"); へ変更

    インストーラ実行の時に読みにいくパスを変更しておきます。


③インストーラの開始

     http://サイト名ドメイン名/install/  →  ブラウザで開きます。

      後は画面の指示に従い設定します。


④インストールファイルの削除

    GNOME端末より

     # su + 管理者権限パスワード

     # cd /var/www/html/virtual/++++++++.com/install
     # rm index.php

⑤確認

   インストール時に設定したログイン名+パスワードで確認します。

     管理画面 http://サイト名ドメイン名/admin/

   お店の完成です。(、、、、、まだこれからでした。。)

     サイト http://サイト名ドメイン名/

バーチャルホストの構築に関してはFedora10(バーチャルホスト)を参考に構築します。