[Memo2016][ITPASS]サーバ交換作業(WWW)
WWW 班ログ
塩尻, 宮階で作業を行った.
phase 0 (準備)
WWW 班は特に作業を行っていない.
phase 1 (入替え開始)
WWW 班は特に作業を行っていない.
phase 2 (tako の root ログイン許可)
WWW 班は特に作業を行っていない.
phase 3 (ika から tako へ各種データをコピー)
WWW 班は特に作業を行っていない.
phase 4 (root ログイン禁止)
WWW 班は特に作業を行っていない.
phase 5 (tako, ika の交換: 設定ファイルの変更)
ホスト名と IP アドレスの変更
各種設定ファイルに存在する,ika と tako のホスト名と IP アドレスを入れ替えた. 編集の際は元のファイルを hoge_old としてバックアップを取った.
- ホスト名の変更
- 編集したファイル
- /etc/hostname
- /etc/hosts
- /etc/mailname
- /etc/gate/gate.conf
- /etc/exim4/update-exim4.conf.conf
上記の場所以外にも古い名前が残っていないか
# grep tako (または ika) /etc/* # grep tako (または ika) /etc/*/*
などで検索しながら作業する. 検索すると, ディレクトリですとメッセージが大量に出るので /* を増やして検索する.
- ssh の公開鍵は消去されるので, そのままで良い.
- /etc/hosts に関しては新 ika では tako, 新 tako では ika と書き換えた.
- 編集したファイル
- IP アドレスの変更
- /etc/hosts と /etc/network/interfaces 内の IP アドレスを入れ替えた.
ただし, /etc/network/interfaces の dns-nameservers は ika, tako いずれも133.30.109.22 とする. /etc/hosts の address の項目も忘れない.
phase 6
- ネットワークを再起動する
# /etc/init.d/networking restart
phase 7 (サービスの設定変更)
ここからホスト名が入れ替わっているので注意すること.
ika の WWW などの設定変更 (担当: 新 WWW 班)
[ITPASS2015]サービスの開始・停止 を参考に, 以下のサービスが永続的に立ち上がるように設定.
- apache2
- openbsd-inetd
# systemctl enable apache2 $ cd /etc/init.d # insserv -d openbsd-inetd # chmod 755 openbsd-inetd
- ika から tako へ /home 領域を rsync した際に, /home/itpass/hiki/cgi の下にあるファイルの設定が元に戻ってしまっているので, 以下のファイルを次のように書き換える.
hiki.cgi
- すでに変更後の状態だった.
#!/usr/bin/ruby -I/usr/local/hiki load '/usr/local/hiki/hiki.cgi'
- hikiconf.rb の最後の方
書き換え前
### BEGIN: CREATED BY DEBIAN HIKISETUP ### @data_path = '/home/itpass/hiki/data' @plugin_path = '/usr/local/hiki/plugin' @template_path = '/usr/local/hiki/template' @cgi_name = 'hiki.cgi' ### END: CREATED BY DEBIAN HIKISETUP ###
書き換え後
### BEGIN: CREATED BY DEBIAN HIKISETUP ### @data_path = '/home/itpass/hiki/data' @plugin_path = '/usr/local/hiki/plugin' @template_path = '/usr/local/hiki/template' @cgi_name = 'hiki.cgi' @lang = 'ja' ### END: CREATED BY DEBIAN HIKISETUP ###
phase 8 (OS 再起動)
OS を再起動する.
# reboot
phase 9 (再起動後の動作確認)
サービスの起動確認
ps aux コマンドで以下の確認作業を行う.
- ika
- http (https) が起動していることを確認した.
- tako
- http (https) が起動していないことを確認.
- ブラウザで https://tako-itpass.scitec.kobe-u.ac.jp/ にアクセスし, 各ページが正常に表示されないことを確認した.
サービスの動作確認
ika
- http: ブラウザで https://ika-itpass.scitec.kobe-u.ac.jp/ にアクセスし, 各ページが正常に表示されることを確認できなかった.
エラー内容
cannot load such file -- hiki/config (LoadError) /usr/lib/ruby/2.1.0/rubygems/core_ext
/kernel_require.rb:55:in `require'
/usr/lib/ruby/2.1.0/rubygems/core_ext /kernel_require.rb:55:in `require'
/usr/local/hiki/hiki.cgi:19:in `<top (required)>' /home/itpass/public_html/hiki/hiki.cgi:2:in `load' /home/itpass/public_html/hiki/hiki.cgi:2:in `<main>'
- 研究室ページも所々見れない.
- URL に .ja を付けると見れる.
- /usr/local/apache2/conf/httpd.conf に間違いがあった.
- mod_negotiation がコメントアウトされていた.
- コメントアウトを外したところ研究室のページは閲覧可能に.
- tako と ika で diff を取り, ファイルを修正した.
- socache_shmcb_module
- コメントアウト(70 行目)
- cache_module
- コメントアウトを外した(85 行目)
- rewrite_module
- そのまま
- cgid_module
- mod_cgi.so の文を追加(149 行目)
- socache_shmcb_module
- しかし Hiki エラー のまま
- mod_negotiation がコメントアウトされていた.
- /home/epalab/public_html/hiki.cgi を書き換えた.
- 一行目を /usr/local/hiki/lib に変更した.
エラー
undefined method `hiki_menu' for #<Hiki::Plugin:0x00000000c7f808> (NoMethodError) /usr/local/hiki/lib/hiki/command.rb:172:in `generate_error_page' /usr/local/hiki/lib/hiki/command.rb:138:in `rescue in dispatch' /usr/local/hiki/lib/hiki/command.rb:103:in `dispatch' /usr/local/hiki/hiki.cgi:36:in `block in <top (required)>' /usr/local/hiki/lib/hiki/storage/base.rb:13:in `open_db' /usr/local/hiki/hiki.cgi:34:in `<top (required)>' /home/epalab/public_html/hiki/hiki.cgi:2:in `load' /home/epalab/public_html/hiki/hiki.cgi:2:in `<main>'
- hiki_menu がどこにあるか探す
- /usr/local/hiki/lib/hiki/plugin/00default にある.
- ika では /usr/local/hiki/lib/hiki/command.rb で require されている.
- tako では /usr/local/hiki/hiki/command.rb で require されている.
- /usr/local/hiki/lib/hiki/plugin/00default にある.
- 試しに command.rb に以下を追加
- require "hiki/plugin/00default"
- エラーだったので消去
エラー内容
cannot load such file -- hiki/config (LoadError)
/usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/hiki/hiki.cgi:19:in `<top (required)>' /home/itpass/public_html/hiki/hiki.cgi:2:in `load' /home/itpass/public_html/hiki/hiki.cgi:2:in `<main>'
(12/5 ここまで)
phase 9 (再起動後の動作確認)
サービスの動作確認
研究室の hiki ページ(村上真也さんに作業していただいた)
- ~epalab/hiki/cgi/hikiconf.rb を編集
@plugin_path = '/usr/local/hiki/plugin' を @plugin_path = '/usr/local/hiki/misc/plugin' と編集してもエラー変わらず, #@plugin_path = '/usr/local/hiki/misc/plugin' とコメントアウトして成功.
- 編集前のファイルは以下の場所に
~epalab/hiki/cgi/hikiconf.rb-20161206-murashin
itpass の hiki ページ
- /home/itpass/hiki/cgi/hikiconf.rb, ~itpass/hiki-secret/cgi/hikiconf.cgi を編集
@plugin_path = '/usr/local/hiki/plugin' をコメントアウトし, #@plugin_path = '/usr/local/hiki/misc/plugin' とした.
- ~itpass/public_html/hiki/hiki.cgi, ~itpass/public_html/hiki/hiki.cgi を編集
- 一行目の末尾に /lib を追加した.
- itpass の Hiki ページが見れるようになった.
- 各 Hiki への書き込みテスト
- 書き込めた
Hiki 修正し忘れの修正(bldg3)
/home/bldg3/hiki/cgi/hiki.cgi を以下のように変更
#!/usr/bin/ruby -I/usr/local/hiki
>
- #!/usr/bin/ruby -I/usr/local/hiki/lib
/home/bldg3/hiki/cgi/hikiconf.rb を以下のように変更
@plugin_path = '/usr/local/hiki/plugin'
#@plugin_path = '/usr/local/hiki/plugin'
/etc/hosts の書き換え
- 2015 年度のマニュアルに間違いがあった.
- /etc/hosts に関しては新 ika では tako, 新 tako では ika と書き換えると記載があったが, 新 ika では ika, 新 tako では tako とそれぞれの IPアドレスに対応させて書く.
- IP アドレスと名前が対応しているか確認する.
httpd.conf
shiojich@ika-itpass:/usr/local/apache2/conf$ sudo diff -u original/httpd.conf httpd.conf [sudo] password for shiojich: --- original/httpd.conf 2016-11-02 11:31:35.304212645 +0900 +++ httpd.conf 2016-12-06 17:40:50.943066089 +0900 @@ -16,7 +16,6 @@ # with "/", the value of ServerRoot is prepended -- so "logs/access_log" # with ServerRoot set to "/usr/local/apache2" will be interpreted by the # server as "/usr/local/apache2/logs/access_log", whereas "/logs/access_log" -# will be interpreted as '/logs/access_log'. # # ServerRoot: The top of the directory tree under which the server's @@ -82,7 +81,7 @@ #LoadModule auth_digest_module modules/mod_auth_digest.so #LoadModule allowmethods_module modules/mod_allowmethods.so #LoadModule file_cache_module modules/mod_file_cache.so -#LoadModule cache_module modules/mod_cache.so +LoadModule cache_module modules/mod_cache.so #LoadModule cache_disk_module modules/mod_cache_disk.so #LoadModule cache_socache_module modules/mod_cache_socache.so #LoadModule socache_shmcb_module modules/mod_socache_shmcb.so @@ -128,7 +127,7 @@ #LoadModule session_cookie_module modules/mod_session_cookie.so #LoadModule session_dbd_module modules/mod_session_dbd.so #LoadModule slotmem_shm_module modules/mod_slotmem_shm.so -#LoadModule ssl_module modules/mod_ssl.so +LoadModule ssl_module modules/mod_ssl.so #LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so #LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so #LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so @@ -138,16 +137,18 @@ LoadModule status_module modules/mod_status.so LoadModule autoindex_module modules/mod_autoindex.so #LoadModule info_module modules/mod_info.so -#LoadModule cgid_module modules/mod_cgid.so +LoadModule cgid_module modules/mod_cgid.so #LoadModule dav_fs_module modules/mod_dav_fs.so #LoadModule vhost_alias_module modules/mod_vhost_alias.so -#LoadModule negotiation_module modules/mod_negotiation.so +LoadModule negotiation_module modules/mod_negotiation.so LoadModule dir_module modules/mod_dir.so #LoadModule actions_module modules/mod_actions.so #LoadModule speling_module modules/mod_speling.so -#LoadModule userdir_module modules/mod_userdir.so +LoadModule userdir_module modules/mod_userdir.so LoadModule alias_module modules/mod_alias.so -#LoadModule rewrite_module modules/mod_rewrite.so +LoadModule rewrite_module modules/mod_rewrite.so +#LoadModule rewrite_module modules/mod_userdir.so +LoadModule cgid_module modules/mod_cgi.so <IfModule unixd_module> # @@ -158,8 +159,8 @@ # It is usually good practice to create a dedicated user and group for # running httpd, as with most system services. # -User daemon -Group daemon +User www-data +Group www-data </IfModule> @@ -180,7 +181,7 @@ # e-mailed. This address appears on some server-generated pages, such # as error documents. e.g. admin@your-domain.com # -ServerAdmin you@example.com +ServerAdmin itpadmin@itpass.scitec.kobe-u.ac.jp # # ServerName gives the name and port that the server uses to identify itself. @@ -189,7 +190,7 @@ # # If your host doesn't have a registered DNS name, enter its IP address here. # -#ServerName www.example.com:80 +ServerName itpass.scitec.kobe-u.ac.jp:80 # # Deny access to the entirety of your server's filesystem. You must @@ -213,8 +214,8 @@ # documents. By default, all requests are taken from this directory, but # symbolic links and aliases may be used to point to other locations. # -DocumentRoot "/usr/local/apache2/htdocs" -<Directory "/usr/local/apache2/htdocs"> +DocumentRoot "/home/itpass/public_html" +<Directory "/home/itpass/public_html"> # # Possible values for the Options directive are "None", "All", # or any combination of: @@ -236,10 +237,12 @@ # AllowOverride None + Order deny,allow + # # Controls who can get stuff from this server. # - Require all granted + Require all granted </Directory> # @@ -247,7 +250,7 @@ # is requested. # <IfModule dir_module> - DirectoryIndex index.html + DirectoryIndex index.html index.htm index.htm.en index.html.en index.htm.ja index.html.ja </IfModule> # @@ -265,7 +268,7 @@ # logged here. If you *do* define an error logfile for a <Virtual Host> # container, that host's errors will be logged there and not here. # -ErrorLog "logs/error_log" +ErrorLog "/var/log/httpd-error.log" # # LogLevel: Control the number of messages logged to the error_log. @@ -294,13 +297,13 @@ # define per-<VirtualHost> access logfiles, transactions will be # logged therein and *not* in this file. # - CustomLog "logs/access_log" common + # Customlog "logs/access_log" common # # If you prefer a logfile with access, agent, and referer information # (Combined Logfile Format) you can use the following directive. # - #CustomLog "logs/access_log" combined + CustomLog "logs/access_log" combined </IfModule> <IfModule alias_module> @@ -339,16 +342,16 @@ # ScriptSock: On threaded servers, designate the path to the UNIX # socket used to communicate with the CGI daemon of mod_cgid. # - #Scriptsock cgisock + Scriptsock cgisock </IfModule> # # "/usr/local/apache2/cgi-bin" should be changed to whatever your ScriptAliased # CGI directory exists, if you have that configured. # -<Directory "/usr/local/apache2/cgi-bin"> - AllowOverride None - Options None +<Directory "/usr/local/apache2/cgi-bin/"> + AllowOverride AuthConfig Limit + Options +ExecCGI +FollowSymLinks +IncludesNoExec Require all granted </Directory> @@ -385,7 +388,7 @@ # To use CGI scripts outside of ScriptAliased directories: # (You will also need to add "ExecCGI" to the "Options" directive.) # - #AddHandler cgi-script .cgi + AddHandler cgi-script .cgi # For type maps (negotiated resources): #AddHandler type-map var @@ -454,16 +457,16 @@ #Include conf/extra/httpd-autoindex.conf # Language settings -#Include conf/extra/httpd-languages.conf +Include conf/extra/httpd-languages.conf # User home directories -#Include conf/extra/httpd-userdir.conf +Include conf/extra/httpd-userdir.conf # Real-time info on requests and configuration #Include conf/extra/httpd-info.conf # Virtual hosts -#Include conf/extra/httpd-vhosts.conf +Include conf/extra/httpd-vhosts.conf # Local access to the Apache HTTP Server Manual #Include conf/extra/httpd-manual.conf @@ -480,7 +483,7 @@ </IfModule> # Secure (SSL/TLS) connections -#Include conf/extra/httpd-ssl.conf +Include conf/extra/httpd-ssl.conf # # Note: The following must must be present to support # starting without SSL on platforms with no /dev/random equivalent @@ -491,3 +494,68 @@ SSLRandomSeed connect builtin </IfModule> + # +# Setting for Hiki Area +# +<Directory "/home/epalab/public_html/hiki"> + AllowOverride ALL + Options -MultiViews +</Directory> + +<Directory "/home/itpass/public_html/hiki"> + AllowOverride ALL + Options -MultiViews +</Directory> + +<Directory "/home/aoelab/public_html/hiki"> + AllowOverride ALL + Options -MultiViews +</Directory> + +<Directory "/home/chikuwa2/public_html/hiki"> + AllowOverride ALL + Options -MultiViews +</Directory> + +<Directory "/home/chikuwa3/public_html/hiki"> + AllowOverride ALL + Options -MultiViews +</Directory> + + +<Directory "/home/itpass/public_html/hiki-secret"> + AllowOverride ALL + Options -MultiViews +</Directory> + +<Directory "/home/uwabami/public_html/hiki"> + AllowOverride FileInfo AuthConfig Limit Indexes Options=ExecCGI,FollowSymlinks + Options -MultiViews +</Directory> + +<Directory "/home/bldg3/public_html/hiki"> + AllowOverride ALL + Options -MultiViews +</Directory> + +<Directory "/home/fourtran/public_html/hiki"> + AllowOverride FileInfo AuthConfig Limit Indexes Options=ExecCGI,FollowSymlinks + Options -MultiViews +</Directory> + +<Directory "/home/itpass/public_html/hiki-IPtable"> + AllowOverride ALL +</Directory> +</Directory> + +<Directory "/home/yot/public_html/hiki"> + AllowOverride FileInfo AuthConfig Limit Indexes Options=ExecCGI, FollowSymlinks +</Directory> + +<Directory "/home/okazakis/public_html/hiki"> + AllowOverride FileInfo AuthConfig Limit Indexes Options=ExecCGI,FollowSymlinks + Options -MultiViews +</Directory> + +# uncomment out the below to deal with user agents that deliberately + # violate open standerds by misusing DNT (DNT *must* be a specific + # end-user choice)
Keyword(s):
References:[[ITPASS2016]2016年度サーバ構築ログ]