コンピュータ

PC設定覚え書き

このwebサーバー機の現況

 現在、このwebサーバー機のOSはDebian7で安定して動作しています。
アップデートはちょくちょく出ていますが、apache、owncloud関係も何回か出ました。
owncloudのアップデートがapacheのそれより先に出て、apacheとphpの依存関係にも問題を起こさずupdate出来る、と思っていたのですが、
考えが甘かったようです・・・
apacheやphpのアップデートより先にowncloudアップデートは出ませんでした。
そしてapacheやphpのアップデートを当てた直後は、今までと同様にwebページが閲覧不能になってしまいました!
原因はapache上でphpファイルが実行できない状況になるからだと思います。
apacheは動いていて、index.htmlのようなファイルは閲覧させられるんです。
そこまでは分かったので、アップデート後なぜか無効になっていたmod-phpを再度有効に戻してみると、今度はapacheがエラーを出してapache自身起動しなくなってしまいました。
そこで、自己流でやってみたのがphp5の再インストールでした。
php5 php5-cgi libapache2-mod-php5 php5-common php-pearをapt-getで再インストールしてみました。
その後mod-phpを有効にしましたが、今度はapacheはエラーを出さずphpファイルを表示できるようになりました!
アップデートによって、apache上でのphpの動かし方が変わったのでしょうから、正しい対処の仕方ではないような気もします。
分からないからapacheやphpのアップデートはしないというのも、セキュリティ上やはり良くないと思われます。
しばらく、apache、php関係のアップデートに関しては、こんな感じで対応していこうかなと思っています。

少し落ち着きました

このサイトのwebサーバーが安定に動くよう、一から見直しを行いました。
サーバー設置場所に出かけていき、ハードウェアの取り換え、OSその他ソフトの入れ替えをやり直しも含め何度も行いました。
ここへきて、やっと落ち着いた感じです。
この数か月間、「器具の手入ればかりして料理を作らないような状態なんです」と言い訳していました。

apacheのアップデートが出るたびにwebサイトが動かなくなり、修復に丸一日以かかったりしていたので、どうしたらいいか悩んでいたのが見直しの原因です。
owncloudのエラーも気になっていました。
webサーバーのアップデートは性能向上だけでなく、セキュリティ向上も含んでいるはずですからアップデートしない訳にはいきません。
そこで思いついたのが、owncloudのアップデートを利用したらどうか?ということです。
owncloudはリポジトリの登録をしてインストールすると、apacheとphpも依存関係も含めて導入してくれるんです。
ですから、owncloudのアップデートが出る時は、owncloud、apache、phpの依存関係を壊さずにアップデート処理をしてくれるんじゃないかな~? という推測なんです。(甘いかな?)
前環境でもapacheアップデートより先にowncloudアップデート出ていたような・・・。
netcommonsも、apache、phpの依存関係が壊れなければ動作に影響しないと思います。
今日、owncloudのアップデートが出たんですが、webサイトに影響なく無事にアップデートできました。ただapache、php関係のアップデートではなかったようですが・・・

さて、まずサーバー本体を点検しましたが、ファン周辺が、ほこりを予想以上に吸い込んでいました。
電源は空気の流れを考えて底面から吸気していたのですが、サーバー本体内部から吸気するよう付け替えました。
また、HDD冷却ファンのうち、床に近い下のファンは取り外し、HDDを上部に付け替えて上部1台のファンで冷却するように変更しました。
最後に簡単な動作チェックをしましたが、最下部の穴、上面の穴からはともに排気となっているので、ここからほこりを吸い込むことはないのではないかと思います。
HDDの温度もhddtempコマンドで30℃前半でした。(真夏日に再度測定してみます)

肝心のOSとアプリケーションソフトですが、フリーLinuxの中で最も安定志向で定評があるのはCentOS(又はScientificLinux?)のようですね。ただ何度かsambaファイルサーバーを組んだ時、CentOSよりUbuntuの方が明らかにパフォーマンス良かった実感があるんです。CentOSはカーネルも古めなのが原因なんでしょうか?
そこでUbuntuの源流であるDebianなんですが、実はサーバーに多数使われていて定評もあるんです。
Debianを最小構成でインストールした場合、導入されるソフトは非常に少なく、Ubuntuと比較して明らかに有利という点に惹かれました。
Debianも安定志向のディストリビューションですが、カーネル等CentOSほど古くないようです。
こんな理由でDebianをインストールしてしばらく使ってみました。
Ubuntuに比べデフォルトで動いているdaemonも少なく、アップデートも頻繁ではないようです。(OSインストールはUSBメモリで楽に早く出来るようになりました!)
現在、OSはDebian7、これにリポジトリ登録してowncloudをインストールしています。(apache、phpも同時導入)
さらにSQL、netcommonsをインストールして、IE11用のパッチを2つ当ててあります。
ブラウザは多種多様であり、最新ブラウザでどんな挙動をするのか確かめておかないと利用者の方が困ります。今回もWindows8付属のIE11で閲覧してみて不具合が偶然にわかりました。

