【備忘録】ConoHa(PHP7.1)にMauticをインストールする際のmcrypt対策

ConoHa
Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInEmail this to someone

オープンソース唯一のマーケティングオートメーションツールであるMauticですが、楽してクラウド版ばかりを使用していたらバージョンがいつの間にか2.9まであがってました。

という事でオンプレ版も試そうかとしたところ、PHP7でのmcrypt設定でつまづいたので、その辺の設定について書いておきます。

Mauticのインストールについては説明しません。

こちらをご参考ください。Githubからインストールする方法になります。

PHP7でインストール前にエラー出た。

インストールしようと思ってブラウザからアクセスしたら、こんな画面出ました。

じゃあmcrypt入れればいいのね…と簡単に思ってたらハマった。。多分原因は、僕が適当なディレクトリに適当にモジュールやパッケージをがしがし入れてるからだと思うんですが、

  1. PHPのバージョンにあったmcryptを入れる
  2. mcrypt.soのextension設定をphp.iniに書く
  3. mcrypt.soへのパスを通す(シンボリックリンク)

って事をやって、やっとインストールできました。

1. PHPのバージョンにあったmcryptを入れる

PHPのバージョンを確認

$ php -v
PHP 7.1.6 (cli) (built: Jun  7 2017 12:15:54) ( NTS )

結果として「PHP 7.1.6」と返ってきたので、mcryptもPHP7.1のものを入れます。

ググるとepelで入れてる例が多かったのですが、remiで入りました。

$ yum install --enablerepo=remi,remi-php71 php71-php-mcrypt

2. mcrypt.soのextension設定をphp.iniに書く

インストールだけではmcryptは起動しなかったので、php.iniでextensionを宣言します。

extension=mcrypt.so

その後、httpdを再起動。

$ systemctl restart httpd.service

これでも動かない…と思っていろいろ調べてたら、どうやらmcrypt.soへのパスが通ってないらしい。

3. mcrypt.soへのパスを通す(シンボリックリンク)

なので、mcrypt.soへのパスを確認。

$ find / -name mcrypt.so
/opt/remi/php71/root/usr/lib64/php/modules/mcrypt.so

僕の場合、「/opt/remi/php71/root/usr/lib64/php/modules」というとんでもない場所にmcrypt.soファイルがあったので、そのフォルダにシンボリックリンクを通す。

$ ln -s /opt/remi/php71/root/usr/lib64/php/modules/mcrypt.so /usr/lib64/php/modules/mcrypt.so

その後、再度httpdを再起動したら、無事インストールできました。。

ConoHaってタイトル書いたけど、別にConoHaがどうのこうのじゃないな。。ぬるい環境でツール使ってやった間出すのはやめようと思いました。反省。

Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInEmail this to someone