Omeka Classic 2.7.1をAlmaLinux8.3にインストールする方法

#1. はじめに
Linuxほぼ初心者の私がまっさらなレンタルサーバにOmekaを入れるかもしれないのでVirtualBoxで導入手順を確立するためのメモとなります。

VirtualBoxの導入手順とOSのインストール手順は省略しています。

#2. 環境

ホストOS：WIndows10
ゲストOS：AlmaLinux8.3
Apache/2.4.37
PHP7.4.16
madiadb-server10.3.27
ImageMagick6.9.11
 
#3. AlmaLinux8.3OSを更新する
```sh
$sudo yum -y update
``` 
#4. apacheの設定をする

apacheは初めからインストールされていたが
もし、インストールされていなかったら下記コマンドでインストールする

```sh
$sudo yum -y install httpd
``` 
##4.1 apacheが自動的に起動するよう設定する
```sh
$sudo systemctl enable httpd
$systemctl is-enabled httpd
enabled
``` 
**enabled**と出力されることを確認

###4.1.1 apacheを起動する
```sh
$sudo systemctl start httpd
$systemctl is-active httpd
active
```
**active**と出力されることを確認

##4.3 apache参照先の確認
```sh
$sudo nano /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/html"
```
`/var/www/html`がWebルートディレクトリになる
　※nanoエディタの方が操作が簡単だったのでviではなくnanoを使用
  
##4.4 mod_rewriteの設定を確認
```sh
$nano /etc/httpd/conf.modules.d/00-base.conf
```

`LoadModule rewrite_module modules/mod_rewrite.so`の記述があることを確認

```sh
$sudo nano /etc/httpd/conf/httpd.conf
```
`< Directory "/var/www/html" >`から始まる部分にある
`154行目のAllowOverride None`を`AllowOverride All`に変える
![mod_rwrite.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1199211/9e7abce9-9439-f2a8-2297-5f6393fba59d.jpeg)

##4.5 apacheを再起動する
```sh
$sudo systemctl restart httpd
$systemctl is-active httpd
active
```
**active**と出力されることを確認

##4.6 ファイアウォールのHTTPとHTTPSのポートを開く
```sh
$sudo firewall-cmd --permanent --add-port=80/tcp
$sudo firewall-cmd --permanent --add-port=443/tcp
```
###4.6.1 ファイアウォールを再読込する
```sh
$sudo firewall-cmd --reload
```

##4.8 ブラウザでテストページが表示されるか確認
**`http://IPアドレス/`**

#5. SELINUXを無効化する
```sh
$sudo sestatus
SELinux status:            disabled
```
**SELinux status: disabled**が表示されたら***`6. PHPのインストール`***へスキップ

##5.1 SELinuxを無効化する

```sh
$sudo nano /etc/selinux/config
```
`SELINUX=enforcing`を`SELINUX=disabled`に変更する
![SELinux.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1199211/ce755765-37e4-0fc0-75b6-16fe29e7f7c5.jpeg)

###5.1.1 サーバを再起動する
```sh
$sudo shutdown -r now
```

###5.1.2ステータスを確認する
```sh
$sudo sestatus
SELinux status:            disabled
```
**disabled**が表示されることを確認
**enabled**が表示されたら***`5.1 SELinux
を無効化する`***からもう一度

#6. PHPのインストールをする
##6.1 EPELリポジトリを追加する
```sh
$sudo yum -y install epel-release
$sudo yum update epel-release
```

##6.2 Remiリポジトリを追加する
```sh
$sudo rpm -ivh http://rpms.remirepo.net/enterprise/remi-release-8.rpm
$sudo rpm --import http://rpms.remirepo.net/RPM-GPG-KEY-remi
```
###6.2.1 Remiリポジトリを有効化する
```sh
$sudo yum config-manager --set-enabled remi
```
 
##6.3 yumコマンドでインストールできるPHPのバージョンを確認
```sh
$yum module list php
```
![PHP.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1199211/1351c2be-57c2-aa01-00b3-0db448f45c98.jpeg)
デフォルトでインストールするのは7.2なのでPHP7.4のモジュールをインストールする
**※PHP8.0は互換性が無くOmeka Classicのインストール時に`zend_db_statement_exception`エラーが出るため7.4をインストールする**
（2021/3/23現在）

```sh
$sudo yum module reset php
$sudo yum module install php:remi-7.4
```
 
##6.4 Omeka Classicに必要なPHPモジュールをインストールする
```sh
$sudo yum -y install php php-gd php-mbstring php-xml php-common php-pdo php-mysqlnd
```

#7. MariaDBをインストールする　

```sh
$sudo yum -y install mariadb-server
```

##7.2 MariaDBが自動的に起動するように設定する
```sh
$sudo systemctl enable mariadb
$systemctl is-enabled mariadb
enabled
```
**enabled**と出力されることを確認