もう一点ですが、DDNS登録の通知(15分おき)も安定して送信できるようになったので、BUFFALOの有料DDNSをやめ、BUFFALOのルーターも取り外しました。
このルーターが無くなった分、webアクセスが若干ですが早くなった感じです。

利用者の方に連絡もせずサーバーダウンが続いたり、サーバーの電源を落としてメンテナンス作業を続けたりしていました。
この数か月、ご迷惑をおかけし、申し訳ありませんでした。
これで安定動作になるのではないかと期待しています。

NetCommons2リストア手順詳細

NetCommons2(NC2)のヴァージョンアップとリストアを同時に出来ないか、一生懸命調べていました。
かなり時間がかかりましたが、何とか出来ました!!
最新ヴァージョンを新規インストールして、その新環境にリストアしようという訳です。
この記録はリストア直後の深夜に書き始めたんですが、
記録した手順通りで本当に出来るのか、次の日に再実験したところ、やっぱりひっかかってしまいました・・・

そこで、再度確認しながら、少しずつ作業を進めていきました。
今度こそ ・・・ 出来ました!! 
次からもこれでOKです。
このサイトは、今回のリストアで出来たものです。
以下、覚え書きです。

<旧サイトでの作業>

①サイトを閲覧不可にする。

国立情報学研究所NCサイトを参照し、旧サイトにアップデートモジュールを適用しておく。
(アップデートがある場合のみの作業)

③旧サイトで固定リンクを解除後、フルバックアップを実施。

④クライアントPCに③のフルバックアップファイルをダウンロード。
このバックアップファイルは半角英字にリネームしておく。
(日本語環境にしていないサーバーにアップロードするとファイル名が文字化けする)

<新サイトでの作業>
⑤新サーバにmysql新仮データベース(db)作成。
mysqlのdb名、ユーザ名は旧サイトと同じでなくて良い。

⑥新サーバに新ヴァージョンNC2を新規インストール。
mysqlテーブルの接頭語(プレフィックス)は旧サイトのものと同じにする。
プレフィックス最後のアンダーバー(_)に注意。プレフィックスを指定する時に(_)を入力しなくても(_)は設定される。この誤りがdbに接続できない原因になる事が多かった。
(NC2インストールは、テクネコさんのマニュアル nc_install.pdf が参考になる。やや古くCentOS対応ですが)

⑦新サーバ任意ディレクトリ(/home 等)に④のフルバックアップファイルをアップロードし、解凍。

⑧新サイトの webapp/uploadsディレクトリ を削除し、⑦の解凍ファイル中のwebapp/uploadsディレクトリ(旧サイト)で置き換える。
置き換えたuploadsフォルダ、フォルダ下のファイルの user、group は共にwww-data、アクセス権は775に変更しておく。

⑨新サイトのdbを旧サイトの内容にリストアする。
具体的には、
 (1)インストール時の新仮db削除
 まず、mysqlにログイン
  #mysql -u root -p
  mysql > drop database 〇〇〇;
 (2)新規db作成
  mysql > create database △△△ default character set utf8;
 (3)バックアップダンプファイルをインポート
  mysql >use △△△;
  mysql >set names utf8;
  mysql >source /home/bk/backup_full.sql;
   (バックアップファイルを解凍したディレクトリが /home/bk の場合)

⑩新サイトにログインして、モジュールを一括アップデート。

⑪新サイトを、閲覧可に戻す。

⑫元のフルバックアップファイル削除。
ダウンロード、アップロード、解凍したファイルをすべて削除しておきます。

※あらかじめリストアしたdbを作っておいて、NCインストール時にdbに接続しようとしましたが、これはdbに接続できず上手くいきませんでした。
また、mysql -u root -p 新db名 < backup_full.sql でdbインポートも上手くいきませんでしたが、これは再試行してみたいと思っています。

以上です!

samba4 ADサーバー設定

    CentOSインストール

(ア)  理研サイト等から64bit minimal ISO取得して、CDにイメージバーニング

(イ)   Language:English(日本語にする必要なし)、Keyboard:Japanese

(ウ)  networkconfigureで固定IP設定、「system clock uses UTC」はチェックをはずす

(エ)  swap、/、/home 用各パーテーション作成。swapパーテーション以外をRAID1にしてパーテーション決定してからインストール

(オ)  管理ユーザ作成。rootはそのまま

(カ)   ルーター内なら、selinux無効、firewall無効

(キ)  ネットワーク設定(onboot=yes、nm_controlled=no、ipv6無効化)

(ク)   astestmirror-pluginインストール、システム最新化

(ケ)  yum用RPMリポジトリ、(EPELリポジトリ)追加

(コ)   NTPサーバー設定

(サ)webminインストール

    ingリポジトリ導入

(ア)  # rpm –ivh http://dl.fedoraproject.org/pub/epel/6/x86_64

/epel-release-6-8.noarch.rpm
# cd /etc/yum.repos.d/
# wget http://wing-net.ddo.jp/wing/6/EL6.wing.repo
# yum clean all

    samba4インストール、AD設定

