IT pass HikiWiki - [Memo2014][ITPASS]サーバ構築に関する覚書 Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

{{toc_here}}

= 概要

((<URL:#サーバ構築作業時の注意>))に, 今年度の構築作業の変更点を記述している.

((<URL:#サーバー構築マニュアル作成用の覚書>))には, 今年度の構築作業には反映する必要はないが, 来年度用のマニュアルを作る際に修正を検討すべき点を記述している.

= サーバ構築作業時の注意

== 基本システム・ハードウェアチェック
=== [ITPASS2012]不要なネットワークサービスを止める

* cups も止めるようにする
   # insserv -r cups       <- プリンタ管理サービス
   # /etc/init.d/cups stop
  なお, マニュアルでは cupsys も止めるような記述があるが, cupsys はすでに提供されていないので, 削っても良いと思われる

=== [ITPASS2012]debianパッケージの引き継ぎ

* (今年度のみ)古いサーバーが 32 bit 版なので, そこから持ってきたパッケージ一覧にも :i386 と付いたものが含まれる
  インストール時に問題になった場合は, :amd64 と変更するか, 削除すると良い

=== [ITPASS2012]システムログの保管期間を 3 ヶ月にする

* /etc/logrotate.d/rsyslog 内の
   invoke-rc.d rsyslog reload > /dev/null
  を
   invoke-rc.d rsyslog rotate > /dev/null
  に修正する

== Wiki

=== Hiki のインストールと設定

* Hiki のインストール

   # apt-get install bundler ruby-dev libmysqld-dev
   # rehash        (bash では不要)
   # cd /usr/local/
   # git clone https://github.com/hiki/hiki.git
   # cd hiki
   # bundle install
   # ln -s hikiconf.rb.sample  hikiconf.rb.sample.ja

* hiki の環境設定
  Table を使えるようにするための設定
  ika-itpass の ~murashin/hiki-update-files/table_form_rd.rb をとってきて,以下の場所におく
   # cp table_form_rd.rb /usr/local/hiki/misc/plugin/

  ika-itpassの ~murashin/hiki-update-files/ から以下のファイルをとってきて,同じ場所に置く
   /usr/local/hiki/hiki/session.rb
   /usr/local/hiki/plugin/00default.rb

* rdtool と rttool のインストール
   # aptitude install rdtool rttool
  rttoolはruby 1.8のインストール場所にインストールされてしまうので、無理矢理1.9.1のところにコピーする
   # cp -r /usr/lib/ruby/1.8/rt /usr/lib/ruby/1.9.1/
   # cp -r /usr/lib/ruby/1.8/rd /usr/lib/ruby/1.9.1/

  ika-itpass の ~murashin/hiki-update-files から以下のファイルをとってきて,同じ場所に置く
   /usr/local/hiki/style/rd+/html_formatter.rb
   /usr/local/hiki/style/rd+/rd2html.rb

  ika-itpassの ~murashin/hiki-update-files/hikisetup を /usr/local/bin にインストールする


#=== [ITPASS2012]Hikiのインストールと設定
#
#* table_form_rd.rb の文字コードを UTF-8 に変更する. 来年度以降は, UTF-8 に変更したものをダウンロードできるようにしておく
#* 設置した table_form_rd.rb の 80 行目の lines.each を lines.each_line に書き換える
#
#=== [TEBIKI]Hikiのページ毎の基本設定
#==== 文字コードの設定
#マニュアルでは
# # ページのキャラクタセット【オプション】
# @charset         = 'EUC-JP'
#となっているが, EUC-JP ではなく UTF-8 にする

== ユーザ管理

=== [ITPASS2012]bindのインストールと設定
==== ユーザとグループ追加
* bind ユーザー, グループの id を 100-999 の間の番号にする
  * 空いている番号なら何番でもよいが, ここでは仮に 153 としておく
  * 現在は 53 だが, 100 番以下は Debian のシステム用の番号であり, wheezy へのアップグレード時に警告が出たので
    * Debian のバージョンが上がるたびに同じ警告が出る可能性が高い

=== gate の設定

#以下は ((<[Memo2014][ITPASS]サーバアップグレード(ika)>)), [itpass 7938] の内容である.
以下には ((<[Memo2014][ITPASS]サーバアップグレード(ika)>)), [itpass 7938] の内容が書いてあったが, サーバー再構築作業時に必要ない部分はコメントアウトした.

==== [Memo2014][ITPASS]サーバアップグレード(ika)

* libperl4-corelibs-perl が入っていなければインストールする
#
#* [itpass 7849] gateのためのwrapperプログラム のメール添付ファイルをコンパイルする
#* /usr/local/gate/bin の以下のファイル名の末尾に.plを付ける
# gate-user-accept
# gate-user-apply
# gate-user-authkey-list
# gate-user-authkey-lock
# gate-user-authkey-unlock
# gate-user-renew
# gate-user-withdraw
#* コンパイルしたファイル (gate-user-show) を /usr/local/gate/bin 以下に置く
#  * このファイルの所有者は gate:gate, パーミッションは 2755 とする
#* 動作テスト
#  gate-user-show
#  * エラーが出た場合は libperl4-corelibs-perl をインストールする
#* gate-user-show ファイルをコピーして, 以下のファイル名に変更する
# gate-user-accept
# gate-user-apply
# gate-user-authkey-list
# gate-user-authkey-lock
# gate-user-authkey-unlock
# gate-user-renew
# gate-user-withdraw
#* gate の GUI から動作テストすると, 以下のような不具合が出る
#  * 「更新/変更」を押し, ログインしたところ, 何も表示されない
#  * 文字化けする
#* 以下の作業を行うと蒸気問題は解決する
#  * wrapperプログラムの不備を解消する
#  * wrapperプログラムを setuid gate する (モードを 2755、所有者を gate:gate にする)
#  * gate-common.plでhtmlの文字コードを指定するようにする
#  * mailサーバとしてqmailでなくexim4を使うようになってしまっていたのでqmailを使うようにする (((<参考ページ|URL:https://itpass.scitec.kobe-u.ac.jp/hiki/hiki.cgi?[ITPASS2012]qmail%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%A8%E8%A8%AD%E5%A#E%9A#sendmail+-E3-81-AE-E3-80-8C-E7-BD-AE-E3-81-8D-E6-8F-9B-E3-81-88-E3-80-8D>)))
#* 加えて以下の作業をする
#  * libjcode-perlの代わりにlibjcode-pm-perlを使うように変更する
#
#==== [itpass 7938] gateのメールが文字化けする
#* 作業内容不明

=== [ITPASS2012]gate-toroku-systemのインストールと設定

* /usr/local/gate/sbin/gate-db-to-sudoers を Defaults で始まる 4 行を追加し, 以下のようにする

# This is /etc/sudoers file, generated by gate-db-to-sudoers.
# If you are to edit this file, do not edit it directly.
  
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/
Defaults        mailfrom=root

root   ALL=(ALL) ALL








= サーバー構築マニュアル作成用の覚書

来年度用構築マニュアル作成時に反映する内容.
#構築作業中に気付いたことがあれば追記してください.


== 全体

* /etc/init.d/hogehoge を実行しているところは service コマンドを使うようにする
* update-rc.d コマンドは insserv に置き換える
  * [ITPASS2012]apache2のインストールと設定
  * [ITPASS2012]tcpserverのインストールと設定
* Internet Archive から取得しているところは, できるだけ ITPASS サーバー上に置き, そこからとるようにする
* 「[ITPASS2012]debianパッケージの引き継ぎ」を「[ITPASS2012]APT の設定」の直後に行うように順番を入れ替える
* 「[ITPASS2012]gate-toroku-systemのインストールと設定」の「日々の開発・メンテナンスのための準備」の段落は必要がないため削除する



== 基本システム・ハードウェアチェック
=== [ITPASS2012]不要なネットワークサービスを止める

* rpcbind も止めるようにする
   # insserv -r rpcbind       <- プリンタ管理サービス
   # /etc/init.d/rpcbind stop

=== [ITPASS2012]構築作業用アカウント
==== テストユーザの削除

deluser コマンドの設定を以下のように書き換えているが, 元に戻していない.
意図してそのようにしているのでなければ, 戻した方がいいのではないだろうか.

/etc/deluser.conf を以下のように書き換える.
  REMOVE_HOME = 1
  REMOVE_ALL_FILES = 1

== Mail
=== [ITPASS2012]qmailのインストールと設定
==== ソース・パッチの取得
* 「ここでコマンドを実行した際に以下のエラーが出た場合, 次の作業を行う」について
  * エラーが出ることは確実なので, 最初から「エラーが出た場合」のコマンドを実行するように変更する

=== [ITPASS2012]ezmlmのインストールと設定
==== ezmlm-idx のインストール
* ダウンロード先を http://untroubled.org/ezmlm/ にする
  * 現在は www.ezmlm.org が消えてしまったので, Internet Archive から取得している
  * www.ezmlm.org に記載された github のページを見ると, untroubled.org へのリンクがあるので, untroubled.org がおそらく現在の公式ページなのだろう
* バージョンの変更も検討したい (0.444 or 7.0.2)
  * 7.0.2 の場合は, 動作や設定が変わっていないか注意が必要と思われる

=== [ITPASS2012]fail2ban のインストールと設定
==== failregex の追加

* fail2ban のフィルターの動作確認方法を追加したい
  構築時には必要はないが, フィルターを追加するときなどに参照できると良いと思うので

  例:
  対象のログファイル (ここでは /var/log/auth.log) 内にフィルター対象の行があることを確認し, 以下のコマンドを実行する
   # fail2ban-regex /var/log/auth.log /etc/fail2ban/filter.d/sshd.conf
表示内容を確認し, フィルターにかかっていることを確認する.

== Wiki
=== [TEBIKI]Hikiのページ毎の基本設定
==== 編集ユーザのパスワードを各自で設定可能にする
* ユーザ www-data になってから… の後の
    $ crontab -e
  を
    # crontab -u www-data -e
  に変更する

  また, ユーザ www-data になって...の記述は必要なくなるので削除する

== サーバ交換
=== [ITPASS2012]サーバ交換作業
==== 追加事項

* LANG を変更する設定作業があるが, サーバ交換時に行う理由が分からないので, 他に適当なマニュアルがあればそこに移したい




= 参考資料

* ((<[Memo2014][ITPASS]サーバアップグレード(ika)>))
* ((<[Memo2014][ITPASS]サーバアップグレード(tako)>))
* ((<hiki 1.0.0 install log|URL:http://www.gfd-dennou.org/member/murashin/memo/hiki-1.0.0-install-log.html>))