PC設定覚書と雑記

サーバー運用とPC日記

職場PC-LinuxMintを使ってみよう!

 新しい職場には、準備室にPCがなく、
webでの調べもの、メール連絡等が出来なくて不便な状態でした。
先週の金曜日、放置されていた旧型PCを準備室に持って行って良いと許可がおりました!

Dell-Dimention4700C という機種です。
内部を掃除しながら調べたところ、チップセットはintel915世代でした。
CerelonD2.53GHz、DDR2メモリ256MB×2(2GBまでOK)、HDDはSATA40GB
といった内容でLinuxでもディストリビューションを選べば軽快に動作しそうです。
Lubuntu か、 LinuxBean あたりかなぁと思っていたんですが、
ふと LinuxMint の Debian エディション(LMDE)の記事が目にとまりました。
リソースの消費量が少なく、PentiumM等のNonPAEのCPUでも動くとのこと。
このDellマシンはPAE対応なんですが、
カミさんの教室にある PentiumM ノート(NonPAE)がLinuxBeanで動いているので
これを LinuxMint Debian エディションに入れ替えて様子を見ようという訳です。

日本語化対応が十分でないようなので、その対処法を調べました。
親切なページがありました! Linux Mint Japan のページです。

  http://linuxmint-jp.net/index.html

これで準備OKです。
インストールDVDを作成し、まずは自宅のAtomマシンに入れたところ
軽快な動作と共に結構いい感じです!
PentiumM ノートにもインストールし終わり、カミさんにも使ってもらうことにしました。
明日以降、時間がある時に職場のPCをLMDE(Mate版)に入れ替える予定です。


以下、Linux-Mintについてです。

 洗練され、最新で快適なLinuxデスクトップを提供することを目標としている。
Linux Mintは2006年フランス出身のクレマン・ルフェーブルにより設立された。
2010年7月に製作側はUbuntuの代わりにDebianをベースとしたLinux Mintをテストしていることを明らかにした。


ベースをUbuntuからDebianへすることの主なメリットとして、
コンピュータリソースの使用量を抑えられ、Ubuntuベースよりも快適に動くことを挙げている。
また、2010年9月にはLinux Mint Debian Edition (LMDE) をリリースした。

職場PC−本体の整備

 前回の続きです。
まず、PC本体を開け、内部をていねいに掃除します。

メモリはDDR2の256MBが2枚刺しになっていました。
これを手持ちの1GB×2(pc6400)に換装します。
ところがビープ音が鳴りBIOSが立ち上がりません。
調べてみましたが、この規格なら認識するはずです。
いろいろ試したところ、1GBの1枚刺しで起動OK。
その後2枚刺しにしたら無事立ち上がりました。
デュアルチャンネルモードで動作しています!

HDDは手持ちの500GB(WD blue)に換装。
容量の壁は一昔前が137GBで、次が2TBなのでOKです。
HDDは世代が新しいものの方が一般的に高速です。

次はCPUですが、2次キャッシュがCerelonの4倍のPentium4に変えましょう。
Pentium4の終わりに近いプレスコット(コードネーム)で、メーカーカタログを調べると3.4GHzの550までOKとあります。
しかし、電源容量と放熱処理が大丈夫なのか?
TDPは、オリジナルCerelonDが73w、Pentium520が84w、Pentium550は115wもあります。
オリジナル電源で115wのCPUは無理があるかもしれません。
4700Cがグレードによらず、すべて同じ電源かどうかも分かりませんでした。
CPUの中古価格も調べてみたら、オークションに結構でてました! しかも安い!
400円なんて感じですから、「はぁ~」ですね。当時3万円弱はしたCPUですから。
実はこのPentium4プレスコットは高消費電力で悪評高いCPUでした。
あと、CPUファンがものすごくうるさい! 発熱を抑えないと騒音にも悩まされます。
このファンは、注油と温度センサーの掃除でかなり静かにはなりましたが。
以上のことから、Pentium520(2.8GHz)を400円で落札(即決)。送料の方が高いけど千円ちょっとでCPUが届きました。
ヒートシンクの接合面をきれいに拭き取り、ファンのほこりもすべて取り除き、CPUを換装。
BIOS認識OK。Hyper-threadingもONに変更します。
PC本体の起動も無事OKでした!

