PC設定覚書と雑記

ここ数か月、Netcommons3のバージョンアップの状況、またフォーラム等を見ていて、

当初とは状況が変わってきている感じがしていました。

2か月に1度程度行われるはずだったバージョンアップも、今年1月からピタリと止んだままです。

不安を感じながら、今年のユーザカンファレンス関係の情報がないか気にしていました。

先日のカンファレンス終了後の主催者とユーザーのやりとりを一部読むことが出来ました。

 

それについての感想ですが、

現在のNET環境、特にWeb上で多くの個人情報を扱うグループウェアが置かれる環境では、

セキュリティ対策が非常に重要で、これについての対応がどんどん難しくなってきている。

しかも、その対応自体も、年々変えていかなければならない状況でしょうから、容易ではないことは明白です。

これを実現させるために、多くの技術者や予算の確保が必要だと思われます。

まず、この点が難しい状況になってきているという感じがしました。

さらに、レンタルサーバーを使うにせよ、個人でWebサーバーを構築するには厳しい環境になってきている。

システムとサーバー、セキュリティやネットワークの管理は専門業者に任せるSaaSというサービスを使うべきだとの指摘です。

このような、プロジェクトリーダーからの指摘がなされたので、今までのようなアップデートパッケージ版の配布が止まったようなんです。

こんな風に、Netcommons3の利用についての方針が急に変わってきてしまいました。

個人的には、まだ良くのみ込めていないし、どう対処していいのか、戸惑っているところです。

 

一応、次のようなアナウンスはされています。

最新版はNetCommons3としてGitHubから自由にダウンロードし、どなたでも利用することができます。

管理者にはGitHubから最新版のNetCommons3を都度ダウンロードし、パッケージ化して利用して下さい。

Windows7 は 2020年1月まで、Windows8 は 2023年1月まででOSのサポートが終了されます。

Windows に限らず、どんなOSもサポート終了後は使用しないのが原則です。

その最大の理由は、セキュリティ面のリスクです。

自分のシステムやファイルはもちろん、自分以外の他のユーザにも被害が及ぶことが考えられます!

現在のPCは、ネットワークにつなぐ前提で動かされていますので、

ネットワーク経由でのセキュリティリスクは、色々と言われている通りで、無視することは絶対にできません!

そこで、Windows なら、最新バージョンの Windows10にアップグレードする、ということになるでしょう。

さて、すごくザックリと言ってしまえば、Windows 7,Windows 8 が動いているマシンなら、動きが悪くなることはほぼないと思います。

自分のケースですが、Windows 7環境を Windows10環境にして、動きがむしろ良くなりました!(それもはっきりと)

アップデートして使えなくなるソフトもごくわずかあるようですが、自分は割り切ってあきらめました。

代替ソフトも探せる場合があります。

 

では、 Windows10 にアップデートする決心がついたら、次はどうやってお金をかけずにアップデートするかです。

実は、Windows 7,Windows 8 の正規ライセンスを持っていれば、 Windows10 にへの無償アップグレードは、まだ可能なんですね。

 https://applica.info/windows10-upgrade

この記事を参考にして下さい。

また、こだわる人のために、 Windows10 をクリーンインストールする手もあります!

最後に、Windows 7,Windows 8 のライセンスを持っていない人。

安価に何とかする手があるようですよ!

 

やっかいなことですが、これからも、常に最新版のOSを使うようにするしかないんですね!

あ、スマホしか使ってない人は、スマホのOSである、iOS、AndroidOSのバージョン等に気を配って下さい! 

自宅の1Fに、ラジオサーバー(現在NHKラジオ自動録音機)として日中稼働させている省電力PCがあります。

このPCにbluetoothアダプターを付けて、2Fの浴室でbluetoothスピーカーからの音楽を聴こうとしていました。

しかし、この距離では残念ながらbluetooth接続が出来ませんでした。

そこで、2Fに音楽専用小型PCを作り、これにbluetoothアダプターを取り付けることにしました。

有線ネットワークを使って、このPCを1Fの自分のメインPCからリモート接続でコントロールしようという試みです。

2FのPCにディスプレイ、キーボード、マウスを付けていれば、1Fからリモート接続なんて不要なんですが、

2FにPCを置くと怒られそうなので、2Fの押し入れにPC本体を閉じ込めて使う感じなんですね!

このPCは、浴室で音楽を聴く時だけ稼働させます。

ということで、低スペックながら余ったパーツ(もちろん省電力仕様)でPCは組み立ることにして、

