config.phpのファイルが見つかりません

config.phpのファイルが見つかりません

- moodle beginner の投稿
返信数: 5

いつもお世話になります。

また新しくAWSで、moodleを構築しようとしています。

moodleのバージョンは、3.8.2+ (Build: 20200417)です。

EC2 (apache  php7.2)と、RDS(MySQL5.7)を接続して、
RDSに作ったMySQLのサーバにmoodleという名前のデータベースを作成して、
SSHでムードルのソースをwgetして、展開し、取得した http://独自ドメイン/moodle

で、アクセスするとインストール画面が始まったのですが、、

インストール画面の途中で

========================================
データベース設定

Improved MySQL (ネイティブ/mysqli)

データベースホスト :localhost
データベース名 :moodle
データベースユーザ :****
データベースパスワード :****
テーブル接頭辞 :mdl_
データベースポート :3306
Unixソケット

エラー: データベースの接続に失敗しました。

データベースがオーバーロードしているか、正常に動作していない可能性があります。
サイト管理者はconfig.phpでデータベース詳細が正しく設定されているか確認してください。

Warning: mysqli::__construct(): (HY000/2002): No such file or directory in /var/www/html/moodle/lib/dml/mysqli_native_moodle_database.php on line 79

===========================================

というエラーが出てしまいました。
moodleの中をみるとconfig.phpというファイルが入っていないようです・・。

EC2の方にはデータベースは作らずに、RDSにデータベースを作って作成したからでしょうか?


moodle beginner への返信

Re: config.phpのファイルが見つかりません

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

> EC2の方にはデータベースは作らずに、RDSにデータベースを作って作成したからでしょうか?

そのように思えます。

Moodleのインストール時、「データベースホスト」に「localhost」ではなく、RDSのエンドポイント (例 moodle.xxxx.ap-northeast-1.rds.amazonaws.com) を指定されてはいかがでしょうか。

Mitsuhiro Yoshida への返信

Re: config.phpのファイルが見つかりません

- moodle beginner の投稿

ありがとうございます。

ホスト名にエンドポイントを指定したら、インストールが始まりました!

でも、次は
「申し訳ございません、インストールはオリジナルのIPアドレスから完了する必要があります。」

というエラーが出て止まってしまいました・・。

一度、データベースを削除して、EC2にあるmoodledata  と moodleのディレクトリも
削除して、新しく入れなおしてみたのですが、このエラーが消えません。

すみません、こちらのスレッドに同じような問題に対する回答があったので参考にしてみます。

https://moodle.org/mod/forum/discuss.php?d=314763

評点平均: お役立ち度: ★★★★★★★ (1)
moodle beginner への返信

Re: config.phpのファイルが見つかりません

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators

よろしければ以下のプログラム修正をお試しください。

Moodleバージョン:
Moodle 3.8.2+ (Build: 20200417)

修正対象プログラム:
admin/index.php

修正箇所:
753行目

[ 修正前 ]
    if ($adminuser->password === 'adminsetuppending') {
        // prevent installation hijacking
        if ($adminuser->lastip !== getremoteaddr()) {
            print_error('installhijacked', 'admin');
        }
        // login user and let him set password and admin details
        $adminuser->newadminuser = 1;
        complete_user_login($adminuser);
        redirect("$CFG->wwwroot/user/editadvanced.php?id=$adminuser->id"); // Edit thyself

    } else {


[ 修正後 ]
    if ($adminuser->password === 'adminsetuppending') {
        // prevent installation hijacking
//        if ($adminuser->lastip !== getremoteaddr()) {
//            print_error('installhijacked', 'admin');
//        }
        // login user and let him set password and admin details
        $adminuser->newadminuser = 1;
        complete_user_login($adminuser);
        redirect("$CFG->wwwroot/user/editadvanced.php?id=$adminuser->id"); // Edit thyself

    } else {

参考資料:
[Moodle in English: Re: Installation must be finished from the original IP address, sorry.]
https://moodle.org/mod/forum/discuss.php?d=245570#p1065115

Mitsuhiro Yoshida への返信

Re: config.phpのファイルが見つかりません

- moodle beginner の投稿
ありがとうございます。

AWSにて、Rout 53の設定を解除して、パブリックIPアドレス状態のまま、
再度インストールしたらうまくいきました。

その後、改めてドメインを設定し、config.php のルートアドレスもドメイン名に書き換えたところ、ドメインでアクセスできたのですが、、
ELBでhttp https のルールを作成して、Rout 53にてエイリアスを指定してHTTPS へリダイレクトするように設定したところ、、

https://独自ドメイン/moodle

でアクセスできなくなりました。

このページは動作していません(独自ドメイン) でリダイレクトが繰り返し行われました。
Cookie を消去してみてください.
ERR_TOO_MANY_REDIRECTS

というエラーが出ます。

https://独自ドメイン

は、アクセスできてます。

configのwwwrootは書き換えました。
プロキシの設定とかなんでしょうか?
moodle beginner への返信

Re: config.phpのファイルが見つかりません

- moodle beginner の投稿

お世話になります。

すみません、アドレスの件は私がALBとRoute 53が良くわかっていなくて、
設定しなおしたら、無事に https://~~ でアクセスできて、httpからのリダイレクトにも成功しました。

でも、moodleのアドレスだけうまくいきません。

もう少し勉強してみたいと思います。

ありがとうございました。