カテゴリー: システム設定

  • BitnamiでインストールしたphpMyAdminへのアクセス方法

    設定方法

    Bitnamiで稼働しているphpMyAdminにSSHトンネルを設定しPCからアクセスする方法

    # wsl上でのSSHトンネルの設定
    ssh -N -L 8888:127.0.0.1:80 -i キーファイル bitnami@サーバIPアドレス &

    # SSHトンネル設定後、ブラウザでphpMyAdminにアクセス
    http://127.0.0.1:8888/phpmyadmin

    説明

    BitnamiでインストールされたphpMyAdminにブラウザでアクセスする方法です。

    AWS LightsailでWordPressをインストールした際、phpMyAdminもインストールされ使用可能な状態になっていた。
    phpMyAdminの設定ファイル /opt/bitnami/phpmyadmin/config.inc.php を見ると、127.0.0.1経由でしかアクセスを許可していません。
    127.0.01経由ということは、インターネット経由でアクセスはできないように制限しているということです。
    セキュリティ上の配慮でこうなっているのだと思われます。データベース操作が可能なツールをインターネット経由で利用できるようにするのは、問題だと思うので、この制限を行うのはよく分かります。そうですよね。。 phpMyAdminは狙われますしね。

    では、どうアクセスするのか?

    検索すると、インターネット経由でのアクセス許可を設定して、アクセス元IPアドレスの制限を設定する。というような説明をしているページがありました。
    これ、個人的には気持ちが悪いので設定したくありません。アクセス制限しているとはいえ、無法地帯のインターネットからアクセス許可を設定するのは怖いです。

    じゃあどうするのか?さらに探してみるとアクセス方法はBitnamの公式ページにちゃんとアクセス方法が記述されてました。

    Connect to phpMyAdmin (bitnami.com)

    英語のページなので読むのに躊躇してしまいがちですが、今は簡単に翻訳できるので英語のドキュメントへのアレルギーも低くなりました。英語でも読みましょう、ドキュメント。

    Bitnamiのページによると、SSHトンネル経由でアクセスすればいいとのことです。久しくSSHトンネル経由でアクセスしていないので忘れてました。

    wsl上で下記のようにSSHトンネルを作成します。keyfileはサーバにSSHでアクセスする際に使用しているものを設定し、serverはアクセス先のIPアドレスやドメイン名を指定します。

    ssh -L 8888:127.0.0.1:80 -i keyfile bitnami@server &

    これで、ローカルPC上のポート8888のアクセスを、サーバー上の127.0.0.1のポート80に転送するようになったので、ブラウザで下記のURLにアクセスすると phpMyAdminのページが表示されます。

    http://127.0.0.1:8888/phpmyadmin/

    表示後、データベースのユーザIDとパスワードを入力してログインすれば、テーブル操作などが可能になります。


    SSHトンネルとは?

    SSHトンネルとは何ぞや?
    ロカール上の特定のポートへのアクセスをSSH経由でサーバ上の指定したIPアドレスとポートに転送する、という感じでしょうか?
    分かりずらいので、Copilotに質問したところ下記のように回答してくれました。

    自分
    sshトンネルとは

    Copilot
    SSHトンネルは、SSHポートフォワーディングとも呼ばれており、SSHによって確立した通信経路を利用して、クライアントが直接アクセスできないサーバーのポートへ転送してくれる仕組みのことです。具体的には、以下のような仕組みです。

    SSH(Secure Shell)は、暗号化や認証技術を利用して、リモートホストのシェルを安全に利用するためのプロトコルです。SSHを使用するには、サーバー側にSSH接続を受け付けるデーモンが必要です。

    SSHポートフォワーディングは、SSH接続時に「-L」オプションを付与して、ローカルポートをリモートホストのポートに転送します。これにより、外部からアクセスできないサーバーのポートに間接的にアクセスできるようになります。
    ログイン時にポート転送のみを行いたい場合は、「-N」オプションを付与します。この状態でポート転送のみが行われ、SSHコマンド自体は実行されません。
    SSHトンネルを使用することで、安全にリモートサーバーにアクセスしたり、データを転送したりできます。 🚀

    うん、賢いですよね。それなりの回答を簡単にもらえる、いい時代です。

  • bitnamiでLet’s Encryptのサーバ証明書を取得した手順

    設定方法

    Bitnamiの設定ツールを利用してサーバ証明書を取得する。

    sudo /opt/bitnami/bncert-tool

    説明

    AWS Lightsailで初期に登録したサーバ証明書をk-ponta.comにしてしまい、後になって13.196.238.191/にしておけばよかった後悔。。
    初期設定からやり直すのも面倒なので、手動で13.196.238.191/のサーバ証明書を新たに取得できないか調べたところ、bncert-toolコマンドで再取得ができるようなので設定を行う。

    サーバにSSHでアクセス後、bncert-toolコマンドを起動すると下記のようなメッセージが表示される。

    $ sudo /opt/bitnami/bncert-tool
    ----------------------------------------------------------------------------
    Welcome to the Bitnami HTTPS Configuration tool.
    
    ----------------------------------------------------------------------------
    Domains
    
    Please provide a valid space-separated list of domains for which you wish to
    configure your web server.
    
    Domain list []: 

    サーバ証明書を取得したいドメイン名を入力する。英語の説明文は「スペースで区切られた有効なドメインのリストを入力してください Webサーバーを構成します。」とのことなので、k-ponta.comと13.196.238.191/の2つを設定する。

    Domain list []: k-ponta.com 13.196.238.191/

    次にリダイレクションの有効化の確認が行われる。下記の3つの質問が出てくるので設定する場合は「y」を、設定しない場合は「n」を入力してエンターキーで確定する。

    No.英文意味入力値
    1Enable HTTP to HTTPS redirectionHTTPのアクセスをHTTPSにリダイレクトするか?y
    2Enable non-www to www redirectionwwwが無いURLのアクセスを、www付きのURLにリダイレクトするか?y
    3Enable www to non-www redirectionwww付きのURLのアクセスを、wwwが無いURLにリダイレクトするか?n

    適宜、答えていく。基本的にディフォルトの選択肢を選んでいけばいいと思う。

    ----------------------------------------------------------------------------
    Enable/disable redirections
    
    Please select the redirections you wish to enable or disable on your Bitnami
    installation.
    
    Enable HTTP to HTTPS redirection [Y/n]: y
    
    Enable non-www to www redirection [Y/n]: y
    
    Enable www to non-www redirection [y/N]: n

    その後、作業内容が表示されるので問題なければ「y」を入力する。

    ----------------------------------------------------------------------------
    Changes to perform
    
    The following changes will be performed to your Bitnami installation:
    
    1. Stop web server
    2. Configure web server to use a free Let's Encrypt certificate for the domains:
    k-ponta.com 13.196.238.191/
    3. Configure a cron job to automatically renew the certificate each month
    4. Configure web server name to: 13.196.238.191/
    5. Enable HTTP to HTTPS redirection (example: redirect http://k-ponta.com to
    https://k-ponta.com)
    6. Enable non-www to www redirection (example: redirect k-ponta.com to
    13.196.238.191/)
    7. Start web server once all changes have been performed
    
    Do you agree to these changes? [Y/n]: y
    

    設定内容が確認とメールアドレスの入力、契約についてついての表示がされるので問題なければ進める。

    ----------------------------------------------------------------------------
    Create a free HTTPS certificate with Let's Encrypt
    
    Please provide a valid e-mail address for which to associate your Let's Encrypt
    certificate.
    
    Domain list: k-ponta.com 13.196.238.191/
    
    Server name: 13.196.238.191/
    
    E-mail address []: メールアドレスを入力
    
    The Let's Encrypt Subscriber Agreement can be found at:
    
    https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf
    
    Do you agree to the Let's Encrypt Subscriber Agreement? [Y/n]: y

    設定が始まる。既にk-ponta.comドメインでサーバー証明書を取得済みだったので、既存の設定ファイルのバックアップ先などが表示される。

    ----------------------------------------------------------------------------
    Performing changes to your installation
    
    The Bitnami HTTPS Configuration Tool will perform any necessary actions to your
    Bitnami installation. This may take some time, please be patient.
    
    ----------------------------------------------------------------------------
    Success
    
    The Bitnami HTTPS Configuration Tool succeeded in modifying your installation.
    
    The configuration report is shown below.
    
    Backup files:
    * /opt/bitnami/apache/conf/httpd.conf.back.202407020351
    * /opt/bitnami/apache/conf/bitnami/bitnami.conf.back.202407020351
    * /opt/bitnami/apache/conf/bitnami/bitnami-ssl.conf.back.202407020351
    * /opt/bitnami/apache/conf/vhosts/wordpress-https-vhost.conf.back.202407020351
    * /opt/bitnami/apache/conf/vhosts/wordpress-vhost.conf.back.202407020351
    
    Find more details in the log file:
    
    /tmp/bncert-202407020351.log
    
    If you find any issues, please check Bitnami Support forums at:
    
    https://github.com/bitnami/vms

    エンターキーを押して設定を終了する。

    Press [Enter] to continue:

    設定完了後、https://13.196.238.191/ にアクセスして証明書に問題が無い事を確認する。
    http://www.k-ponta.comがhttps://13.196.238.191/に、https://k-ponta.comが、https://13.196.238.191/にリダイレクトされることも合わせて確認する。