alma linuxにiroha Boardを構築する

alma linuxにiroha Boardを構築する

「alma linux」にオープンソースのeラーニングシステム「iroha Board」を構築した際の手順を記述してます。

環境

  • OS  AlmaLinux 8.4
  • php 7.4
  • mysql 8.0.21

事前準備

mysqlをインストールしておきます。

ここでは、以下のクエリを実行して、事前にDBやユーザーを作成してます。

# DB作成
CREATE DATABASE irohaboard;

# ユーザー作成
CREATE USER 'testuser'@'%' IDENTIFIED BY 'testpassword';

# 権限付与
GRANT ALL PRIVILEGES ON *.* TO 'testuser'@'%' WITH GRANT OPTION;

次にphpをインストールします。
phpは、8.0だったので7.4をインストールします。インストールできるバージョンを確認します。

sudo dnf module list php

<出力結果>
AlmaLinux 8 - AppStream
Name                              Stream                                    Profiles                                                Summary                                           
php                               7.2 [d]                                   common [d], devel, minimal                              PHP scripting language                            
php                               7.3                                       common [d], devel, minimal                              PHP scripting language                            
php                               7.4                                       common [d], devel, minimal                              PHP scripting language                            

Remi's Modular repository for Enterprise Linux 8 - x86_64
Name                              Stream                                    Profiles                                                Summary                                           
php                               remi-7.2                                  common [d], devel, minimal                              PHP scripting language                            
php                               remi-7.3                                  common [d], devel, minimal                              PHP scripting language                            
php                               remi-7.4                                  common [d], devel, minimal                              PHP scripting language                            
php                               remi-8.0 [e]                              common [d], devel, minimal                              PHP scripting language 

7.4がインストールできそうなので、自分は既存バージョンのphpを削除してからインストールしてます。

sudo yum remove php php-*

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

sudo dnf install php74

「/usr/bin/php」に設定します。

sudo alternatives --install /usr/bin/php php /usr/bin/php74 1

必要なモジュールもインストールしておきます。

sudo dnf install php74-php-mbstring php74-php-pdo php74-php-fpm php74-php-mysql

「php-fpm」を有効にします。

sudo systemctl enable --now php74-php-fpm

apacheもインストールします。

sudo dnf install httpd

自動起動と起動を設定します。

sudo systemctl enable --now httpd

「.htaccess」が効くように、「httpd.conf」を設定しておきます。
「AllowOverride None」を「AllowOverride All」に変更します。

バックアップを作成しておきます。

sudo cp /etc/httpd/conf/httpd.conf{,.`date +%Y%m%d%H%M%S`}

編集します。

sudo nano /etc/httpd/conf/httpd.conf

<編集>
<Directory "/var/www/html">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    # AllowOverride None
    AllowOverride All

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

firewallも設定しておきます。
※mysqlに外部からアクセスする場合は「3306」も開けておきます。

sudo firewall-cmd --add-port=80/tcp --zone=public --permanent
sudo firewall-cmd --add-port=3306/tcp --zone=public --permanent

# 設定を反映
sudo firewall-cmd --reload

iroha Boardダウンロード

こちらのサイトからダウンロードしてます。

wgetでダウンロードしてます。なければ「sudo dnf install wget」でインストールできます。

wget https://irohaboard.irohasoft.jp/files/irohaboard_v0.10.7.zip

解凍して「ドキュメントルート」に設置します。

sudo unzip irohaboard_v0.10.7.zip -d /var/www/html

所有者をapacheにしておきます。

sudo chown -R apache /var/www/html

iroha Board事前準備

DBへの接続するため「/var/www/html/app/Config/database.php」を以下のように編集します。
※ここでは事前準備で作成したDBとユーザーを使用してます。

sudo vi /app/Config/database.php

<編集>
class DATABASE_CONFIG {

	public $default = [
		'datasource' => 'Database/Mysql',
		'persistent' => true,
		'host' => 'localhost',
		'login' => 'testuser',
		'password' => 'testpassword',
		'database' => 'irohaboard',
		'prefix' => 'ib_',
		'encoding' => 'utf8'
	];
}

iroha Board構築

ブラウザから http://プライベートIP or サーバーアドレス/install にアクセスします。
※/installにアクセスしてください。自分は、これを忘れてて時間を無駄にしました。

管理者のパスワードを設定します。

入力が終われば、インストールが完了です。

さきほどのパスワードでログインします。ユーザーは「root」です。

ログイン後の画面となります。

管理画面にアクセス

一度、ログアウトして再度、管理画面にアクセスするには、ブラウザから http://プライベートIP or サーバーアドレス/admin にアクセスします。