Home Scientifc Linux 6.7 TipsScientific Linux 6.7の利用について  Nutch/Java  Heritrix/Java

Linux / Scientific Linux 6.7 Tips

>Scientific Linux 6.7利用のためのTipsメモ・ページです。

  1. cgi開発評価用のScientific Linux 6.7設定手順

  2. 1. LinuxOS(Scientific Linux 6.7)をインストールする。(sshはデフォルトで起動。ファイアウォール、セキュリティはとりあえず無効化する。)
    2. vsftpdの設定。
    3. sambaの設定。
    4. Windows 10側から putty, ffftp, MS-Network等を利用して接続確認を行う。

    #1 ローカルホストに適当なurl設定をおこなうために、ローカルdns設定を予め行うこと。

  3. RPM

  4. スタートメッセージの変更方法
    /etc/issueという(テキストファイル)の内容を変更すれば接続(起動)時の文字列を変更できる


    インストール済みパッケージの存在確認
    rpm -qa "package_name"


    インストール済みパッケージの設定ファイルのインストール場所の確認
    rpm -ql "package_name"


  5. 時刻合わせ

  6. 時計の再設定(root権限が必要)
    date --set=HH:MM:SS
    ntpdate 133.100.9.2 (ntpによる時刻合わせ)


  7. Reboot/シャットダウン

  8. リモート・リブート(root権限が必要)
    shutdown -r now
     あるいは
    reboot


    シャット・ダウン(root権限が必要)
    shutdown -h now


  9. tar

  10. 圧縮
    tar -cvf file_B.tar dir_A      dir_Aをfile_B.tarという名前で集約。
    tar -cvzf file_B.tar.gz dir_A    dir_Aをfile_B.tarという名前で集約、gzipで圧縮
    展開
    tar -vxf  file_A.tar         tar形式のファイルを展開。
    tar -xvf  file_A.tar file_B      アーカイブから特定ファイルを展開。
    tar -xzvf  file_A.tar.gz        tar.gz形式のファイルの解凍&展開。


  11. Linuxのブートモードの切り替え

  12. Linux起動時、x/gnome表示あるいは文字端末表示のいずれかは/etc/inittabの設定で選択可能。18行目。
    d:5:initdefault:  x/gnome表示モードで起動
    d:3:initdefault:  文字端末モードで起動。サーバー利用時はこちらを推奨。

    CUI画面からgnomeを起動する場合は、startx コマンドでGUIを起動できる。

  13. vsftpdの設定

  14. vsftpdはインストール時点では自動起動されない。chkconfigコマンド等で自動起動設定する必要がある。ただしデフォルトの設定だとanonymous設定で起動されるのでcgi等の転送には不向き。
    /etc/vsftpd/vsftpd.conf の11行目、のYES設定をNOに変更するだけでユーザ認証に切り替わる。

    anonymous_enable =YES → NO

  15. デーモンの起動・停止・再起動

  16. demon類の起動設定を行う場合はGUIであるgnomeのサーバー設定メニューにある「サービス設定」が超便利。クリックだけで任意のdemonを起動、停止、再起動したり、Boot時のランレベル3(CUI)、ランレベル5(x/gnome)などの自動的起動の設定が行える。
    GUIなgnomeは何も操作していなくても結構マシンに負荷がかかる。純然なサーバー利用の場合はCUI起動が望ましい。gnome起動はすなわちランレベルが5なので、サーバー利用時をCUI起動としてvsftpd等を自動起動するのであればこの「サービス設定」でrun-level3のチェックマークにチェックを入れて設定保存すること。
    CUIあるいは文字端末からコマンドでデーモンを起動・停止・再起動する場合は以下の様に打ち入れる。

    /etc/rc.d/init.d/httpd restart  httpdをリスタート
    /etc/rc.d/init.d/vsftpd start  vsftpdをスタート
    /etc/rc.d/init.d/smb stop  sambaを停止

    ls /etc/rc.d/init.d でディレクトリ確認すれば、起動・停止・再起動可能なインストール済みのdemonが一覧できる。

  17. samba設定(Linux機をクライアントとして利用する場合)

  18. linuxのGUI画面からネットワーク接続するとID/passsword入力だけで、win&winms-network同様に接続させて共有利用できる。

  19. samba設定(Linux機をsambaサーバとして利用する場合)

  20. ms-network/samba(smbd/nmbd)サーバーの設定はrootログインかsuコマンドでroot権限取得後に行う。

    まず、selinuxをとりあえず無効化する。(/etc/selinx/config)
       /etc/selinx/config → 。/etc/selinux/config  SE = disabled

    次に/etc/samba/smb.confを書き換えてsamba設定を行う。
    smbpasswdで接続ユーザーとパスワードを設定する。
    最後にserviceコマンドでsmbd/nmbdを起動する。
    linux起動時から常時利用したければchkconfigで起動設定する。
    うまく起動できればwin側から鯖が見えて接続できるはず。
    以下はsamba.confの例。

    #======================= Global Settings =====================================
    [global]
    log file = /var/log/samba/log.%m
    load printers = yes
    cups options = raw
    netbios name = MY_SMB_SERVER
    server string = Samba Server Version %v
    workgroup = WORKGROUP
    os level = 20
    security = user
    passdb backend = tdbsam
    max log size = 50
    interfaces = eth0 127.0.0.1 192.168.1.0/24
    blind interfaces only = yes
    hosts allow = 192.168.1.
    #======================= Share Definitions ==============================
    [httpd]
    writable = yes
    browseable = yes
    path = /var/homepage/html
    guest = ok
    [home]
    writable = yes
    browseable = yes
    path = /home
    guest = ok

  21. perl のコンパイル&インストール

  22. perlのtar.gzファイルをCPAN等からダウンロードする。5.8.8が推奨?
    以下のコマンドを実行。実行オブジェクトは /usr/local/bin/perl として生成する。
    # rm -f configure.sh Policy.sh
    # sh ./Configure -de
    # make
    # make test
    # make install


  23. postfix の設定メモ

  24. 1.ルーターのマスカレード設定で、smtp(25), submission(587), imaps(993), pop3(110) を鯖へ転送設定する
    2.鯖のファイヤーウォールの設定で上記ポートをtcp/udpともに開けておく。
    3.postfixとcyrus-saslをインストールしておく
    4.useradd と passwd コマンドでユーザを作成する
    5.saslpasswd2 -c -u domain名 user名 でSMTP認証パスワードを設定する
    6. postfixとdovecotの設定ファイルを整備する。
    7.postfix, dovecot, saslauthd を chkconfig on する。
    7.postfix, dovecot, saslauthd を リスタートする。

  25. gcc のインストール

  26. CentOS5.2など、設定によってはgcc/ccがインストールできない。その場合のyum/RPMは以下のコマンドで。

    # yum install gcc* compat-gcc* compat-glibc* compat-lib*

    実際には、gnomeデスクトップからパッケージマネージャーを起動し、[開発]→[開発ツール]:[開発ライブラリ]にチェックを入れて自動追加更新するのが面倒でない簡便なやり方。

  27. Appache

  28. Appacheの設定ファイルの所在場所
    /etc/httpd/conf/


    Appacheの再起動
    /etc/rc.d/init.d/httpd restart


    Appacheの起動
    /etc/rc.d/init.d/httpd start


    Appacheの停止
    /etc/rc.d/init.d/httpd stop



  29. cgiファイルのサーバーエラー回避

  30. /usr/bin/perlで直接実行、エラー無しにも関わらず、cgiモジュールがapacheでサーバーエラーが生じる場合は、cgiファイルの改行コードがLFだけであるかどうかを確認すること。ftp転送中とかでsjis変換されていると改行コードがCR/LFとなる場合があり、この場合だとエラーが生じる。ソースコードはUTF-8記述が望ましい。

  31. BIND9のインストール

  32. yum install -y bind
    yum install -y bind-chroot

  33. BIND9を用いたローカル・ドメインのDNS設定

  34. CentOS 5.2は、インストール直後の状態でDNSは起動していない。/etc/rc.d/init.d/named startとコマンドすればとりあえずクライアント用のDNSサーバーとして利用可能になるはず。ただしこの場合、ネット設定でゲートウェイ設定を行い、インターネット接続が可能な状態でなければならない。

    BIND9は巨大なブログラムなので全てを使い切るのも説明するのも難しい。そういうことは他にお願いするとして、ここでは、あくまで個人の私的な利用に限ったローカルドメインのDNSのメモ書きに留める。

    ローカル・ドメインの設定とは、192.168.0.0~192.168.255.255までのローカルネットIPに接続された機器にドメイン名を割り振って利用する場合の設定。たとえば、pilots.eva などというドメインを自分自身で勝手に設定し、以下の様にドメイン名を割り振ることができる。

    dns.pilots.eva   192.168.1.10
    www.pilots.eva   192.168.1.10
    rei.pilots.eva   192.168.1.11
    asuka.pilots.eva  192.168.1.12
    sinji.pilots.eva  192.168.1.13

    上記のような身勝手ドメインといえども、きちんと設定すれば、自宅サーバーもイントラネットサーバーとしてドメイン名を用いて自在にアクセスできる。ただしあくまでイントラネット利用に限るが、ローカルサーバー上のリンクページをクリックして他のリアル・サーバーにアクセスした際、先方のアクセスログのリファラ記録には身勝手なローカルサーバー名が記録として残るようである。

    CentOSのBIND9の設定は手動設定が望ましい。というのも、CentOSの設定ではセキュリティ強化の観点からchroot機能を用いられていて、named.conf等の設定ファイルが/etc/から/var/named/chroot/etc/ 他に蜃気楼的に移動しているからである。
    /var/named/chroot/以下はサーバーのルートディレクトリの配置イメージであるが、root権限者でなければ見ることが許されない。そうしたセキュリティがかけられている。よってBIND9/DNSの設定を行う場合は、/var/named/chroot/etc/named.conf が設定ファイルとなる。


    /var/named/chroot/etc/named.confの例
    =====================================================
    //
    // BIND 9 簡易設定
    //
    // ローカルホストのリゾルバ。
    // キーボード操作によりホスト自身が参照する場合のDNSの定義設定
    view "localhost_resolver"
    {
        match-clients       { localhost; };
        match-destinations    { localhost; };
        recursion yes;    // インターネット内の様々なドメイン名参照を許可するという意味

        // RFC1912で定義される localhost, localdomainの定義ファイル。BIND9のパッケージに含まれているもの。
        include "/etc/named.def";

        // all views must contain the root hints zone:
        // rootservers.defはroot name サーバーのIPアドレスを記録したファイル。
        zone "." IN {type hint; file "/etc/rootservers.def"; };

        zone "pilots.eva" {
            type master;
            file "/etc/pilots.eva.db";
        };

    // ローカルドメインといえど、きちんと逆引き定義はするのが吉。
        zone "1.168.192.in-addr.arpa" {
            type master;
            file "/etc/1.168.192.in-addr.arpa.zone.db";
        };
    };

    // イントラネット接続クライアント向けのリゾルバ定義。
    // 以下はイントラネット内のクライアントPC(Windows/Mac等)がDNS参照する場合に応答する部分の記述。
    view "internal_resolver"
    {
        match-clients      { localnets; };
        match-destinations   { localnets; };
        recursion yes;    // インターネット内の様々なドメイン名参照を許可するという意味

        // all views must contain the root hints zone:
        // rootservers.defはroot name サーバーのIPアドレスを記録したファイル。
        zone "." IN {type hint; file "/etc/rootservers.def"; };

    // 以下にローカルドメインを定義するファイルの所在を記述する
        zone "pilots.eva" {
            type master;
            file "/etc/pilots.eva.db";
        };

    // ローカルドメインといえど、きちんと逆引き定義はするのが吉。
        zone "1.168.192.in-addr.arpa" {
            type master;
            file "/etc/1.168.192.in-addr.arpa.zone.db";
        };
    };

    //以下はローカル利用の場合は不要。
    //公開サーバーを設置する場合のドメイン定義ファイルの所在は以下に記述する。
    view  "external_resolver"
    {
        match-clients      { !localnets; !localhost; };
        match-destinations   { !localnets; !localhost; };
        recursion no;     // BIND9の公開サーバーはnoがお約束。DDoS攻撃の踏み台化の防止がその理由。

        zone "." IN {type hint; file "/etc/rootservers.def"; };

    };


    正引きファイル:/var/named/chroot/etc/pilots.eva.db の例
    =====================================================
    $TTL 1H
    @    SOA   ns1.pilots.eva.   root.pilots.eva. ( 
                            24
                            3H
                            1H
                            1W
                            1H )
           IN   NS   @
    @      IN   A    192.168.1.10
    dns    IN   A    192.168.1.10
    www    IN   A    192.168.1.10
    rei     IN   A    192.168.1.11
    asuka   IN   A    192.168.1.12
    sinji    IN   A    192.168.1.13


    逆引きファイル:/var/named/chroot/etc/1.168.192.in-addr.arpa.zone.db の例
    =====================================================
    $TTL 86400
    @  IN  SOA  ns1.pilots.eva. root.localhost (
          1 ; serial
          28800 ; refresh
          7200 ; retry
          604800 ; expire
          86400 ; ttk
          )

      IN  NS  ns1.pilots.eva.
    2IN  PTR  mac.pilots.eva.
    3IN  PTR  xp.pilots.eva.
    5IN  PTR  vista.pilots.eva.
    10IN  PTR  www.pilots.eva.
    11IN  PTR  rei.pilots.eva.
    12IN  PTR  asuka.pilots.eva.
    13IN  PTR  sinji.pilots.eva.


    正引き・逆引きファイルは本来、/var/named/とかに保存管理するのが通例である。ここでは、設定のし易さを考慮して同一ディレクトリで保存するように記述してある。CentOSの場合ならchroot機能が働いているので、/var/named/chroot/var/named/ が本来の保存場所。named.confのパス名では、/var/named/chroot/ のオフセットが暗黙省略されている。
    zone定義について、BIND8の時は

    dns    IN   A    192.168.1.10
    www    IN   A    192.168.1.10
    ikari     IN   A    192.168.1.11
    gendou.ikari     IN   A    192.168.1.11
    yui.ikari     IN   A    192.168.1.11
    shinji.ikari     IN   A    192.168.1.11

    等と、1レベル深いサブドメインを同一の定義ファイルで記述できたが、BIND 9で上記のような2レベル混在なドメイン定義を行うとエラーになるようだ。virtual host定義で用いるサブドメインの定義はサブドメインのレベル(深度)を考慮しなくてはならない。yui.ikariのような(.)付きのサブドメインは別ファイルに分けて定義すべきである。

    逆引きファイルはcgi開発前提ならきちんと記述しておくのが当然。また、クライアント機のIPもきちんと割り当て定義しておくとよい。ログの検証・確認などの場合に役立つはずである。







Copyright(C) Satoshi Hanji 1997-2014. All Rights Reserved.