東方の海

サブカル考察など。

続きです。

前記事:無料レンタルサーバーでmoodleを運用する(その1)


さて、moodle2.2.11をアップロードし、moodleフォルダとmoodledataフォルダのパーミッションを705から777(全て許可)にしてインストール開始。

ちなみに、moodle2.2.11は、ファイル数9223、フォルダ数2746、サイズ88.6MBです。システムファイルだけで100MBは使いそうなので、やはりレンタルサーバーの容量は最低500MBは必要でしょう。WEBCROWの広告が思ったより大きくて邪魔なこともありますが、無料でPHP/MySQLを使えるのと、今回は試験運用なので、広告は気にしないことにします。少し(月に1000円前後)課金すれば大抵のところでは広告なしでもっと安定した接続ができるので、本格的に運用する方は課金しましょう。

インストールにおいては、以下のサイトを参考にしました。

所々で、

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; tabobject has a deprecated constructor in /home/(ドメイン)/(ドメイン).webcrow.jp/public_html/moodle/lib/weblib.php on line 2504

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; admin_setting_special_gradelimiting has a deprecated constructor in /home/(ドメイン)/(ドメイン).webcrow.jp/public_html/moodle/lib/adminlib.php on line 4371

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; environment_results has a deprecated constructor in /home/(ドメイン)/(ドメイン).webcrow.jp/public_html/moodle/lib/environmentlib.php on line 1056

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; component_installer has a deprecated constructor in /home/(ドメイン)/(ドメイン).webcrow.jp/public_html/moodle/lib/componentlib.class.php on line 155

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; filterobject has a deprecated constructor in /home/(ドメイン)/(ドメイン).webcrow.jp/public_html/moodle/lib/filterlib.php on line 424

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; filterobject has a deprecated constructor in /home/(ドメイン)/(ドメイン).webcrow.jp/public_html/moodle/lib/filterlib.php on line 424

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; tabobject has a deprecated constructor in /home/(ドメイン)/(ドメイン).webcrow.jp/public_html/moodle/lib/weblib.php on line 2504

のようなメッセージが出ましたが、非推奨というだけなので無視することにしました。そして、無事にサーバチェックとシステムインストールが完了しました。


しかし、その後、

PHPセッションを初期化できません、あなたのブラウザがクッキーを受け付けるかどうか確認してください。

というエラー画面になりました。しかし、「続ける」を2回くらい押すと、最高管理者アカウントの作成画面に遷移し、事なきを得ました。

そしてフロントページ設定も行い、見事moodle管理者ページが出現しました!

なお、display_errorsはエラー文字列に内部機密が含まれるためオフを推奨されたので、php.ini設定変更からオフにしました。また、moodleフォルダのパーミッションを777から705に戻しました。

それ以降、今のところ致命的な問題なく使用できています。

ただ、「マイプロファイル設定>プロファイルを編集する」で

例外 - Call to a member function getAttribute() on null

のエラーとなり、プロファイルを編集できませんでした。そこで、PHPのバージョンを7.0.7から5.6.22に下げたところ、プロファイルを編集できるようになりました!天才!やはり7は5の上位互換じゃない部分が潜んでいたんや!


ということで、「WEBCROW」に「moodle」をインストールすることに成功しました。バージョンは、moodleは2.2.11、PHPは5.6.22、MySQLは5.0.95です。問題は今のところ見つかっていません。WEBCROWにmoodleをインストールするのに成功した報告記事は、なんとこの記事が世界初です!(日本以外でWEBCROWを使う人はいないでしょうし、moodle用には1GBでは少ないため大容量の有料サービスを使うので、それはそうといった感じですが。)

これで、バージョン更新は3年前と少し古いですが、完全無料でmoodleが使えるようになり、受験生に役立つオンラインサイトの実現に向けて大きく前進しました。あとは肝心の中身ですね!あっ…(察し)

スポンサーサイト
2017.01.08 00:36 | コンピューター | トラックバック(-) | コメント(0) |

結構長期の試みになりそうです。