OSのWindows10pro(proでないとリモート接続できない)をどうやって入手するかが、悩みどころなんです。

まともにパッケージ版とかを購入すると、DSP版(ハードウェア同時購入版)でさえ結構な値段です。

そこで、まずMicrosoft社のWebサイトから、Windows10のインストールファイル(ツール)をダウンロードします。

そのファイル(ツール)からインストールUSBメモリを作成します。

作成したPCの起動順位をUSBメモリ第1に設定してから、このインストールUSBメモリでWindows10をインストールします。

ここまでは、実は簡単なんですね。

自作PC、メーカー製PCにWindows10をクリーンインストールしたくて困っている人がいたら、周りの詳しい人に聞いてみて下さい!

もちろん、自分からもアドバイスはできますよ!

で、最後に必要なのは、Windowsのライセンスキーなんです。

実はこのライセンスキーを以前Amazonで格安で入手したことがあるんです。(正規認証品です)

最近見かけなくなったと思っていたら、yahooストアにありました!

これも正規認証品ということを確認してから発注しました。

届くのは、メール文で送られてくるプロダクトキーだけです。

しかし、最後にプロダクトキーを入力すれば、キチンと正規認証されたWindows10PCが出来上がるんです!

今日の早朝、サーバーマシンのメインメモリを増設しました。

4GB × 2 を 8GB × 2 に交換する作業です。

このマザーボードの Pentium Silver J5005 の最大メモリー容量は 8GB なので、無意味に思えます。

また、このマザーボードのマニュアルにも、最大メモリー容量 8GB が記載されています。

ところが、 メモリーサポート一覧表には 16GB が記載されていて、実際にこの容量で動かしている例も紹介されています。

また、今までの計8GBの運用では、キャッシュを含めてほぼメモリー容量を使ってしまっている状況でした。

見にくくてすみません。6.48GBcashed、7.64GBtotal という部分です。

期限の切れそうな固定Tポイントがあったので、これで新たにメモリを入手して、試してみることにしました。

さて、現在は計16GBのメモリがマザーボードには認識されている状況なんですが、

ハードウェア、ソフトウェア共にこの16GBの容量を活用してくれるのかを観察している段階です。

先日15日に、このWebサイトを動かしているOSの再起動を行った際、

Webサイトの応答が目に見えて悪くなりました。

そこで、Webminからの操作でapache本体の再起動を行い、何とかしのいでいました。

ところが、今日に至るまで、Webサイトの応答速度が悪いままでした。

そこで、apache バーチャルホスト設定ファイルの再読み込みを試してみました。

 # a2dissite 〇〇〇

 # systemctl reload apache2

 # a2ensite 〇〇〇

 # systemctl reload apache2

この間、一瞬Webサイトは停止しますが、ほぼ問題なしと思います!

さて、現状このサイトの応答はどうでしょうか・・・

先ほど、このWebサイトのOSのアップデートを行ったところ、

珍しく再起動が必要な状況でした。

そこで、大変申し訳なかったのですが、予告なくOSの再起動を行い、同時にルーターの再起動も実施しました。

全作業4分間ほどでしたが、再起動後のWebサイトの挙動から判断して、

この時間にファイルのダウンロードも含めて、アクセスしていた方がいらっしゃったようです。

大変申し訳ありませんでした!

以降、再起動のタイミングについては気を付けて行うよう、注意致します。

このサイトのシステムであるNetcommons(ネットコモンズ) は、国立情報研究所が開発するWebシステムです。

CMSとグループウェアの機能を持っています。

 

具体的には、Netcommons で Web サイトを構築することができますが、

これで作成した Web サイトは、掲示板、ブログ、回覧板、アンケート、小テスト、動画掲示板、カレンダー、フォトアルバム、その他のコンテンツ、を表示させ、機能させることが可能です。

これらを機能させるプラグインの使用権限を設定し、複数の関係者がこれらのプラグインを使って、

サイト内の色々な部分を、分担して構築できるようになっています。

1人の専門家だけに全ての構築を任せる必要がなくなる、というメリットがあります!

これが、CMS(コンテンツマネージメントシステム)の機能です。

このような特徴は、色々な部署を持つ企業や学校などのWebサイト構築に向いている訳です。

 

また、特定のグループに掲示板の内容を配信したり、上記のプラグインの機能を利用させたり出来るシステムが、グループウェアです。