やっとOSインストールに進んだんですが、すぐに問題発生。
続きは次に書きます。

職場PC−ネットワークつながらず

ネットワークにつながりません・・・!
LinuxMintがネットワークインターフェースを認識していない?
ちょっと時間がかかりましたが、少しずつ分かってきました。
インターフェースは認識されているようなんです。
ところがこのインターフェースのデバイスが機能していない、つまり壊れているんだろうと推測。
DHCP環境に置いてみて再セットアップしてみましたが、
自動で接続されるはずのネットワークにまったく繋がりません。
また、自hostにpingは通るけど、他のどこにもunreachableという状況です。
DELLの中古PCを買った時に、これと全く同じ状況にあたったんです。
そうだ、この時装着したネットワークカードを流用すれば解決!
で、職場に持って行ったら、PCIスロットがない! PCI-Expressスロットしかありません。
古いPCだからと思っていたのですが、ここのところはちょっとだけ新しかった。
で、PCI-Expressネットワークカードを発注。送料込みで2200円の出費でした。

さて、ネットワークカードが届くまで、まだ整備できる箇所は?
調べてみると、CPUまだupgrade出来そうな情報が・・・
続きは次に。

職場PC-CPU更にupgrade

 このDimension4700Cのメーカーカタログを見ると、
最上位機種では、Pentium4-550(3.4GHz、2次キャッシュ1MB、TDP115w)が使われています。
現在、電源容量を気にして、Pentium4-520(2.8GHz、2次キャッシュ1MB、TDP84w)に換装した訳です。
この520 を 550 に換装しても、発熱は増えるが、体感的な効果はほとんど感じられないと自分は思います。

ここでさらに調べてみたところ、Pentium4-630(3.0GHz、2次キャッシュ2MB、TDP84w)への換装が成功している記事を見つけました。
2次キャッシュ倍増はメリット大だと思います! しかもTDPは増加しないので、変更する価値ありですね!
中古市場で630の上位版Pentium4-650(3.4GHz、2次キャッシュ2MB、TDP84w)も探してみましたが、現在のオークションでは630までしか見つかりませんでした。
また660以上だとTDPは115wになってしまいます。
さらに、Pentium4-651(3.4GHz、2次キャッシュ2MB、TDP65w)が載せられれば、発熱が減りbestだったんですが、このCPUに換装して成功した記事は見つかりませんでした。(BIOSが対応していない模様)

ここで、最後にもう一度考えました。
電源容量、CPUファンの騒音が何とかなるのなら、TDP115wのCPUも候補になります。
するとbestは、Pentium4-670(3.8GHz、2次キャッシュ2MB、TDP115w)?
いや、このへんでやめておきましょう。
電源トラブルとか、ファンの交換など大変なことになりそうな予感がしますし、ここまでやると投資しすぎですね。
とにかく、やり始めると、成功しようが失敗しようが、止まらなくなってしまうのでまずいんです。(笑)
今回はいさぎよく、換装成功の記事のあったPentium4-630に決めることにしました。
オークションで、無事630が入手できました。送料込みたったの416円でした!

さて、このCPUに換装するためには、BIOSをupdateしなければなりません。
最近のBIOSupdateはOS上で簡単に出来てしまうので、このやり方ばかりやってきましたが、今回はDOSを立ち上げてからのupdateでないとダメでした。
このDOSを立ち上げてからのやり方は、以前はフロッピーディスクで簡単に出来ていました。
しかし、フロッピーディスクドライブ(FDD)なんてもう付いていません。
では、どうすれば良いのか?
この続きは、次に書きます。

職場PC-BIOSupdate

 BIOSupdateなんて簡単です。
OS上から出来なくったって、以前のフロッピーを使ったやり方があります。
フロッピーが使えなくったって大丈夫でしょう。
要は、DOSというOSを立ち上げて、そのDOSシステムにコマンドを打ち込んで、アップデートファイルを実行させればいいんですから。
そんな感じで軽く考えていました。

