Home Linux / CentOS 6.3 TipsScientific Linux 7.6 の利用について 

Linux 7.6 / Scientific Linux 7.6 Tips

WWW鯖あるいはcgi開発鯖として Scientific Linux 7.6 を設定する手順の備忘録です。

    目次

    ①インストール
    ②Scientific Linux 7.6の設定に関する留意点
    ③sshdの設定
    ④FTP(vsftpd)の設定
    ⑤SAMBA(CIFS)の設定
    ⑥httpd Apacheの設定
    ⑦Windows 10 Proffessionalの設定
    ⑧Linuxのコマンド類


  1. インストール

  2. ・ISOファイルを(SL-76-x86_64-2018-12-09-LiveDVDgnome.iso)を理研のFTPサイトからダウンロードする。
    ・三種類(DVD/倍密DVD/BD)のISOファイルがある。ここではDVD-Rに焼き込めるLiveDVD。gnome版を使用する。
    ・このLive版は本来DVDのみで起動するポータブル版であるが、新規でHDDへインストールする。

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

  3. Scientific Linux 7.6の設定に関する留意点

  4. ・主なdaemon類は自動起動設定されていません。自動起動設定はsystemctlコマンドで設定します。
     以前Linux6.xまでは/etc/rc.d/init.d/httpd restartのような設定でしたがsystemd移行で今後は用いません。

     #systemctl enable デーモン名 (デーモンを自動起動設定する)
     #systemctl start デーモン名 (デーモンを起動する)
     #systemctl restart デーモン名 (デーモンを再起動する)
     #systemctl stop デーモン名 (デーモンを停止する)

    ・インターネットアクセスするdaemon類はfirewallでブロックされています。ブロック解除はfirewall-cmdコマンドで行います。

     #firewall-cmd --add-service=デーモン名 --parmanent(デーモンを永続的にNET透過させる)
     #firewall-cmd --list-all (設定状況を確認する)

  5. sshdの設定

  6. ・VIVE DVDではsshdはプリ・インストール済み。しかし設定無しでは利用できない。
    ・systemctlコマンドで自動起動設定する。
     #systemctl enable sshd

    ・firewallコマンドでネットブロックを解除する。
     #firewall-cmd --add-service=sshd --parmanent

  7. FTP(vsftpd)の設定

  8. ・vsftpdはVIVE DVDでがプリ・インストールされない。yumコマンドで手動でインストールする。
     #yum -y install vsftpd

    ・systemctlコマンドで自動起動設定する。
     #systemctl enable vsftpd

    ・firewallコマンドでネットブロックを解除する。
     #firewall-cmd --add-service=vsftpd --parmanent

    ・ただしデフォルトの設定だとanonymous設定で起動されるのでcgi等の転送には不向き。
    /etc/vsftpd/vsftpd.conf の11行目、のanonymous_enable設定をYES→NOに変更するだけでユーザ認証に切り替わる。

    anonymous_enable =YES → NO

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

  10. ①sambaのインストール
     #yum -y install samba samba-common

    ②sambaユーザのIDとパスワードの登録
     #pdbedit -a ユーザ名 (LinuxのユーザIDとは別個の設定)

    ③sambaデーモンの自動起動設定
     #systemctl enable smb
     #systemctl enable nmb

    ④sambaデーモンのファイアウォール透過設定
     #firewall-cmd --add-service=smb --parmanent
     #firewall-cmd --add-service=nmb --parmanent

    sambaサーバーの設定はrootログインかsuコマンドでroot権限取得後に行う。
    次に/etc/samba/smb.confを書き換えてsambaのディレクトリパスなどの設定を行う。
    smbpasswdで接続ユーザーとパスワードを設定する。
    以下は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

  11. httpd Apacheの設定

  12. ・LIVE DVDではsshdはプリ・インストール済み。しかし設定無しのままでは利用できない。
    ・systemctlコマンドで自動起動設定する。
     #systemctl enable httpd

    ・firewallコマンドでネットブロックを解除する。
     #firewall-cmd --add-service=httpd --parmanent

  13. 開発言語

  14. Live DVD版では perl, ruby, python, PHPなどはインストール済み。
  15. Reboot/シャットダウン

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


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


  17. tar

  18. 圧縮
    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形式のファイルの解凍&展開。


  19. postfix の設定メモ

  20. 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 を リスタートする。

  21. 時刻合わせ

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


  23. gcc のインストール

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

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

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

  25. Appache

  26. 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



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

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

  29. BIND9のインストール

  30. yum install -y bind
    yum install -y bind-chroot

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

  32. 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.