複数の各グループ毎に、異なった内容の運用をさせる事が出来る訳です。

 

さらにこのソフトウェアは、オープンソースなので無償で使用することが出来ます!

自分は、無償OS Debian上に、このNetcommonsをインストールしているので、ソフトウェアにかかる費用はゼロです 。

また、この「実験と魚料理」は個人的なサイトなので、構築は全て自分1人でやっています。

 

さて、Netcommonsは、このような特徴のおかげで、学校やNPO、自治体や中小企業などに急速に広まっています。

埼玉県内の学校のWebサイト(ホームページ)にも、広く活用されています。

ただ、埼玉県内の学校のサイトでは、まだ Netcommons2(旧バージョン)のままです。

自分のこのサイトは、 昨年8月に Netcommons2 から Netcommons3 へ移行作業を行いました。

特にNetcommons3サイトは、スマホでアクセスしてみると分かりますが、違和感なくブラウジングが出来、

応答も速く、表示もとてもきれいになっていることが分かります!(レスポンシブデザイン)

また、セキュリティ対策が非常に強力に施されています。

 

ここに来て、ようやく埼玉県立高校のWebサイトも、Netcommons3にバージョンアップされそうな気配です!

現在の Netcommons2サイトと、バージョンアップ後の Netcommons3サイトを見比べると興味深いと思います。

埼玉県立高校のWebサイトがバージョンアップされたら、お知らせしようと思います。 

Netcommons 3.2.1.1 から 3.2.2 にアップデート作業を行いました。

手順に沿って、ていねいに作業し、問題なく完了したように見えていました。

ところが、カミさんのスタジオのホームページに問題発生!

カレンダーに日程の書き込みや編集をしようとすると、「内部エラーが発生しました」となり、操作できないとのこと。

慌てて、3つ作ってあるNetcommons3サイトをすべてチェックしてみたところ、さらに不具合を発見!

管理ページでの、会員管理、権限管理、会員項目設定、の各操作をしようとすると、「内部エラーが発生しました」となり、この3項目は操作できないことが分かりました。

現在のこのサーバー環境は、Debian9、apache 2.4.25、Mysql 10.1.37、php7.2 です。

 

さて、検索したり、Netcommons3の掲示板を見たりしましたが、手掛かりがつかめません。

そこで、公式サイトにユーザ登録して、トラブル報告として書き込ませていただきました。

以前、Githubに書き込んだ時には、全く応答してもらえなかったので不安でしたが、

今回は、1時間後には、対応策を書き込んで下さっていました。

その対応策に沿って修正作業してみたところ、見事、一発で、すべてのエラーは解消しました!

対応のアドバイスを下さった、牟田口様、天野様、本当にありがとうございました!!

 

この件の詳細について書いておこうと思います。

Netcommons3.2.1.1 の時に、サイトの引っ越しをしていました。

この時、引っ越し先の自分の新調サーバーは、 php7.2 環境にアップしてあり、

まずは、このサーバーにNetcommons3.2.1.1 の新規インストールを行う必要がありました。

その際、php7.2に対応させるために、app/Plugin/Migrations/Lib/CakeMigration.php ファイル17行目の「Object を CakeObjectに書き換える」作業が必要でした。

これで出来たNetcommons 3.2.1.1環境に、php7.0で動いていたNetcommons 3サイトのバックアップからのリストアを行った訳です。

そして今回は、Netcommons 3.2.2 は php7.2 にすでに対応しているだろうから、CakeMigration.php ファイルの修正はせずにアップデート完了するだろうと思い込んでいました。

しかし、Netcommons 3.2.2 のCakeMigration.php ファイルは、まだ php7.2 には対応していなかった、ということでした。

対応していなかった理由は良く分かりませんが、レンタルサーバーの多くは、まだ php7.1 あたりなのではないか、とか推測しています。

考えられる多くの環境があるでしょうから、そのどれに対応させるのか、判断が難しいのかもしれません。

または、本当に忙しくて、全ての対応に手が回らない、ということもあり得ると思います。

いずれにしても、これからも、すんなりといかない場面が多く出てきそうですから、

こちらも一生懸命やりながら、多くのエンジニアの方々に助けてもらっていかなければならないと思っています!

Netcommons3もver.3.2.2 まで来て、動作も含めて、大きく改善されてきたと感じます!

これからも、ユーザサイドでアップデート作業を継続していかなければなりません。

ほぼ2か月に1度のペースで発表されるアップデートですが、作業の細かい点をどうしても忘れがちです。