検索してみると、
USBメモリ、またはCDを起動メディアにする方法が載っていました。
探してきた1GBのUSBメモリをPCに差し、ダウンロードしたフリーソフトを実行。
フォルダオプションでシステムファイル等が見える状態にしてから、USBメモリを覗いてみると、確かにDOSのシステムファイルが書き込まれています。
ところが ・・・ 自宅PCでも、職場PCでも、このUSBメモリからは起動できませんでした。
そこで、別の2GBのUSBメモリで試したところ、自宅PCからは無事DOSシステムが起動!
このメモリにBIOSupdateファイルを書き込み、職場に持っていきました。
早朝の職場で期待を込めて、USBメモリを差してからスイッチオン。 
 ・・・ これでいけると思ったのに、起動しません!
もちろん、起動順はUSBメモリを1番にしてあります。
結局、なぜダメかは分からずじまいのまま、他の方法を試すことに。

もう一つの起動CDディスクを作るやり方は、ちょっと面倒でした。
まず、仮想FDドライブを作るフリーソフトをダウンロード、インストールします。
これで、作業中のPCに仮想のFDが出来ます。
この仮想FDをフォーマットする時、「DOS起動ディスクを作る」にチェックを入れてフォーマットします。
昔、FDをMSDOS起動ディスクにした時の要領ですね。それを仮想ドライブに対して行う訳です。
これが終わったら、このFDドライブにBIOSupdateファイルを書き込みます。
さて、こうして出来た仮想FDドライブはイメージファイルとして保存できるようになっています。
そして、ISOファイル作成フリーソフトで、上記のイメージファイルをISOファイルに変換。
これをCDに焼き付けます。(イメージライティング)
今回は、これでDOS起動CDディスクが出来ました!

BIOSも無事update出来ました!

職場PC-最終調整

 BIOSもupdateでき、Pentium4-630もすでに届いているので、これに換装します。
CPUファン、温度センサーも改めて念入りに掃除し、
放熱グリスをまんべんなく、しかし多くなり過ぎないよう塗ります。
CPU装着。無事、起動し、BIOS上からも正常に認識されています!
動作周波数3GHz、2次キャッシュ2MBです。
最新環境での動きにはもちろん敵いませんが、
このPCでのLinuxMintDebianEdition2 Mate版の動きはなかなか軽快です!

さて、最初につまずいたネットワークインターフェースが解決していません。
BIOSも新しくなったので、オンボードのネットワークインターフェースの設定を変更してみます。
有効、無効、の設定変更を繰り返して動作確認しましたが、やはり状況は変化なしで、
オンボードのネットワークインターフェースの故障は間違いないようです
では、注文しておいたネットワークカードを装着してみます。
PCI Express x1端子への増設です。
機械的にきちんと装着されていることを確認してから、
AC電源プラグを刺し、PowerオンしてBIOS設定。
「オンボードネットワーク無効」にしてあることを再度確認します。
そして再起動。さて、このOSは、新しいネットワークカードを認識してくれるか?
起動後、ifconfig、pingコマンドで正常動作が確認できました!

ここまでたどりついたので、せっかくですから、
OSインストールを最初からやり直すことにしました。
インストール用起動メディアは、高速USBメモリを使った方が絶対に早いです!
CDやDVDメディアを使うよりOSインストールが早く終わるので、
テストサーバーを作ったりする時もストレスが少ないです。再インストールもすぐできます。
インストール用USBメディアは、別マシンWindows上で、Unebootin等のフリーソフトを使って簡単に作成出来ます。

もう一つ、職場等でのproxy設定は、OSインストール後のGUIによる設定では不充分でした。
 /etc/environment
 /etc/apt/apt.conf.d/02proxy
 /etc/wgetrc

上記ファイルに職場のproxy情報を追記する必要がありました。

こんな感じで、時間がかかりましたが、職場PCの設定は無事終了し、
現在、結構いい感じで安定動作しています。
ファンの爆音も解消されています。

以上、今回のPC整備は成功だったと思います!


Debian8 Jessie登場

 Linux、Debianの次期ヴァージョンが出ました!