大学入試過去問研究会(かこけん)で長く細々と活動してきて、最近は参考書並みの大型記事を書いているのですが、それと並んで、選択肢問題などをウェブサイト上で解けるようにして模試などを公開したいという野望があります。それを実現する1つの方法が、moodleと呼ばれる教育用のLMS(学習管理システム)です。

moodleは5年前は日本ではほとんど普及していませんでしたが、最近は東京大学英語部会を始め数十以上の様々な大学で利用されるようになっています。

特筆すべきは、テストを出題してその場で自動採点というのが簡単にできることで、選択問題や多答問題、記述問題など様々な形式の問題を作れます。大学入学後に使えるように慣れておきたいという目的もありますが、これは大学受験生にも効果的ではないでしょうか。

ということで、無料レンタルサーバーにmoodleをインストールして運用するのを目標にやっていきたいと思います。

容量を重視し、2GB利用できるHostingerや20GB利用できる2freehostingなどを見ましたが、自動インストーラーがあるものの、セキュリティ上の問題(日本のセキュリティソフトだと確実にブロックされる)、moodleが正常に動かない、FTPがエラーで使えない、アカウント管理が雑、などを鑑み、使用は諦めました。「アカウント管理が雑」については以下のページが参考になるかと思います。

Hostingerを使ってはいけない3つにして最大の理由 - NAVER まとめ

まともなサービスにしよう(そもそも無料という時点で信頼に足るものはほとんどないのだが……)と思い、色々考慮した結果、WEBCROWを試してみることにしました。


まずネットオウルIDを登録し、WEBCROWの無料版のPHP/MySQLオプションパックを契約。スマートフォンからの閲覧時のみ広告が表示されるとされていますが、現在PCからのアクセスでも広告が表示されています。DNS更新間隔によっては登録から最悪12時間経たないとページが表示できないので気長に待ちます。

ネットオウルではセキュリティの都合上SSH接続はできないようです。

FTPアクセスは、FileZillaを用いて、

ホスト:svX.webcrow-php.netowl.jp

ログオンの種類:通常

ユーザ:(取得したサブドメイン).webcrow.jp

パスワード:(FTPアカウント設定から登録したパスワード)

でアクセスできます。他の多くのサービスとは異なり、トップがpublic_htmlで最上層扱いです。トップがいきなりウェブフォルダです。そのため、public_html外のフォルダを作れませんが、Apacheで.htaccessが使えるので、UTF-8で

order deny,allow
deny from all

と書いたテキストファイルをアップロードし、「.htaccess」にリネームしてアクセス禁止にします。

moodleの完全版のzipをダウンロードします。PHP7.0.7対応なので、今回は最新版のバージョン3.2を試します。ダウンロードしたzipをローカルで解凍し、FTPでトップにmoodleフォルダをアップロードします。16000ファイル・145MBありますので、かなり時間がかかります。なお、FileZillaだとなぜか空ファイルへの上書き確認されるのが何回も起こるので、キューを全て上書きにしました。


データベース設定からMySQL追加でUTF-8でMySQLデータベースを作成します。次に、MySQLユーザー設定でユーザーを作成します。MySQL一覧で作成したデータベースに作成したユーザーを追加します。


FTPでトップにmoodledataフォルダを作り、.htaccessでアクセス禁止にします。


トップにアクセスしてデフォルトページが見られることを確認してから、moodleトップにアクセスします。

ウィザードに従ってインストール設定をしていきます。インストールに失敗した場合はconfig.phpを削除してmoodleトップにアクセスすれば再び最初からウィザードを始められます。

「Choose a language」…デフォルトが「English (en)」なので「日本語 (ja)」に変えます。

「パスを確認する」…「ウェブアドレス」「Moodleディレクトリ」は変更できません。「データディレクトリ」はデフォルトの「/home/(サブドメイン)/(サブドメイン).webcrow.jp/moodledata」のままにします。

「データベースドライバを選択する」…デフォルトの「Improved MySQL (ネイティブ/mysqli)」のままにします。

