OCIのVMインスタンスにAd Server「Revive」をインストールできた話

Oracle Cloud Infrastructure

こんにちは。昨日の今日で早速、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を使ってみた記事を書きたいと思います。

本日も最後までご覧いただきありがとうございました。

コメント

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