Ubuntu 14.04
下記、Ubuntu Server 14.04.05 LTS 64bit上で作業しました。Dockerを使用している場合でも同じ作業です。Ubuntu 14.04.5では、PHP 7.0を使用してMauticを動かします。
[下準備]
次のコマンドを実行し、タイムゾーンを日本時間に合わせるといった下準備を行います。
# apt-get update -y && apt-get upgrade -y
# apt-get install wget unzip nano software-properties-common curl git -y
# echo "Asia/Tokyo" | tee /etc/timezone
# dpkg-reconfigure --frontend noninteractive tzdata
[MariaDB10.1.xのインストールと起動]
MariaDBは、MySQLから派生したMySQL互換のRDBです。CentOSなどでは、標準のデータベースがMySQLからMariaDBに切り替わっていますので、触れたことがある人も多いでしょう。基本的にはMySQLと同じです。
# apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
# add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/repo/10.1/ubuntu trusty main'
# apt-get update -y && apt-get install mariadb-server -y
# service mysql start
[Mautic用DBの作成]
MariaDBのインストールが終わりましたら、次はMauticを導入するためのデータベースを作成します。
# mysql -u root -p
MariaDBのインストールで設定したパスワードを入力します。
MariaDB [(none)]> CREATE DATABASE mautic_db;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mautic_db.* TO mauticdbuser@'localhost' IDENTIFIED BY 'mautic_passwd';
- mautic_db:Mautic用データベース名
- mauticdbuser:Mautic用データベースユーザー名
- localhost:Mautic用データベースのホスト名
- mautic_passwd:Mautic用データベースのパスワード
これらの情報は初期セットアップ画面で使用します。
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q
[ApacheとPHPのインストール]
MauticではWebサーバーとPHP5.6以上が必要です。今回は、WebサーバーにApache2を、PHPには7.0を使用します。
# LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
# apt-get update -y && apt-get install apache2 php php-common php-cli php-curl php-gd php-imap php-intl php-mbstring php-mcrypt php-mysql php-xml php-zip php-pear libapache2-mod-php -y
[Mauticのインストールファイルの設置]
ここではComposerを使用しない方法でインストールしてみましょう。 まず、作業用のディレクトリを作成します。
# cd /usr/local/src
# mkdir mautic-src
# cd mautic-src/
Mautic公式サイトのダウンロードページ(ここをクリック)からMauticのインストールファイルをダウンロードし、ダウンロードしたZipファイルをWinSCP等で、作業用ディレクトリとして作った、/usr/local/src/mautic-src にアップロードします。なお、ダウンロードしたZipファイルはバックアップとして残しておきましょう。 ここでは、2016年10月11日現在最新の「2.2.0.zip」を使用しています。
# unzip 2.2.0.zip
# cp -r /usr/local/src/mautic-src /var/www/html/mautic
# cd /var/www/html/mautic/
# rm 2.2.0.zip
# chown -R www-data:www-data /var/www/html/mautic/
[Apacheの設定変更]
Apacheの設定を変更し、開示されるサーバー情報を最小限に抑えます。Mauticを使用することでMauticを動かしているWebサーバーが外部に公開されますから、悪意ある第3者からの不正アクセスを防ぐためにもサーバー情報の開示は最小限にした方が良いでしょう。
Document rootの変更
# cd /etc/apache2/sites-available
# nano 000-default.conf
DocumentRoot /var/www/html → DocumentRoot /var/www/html/mautic に変更します。また、</VirtualHost>の下に、
<Directory /var/www/html/mautic>
Options Includes FollowSymlinks
AllowOverride All
DirectoryIndex index.php index.html index.htm
</Directory>
を追記します。追記後、Ctrl + x キーを押し、y キーで保存します。
Apacheのセキュリティ設定変更
# nano /etc/apache2/conf-enabled/security.conf
下記を書き換えます。書き換え後は、Ctrl + x キーを押し、y キーで保存します。
ServerTokens OS → ServerTokens Prod に書き換え
ServerSignature On → #ServerSignature On に書き換え
# ServerSignature Off → ServerSignature Off に書き換え
security.confの書き換えはここまで。
# a2enmod rewrite
# service apache2 restart
Apacheの設定を変更しましたので、Apacheを再起動します。
[PHPの設定変更]
PHPの設定ファイルである「php.ini」の設定を変更します。
# nano /etc/php/7.0/apache2/php.ini
下記を変更および追記して、保存します。Ctrl + x キーを押し、y キーで保存します。
[Data Handling]
post_max_size = 8M
をpost_max_size = 21M
に変更します。post_max_sizeは、POSTデータの最大サイズで、upload_max_filesizeよりも少し大きくしておくと良いです。memory_limitを超えない数値を指定します。
Mauticで資料配布を行う場合を考慮してサイズを調整しましょう。
[File Uploads]
upload_max_filesize = 2M
をupload_max_filesize = 20M
に変更します。
20Mとは、最大20MBのファイルをアップロードできるという意味です。
post_max_sizeを超えない数値を指定します。
[Date]
;date.timezone = のあとに、
date.timezone = Asia/Tokyo
を追記します。
[Resource Limits]
memory_limit = 128M
をmemory_limit = 192M
など135M以上に変更します。Mauticの設定画面で、「IPルックアップサービス」に「MaxMind GeoLite2 IP」を使用する場合は、memory_limitが135M以上でないとエラーを起こすため。
php.iniの変更および追記はここまで。
# service apache2 restart
PHPの設定を変更しましたので、Apacheを再起動します。
[Mauticの初期セットアップ]
Webブラウザで、http://Public IPアドレス
もしくは http://FQDN(ホスト名.ドメイン名) (例 http://mautic.abc.com)
にアクセスして、初期セットアップの画面にアクセスします。画面に従って、作業してください。
DockerでWebサーバーに80番以外のポートを使用している場合は、各時にて読み替えてください。
例 http://mautic.abc.com:8080
など
[初期セットアップ画面にアクセスできない場合]
- Webサーバーが停止していないかどうか
- Apache 起動の有無を確認
# service apache2 status
- Apache 再起動
# service apache2 restart
- Apache 起動の有無を確認
- データベースが起動しているかどうか
- MariaDB 起動の有無を確認
#service mysql status
- MariaDB 再起動
#service mysql restart
- MariaDB 起動の有無を確認
- ファイアウォールの確認
- 設定確認
#ufw status
- 必要なポートが開放されていない場合は、ポートを空けます。
例 8080番ポートの場合は、
#ufw allow 8080/tcp
を実行します。 - Mauticでは、TCPで次のポートを利用できるようにしておく必要があります。80 / 3306 / 587 / 993
- ファイアウォールの有効化 # ufw enable
- 開放したポートに対する不正侵入対策として、定番かつ無料のものでは、Fail2banがあります。
- 設定確認
[初期セットアップ後にログインできない場合]
ログインURLは、下記のようになります。
Webブラウザで、http://Public IPアドレス/s/login
もしくは http://FQDN(ホスト名.ドメイン名) (例 http://mautic.abc.com)/s/login
例 http://mautic.abc.com:8080/s/login