Debian8、コードネームは Jessie です。

自宅のSambaファイルサーバをDebian7で作ったばかりだったんですが、カーネルも新しいし、Sambaもver4になっているので、作り直すことに。
今回、ファイル置き場のhomeディレクトリはそのままにして、
他のディレクトリはフォーマットもして、OSを新規インストールしました。
だいたい上手くいったのですが、
カミさんと娘のSamba内のファイルが消えていました・・・
(あ、もちろんバックアップがあったので大丈夫でしたが)
自分(初期ユーザ)のファイルは無事でした。
サーバー出来立ての時は初期ユーザだけですから、他のユーザは存在できず、それが原因でファイル消えたのかも。
ディレクトリの権限は、Sambaでコントロールされる訳だから、
最初から、オーナーはrootにして、パーミッションは777にしておけばいいような気がしてきました。

また、aptでowncloud8もインストールできました。
apacheは2.4になっていたので、設定の仕方を調べておかないとnetcommonsを入れる時につまずきそうです。

でも、何とかなりそうかな? と思っています。

SSHサーバー

 webサーバーを維持管理するためには、リモートアクセスの仕組みを作っておく必要があります。
今までは別の手段でリモート管理していたのですが、Debian8環境のテストサーバーではうまく動かない場面が出てきました。
そこで、SSHログインを試すことにしました。
LAN内では鍵認証方式もうまくいったのに、WAN環境では結局うまくいきませんでした。
ポートは開けたつもりだったんですが、ルーターのポートがどうも開いていなかったようです。現地のルーターは遠隔操作できません。
サーバー設置場所に出向いていって作業するしかありませんね。

SSHサーバー(続)

 午後に、入間市のサーバー設置場所に到着。
ルーターの設定を確認すると、やはりポートが開いていませんでした。
とりあえず、決めておいたポートを開けましたが、
今度は、設置場所でのWANアクセステストは出来ない訳です。
夕方、川越の自宅に帰り、openssh-serverをリモートでインストールし、
(どうやってリモートインストールした?)
configファイルを修正し、SSHサーバーを再起動。
Teratermから無事にアクセス出来ました!
このTeraterm、scpも実装されていて、ファイル転送も出来るんです!

kona-linux lite

 古いマシンでも動きの軽いLinuxに注目しています。
puppy-linux、lubuntu、linux-bean、linux-mint(lmdeも)くらいかと思っていましたが、
国産の kona-linux というディストリがあり、その中にも色んなタイプがあるようです。
debianベースで、non-paeのCPUにも対応していて動作も軽い!とのこと。
kona-linux3.0lite は、debian8 がベースになっている軽量版です。
早速、職場のPen4デスクトップpcにインストールしてみたいと思います。

kona-linux lite 2.3

 職場のデスクトップPC、カミさんのノートPCは、どちらもkona-linux lite2.3に落ち着きました。
kona-linux lite3.0、kona-linux black も試しましたが、ブラウザ動作中の軽快感はどれも変わらない感じでした。
3.0 はOSカーネルが最新版になっていますが、これらの環境ではメリットが感じられませんでした。また、blackではデスクトップにアイコンが置けません。
ということで、kona-linux lite2.3 を使用中です。
しかし、Firefoxを立ち上げてフル画面描写させただけで、CPU利用率がすぐに80%を超えたりするのにはちょっと驚きました。

WebServerマシンの掃除

 本日、18:20から10分間ほど
WebServerマシンの目視点検と清掃を行いました。
webアクセスが無い事を確認して、
リモートでシャットダウンし、作業を行いました。
ホコリが随分たまっていたので、エアダスターで取り除きました。
目視では異常がなく、復旧後も正常に動いています。

連絡せずにシャットダウンしましたが、
不都合等ありましたら、ご連絡ください。

WebServerマシンの大幅メンテナンス

 一昨日から、かなり長い時間かかりましたが、
WebServerマシンのOS入れ替え作業を行いました。

 まず、3つのwebサイト本体のバックアップ、
