📝 設定ファイル解説:config.js

Lampmanコンテナ設定


config.js 設定例

...
    /**
     * ---------------------------------------------------------------
     * Lampmanコンテナ設定
     * ---------------------------------------------------------------
     */
    lampman: {
        image: 'kazaoki/lampman',
        login_path: '/var/www/html',

        // Apache
        apache: {
            start: true,
            ports: [
                '80:80',
                '443:443'
            ],
            mounts: [ // 公開ディレクトリに /var/www/html を割り当ててください。
                '../public_html:/var/www/html',
                // '../public_html:/home/user_a/public_html',
            ],
            rewrite_log: false, // or 1-8, true=8
        },

        // PHP
        php: {
            image: 'kazaoki/phpenv:7.2.5', // ここにあるバージョンから → https://hub.docker.com/r/kazaoki/phpenv/tags
            // ↑ コメントアウトするとlampman標準のPHP使用(5.4とか)
            error_report: true, // 本番環境の場合は必ずfalseに。
            xdebug_start: true, // 本番環境の場合は必ずfalseに。
            xdebug_host: 'host.docker.internal',
            xdebug_port: 9000,
        },

        // maildev
        maildev: {
            start: true,
            ports: ['9981:1080'],
        },

        // postfix
        postfix: {
            start: true,
            // ports: [],
        },

        // sshd
        sshd: {
            start: true,
            ports: ['2222:22'],
            user: 'sshuser',
            pass: '123456', // or process.env.LAMPMAN_SSHD_PASS
            path: '/var/www/html',
        },
    },
...

image:

メインの lampman コンテナとなるDockerイメージを指定します。 kazaoki/lampman は以下で一般公開されているイメージですので、フォークなどして独自のイメージを作成してご利用いただいてもOKです。

login_path:

lamp login でログインする際の初期のパス設定です。

// Apache

Webサーバ Apache の設定をします。

  • start:
    true ... Apache を起動します
    false ... Apache を起動しません

  • ports:
    Apacheに通すポートを Docker 形式の文字列で複数指定できます。

    (ホストOS側ポート):(コンテナ側ポート)
    
  • mounts:
    lampman コンテナの中にマウントしたいホストOS側のディレクトリを Docker 形式の文字列で複数指定できます。

    (ホストOS側パス):(コンテナ側パス)
    

    尚、ホストOS側パスは相対パスで書くとプロジェクトパスからの相対となります。 また、Web公開の場合は必ず /var/www/html に公開ディレクトリをマウントするようにしましょう。

  • rewrite_log:
    mod_rewrite のログファイル設定です。うまくリライトされない場合などに便利です。
    false ... ログファイルを出力しません。
    18 ... レベル1~8のログファイルを出力します
    true ... レベル8のログファイルを出力します

// PHP

  • image:
    未指定(コメントアウト)の場合は、lampmanコンテナ標準のPHPバージョンが使用されます。(php5.4など)
    PHPバージョンを指定したい場合は、以下から専用のDockerコンテナを指定する必要があります。(phpenvで構築したイメージ集です)
    https://hub.docker.com/r/kazaoki/phpenv/tags
    例:

    image: 'kazaoki/phpenv:7.2.5',
    

    もし該当のバージョンがなかったら、GithubのIssueにリクエスト出してもらえれば可能な限り用意します。

  • error_report:
    true ... PHPのエラーレポートを有効にします。
    false ... PHPのエラーレポートを無効にします。

  • xdebug_start:
    true ... コンテナ起動時にXdebugを開始します。コンテナ起動後は lamp xoff で停止できます。
    false ... コンテナ起動時にはXdebugを開始しません。コンテナ起動後は lamp xon で開始できます。

  • xdebug_host:
    xDebug用のクライアント側のIPを指定します。 例:

    xdebug_host: 'host.docker.internal',
    
  • xdebug_port:
    xDebug用のクライアント側のポート番号を指定します。 例:

    xdebug_port: 9000,
    

// maildev

MailDev はsendmailを利用して送信されるメールを捕捉してブラウザで確認するためのツールです。起動しておくと実際のメールアドレスには届かず、専用の画面でのみメールの内容が確認ができるようになるので、メール送信プログラム等の確認ができます。

  • start:
    true ... Maildev を起動します
    false ... Maildev を起動しません

  • ports:
    MailDevにアクセスするためのポート指定をDocker 形式の文字列で指定できます。コンテナ側では 1080 ポートで起動しているので、:の左側にホスト側で受けたいポート番号を指定してください。
    例:

    ports: ['9981:1080'],
    

    この例の場合、ブラウザから http://localhost:9981 などどしてアクセスすれば MailDev 画面が開きます。 SSL通信ではないので、外部を通る回線などの場合はご注意ください。

    尚、SMTP送信やAPIを利用したメール配信の場合は捕捉できません。あくまで sendmail を通る場合のみですのでご注意ください。

// postfix

メールサーバ Postfix の設定です。MailDevを使用したい場合は必ず起動してください。

  • start:
    true ... Postfix を起動します
    false ... Postfix を起動しません

  • ports:
    もし MailDev を使用せず、通常のメールサーバとして利用したい場合で、外から接続したい場合にポート指定をDocker 形式の文字列で指定できます。
    例:

    ports: ['25:25', '587:587'],
    

    ただし、Lampmanの設定ファイルからはこの内蔵している Postfix サーバを細く設定できません。 別途設定ファイルを用意し、 docker-compose.override.yml 等でマウントする方法が考えられます。

// sshd

SSHサーバ OpenSSH の設定です。コンテナの中に直接アクセスできてしまうので、不要であれば設定しない方がいいでしょう。
※ユーザーID=1000 の 1アカウント のみ設定が可能です。

  • start:
    true ... sshd を起動します
    false ... sshd を起動しません

  • ports:
    外から接続するポート指定をDocker 形式の文字列で指定できます。コンテナ側では 22 ポートで起動しているので、:の左側にホスト側で受けたいポート番号を指定してください。
    例:

    ports: ['2222:22'],
    

    尚、ホストOS側でファイアウォールを導入していても、ここで指定したポートはそのまま通ってしまう場合がありましたので、十分にご注意ください。

  • user:
    接続ユーザー名です。ここで指定したユーザー名は、ユーザーID=1000として追加されます。
    例:

    user: 'sshuser',
    
  • pass:
    接続パスワードです。
    例:

    pass: '123456',
    

    または、設定ファイルに直接パスワードを書きたくない場合は、 .env ファイルや環境変数 LAMPMAN_SSHD_PASS 等にセットしておき以下のようにすることも可能です。
    例:

    pass: process.env.LAMPMAN_SSHD_PASS,
    
  • path:
    ログイン成功した際の着地するパスです。 特に chroot やアクセス制限等は標準ではかかっていませんので、ご注意ください。
    例:

    path: '/var/www/html',
    

results matching ""

    No results matching ""