こんにちは。昨日の今日で早速、Oracle Cloud Infrastructure VMインスタンスにOSS Ad ServerのReviveのインストールができました。
昨日の記事の記事では、ディレクトリへのパーミッションのせいでインストールができませんでした。今回はその解決法と、さらに出現したエラーと戦いながらインストールを行った過程を書きたいと思います。
VM環境の下準備
昨日の記事に流れはありますが、改めてVMを作成し直し環境構築もやり直したので書いておきます。
まずVMインスタンスにsshでログインし、必要なパッケージやソフトをインストールしておきます。のちに必要となると思うのでPHPも合わせてインストールしておきます。
//apache
sudo yum -y install httpd
sudo systemctl enable httpd
sudo systemctl restart httpd
//php
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi-php74
sudo yum install php php-cli php-mysqlnd php-zip hp-gd php-mcrypt php-mbstring php-xml php-json
次にポートを開けて、Apacheへアクセスできる様にします。
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload
sudo systemctl restart httpd
MySQLをインストールします。
//MySQL
sudo wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
sudo yum -y install mysql80-community-release-el7-3.noarch.rpm
sudo yum -y install mysql-community-devel
sudo yum -y install mysql-community-server
sudo systemctl start mysqld
sudo systemctl enable mysqld
//初期パスワードの変更
sudo grep password /var/log/mysqld.log
mysql_secure_installation --use-default
mysql -u root -p
Reviveをダウンロードし公開ディレクトリに配置します。
wget https://download.revive-adserver.com/revive-adserver-5.0.5.tar.gz
tar -xzvf revive-adserver-5.0.5.tar.gz
sudo cp -r revive-adserver-5.0.5 /var/www/html/revive
cd /var/www/html/revive
ここで特定のディレクトリに書き込み権限を与えてあげます。
sudo chmod -R a+w /var/www/html/revive/var
sudo chmod -R a+w /var/www/html/revive/plugins
sudo chmod -R a+w /var/www/html/revive/www/admin/plugins
sudo chmod -R a+w /var/www/html/revive/www/images
さて、ここまでは昨日の記事と変わりません。ここでインストール画面にアクセスしてみると…
はい、変わらずパーミッションエラーが表示されます。
SELinuxの無効化
ここでSELinuxの登場です。過去の記事でもこのSELinuxに苦しめられました。
今回はSELinuxを無効化してみます。
//SELinuxのstatus確認
getenforce
enforcing
//無効化する
sudo emacs /etc/selinux/config
SELINUX=enforcing
//↓変更
SELINUX=enabled
Esc :wq
sudo reboot
これでSELinuxが無効化されました。果たしてインストール画面に移ることはできるのでしょうか。
進みました!データベース選択の画面が表示されました。この様にApacheにおけるディレクトリの権限周りでもSELinuxが保護してくれている様です。
データベースの接続
インストール画面を進めることができ、データベースを選択していきます。あらかじめ作成しておいたMySQLのデータベースとユーザー、パスワードを入力してインストールを進めます。
お?
Installation failed to create core tables
どうやらテーブルの作成時にエラーが出てしまった様です。しかし、DBに接続はできている様ですね。
改めてデータベースを作り直したり、ユーザーのデータベースへの権限を見直してみたりしましたが、エラーは消えませんでした。
そこでReviveのインストール手順と要件を確認してみました。するとReviveのRequirementページにこう書いてありました。
At the time of this page being updated, MySQL 8.x is NOT supported for use with any version of Revive Adserver, including the upcoming v5.0.0 (scheduled for September 2019).
https://www.revive-adserver.com/support/requirements/
MySQL 8.xバージョンはサポートしていないそうです。私がLinuxにインストールしたMySQLは見事にバージョン8でした。
さて原因は分かったので、過去バージョンのMySQLをインストールし直していきます。
MySQL ver 5.6のインストール
まずインストールされているmysqlを確認して、それぞれパッケージをアンインストールしていきます。
rpm -qa | grep -i mysql
sudo yum remove version8のMySQLファイル
次に、MySQL 5.6をインストールします。yumリポジトリを利用します。MySQLのステータスを表示して不要なバージョンを無効化し、新しく入れるMySQLを有効化します。
sudo yum localinstall http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
yum repolist all | grep mysql
sudo yum-config-manager --disable mysql57-community
sudo yum-config-manager --enable mysql56-community
それではインストールしましょう。
sudo yum -y install mysql-community-server
mysqld --version
mysqld Ver 5.6.48 for Linux on x86_64 (MySQL Community Server (GPL))
無事にVer. 5.6がインストールされました。Revive用のデータベースとユーザーの設定が終わったらReviveのインストール画面に移りましょう。
Reviveのインストール
Reviveのデータベース入力画面で先ほど作成したデータベースを入力し、Continueを押します。すると…
インストールが進みました!
アドサーバーのインストールが完了しました!よかった…
無事トップ画面にアクセスできる様になりました。
おわりに
今日はOracle Cloud Infrastructureで作成したVMインスタンスにOSS Ad Server「Revive」をインストールしてみました。
昨日の記事でインストールに失敗してしまったのですが。原因がSELinuxだと判明し、解決するまではすぐでしたが、さらにMySQLのバージョン問題で少し手間取りました。
明日はAd Serverを使ってみた記事を書きたいと思います。
本日も最後までご覧いただきありがとうございました。
コメント