ヴァーチャルホストの設定ファイル、DDNSへの通知スクリプトファイルも忘れないようバックアップ。

 次は、ルーターのIPマスカレード設定を無効にして、外部からアクセスを受けないようにします。
そして、マシン内部の掃除、異常がないか、目視点検です。
電源、マザーボード、HDD等、温度異常もありませんでした。
HDDをまっさらにする前に、もう一度忘れている作業がないか、一息考えます。

 では、いよいよOSの再インストールから始めます!
OSはDebianの最新版、Jessie64bit版を使います。
webサイトが正常にリストア出来るか、LAN内でですがテストはしておきました。
クライアントのWindowsマシンで、netinst.isoファイルをダウンロードし、フリーソフunetbootinでインストール用USBメモリを作っておきます。
CDRでインストールディスクを作るより、手軽で確実で早いです! 
CDドライブはwebサーバー運用中は不要ですから、尚更です。USBメモリインストールで決まりでしょう。
USBメモリは高速タイプがいいです。今回64GBメモリはうまくいかず、4GBメモリを使いました。
HDDは、3.5インチ2TBを2台ソフトウェアRAID1とし、パーテイションは2つに分けました。
OSインストールは最小構成です。デスクトップ、GUIはもちろん、基本的なユーティリティも入れません。
apache、mysqlも最初にはインストールしません。aptでowncloudをインストールする際に、依存関係も含めて、またphp等必要なものも一緒にインストールしてくれるからです。

 作業手順ですが、
OSインストール → OSアップデート → rootログイン禁止 → ユーザsudo設定 → サーバーリモートログオン設定 →ファイヤウォール設定 → 必要なrepository設定 → 再度OSアップデート → owncloudインストール → owncloud設定 → netcommonsインストール →  netcommonsリストア(作業手順はこちら) → ルーターIPマスカレード設定 → 動作確認
こんな感じで進めていきます。

今回も、結局徹夜の作業となってしまいましたが、何とか完了しました!

Windows10へのアップグレード

自宅にある数代のWin7機に、Win10へのアップグレードの通知が頻繁に来ていました。
ずっと無視していたら、カミさんに貸していたデスクトップPCがupdateでつけっ放しにしていたところ、やられました! (皆さんもやられたと思いますが!)
次の日に、何か変だから見てくれる?と言われ、確認したらWin10にされちゃっていました。
ところが、起動やソフトの動きは、ほぼ速くなっているようで、
この新しいカーネルはいいんじゃない? と簡単に、自分もWindows10に寝返ることにしちゃいました!
ただIE11は頻繁にフリーズするようになってしまい、MS Edge、Chrome等も併用してしのいでいます。
プリンタも含めたデバイスの認識や、常用しているソフトの動きに問題がなければWin10にしてしまった方がいいと思います。
実は、アップデートではなく、クリーンインストールする方法も見つけたので、
DAWマシン、ラジオサーバーはその方法で作成しました。
(これは2016年6月の記録です)

Webサーバーハードウェア更新

