ほわいとのホームサーバー

Fedoraによるサーバ構築

Fedora シリーズ インストールメモ








Fedoraシリーズ の インストール

    一応,サーバとして立ち上げるのを目的としているので,カスタムでインストールするパッケージを選択する. デフォルトでインストールした場合は,インストール後に,必要なパッケージを入れる. 最近のFedoraは,インストールは容易.

    • postfix
    • vsftpd
    • httpd
    • samba
    • samba-winbind
    • perl
    • perl-CGI
    • ImageMagick
    • emacs

    などがある. 入っていれば問題なし. わたしが好むものはほかにも,

    • perl-Spreadsheet-ParseExcel
    • perl-Spreadsheet-WriteExcel
    • nkf
    • hdparm
    • hddtemp
    • tcsh
    • gcc
    • mariadb (mysql後継)
    • mongodb
    • nodejs

    などがある.

    ある程度使い方がわかってくれば,自分で追加するとよい. あとで追加する場合は,yum install emacs というように,yumによりインストールが可能.

    インストール時のパーティション切りは,おまかせもあるが,自分で設定している. おまかせにしたらどうなるんでしょう. 自分でパーティションを設定する場合は,下記のような感じが簡単.

    • /boot 4GB(4096MB)
    • swap 搭載メモリの倍くらい
    • / 残りすべて

    こんな感じである.

ユーザ情報のコピー

    新しいPCにFedoraをインストールした場合に,古いPCからユーザ情報をコピーしたいことがある. その場合,ユーザ情報とパスワードを比較的簡単にコピーできる.

    • 古いPCの /etc/passwd, /etc/shadow, /etc/group を,新しいPCのどこか見えるところにコピー
    • 新しいPCで groupadd, adduser を使って,グループとユーザを追加
    • 新しくできたユーザに対応するパスワードを,古い /etc/shadow の該当箇所を新しい /etc/shadow にコピー
    これでOK. Sambaのユーザのコピーを行いたい場合は,さらに次の手順を行う.
    • 古いPCで 'pdbedit -w ユーザ名 > hogehoge.smb' と実行して,Sambaのパスワードを取得
    • hogehoge.smb を,新しいPCのどこか見えるところ(たとえば /root)にコピー
    • 新しいPCで 'pdbedit -i smbpasswd:/root/hogehoge.smb' を実行して,パスワード情報を読み込み

    以上でOK.

SELinuxに対応した設定

    SELinuxでは,ディレクトリやファイルに,属性を設定する必要がある場合が多々ある. よく使いそうな,Maildirやhttpdでは,特に下記のように設定しておかないと,全然使えない. 「SELinuxを無効化しましょう!」というページはよく見受けられるが,あまりおすすめしない. できることなら,SELinuxを使いたい.

  • setsebool による設定

    setseboolコマンドで,セキュリティの設定をします. Fedora 19 から(18かも),設定の名称が少し変更になっています.

    • samba
        〜 Fedora 19 の場合 〜
      • setsebool -P smbd_anon_write on
      • setsebool -P samba_export_all_rw on
      • setsebool -P samba_enable_home_dirs on
        〜 Fedora 17 の場合 〜
      • setsebool -P allow_smbd_anon_write on
      • setsebool -P samba_export_all_rw on
      • setsebool -P samba_enable_home_dirs on
    • httpd
        〜 Fedora 19 の場合 〜
      • setsebool -P httpd_anon_write on
      • setsebool -P httpd_sys_scrit_anon_write on
      • setsebool -P httpd_enable_cgi on
      • setsebool -P httpd_can_sendmail on
      • setsebool -P httpd_read_user_content on
        〜 Fedora 17 の場合 〜
      • setsebool -P allow_httpd_anon_write on
      • setsebool -P allow_httpd_sys_script_anon_write on
      • setsebool -P httpd_enable_cgi on
      • setsebool -P httpd_can_sendmail on
      • setsebool -P httpd_read_user_content on
  • postfix, dovecot のMaildir, .forwardへの対応

      下記のように属性を設定する.設定が違うと,メールの受信ができない.

    • chcon -R system_u:object_r:user_home_t:s0 /home/*/Maildir
    • chcon system_u:object_r:user_home_t:s0 /home/*/.forward
  • httpd 用のファイルへの対応(DocumentRootが/var/wwwの場合)

      下記のように属性を設定する.設定が違うと,ウェブページを公開できない.

    • ウェブページの基本属性
      • chcon -R system_u:object_r:httpd_sys_content_t:s0 /var/www/html
    • CGIスクリプト等
      • chcon -R system_u:object_r:httpd_sys_script_exec_t:s0 /var/www/cgi-bin
    • 書き込み可能なファイル
      • chcon system_u:object_r:httpd_sys_rw_content_t:s0 ファイル
      • chcon system_u:object_r:httpd_sys_script_rw_t:s0 ファイル