##7.3 MariaDBを起動
```sh
$sudo systemctl start mariadb 
$systemctl is-active mariadb
acitive
```
**active**と出力されることを確認
##7.4 MariaDBのインストールを保護する
```sh
$sudo mysql_secure_installation
```

#8. Omeka Classicのデータベースを作る
```sh
$sudo mysql -u root -p
CREATE DATABASE omeka_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'omeka_user'@'localhost' IDENTIFIED BY 'pass';
GRANT ALL PRIVILEGES ON omeka_db.* TO 'omeka_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
```

#9. Omeka Classicファイルをインストールする
```sh
$cd /var/www/html/
```
##9.1 Omeka Classicのインストールパッケージをダウンロードする
```sh
$sudo wget https://github.com/omeka/Omeka/releases/download/v2.7.1/omeka-2.7.1.zip
```

##9.2 zipファイルがダウンロードされたことを確認する
```sh
$ls -l
```
##9.3 zipファイルを解凍する
```sh
$sudo yum -y install unzip
$sudo unzip omeka-2.7.1.zip
```

##9.4 解凍したファイルをWebルートディレクトリに移動する
```sh
$sudo mv omeka-2.7.1/* /var/www/html
#.htaccessは移動されないので.htaccessを移動をする
$sudo mv omeka-2.7.1/.htaccess /var/www/html
```

#9.5 ファイルの所有権を変更する
```sh
$sudo chown -R apache:apache * ./
```

##9.5.1 apacheを再起動する
```sh
$sudo systemctl restart httpd
```

#10.ImageMagickをインストールする
```sh
$sudo yum -y install ImageMagick
```

#11. Omeka Classicのデータベース設定をする
```sh
$sudo nano ./db.ini
　　[database]
　　host     = "******"
　　username = "******"
　　password = "******"
　　dbname   = "******"
　　prefix   = "omeka_"
　　charset  = "utf8"
　　;port     = ""
    #↓のように変更する
　　[database]
　　host     = "localhost"
　　username = "omeka_user"
　　password = "pass"
　　dbname   = "omeka_db"
　　prefix   = "omeka_"
　　charset  = "utf8"
　　;port     = ""
```

#12. Omeka Classicをインストールする
##12.1 ブラウザで開く
**`http://IPアドレス/install/`**

この画面が出たら、これまでの設定で抜けている手順があるかもしれない
***`9.4 解凍したファイルをWebルートディレクトリに移動する`***の
`.htaccess`を移動し忘れていると出たことがある。
![Omekaerror.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1199211/9a0dec20-1a44-67e1-4e6f-f262c6cd0e33.jpeg)

##12.2 ユーザ情報等を入力する
**管理者ユーザ名、パスワード、Emailアドレス、管理者のEmailアドレス、サイトタイトルは入力必須**
![omeka1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1199211/831c4b8f-c41c-6126-d30e-aa2b6ed7765f.jpeg)
![omeka2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1199211/2dbd32ed-87a2-e71c-3378-a2f1770fcfd4.jpeg)
![omeka3.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1199211/787c4cb4-7f70-ad73-dced-628cf82fa70d.jpeg)
![omeka4.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1199211/d3e08f65-e310-d225-c769-7ec112effce5.jpeg)


##12.3 Omeka Classicをインストールする
**`install`**ボタンをクリック
![omeka5.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1199211/bdf73021-b0d3-739c-b948-e1f99ff8de7f.jpeg)

無事インストール出来ると下の画面が表示される
![omeka6.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1199211/c6435cf6-e6d9-2b25-c2d2-f5455dfbd96c.jpeg)

#13. ログインする
**`Admin Dashboard`**ボタンをクリックする
**ユーザ名、パスワード**を入力し**`
Login`**ボタンをクリックする
![omeka7.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1199211/d72ce566-cfe3-fe3b-2adf-28631852fd29.jpeg)

ログイン成功
![omeka8.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1199211/9b18c3e0-059b-e9dd-aea3-355fe4003fcd.jpeg)

これで終了。

#14. 言語を英語から日本語に変える
```sh
$cd /var/www/html/application/config
$sudo nano config.ini
local.name = ""　
#↓に変える
local.name = "ja"
```



#参考

https://qiita.com/yegusa/items/0a3b9d4a3723b0dd98f0

[How to Install Omeka Classic 2.4 CMS on a CentOS 7 LAMP VPS](https://www.vultr.com/docs/how-to-install-omeka-classic-2-4-cms-on-a-centos-7-lamp-vps)
[Installing Omeka Classic on Reclaim Cloud?](https://forum.omeka.org/t/installing-omeka-classic-on-reclaim-cloud/12511/9)
[PHP8 インストールメモ（CentOS8）](https://blog.apar.jp/php/14976/)