久しぶりにwebサーバーのハードウェアを入れ替えました。
マザーボードは、Asrock社の J3710M(Pentium J3710オンボード)です。
前回 Celeron 847 からの比較では、TDP 17W → 6.5W、クロック 1.1GHz → 1.6GHz(ターボ 2.6GHz)、コア数 2 → 4 で、省電力化しているのに、基本性能は向上しているのが嬉しいところ。
しかもSOCなので、チップセット込みで 6.5W なんです!
キャッシュは 2 MB と変わらずですが、コア数 2 倍になっているので 1 コアあたりは減少していますね。
送料手数料込みで 9,970円でした。
RAID 1 にする HDD は、WD 社の Red 2TB 2台としました。
メモリーはDDR3-8GB × 2がそのまま流用できました。この板でもデュアルチャンネル動作はOKでした。
電源ですが、今年 4月に壊れて新調したばかりなので、これも流用しました。(Corsair RM550x)
デバイスが省電力なので、BIOSはパフォーマンス優先設定としました。
試しに、Ubuntu16、Ubuntu14、Debian8、をインストールしてみましたが、なぜか最新の Ubuntu16 は立ち上がりがかなり遅かったような気がします。何かしらの新しい機能追加でしょうか?(メーカー発表の対応OSには Ubuntu16 、Debian8 は載っていないのですが
ハードウェアより OS が若干新しい程度ですから、デバイスの認識に難があったとは思えません。
使いたい netcommons2 は、php7 非対応なので 
Ubuntu16 はダメ。
で、最初から身軽な debian がやはりいいだろうということで、debian8_64bit版に決定しました。
apache、php
のキャッシュ方法、mysqlの最適化をちょっと勉強して設定してみました。
webサーバーの動作は、以前よりキビキビしているようですし、今のところ順調に動いています!

netcommons3 への移行ツール

netcommons もやっと ver3 が出て、提供元の netcommons3 関係のサイトも開設されました。
netcommons2 から 3 にアップデートするには、アップデートパッチを当てるとかではなく、移行ツールなるものを使わないとダメなんです。(システムが全く別物になっている)
ところが、この移行ツールがまだ見当たりません。
今年の 8月のユーザーカンファレンスのプログラムには、「移行ツールの使い方」が公表されているので、この夏に出るのかもしれません。
このサイトも、移行ツールで 
netcommons3 にリニューアルする予定です。
新しくしたい最大の理由ですが、OS の php がほとんど ver7 になってきているのに、netcommons2 は php7 では動かないんです。( debian9 も php7 )
netcommons2 が php7 対応になってくれればいいんですが、どうもそれはやってくれなさそうです。
また、owncloud も php7 で動かした方がパフォーマンス等良くなるでしょう。
ということで、nc3 への移行ツールを心待ちにしているところです。
でも不安が・・・
簡単に、すべての内容が移行できるのか?
また、超長~い時間ハマって苦しむんじゃないかなあ・・・ 

新調サーバー内のNetcommons3環境にNetcommons2サイトを移行しました

この夏に、Netcommons3への移行作業に手を出してしまい、結局、かなりの日数を費やしてしまいました。

Netcommons2サイト運用で問題はなく、Netcommons3自体が完成までもう少しではないのか?という感じもあったので、迷ったのですが、夏休みでないと、移行作業のためのまとまった時間が取れないということもあり、移行を決心しました。

同一webサーバー内での移行手順を記しておきます。nc2サイトは動かしたままで出来ますが、閲覧停止状態にしておいて下さい。

 

 ① nc3用DB3作成。この時、user、passwordを、旧nc2のDB2のuser、passwordと同じにして作成。DB名は同じでなくて良い。(この場合、同じにはできませんが)

 ② 別のヴァーチャルホストを作成し、別ドキュメントルートにnc3ファイルを展開しnc3をインストールする。DB3のprefixはDB2とは別にする。

 ③ インストールが終了したら、サーバーOSにログインし、インストールディレクトリ / app に移動。カレントディレクトリを移動せずに、フルパス指定で実行するとcakeがうまく動かない。

 ④ # ./Console/cake Nc2ToNc3 --database NC2のDB名 --prefix NC2のテーブルプレフィックス名 --upload_path NC2のアップロードファイルフォルダーパス --base_url NC2のベースURL --nc3base NC3のベースパス

を入力してEnter(実行)。

実行文の例を参考にして下さい。また、このページのやり取りも参考になりました。上記「NC3のベースパス」は自分の場合は、ヴァーチャルホストのドキュメントルートにnc3ファイルを展開したので、「/」としました。

 ⑤ 実行経過が順次示されていくので観察する。実行が最後まで進んでも、エラーが出ると完成サイトにアクセスできない等のトラブルが起こることがある。(かなり長い時間がかかる。自分の場合は20分以上!)

 ⑥ 完成サイトにアクセスして、トップページのお知らせモジュールを削除、phpメモリ設定、送信メール設定等を行う。失敗していたら、DB3削除、nc3インストールディレクトリ削除して、最初からやり直し。

 ⑦ 旧urlでアクセスしたいのなら、/app/config/application.yml の fullBaseUrl:を旧urlに書き直す。

 ⑧ 各フォルダのパーミッションを確認して設定しておく。このページの、インストール後のパーミッション参照。

 ⑨ 新ヴァーチャルホストの、servername、ドキュメントルートパス等の記述を書き換え、設定を読み込む。またnc2サイトのヴァーチャルホスト設定は無効にする。その後apache再起動。

 

 以上ですが、恥ずかしいことに、最初は全く分からず、cakeを別にinstallしなければいけないのか(実際は不要)、とか、上記DB2、DB3のアクセス情報が同一でなかった(これではツール動かない)、とか手探りの状況でした。

もちろん、「Netcommons問い合わせ」にメールで質問はしたのですが、どうもNetcommons開発母体が有償サポートの方針のようなんです。

多様なニーズ、セキュリティ面など、今後のアプリケーション開発はますます大変になっていくだろうと思われます。当然、開発費用もかなり必要になってくるでしょう。ということで、利用に際してある面では有償になるということは、止むを得ないのでしょうか。

こちらは、全くの無料で使わせていただいているので、やはり文句は言えないのかな、と考え直した次第です。

 

実は、そんな中で、貴重なアドバイスを下さったエンジニアの方もいらっしゃったんです!

Netcommons3開発者の一人である天野さんという方です。

この方のアドバイスを「NC3サイトのバックアップリストアについて(3~5)」に記しましたので、是非読んで下さい!

 

さて、自分のサーバーでは、Netcommons2サイトを3つ公開していました。

上記の方法で2つのサイトは何とか移行できましたが、残り1つがどうしても上手くいきませんでした。

移行ツールは途中エラーが出ながらも最後まで走るんですが、完成サイトにアクセスすると「不正なリクエストの可能性があります」と表示され、さらに無限ループの応答になり、失敗します。

エラーを見ると、Undefined index : room_id、Undefined index : user_id が出ています。さらに、移行できないphotoalbum dataがある、というような内容でした。

nc2サイトに戻り、まず退会したユーザを削除して、再度移行を試しましたが失敗。

そこで、今までのnc2サイトでの運用をたどってみて、ある利用者Nさんの管理者権限をユーザ権限に変更したことを思い出しました。photoalbumもNさんの作成だったんです。

で、nc2サイトのNさんの権限を再度、管理者権限に戻し、移行をやり直しましたが、結果は変わらずで失敗。

結局、Nさんの作った photoalbum を削除して、やっと移行が成功しました!(ここまで1週間近くかかりました)

Nさんが管理者の時に作っていた photoalbum と 画像データは、Nさんをユーザ権限に変更した時点でnc2内での扱いがおかしくなっていたのでは? と想像しています。

ユーザ権限では、photoalbum を作ったり編集したりできない訳ですから。

 

まあ、とにかく、ここまででやっと何とかなったようなんですが、この後手を出した件で再び泥沼にはまることに・・・

Netcommons3サイトのバックアップリストアの正しい方法は?(1)

実は、Netcommons3に移行しても、未解決の大問題が残っています。

それは、Netcommons3サイトの引っ越し(リストア)の正しい方法がまだ分からないということです。

これが出来なければ、ハードディスクの交換やサーバーの新調もあるでしょうから、運用はいずれストップしてしまいます。

Netcommns2で用意されていたバックアップ機能が、新Netcommns3にはまだ搭載されていません。(2018.8.21現在)

そこで、Netcommns2の時と同じようにやれば出来るだろうと思い、実験をしておきました。その方法は・・・

 

 ① 旧DB3のダンプファイル △△△.sql 作成。

 ② fileuploadディレクトリ( app / webroot / files / upload_file)取得。圧縮して持ってきました。

 ③ 新環境に新DB3作成(prefixのみ旧サイトと同一に)してnc3を新規インストール。

 ④ インストール完了したら、③の新DB3をいったん削除。

 ⑤ 再度③と同様にして新DB3作成 → mysqlコマンドで、use 新DB; → source /○○○/○○○/△△△.sql; で旧DB3インポート。

 ⑥ app / webroot / files / upload_file ディレクトリを②の解凍ディレクトリと置き換える。

 

これで、ブラウザからアクセスして、トップページが見えました!

出来た! と大喜び。

これで行ける、と検証せずに終わらせちゃっていたんです・・・

 

今回、nc2サイトをnc3サイトに移行出来たので、ハードウェアも新調して、新サーバーに引っ越ししようと、再度このリストア法を使ってみました。

作業完了してトップページが見えました!

ところが・・・!!

何と、ログインが出来ない!! ん、パスワード間違えたか? いや・・・何かおかしい・・・

「パスワードがわからない方はこちら」のリンクも表示されません。

何度確認してもダメでした。

そうだ、旧Configディレクトリを上書きしてみよう。

エラーが出てダメでした・・・ この方法では何か足りないんでしょう。

以前、DBテーブル内のパスワードデータを確かめようとしたことがあるんですが、ID等と違って、暗号化された(?)文字列でした。この暗号化データを復号させるしくみがどこかにあるのかな?とか。

 

で、最終的にどう引っ越しさせたのか?

nc2サイトを移行したばかりのnc3ディレクトリを丸ごと持って来たんです・・・!

DBは、ダンプファイルにして、新DBにインポートしました。

今の自分にはこれしか手がなかったんです。

このサイトもこのやり方で出来ているんですが、今のところ不具合はありません。(と言っても、まだ1週間も経っていませんが・・・) 

 

nc3サイトの正しいバックアップ、リストアの方法を教えて下さる方、どうかよろしくお願い致します!!

そして、Netcommons3にもこの仕組みが組み込まれますよう、熱望しています!! 

 

<追記>

2018.9.13現在、Netcommons 3.1.10 までの対応ですが、このページをご覧ください。

NC3サイトのバックアップ・リストアについて(2)

NC2と同様の方法でバックアップ・リストアを試したら、ログインが出来なくて失敗に終わった、と前回書きました。

しばらく、ない頭でずっと考えていたのですが、ちょっと思い当たる件をいくつか書いてみます。

 ① NC3ではログイン情報(id、パスワード)の扱い方がNC2とは変わっているのでは?

 ② ユーザのパスワードはそのままの値ではなく、何らかの規則で変換されているはず(以前DB内のid、パスワード、を表示させてみたら、idはそのままの値、パスワードは意味不明の長い文字列だった)

 ③ 職場では、NC2による個人情報を入力してもらうような受け付け方法を禁止する通達が来た。この件が示しているように、NC2では現状のセキュリティレベルを満たさなくなっているのではないか?

 ④ よって、NC3では、ログイン情報、その他の個人情報の扱い方は、NC2より進化して改良されていると考えられる。(当然か)

 

この④の件について、何か分かれば前進するかもしれません・・・

 

NC3サイトのバックアップ・リストアについて(3)

 2018年のユーザカンファレンスの「バックアップ」に関する資料に、「大事なファイル3点」という項目を発見!

 

このファイル、ディレクトリ、3つをインストールしたての新規NC3に上書きすれば、いけるに違いない!

と思い、早速やってみました。

引っ越し前の上記すべてのファイルをtarファイルにして、また、引っ越し前mysqlのデータベースはdumpファイルにして、testサーバー機に移動させました。

そして、testサーバーに作成した新規NC3に、ファイル上書き、DBインポートを行いました。

その結果は、残念ながら、アウト!

前回、app / Config フォルダをコピーした時と同じ結果でした・・・

「内部エラーが発生しました」が出てしまいます。

ディレクトリのオーナー、パーミッションも確認しましたが、ダメでした。

もうお手上げです・・・

「ディレクトリ丸ごと移動」という最後の手段があるからいいのかな、とも思いました。

「ファイル全部でもOK」と上記の資料にもありますしね。

ただ、今回、NC2をNC3に移行した時は、同一サーバー(debian8)内で行ったんです。

よって、出来たNC3サイトは php5.6 環境で install したものです。

このNC3サイトを、php7.0(debian9)環境にそのままコピーしてもいいのか? 何とか動いているように見えるだけで良くないんじゃないか? という気もするんです。

この手詰まりの時に、救いの一手を差し伸べて下さったエンジニアがいらっしゃったんです!