Oracle Linux 8 で Apache 2.4 + PHP 7.4 + MariaDB 10.3 のインストール

#Oracle Linux 8 で Apache 2.4 + PHP 7.4 + MariaDB 10.3
##はじめに
ここを見ている方の多数は、CentOS8の件をご存じかと思います。
詳細は割愛しますが、RHEL派生ディストリビューションとしてCentOS8を選定できなくなった方が
代替のOSとしてOracle Linuxを使った場合のLAMP環境セットアップ手順になります。

##なぜOracle Linuxなのか
CentOS8以外のRHEL派生ディストリビューションなLinuxとして、過去にScientific Linuxというものがありました。
しかしこれは、2019年に開発が終了しております。
現時点で”RHEL派生ディストリビューションでメジャーなものとしてOracle Linuxを選定しました。
補足ですが、AWS上であれば、Amazon Linux 2を使うのが最も有効だと思います。

##Oracle Linuxのダウンロード
http://edelivery.oracle.com/linux へアクセス
ログイン（サインアップ）
検索ボックスで
Oracle Linux
と入力して[Search]

DLP Oracle Linux 8.x.0.0
というのがいくつかあるので、とりあえず最新をクリック
※カートにいれた的なメッセージが出ます

画面右上に[View Items]というリンクがあるのでクリック
規約の同意をして[Continue]

Oracle Linux 8の一覧が表示されるので
Platforms / Languageのプルダウンで[x86_64]を選択する

なんどかContinue

いくつかチェックボックスが入った状態になったリストがでてきますが、以下のみにします。
Oracle Linux Release 8 Update 3 for x86 (64bit)
※RHEL8系からMinimalのイメージ無くなった？？

Continueをクリックするとダウンローダーを落としてくるので、実行すればダウンロード始まります。


##Oracle Linux 8 インストール
インストーラーはCentOSとそっくりです。だいたいわかると思います。
好みに設定してください。ちなみに私は以下の感じで設定してます。

```
English / United States
Keyboard : Japanese
Time & Date : Asia/Tokyo
KDUMP : disabled
Software Selection : Minimal Install
```

## Oracle Linux 8 の設定
###カーネルについて
Oracle Linuxでは、カーネルが2種類存在します。
詳細は割愛しますが
UEK…Oracleチューニングのカーネル。比較的新しめのLinux Kernel
RHCK…RedHatとほぼ同じなカーネル。比較的古めのLinux Kernel

今回は UEK で進めます。
RHCKに変更したい方は以下を参考にすると良いと思います。
https://qiita.com/yamada-hakase/items/bf3a8cfb054b3a8cbd0a

###IPアドレスの設定

```
nmcli c s
nmcli c m [connection名] ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.254 ipv4.dns 8.8.8.8,8.8.4.4 ipv4.method manual autoconnect yes
nmcli c u [connection名]
```

※IPアドレス、デフォゲ、DNS等は適宜変更してください。

###vim zip unzip wget などをとりあえずインストール

```
dnf install vim
```

###SELinux無効化

```
getenforce
```

※しっかりとSELinuxは動いております

```
vim /etc/selinux/config
---
SELINUX=disabledへ変更
```
※要件に合わせて適切に設定した方がいいです。

###パッケージ更新

```
dnf update -y
```

※ dnf distro-sync というコマンドもありますが……どっちがいいんですかね。

###再起動

```
shutdown -r now
```

---

###chronyのインストールと有効化

```
dnf install chrony
systemctl enable chrony --now
```

時計は大事です。
※ --now オプションを付けると、自動起動有効＋起動をしてくれます。

---

##Apacheのインストール

```
dnf install httpd mod_ssl
```

##PHPのインストール

###EPELのインストール

```
dnf install https://dl.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/e/epel-release-8-9.el8.noarch.rpm
```
※記事を書いた時点ではepel-release-8-9.el8が最新

###remiリポジトリ追加

```
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
```

###remi phpバージョンの変更（Stream変更）

```
dnf module enable php:remi-7.4
```

###phpのインストール

```
dnf install php php-mbstring php-zip php-xml php-intl php-gd php-mysql php-fpm
```
 ※php-fpmをインストールしていますが、今回はインストールするだけで使わないです。

##MariaDBのインストール

###MariaDBのインストール

```
dnf install mariadb-server
```

## それぞれのサービスを自動起動有効化＋起動

```
systemctl enable httpd --now
systemctl enable mariadb --now
```

## Firewalldの停止

```
systemctl disable firewalld --now
```
※要件に合わせて適切に設定した方がいいです。

## 最終確認
ブラウザを起動して設定したIPアドレスにアクセスし、phpinfoが表示されればOK
WordPress、CakePHPあたりは動くのではないだろうか。

## 補足
インストールの流れやコマンドはほぼCentOS8と同じです。
違う点は、epel-releaseがdnfで入らないこと。(remiがepel依存なので）
その為、epel-releaseのrpmを直接インストールしています。

Oracle Linuxには
ol8_developer_EPEL
というリポジトリがありますが、パッケージの数が少ないようです。
参考：https://qiita.com/yamada-hakase/items/fdf9c276b9cae51b3633

以上です。