「データベース設定」…「データベースホスト」はMySQLホスト名(mysqlX.webcrow-php.netowl.jp)にします。「データベース名」「データベースユーザ」「データベースパスワード」はデータベースのものにします。テーブル接頭辞はデフォルトの「mdl_」のままにします。「データベースポート」「Unixソケット」は空のままにします。

「著作権表示」…ライセンス情報を読んで承諾するなら「続ける」を押します。


このあと「サーバチェック」に移るはずが、ここでエラーが発生し、エラーページに。

よく見たら、PHP7.0.7・MySQL5.0.95で、PHPは大丈夫でしたがMySQLはMoodle3.2(PHP5.6.5・MySQL5.5.31)に届かない!普通ネックになるのはPHPのバージョンだと思うのですが……。MySQLバージョンが低いなんて想定外デース……。

なんとMoodle2.2.11(PHP5.3.2・MySQL5.0.25)までバージョンが下がります。仕方ないので、一旦ファイルを削除して2.2.11のインストールを試すことにしました。


長くなったのでここで一旦切りたいと思います。


次記事:無料レンタルサーバーでmoodleを運用する(その2)

2017.01.07 02:41 | コンピューター | トラックバック(-) | コメント(0) |
いわゆる「この Web サイトのセキュリティ証明書には問題があります」問題。ただ、今回は、なぜか「ここをクリックしてこの Web ページを閉じる。」の下に表示されるはずの「このサイトの閲覧を続行する(推奨されません)。」が表示されないため、違和感がありました。

InternetExplorer11を利用していましたが、コンピューターの再起動に失敗して以来、突然Googleに接続できなくなりました。IEをリセットするもやはり接続エラーになり接続できず。Chromeだと接続できました。いろいろ調べると、
・コンピューターのエラーで証明書機能が破損している
・GoogleやFacebookの証明書が失効などでエラーになっている
・セキュリティ対策ソフトが悪さをしている
・本当にセキュリティ攻撃を受けている
のいくつかが原因の候補となりました。Googleがだめなのかと思っていたら、Facebookにも接続できませんでした。ということは、HTTPSだとだめということが推測できます。思い返せば、再起動失敗後の起動時にセキュリティ対策ソフト(Avast!)の更新ポップアップが出てきていました。これが原因かと思い、リアルタイムシールドを一旦停止して接続してみると成功。一度成功したサイトには、リアルタイムシールドを再開してもアクセスできるようになりました。つまり、SSL証明書が取得できれば大丈夫ということです。つまり、HTTPSシールドが悪さをしているということになります。
設定>常駐保護>ウェブシールドカスタマイズ>「HTTPSスキャンを有効にする」をオフにしたところ、リアルタイムシールドを停止しなくても解決したので、これを原因と結論づけました。

最近のセキュリティ対策ソフトはHTTPSでも復号化されたデータをスキャンしてくれるんですね、すごい。でも、IEを使い続ける限りは無効にしておくしかないようです。Chromeだと大丈夫だったということは、ChromeのHTTPSでの通信内容はスキャンされないということですので、セキュリティ的にはChromeを使うのと今のところ大差はないでしょう。
でも、実際、IEは圧倒的にウイルスの標的になりやすいので、どうにかしたいですね。新ブラウザのEdgeは、Chromeよりも設定項目が少なく、本当に閲覧専用といった感じで、使う気になれません。Chromeも最近は設定や拡張機能が制限されていて、やはりFirefoxが最高(でもFirefoxもmozillaが組織再編を進めているので今後どうなるかはわかりませんが)。
2016.04.19 02:35 | コンピューター | トラックバック(-) | コメント(0) |
タイトルの通り。スマホのカメラレンズガラス内部に水滴(結露)が入ったときの対処法。
買い替えが脳裏をよぎって震えたけど、結論としてはなんとかなります。

まず、12時間ぐらい側面のカバーを開けて米櫃に突っ込んでおきました。しかし、ほとんど効果なし。怖くなってネットで対処法を調べました。すると、以下のサイトを発見。

携帯(スマホ)が水没気味になってカメラのレンズ内に水が入った時の裏技 ITメモ

