Mautic をローカル環境で動かしてみた

スポンサーリンク
スポンサーリンク

最近、Mautic に触る機会があり、環境を構築してみたのですが、PHP のライブラリ関係や composer 等々の必要要件に関するの情報が乏しく、思いのほか手間どってしまいましたので、悩まれている方の参考になればと思い書いていきたいと思います。

環境

最終的に落ち着いた環境になります。
Composer も 2 系のバージョンでもいけるかと思いきや、バージョン 1 系じゃないとダメでした。。。
・Mautic 3.3.3
・Ubuntu 20.04
・PHP 7.4.20
・PHP-FPM 7.4.20
・Nginx 1.18.0
・MariaDB 10.3.29
・Composer 1.10.22

Vagrant 起動

Vagrant の設定ファイルを一部抜粋します。

OS は以下を使用


  config.vm.box = "bento/ubuntu-20.04"

権限まわり設定
Vagrant でよく引っかかる権限まわりです。
Mautic では、ディレクトリの権限まわりが厳しいため、以下の設定でパーミッションを変更します。


  config.vm.synced_folder ".", "/vagrant",  create: true, owner: "vagrant", group: "vagrant", mount_options: ['dmode=777','fmode=777']

Vagrant の vagrant-hostsupdater を使用して hosts ファイルに IP とドメインの紐付けを記述する設定となります。
※vagrant-hostsupdater をインストールされていない場合には、スルーしてください。


  config.vm.network "private_network", ip: "192.168.33.10"
  config.hostsupdater.aliases = ["local.na-mautic.com"]

Vagrant を起動します。


$ vagrant up

起動したら仮想サーバーへ接続します。


$ vagrant ssh

接続できたら、次に環境を整えていきたいと思います。

必要ライブラリのインストール

まずは、インストール可能なパッケージの一覧とインストール済みパッケージの更新を行います。


$ sudo apt update && sudo apt upgrade

そして、必要なライブラリインストールします。


$ sudo apt install vim git unzip curl -y

MariaDBインストールと設定

MariaDB をインストールしていきます。
※ちなみに、MariaDB の現在の最新版の 10.5 をインストールして試したところ、Mautic の初期設定画面の DB 設定画面でバージョン関係のエラーとなりましたので、今回、通常インストールからの 10.3 をインストールしてます。


$ sudo apt -y install mariadb-server

インストールが完了したら初期化します。
※初期化の詳細内容は割愛します。m(_ _)m


$ mysql_secure_installation

初期化が完了したら、ログインして Mautic 用のデータベースとユーザーを作成します。


$ sudo mysql -u root -p
Enter password: 

> CREATE USER mautic_user@localhost IDENTIFIED BY 'password';
> CREATE DATABASE mautic;
> GRANT ALL PRIVILEGES ON mautic.* TO mautic_user@localhost;
> FLUSH PRIVILEGES;

PHP のインストールと設定

PHP をインストールしていきます。


$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update
$ sudo apt install -y php7.4
$ sudo apt install php7.4-{cli,fpm,json,common,mysql,zip,gd,mbstring,curl,xml,bcmath,imap,intl}

インストールが完了したら設定ファイルを修正します。
※今回は、必要最小限の設定になってます。


$ sudo vim /etc/php/7.4/fpm/php.ini

;memory_limit = 128M
memory_limit = 512M

[Date]
date.timezone = Asia/Tokyo

Composerインストール

Composer をインストールしていきます。
※最初は現在の最新版のバージョン 2 系をインストールしましたが、「composer install」でエラーとなり、エラーの内容を確認すると 対応しているバージョン 1 系となってましたので、結局、 1 系のインストールにしてます。

(※最新のハッシュ値やインストール方法については、本家サイトを一度ご確認ください。


$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
$ php composer-setup.php --version=1.10.22
$ php -r "unlink('composer-setup.php');"
$ sudo mv composer.phar /usr/local/bin/composer

Mautic ソースコードダウンロード

Mautic のソースコードをダウンロードします。


$ cd /vagrant
$ wget https://github.com/mautic/mautic/archive/refs/tags/3.3.3.zip

ダウンロードが完了したらソースコードを展開します。


$ unzip 3.3.3.zip -d mautic 

Composer コマンド実行します。


$ cd mautic
$ composer install

Nginx インストールと設定

Nginx をインストールします。


$ sudo apt install nginx

インストールが完了したら設定ファイルを設置します。


$ sudo vim /etc/nginx/site-available/mautic.conf

設定ファイルの内容は以下となります。


server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name  example.com;
    root /vagrant/mautic;
    index index.html index.htm index.php;

    location / {
        try_files $uri /index.php$is_args$args;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_index index.php;
        fastcgi_read_timeout 240;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_split_path_info ^(.+.php)(/.+)$;
    }
		
    rewrite ^themes/.*/(layouts|pages|partials)/.*.htm /index.php break;
    rewrite ^bootstrap/.* /index.php break;
    rewrite ^config/.* /index.php break;
    rewrite ^vendor/.* /index.php break;
    rewrite ^storage/cms/.* /index.php break;
    rewrite ^storage/logs/.* /index.php break;
    rewrite ^storage/framework/.* /index.php break;
    rewrite ^storage/temp/protected/.* /index.php break;
    rewrite ^storage/app/uploads/protected/.* /index.php break;
}

設定ファイルを作成したら内容に問題ないかチェックします。


$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

問題なければ、上記で作成した mautic.conf を sites-enabled にシンボリックリンクを設定します。


$ cd /etc/nginx/sites-enabled/
$ ln -s /etc/nginx/sites-available/mautic.conf mautic.conf

そして、最後に Nginx と PHP-FPM を再起動します。


$ sudo systemctl restart nginx php7.4-fpm

※Apacheの自動起動も停止しておきます。


$ sudo systemctl disable --now apache2

動作確認

最後に動作確認をします。
ブラウザを起動し、「http://local.na-mautic.com」へアクセスし、Mauticのインストール画面が表示されれば完了です。
※「http://local.na-mautic.com」は、こちらの環境で設定したURLになりますので、環境に合わせてご確認をお願いします。

(画面キャプチャを取り忘れしまいました。。。orz)

コメント

タイトルとURLをコピーしました