dovecotの設定

    Fedora 14 から,POP・IMAPサーバのdovecotの設定が,/etc/dovecot.conf ではなく,/etc/dovecot/conf.d/ の下に分散された. そのため,設定を修正する.

    • /etc/dovecot/conf.d/10-auto.conf の設定
      disable_plaintext_auth = no
      auth_mechanisms = plain login
    • /etc/dovecot/conf.d/10-mail.conf の設定
      mail_location = maildir:~/Maildir
    • /etc/dovecot/conf.d/10-master.conf の設定
      unix_listener /var/spool/postfix/private/auth {
      mode = 0666
      user = postfix
      group = postfix
      }
firewalldによるファイアウォール設定

    気付いたら,iptablesじゃなくて,firewalldでのファイアウォールとなっていた. 名前はわかりやすい.

    それで,設定方法をメモメモ.

      	firewall-cmd --get-services (利用可能なサービスの確認)
      	firewall-cmd --list-services (有効なサービスの確認)
      	firewall-cmd --permanent --add-service=samba (サービスを追加)
      	firewall-cmd --add-port=8080/tcp (ポートを追加)
            
yumによるアップデート

    Fedora では,Windows Updateのような感じで,自動でアップデートパッチをダウンロード&インストールできる. それには,yumというコマンドを利用する.

      	yum -y update
            

    プロキシサーバを利用する場合には,先に http_proxy を設定しておく.

      	export http_proxy=http://xxxx.xxxx.xxxx.xxxx:port/
      	yum -y update
            

    プロキシサーバの認証が必要であれば,次のように設定する.

      	export http_proxy=http://user:pass@xxxx.xxxx.xxxx.xxxx:port/
      	yum -y update
            

    新しいFedoraでは,/etc/yum.conf に,proxyを記述するようだ. yum.conf の最終行あたりにでも,下記の一文を入れる.

      	proxy=http://user:pass@xxxx.xxxx.xxxx.xxxx:port/
            

    その後,yum -y update を実行する.

yumによるアップグレード

    Fedora は,半年くらいでアップグレードされている. 2010年11月には,14がリリースされた. そのアップグレードにも,yumを利用できる.

    Fedora 13 から Fedora 14 へアップグレードするには,下記のようにする.

      	yum clean all
      	wget http://ftp.riken.go.jp/Linux/fedora/releases/14/Fedora/x86_64/os/Packages/fedora-release-14-1.noarch.rpm
      	rpm -Uvh fedora-release-14-1.noarch.rpm
      	yum -y upgrade
            

    プロキシサーバを利用する場合には,yumによるアップデートと同じように,プロキシの設定をした後,yum -y upgrade を実行する.
    上記の最後の yum でエラーが出た場合には,エラーとなったパッケージを rpm -e xxxx として,削除してから再度 yum を実行する.

    その後の新しいバージョンでも,'fedora-release-' というアップデート用のファイルがある. ウェブで調べてダウンロードすれば,アップデート可能(かも).

fedupによるアップグレード

    気付いたら,fedupというアップグレードに便利なコマンドがあった. それを使うと,yumより簡単にアップグレードできる.

    Fedora 19 から Fedora 20 へアップグレードするには,下記のようにする.

      	yum install fedup
      	yum update fedora-release
      	yum clean all
      	fedup --network 20
            

    いやはや,簡単.

最終更新日時 : 2015年 6月10日(水) 23時44分34秒