これを見て、指でレンズガラスをこすりまくりました。すると、ちょっとずつ水滴が消えていきましたが、遅い。そして、冷えると、水滴の量は若干減るものの、また曇ってしまいました。
そこで、ドライヤーを使ってスマホ本体全体を温め、特にレンズガラスを温めることにしました。触感で約65℃を保ちました。すると、効果あり。ゆびでこするより早い。しかし、冷やすとやはり曇り、根気強く何度もやる必要がありました。効率を上げるため、本体側面のSDカードやUSB端子などのカバー扉は全て開け、ときどき口をつけて逆側のカバー穴からドライヤーの温風を送り込んで口をつけた側から内部の空気を吸う、を繰り返しました。すると、1時間ほどでかなり回復。しかし、やはり曇るので、しばらく乾燥した部屋で放置していたところ、なぜか水滴がかなり減っていました。さらに1時間放置すると、水滴は完全消失し、カメラは完全回復していました!!大成功です!!

さて、一旦は回復したものの、内部の基盤などにはまだ大量の水滴が残っているはず。このままでは内部湿度はほぼ100%で、冷やしたらまた結露しかねないですし、なにより基盤の結露は回路のショートや基盤の腐食、本体の破損につながります。そのため、一刻も早く内部の水滴を除去する必要があります。そのためには、乾燥した部屋で、ドライヤーで約65℃に保ってさらに2時間ほど保温乾燥が必要になるでしょう。米櫃は冷たいのであまり効果がありません。タッパーに乾燥剤を入れてドライヤーの温風で温めるが一番効果がありそうですが、ちょっと用意が大変なのでとりあえずはドライヤーのみで試してみたいです。

ちなみに、基盤に印刷された部分は金や銀でできているのですが、SDカードスロットなどとの接続部分はステンレスやニッケルやハンダが使われており、異種金属接合となっているので、ここが優先的に腐食します。また、カメラ素子などに水滴がつくと、表面の高電圧によるショートで素子が破壊される可能性があります。また、金メッキされた配線でも、電圧にもよりますが、電気が流れているとたとえ金でも錆びて腐食する可能性があります。一旦結露してしまったら最後まで気を抜かないように。ゴキブリやカビの蔓延と同じで、根気強い対処が必要になります。
また、素人の技量では乾燥が不完全になったり、スマホの材質が熱変性を起こして表面が溶ける・故障するなどの逆効果になったりする可能性が高いです。プロに任せたほうが無難です。なお、水没だと携帯電話ショップの保証範囲外になる会社がほとんどなので注意してください。水没以外の結露でも取り扱いの過失として保証範囲外になる可能性はゼロではありません。

以上、対処法でした。自己責任になりますが、買い替えるしかないかもと思っている人はちょっと待ってください。まだ見込みはあります。
2016.03.23 17:07 | コンピューター | トラックバック(-) | コメント(0) |
突然、「Windows サービスに接続できませんでした。Group Policy Clientサービスに接続できませんでした。このため、標準ユーザーはこのシステムにログオンできません。管理者ユーザは・・・」というエラーメッセージが表示され、内臓無線アダプターが使えなくなった。アダプターのドライバーを削除して再起動したものの復帰せず。検索すると、
PC 起動時に「Windows サービスに接続できませんでした」と表示される - マイクロソフト コミュニティ
の現象であることが判明。しかし、最近はWindows Updateはかけていなかったので、何もないのにレジストリが破損したことになる。ウイルスかは不明。
Group Policy Client サービス - 開発者メモ
に従い操作し、該当メッセージは出なくなり、無線アダプターも使えるようになった。しかし、エラーは表示されないがシステムログにはエラーが記録されており、直ったのかは不明。
ccleanerでレジストリをスキャンしたところかなりの数のIssueが見つかったのでFixし、もう一回スキャンしたらまた異なるIssueが数十件見つかったのでまたFixした。するとIssueは見つからなくなった。とりあえずこの状態でいいやといった感じ。
2016.01.27 02:29 | コンピューター | トラックバック(-) | コメント(0) |