(ア)  # yum -y --enablerepo=wing install samba4 samba4-winbind-clients ldb-tools

krb5-workstation bind-utils

(イ)   # vi ~/.bash_profile

最後に追加

export LDB_MODULES_PATH=/usr/lib64/samba/ldb/

(ウ)  # vi /etc/resolv.conf

nameserver 127.0.0.1(サーバー機)

nameserver 192.168.1.1(ルーター)

(エ)  # vi /etc/sysconfig/network-scripts/ifcfg-eth0

DNS1="127.0.0.1"

(オ)  # samba-tool domain provision

Realm: MJHS.LOCAL

Domain [MJHS]: [ENTER]

Server Role (dc, ) [dc]: [ENTER]

DNS backend (SAMBA_INTERNAL,) [SAMBA_INTERNAL]: [ENTER]

DNS forwarder IP address () [192.168.1.1]: 192.168.1.1

Administrator password: パスワード入力(大小英、数字、記号3つを使い7字以上)

Retype password: もう一度パスワード入力

(カ)   # vi /etc/krb5.conf

[libdefaults] default_realm = MJHS.LOCAL

dns_lookup_realm = false

dns_lookup_kdc = true

(キ)  # service samba start

(ク)   # chkconfig samba on

(ケ)  # kinit administrator@MJHS.LOCAL

ドメインは必ず大文字で入力

Password for administrator@MJHS.LOCAL: administratorのパスワード入力

    samba4共有設定

(ア)  vi /etc/samba/smb.conf

[home]       

path = /home       

guest ok = No       

read only = No       

browseable = No

# service samba restart

(イ)   # yum -y install pam_krb5

(ウ)  # authconfig --enablekrb5 --krb5kdc=test.mjhs.local --krb5realm=MJHS.LOCAL  

--update

(エ)  # vi /etc/nsswitch.conf

passwd: files winbind

shadow: files winbind

group: files winbind

    ユーザ登録、個人フォルダ設定

(ア)  # useradd user1CentOSにユーザ追加、パスワードはここでは登録しない)

(イ)   # samba-tool user add user1 password1

又は、RSATActive Directory ユーザーとコンピューター」でユーザー登録

mjhs.localUsersを右クリックし、ユーザー(user1)を追加

(ウ)  RSATActive Directory ユーザーとコンピューター」で

user1を右クリックし、プロパティーを開く

プロファイルタブを開き、

接続ドライブZ:とパス\\test\home\user1を設定

 ● ● WING☆さん、ありがとうございます!! ● ● 

 


 

 

 

 

samba設定

①linuxインストールし初期設定完了後、sambaアクセスユーザをlinuxにも作成しておく。
②homeフォルダ下にshareフォルダ作成。パーミッション770。
③aptitude update → sambaインストール → aptitude update → swatインストール。
④「global設定」 security=user、readonly=no、passdb backend=smbpasswd
⑤「user設定」 swatの共有設定で行う。
⑥アクセス時にパスワードを求められパスワードが拒否される時は、sambaユーザのパスワードを変更する。
⑦フォルダにアクセス出来るがファイルの書き込み等出来ない場合は、フォルダのパーミッション、フォルダの所有権、を確認してみる。
⑧完成後、ファイルコピー、ファイルアクセス時にネットワークエラーが出る時は、ファイルサーバーへのアクセスをhost名を使わずIPアドレスでアクセスする。(¥¥sv¥shareとせず、¥¥192.168.1.3¥shareのようにする)

owncloudアップデート手順

①webサーバー上の適当な場所に、新tarファイルをダウンロード
②新tarファイルを解凍。出来たowncloudフォルダの所有権を apache、lighttpd等に変更
③旧owncloudフォルダ内の「config」フォルダ、「data」フォルダをバックアップ
④旧owncloudフォルダを削除
⑤新owncloudフォルダを旧フォルダの配置してあった位置に移動
⑥新owncloudフォルダ内の「config」フォルダ削除
⑦新owncloudフォルダ内に③の「config」フォルダ、「data」フォルダを移動
⑧web上からのアクセス、ログインを確認して完了

ubuntu12LTSserver

①swap領域は2つのHDD別々に。計メモリの1.5倍程度。あとはRAID1作成
②何も足さない最小構成でインストール
③ufwでファイヤウォール設定
④ネットワーク設定。固定IPに。
⑤apt-get-update、apt-get-upgradeでシステム最新化
⑥clamavインストール
⑦ユーザ、パスワード作成。
⑧lighttpd、php(gdも)、mysqlインストール
⑨mysqlのネットコモンズユーザ、owncloudユーザ作成
⑩webサーバのドキュメントルートに、
ネットコモンズ解凍フォルダHTML以下をコピー
⑪HTMLフォルダ以下の所有者をwww-dataに変更
⑫自宅ワークグループからアクセスしてインストールする場合は
hostsファイルにURLとサーバーIPの対応を書いておく。
(書き込みは管理者権限必要)
⑬ntpインストール、時刻サーバー指定