結果オーライに安心して、バックアップ作業を省略したりもしていました。

しかし、突然何かアクシデントがあった時に対応できるよう、やはり基本に忠実に作業しておかないといけませんね。

何となく作業していたのでは、このwebサイトを失う原因にもなりかねません!

そこで、作業手順を細かく記録しておくことにしました。

 

<事前準備・バックアップディレクトリの作成>

 # cd /home

 # mkdir 20190126bkup

<事前準備・最新ファイルの用意>

(1)https://www.netcommons.org/NetCommons3/download より、

最新ファイルを取得して、例えば /home に配置

(2)(1)のファイルを解凍。

 # cd /home

 /home# unzip NetCommons-3.2.2.zip

解凍ディレクトリ NetCommons3 が生成されます。

(3)解凍ディレクトリをリネーム(後でバージョン等不明にならないように)  

 /home# mv Netcommons3/ nc322/

<対象NC3サイトを、閲覧不可にする>

メッセージ文は前もって書いておくと良い

<アップデート前のバックアップ>(自分は、OS、mysql 共に root ユーザで作業しました)

(1)データベース 〇〇〇 のバックアップ(バックアップファイル 〇〇〇.sql 保管先/home/20190126bkup)

 # cd /home/20190126bkup

 # mysqldump -u root -p 〇〇〇 > 〇〇〇.sql 

 (mysql root のパスワードを入力)

(2)ソースのバックアップ(バックアップ先 /home/20190126bkup)

 # cp -r /var/www/NC3インストールディレクトリ/app/Config /home/20190126bkup/

 # cp -r /var/www/NC3インストールディレクトリ/app/Uploads /home/20190126bkup/

以上のバックアップがあれば、アップデートに失敗しても、最悪、アップデート前の状態には戻せます。

インストールディレクトリ全部のバックアップでもいいと思います。

<Netcommons3本体のアップデート>

(1)リネームディレクトリ下のファイル、ディレクトリを、既存NC3インストールディレクトリに上書き

 /home# cp -r nc322/* /var/www/インストールディレクトリ/

上書きが終わったら、上例のnc322ディレクトリは、例えばhokanディレクトリ下に移動等しておく。

(2)cakeコマンド実行してアップデート

 # cd /var/www/インストールディレクトリ/app

 ・・・/app# Console/Cake PluginManager.update_all 

 画面に「一括アップデート」が表示されるので、画面の指示どおり、S を入力してEnter

 アップデート処理中、ざっと眺めておく。エラーは黄色表示になるはず。

(3)インストールディレクトリの所有者を「webサーバー(debianならwww-data)に戻しておく。

 # chown -R www-data:www-data /var/www/インストールディレクトリ

<サイトをブラウジングして確認>

外部PC等から、アップデートしたサイトにwebアクセスして、ログイン等出来れば完了です! 

昨日まで、この自宅サーバー(debian9)は、php7.0環境でしたが、

php7.0は、アクティブサポート、セキュリティサポート共に、12/3に終了していました。

これを何とかしたかったのですが、せっかくなので、OS新規installからやることにしました。

ついでにHDDミラーリングをやめてSSD1本に。

SSDが壊れるリスクについては、定期的なバックアップで対応しようということに。

特にowncloudでは複数のクライアントが繋がっているので、これらのファイルがバックアップになります。

また、最近リリースされたphp7.3もテスト機で試してみましたが、急に不具合が出る可能性もあり、

普段の時間がない時には対応が出来ません。

php7.2は、アクティブサポートが2019年11/30、セキュリティサポートが2020年11/30 までで、まだ余裕があります。

ということで、debian9にphp7.2以降のリポジトリ設定をしてから、php7.2環境を作成しました。

そのあとは、php7.2モジュール、apache2、mariadb、とインストールしていき、割とスムーズに作業が出来ました。

ただ、SSDのパーテイション作成で、マザーボードがBIOSではなくUEFIだったので、UEFIbootパーテイションをあらかじめ作っておく必要がありました。(Windowsインストールなら特に意識しなくていいのかも)

サイトの引っ越しは、以前教えていただいて勉強しておいた方法を再確認しながら進めました。

Netcommonsの内部構造が変わった部分はそれに合わせてバックアップ、リストア方法を変更しましたが、うまくいったようです。

現在、SSDの動きはさすがに早いのですが、以前の高速化の対策がまだ反映されていません。

徐々に対応していこうと思っています。