広告

VirtualBoxにCentOS8.1(8.2)を入れて、LAMP環境をつくる

VirtualBox公式サイト VirtualBox
この記事は約28分で読めます。

CentOS8.2も同様です。

2020年3月8日一部、修正(php-mysqliのインストールを追加)しました。

2020年3月9日 ApacheのAllowOverrideについて追記しました。

2020年6月25日 メール送信の部分を修正しました。

2020年7月13日 CentOS8.2でSSL(https)接続が上手くいかず、最初からやり直したら、上手くいきました。

  1. 環境
  2. VirtualBoxのダウンロード
  3. VirtualBoxで仮想マシンを作る
  4. VirtualBoxの仮想マシンのネットワークを設定
  5. Cent OS 8.1をダウンロード
  6. CentOS8.1を仮想マシンに入れる
  7. CentOS8.1をインストール
  8. CentOS8.1 ネットワーク設定
    1. 設定するIPアドレスを決めていない場合
    2. 設定するIPアドレスが決まったら、IPアドレスを固定化
  9. 開発ツールなど、基本的なパッケージをインストール
  10. アップデート
  11. 不要なサービスを停止します
  12. selinuxの無効化
    1. vim または vi の操作方法(必要最小限)
    2. 再起動します
  13. firewalld設定
  14. ssh接続
  15. タイムゾーン時間設定
    1. /etc/chrony.conf  変更前
    2. /etc/chrony.conf  変更後
  16. PostfixのメールをGmailで送信
    1. Googleアカウントで、SMTP認証につかう専用パスワードを作成(2段階認証をしている場合)
    2. GmailのSMTP認証情報ファイルを作成します。
    3. PostfixのDBファイルを生成します。
    4. Postfixの設定
    5. メール送信確認
    6. メールが送信できていないとき
  17. php7.4のインストール
    1. EPELとREMI Repositoryを追加
    2. yum-utils packageインストール
    3. 7.4のモジュールストリームを有効化
    4. アップデート
    5. phpインストール
    6. テスティングパッケージインストール
    7. インストールできたか確認
    8. php設定
    9. php自動起動
    10. Apacheも自動的にインストールされるはずです
    11. SSL接続用のmod_sslをインストール
    12. Apache自動起動
    13. Apacheの設定変更
  18. MariaDBインストール
    1. MariaDBのパッケージ確認
    2. 必要なパッケージをインストール
    3. Mariadb起動・確認
    4. MariaDB自動起動
    5. データベースのセキュリティ対策
    6. MariaDBの文字コード変更
  19. データベースの作成と削除
    1. MariaDBへ接続
    2. データベース全体の文字コードを確認します。
    3. データベース作成
    4. データベース名を表示
    5. データベースに接続
      1. wordpressというデータベースの文字コードを確認
    6. データベース削除
    7. MariaDB接続解除
  20. https接続用自己署名のサーバー証明書
  21. WordPressなら、php-mysqliのインストールも必要
  22. WordPressをインストールする際は、GDライブラリが必要
  23. FTP接続をしたい場合は、次の記事にお進みください
  24. WordPressのインストールは、次の記事にお進みください
  25. 参考サイト

環境

ホスト:WIndows10・・・Macでも操作はほぼ変わりません

ゲスト:CentOS 8.1

VirtualBox:バージョン6.1.4

VirtualBoxのダウンロード

VirtualBoxの公式サイトからダウンロードします。

VirtualBox公式サイト

でかでかと出ているDownloadボタンをクリック

ダウンロードページに遷移します。

windowsはwindows hosts

Windows10は「Windows hosts」Macなら「OS X hosts」をクリックします。

クリックすると、警告が出る場合と出ない場合がありますが、ダウンロードしてください。

ダウンロードしたら、必要に応じてインストールしましょう。

基本、全部推奨設定のままで良いと思います。

VirtualBoxで仮想マシンを作る

VirtualBox初期画面

「新規」と書かれている+ボタンをぽっちっとクリックするのだぁ!

エキスパートモード

エキスパートだと思っていなくても、自分はエキスパートだ!と思っていても、「エキスパートモード」をクリック。

名前を入れる

「名前の欄」に「cent_os8」のように入力しましょう。

名前は自由ですが、 他の仮想マシンと混同しないような名前にするようにしましょう。

また、Cent OS8と記入すると、タイプとバージョンが自動的に反映されます。

もし、反映されなかったら、上の図と同じように設定してね。

「メモリーサイズ」を設定するのだぁ。

適当でいいけど、少ないと動作がもっさり・・・最悪フリーズ。

「ハードディスク」は「仮想ハードディスクを作成する」にしましょう。

ここまでできたら、「作成」をぽっちっとな。たぶん爆発しないから大丈夫!

ハードディスク容量

ハードディスク容量は「可変サイズ」にしておきましょう。ちょっと大変ですが、後から増やせます。

後から増やすのも面倒なので、「ファイルサイズ」は余裕を持たせてくださいね。

「作成」をクリックしたら、仮想マシンの完成です!

仮想マシン完成

VirtualBoxの仮想マシンのネットワークを設定

設定をクリック

「設定」をクリックします。

ネットワークの設定

左側で「ネットワーク」をクリック。

ネットワークの設定が表示されたら、「割り当て」を「ブリッジアダプター」にします。

ブリッジアダプター

一番簡単だし、WordPressの構築などで実機確認ができるので、私はブリッジアダプターにすることが多いです。

設定したら、「OK」をクリックして設定画面を閉じます。

Cent OS 8.1をダウンロード

CentOSの公式サイトからCentOS8.1をダウンロードします。

centos8.1

「CentOS Linux DVD ISO」をクリック。

ミラーサイト

ミラーサイトがたくさん出てきます。

一番上のものを選んで、ダウンロードします。

7ギガ以上あるので、時間がかかります。

携帯でダウンロードしたら、えらいこっちゃ。

CentOS8.1を仮想マシンに入れる

ダウンロードしたファイルを仮想マシンに入れます。

設定をクリック

「設定」をクリック。

ストレージ

画面左側で「ストレージ」を選択。

ストレージデバイス コントローラーの「空」を選択。(真ん中の画面)

属性のところにある「円マーク」をクリック。

ファイルを選択

「ディスクファイルを選択」をクリック。

別ウィンドウが開きますので、先ほど、ダウンロードしたCentOS8.1のデータを選択します。

選択後

先ほど、「空」となっていたところに「CentOS-8.1~~」と変わったことを確認しましょう。

確認したら、「OK」ボタンをクリックします。

CentOS8.1をインストール

起動

仮想マシンを起動してCentOS8.1をインストールします。

VirtualBoxの「起動の右にある小さい三角」をクリックして「通常起動」を選び、仮想マシンを起動しましょう。

「起動」をクリックして起動してもOKです。

centos8.1インストール画面

VirtualBoxから仮想マシンを起動すると別ウィンドウが立ち上がります。

仮想マシンのウィンドウをマウスで選択すると、仮想マシンを操作できるようになります。

仮想マシンの操作から抜けて、自分のPCを操作する場合は、windows10ならキーボード右側にあるCtrlキーを押します。macの場合は左のcommandキーです(間違ってたらゴメンなさい)。

なお、VirtualBoxの設定で仮想マシンの操作を終了するキーを設定できます。

キーボードの上下キーを使って、「Install CentOS Linux 8」選択します。

何もしないと、自動的にbootされてしまうので、ご注意を。

centos8インストール

マウスをつかって、「日本語」を選択します。

選択したら、右下の「続行」ボタンをクリック。

ソフトウェアの選択

「ソフトウェアの選択」をクリック。

最小限

「最小限のインストール」を選択。

左上にある「完了」ボタンをクリック。

インストール

画面が切れてしまいますが、「インストール先」をクリック。

ローカルの標準ディスクを選ぶ

ローカルの標準ディスクのところに表示されたディスクを選択

選択したら左上にある「完了」をクリック。

タイムゾーン

時刻と日付を選択。

タイムゾーン設定

タイムゾーンを日本に設定します。

設定が終わったら、左上の完了を押してください。

インストール開始

設定が終了したら、「インストールの開始」ボタンが青色に変化しますので、クリック。

インストールが開始されます。

rootパスワード

インストール中に、「rootパスワード」をクリックして、管理者のパスワードを設定します。

パスワード設定

パスワードは忘れないようにしてから、パスワードを入力します。

問題があるパスワードの場合「完了」を2回押す必要があります。

待つ

ユーザーを作成したい場合は、「ユーザーの作成」をクリックして作成します。

再起動

インストールが終了したら、「再起動」をクリックします。

再起動中

再起動して上の画面になったら、キーボードの上下キーを押して、自動的にbootされるのを中止させます。

電源オフ

VirtualBoxの仮想マシンのところで右クリック。

閉じる>電源オフを選択して、仮想マシンを終了させます。

設定をクリック

仮想マシンの電源がOFFになったら、「設定」をクリック。

ディスク取り出し

画面左側の「ストレージ」をクリック。

画面中央の「CentOS-8.1~~~」を選択。

画面中央の下にある×ボタンをクリック。

空にする

コントローラー:IDEの中身が空になったら「OK」をクリック。

設定をクリック

再度、「設定」をクリック。

システム設定

画面左側で「システム」を選択。

画面中央で「ハードディスク」を選択して、上ボタンをクリックして一番上にくるようにします。

設定後

設定したら「OK」をクリック。

起動

仮想マシンを起動させます。

いろいろと画面が出てきて・・・

ログイン

localhost login:

と出てきたら、画面のように

root

と入力します。

パスワードを聞かれますので、インストールした際に設定したパスワードを入力します。

[root@localhost ~]# と表示されたら、無事にインストール完了です。

さてっと。こっからが長いんだよね。

CentOS8.1 ネットワーク設定

まずは、ネットワークに接続します。

nmtui

コマンド

nmtui

ネットワークマネージャーが立ち上がります。

ネットワークマネージャー

キーボードの上下キーで

Edit a connection

を選択、キーボードのEnterキーを押す。

enp0s3

キーボードの上下キーで

enp0s3

を選択、 キーボードのEnterキーを押す。

Auto

キーボードの上下キーで

Antomatically connect

を選択し、[ ]なら、スペースキーを押して[x]にします。

上下キーでカーソルを移動させて、OKにあわせてキーボードのEnterキーを押す。

設定するIPアドレスを決めていない場合

設定するIPアドレスが決まっている場合は、ワープしてくださいね。

ネットワーク設定

<Back>にカーソルをあわせてキーボードのEnterキーを押す。

ネットワーク設定

QuitにカーソルをあわせてキーボードのEnterキーを押す。

ネットワークを調べる

コマンド

nmcli

自動で設定されたIPアドレスが表示されます。

ipv4なら上図の矢印のところ、inet4と、DNS configurationのserversの番号を控えましょう。

ping確認

ネットワーク(インターネット)に接続できているか、確認します。

コマンド

ping google.com

グーグルでなくても良いです。

上図のように反応が返ってきたら、OKです。

pingを終了するには「controlキー+cキー」です。

反応が返ってこない場合、ネットワークに接続できていません。

どっかで設定を間違っているとか、LANケーブルが抜けているとか、ゲートウェイの電源が落ちているとか、原因を探ってみてください。

問題なければ、自動で設定されたIPアドレスで固定してしまいます。

設定するIPアドレスが決まったら、IPアドレスを固定化

再度、ネットワーク設定画面を立ち上げます。

ネットワーク設定画面のままなら、飛ばしてください。

nmtui

コマンド

nmtui

ネットワークマネージャー

キーボードの上下キーで

Edit a connection

を選択、Enterキーを押す。

enp0s3

キーボードの上下キーで

enp0s3

を選択、 キーボードのEnterキーを押す。

ネットワーク設定

IPv4 CONFIGURATION <Automatic>のところにキーボードの上下キーを使ってカーソルをあわせて、キーボードのEnterキーを押して、<Manual>に変更する。

IPv4 CONFIGURATION の横にある<Show>にカーソルをあわせてキーボードのEnterキーを押す。

ネットワーク設定

Addressesのところに、固定するIPアドレスを入力。/も忘れずに。

(普通なら、192.168.0.101/24や192.168.1.101/24などですが、私のネットワークはサブネットマスクを変更しているので、ちょっと違います。同じにすると動かないよ。)

Gateway、DNS serversは、コマンドnmcliで調べた DNS configurationのserversのところの値です。

IPv6 CONFIGURATION <Automatic>のところにキーボードの上下キーを使ってカーソルをあわせて、キーボードのEnterキーを押して、<Ignore>に変更して無効化します。

全部設定が終わったら、<OK>にカーソルをあわせて、キーボードのEnterキーをぽっちっとな。

ネットワーク設定

<Back>にカーソルをあわせてキーボードのEnterキーを押す。

ネットワーク設定

QuitにカーソルをあわせてキーボードのEnterキーを押す。

ping確認

ちゃんとネットワークに接続できているかpingで確認。

コマンド

ping google.com

上図のように表示されたらOKです。

pingを終了するには「controlキー+cキー」です。

開発ツールなど、基本的なパッケージをインストール

開発ツールなど、基本的なパッケージをインストールしましょう。

コマンド 1行ずつ入力してくださいね。

yum -y groupinstall base
yum -y groupinstall development
yum -y groupinstall network-tools

CentOS8からはyumじゃなくてdnfでは? と思ったあなた!素敵ですね。

アップデート

一式、最新版にアップデートしましょう。

コマンド

dnf update

または

sudo dnf update

不要なサービスを停止します

コマンド  1行ずつ入力してくださいね。

systemctl disable atd
systemctl disable kdump
systemctl disable mdmonitor

selinuxの無効化

私の記憶によれば、selinuxは3つの設定があって、セキュリティなどを向上させてくれるのですが、使うと動かなくなるものが多いので、無効化してしまうことがほとんどです。

コマンド

vim /etc/sysconfig/selinux

または

vi /etc/sysconfig/selinux

SELinux無効設定

vim または vi の操作方法(必要最小限)

行番号表示

:set number
iキーで編集開始(インサート)

終了するときは「esc」キーを押して、終了コマンドを打つ。

:q 保存しないで終了
:q! 保存しないで強制終了
:wq 保存後終了
:wq! 保存後強制終了

SELINUX=enforcing
↓ ↓ ↓ ↓
SELINUX=disabled

SELinux無効設定

再起動します

コマンド

shutdown -h now

firewalld設定

設定を確認します。

コマンド

firewall-cmd --list-all

firewalld

publicゾーン(パブリックエリア向け設定)にcockpit(ウェブブラウザでサーバーを管理するための機能)、 dhcpv6-client(IPv6用のDHCP clientサービス)、ssh(リモート接続)が許可されています。

HTTP(80/tcp) と HTTPS(443/tcp) を追加します。

メールを送信するなら、下記のポートも追加します。

smtp(25/tcp):メール送受信

imaps(993/tcp):IMAP(Internet Message Access Protocol) Over SSL

pop3s(995/tcp):POP(Post Office Protocol) Over SSL

submission(587/tcp):25番ポート以外でメールの送信を行うためのポート

コマンドは1行ずつ実行してください。

firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --add-port=443/tcp --permanent
firewall-cmd --add-port=25/tcp --permanent
firewall-cmd --add-port=933/tcp --permanent
firewall-cmd --add-port=995/tcp --permanent
firewall-cmd --add-port=587/tcp --permanent

設定を読み込みます。

firewall-cmd --reload

firewalld設定

設定を確認します。

firewall-cmd --list-ports --zone=public

80/tcp 443/tcp と表示されたらOKです。

25、933、995、587のポートも設定した場合は、25/tcp 933/tcp 995/tcp 587/tcpが表示されていることを確認しましょう。

念のため、firewall-cmd --list-allでも確認しておきましょう。

下記のキャプチャーは、80、443のみ設定しています。

firewall-cmd --list-ports --zone=public

ssh接続

ssh接続ができるので、ssh接続で作業した方がいいと思います。

SSH接続すると、Macならターミナル、Windowsならコマンドプロンプトなどを使ってコマンドをコピペできるので楽。

Macのターミナルなら右クリックでペーストができます。

Windowsのコマンドプロンプトなら、ウィンドウの上の枠を右クリックして、「プロパティ」を選択

コマンドプロンプト

Ctrl + Shift +C/V をコピー/貼り付けとして使用する(C)を有効化します。

コマンドプロンプト設定

ターミナルかコマンドプロンプトかPowershellを立ち上げて

ssh root@192.168.0.101

と打ち込みます。@の後は、CentOSで設定したIPアドレスです。

Yes,Noと聞いてくるので、「yes」

CentOSのパスワードを聞いてくるので、入力します。

これでSSH接続ができました!

参考画像:IPアドレスが違います。

macターミナルから

タイムゾーン時間設定

タイムゾーンをアジア/東京に設定します。

timedatectl set-timezone Asia/Tokyo

時刻合わせ

NTPサーバーを変更します。

本来なら、Stratum1じゃなくて、Stratum2以降のサーバーに接続するのが推奨されていますが、日本の場合、 Stratum1でもOKだそうなので・・・詳細はこちら

vim /etc/chrony.conf

pool 2.centos.pool.ntp.org iburst

↓↓↓

server ntp.nict.jp
server ntp.nict.jp
server ntp.nict.jp

/etc/chrony.conf  変更前

時刻合わせサーバー

/etc/chrony.conf  変更後

時刻合わせサーバー

chronyd を再起動

systemctl restart chronyd

chronyd を自動起動

systemctl enable chronyd

自動起動設定

10分後に動作確認

chronyc sources -v

下図の赤矢印のような表示があればOKです。

時刻受信確認

PostfixのメールをGmailで送信

お問い合わせフォームの確認などでメールの送信が必要な場合、必要な設定です。

メールを使わないものを開発される場合は、必要ありません。

必要なものをインストール

yum -y install postfix
yum -y install mailx
dnf install cyrus-sasl-plain cyrus-sasl-md5

dnf -y install telnet telnet-server

Googleアカウントで、SMTP認証につかう専用パスワードを作成(2段階認証をしている場合)

グーグルアカウント設定

グーグルアカウント https://myaccount.google.com/

左側メニューで「セキュリティ」を選択。

「アプリパスワード」を新規作成してください。

GmailのSMTP認証情報ファイルを作成します。

新規ファイルを作成。

vim /etc/postfix/gmail

新規ファイル

1行目に入力します。

[smtp.gmail.com]:587 <Gmailのアドレス>:<Gmailのパスワード>

Gmailアドレスの後にスペースは不要です。Gmailのパスワードの前にもスペースは不要です。<>も不要です。

Gmailアドレスとパスワードの間にはセミコロン:を半角で入れてください!

パスワード入力

保存したら、パーミッションを変更します。

chmod 600 /etc/postfix/gmail

PostfixのDBファイルを生成します。

postmap /etc/postfix/gmail
postmap hash:/etc/postfix/gmail

Postfixの設定

vim /etc/postfix/main.cf

最終行に下記を追加します。

relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/gmail
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
smtp_use_tls = yes

追記

Postfix 、Telnet を起動します。

systemctl start postfix
systemctl start telnet.socket

Postfix、Telnet の自動起動を設定します。

systemctl enable postfix
systemctl enable telnet.socket

root宛メールの送信先を変更します。

vim /etc/aliases

最終行に下記を追加します。

root: Gmailのアドレス

rootメール変更

ファイルの編集が完了したら、設定を反映させます。

newaliases

メール送信確認

自分のアドレスへメールを送信すると、登録したGmailアドレスからメールが届くはずです。

なお、登録したGmailに送信しても届きませんのでご注意ください。

mail test@sample.jp
Subject: test
test
EOT

EOTはCtrl+Dです。 メールアドレスはご自身のものに変更してくださいね。

または、次のコマンドでも送信できます。

echo "complete setup postfix" | mail -s "`hostname` finished first setup." test@sample.jp

※メールアドレスはご自身のものに変更してくださいね。

メールが送信できていないとき

vi /var/log/maillog

上記コマンドで、メールログが確認できます。

エラーを修正しましょう。

php7.4のインストール

CentOS8は、php7.2が標準ですが、最新版にしたいので、REMIレポジトリを使ってインストールします。

REMIレポジトリのウィザードを使って、コマンドを確認しながら、インストールします。

remiレポジトリ

上図の赤枠のところを選択すると、コマンドが表示されます。

remiレポジトリコマンド

順番にやっていきましょうね。

EPELとREMI Repositoryを追加

-yをつけて、途中の入力を省いています。

また、画像はsudo yumとしてあります。管理者でログインしている場合、sudoは不要です。

CentOS7まではyumでしたが、CentOS8からはdnfになっていますが、yumでも大丈夫なようです。

dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
EPEL
dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
REMI

yum-utils packageインストール

dnf install yum-utils

yum-utils package

7.4のモジュールストリームを有効化

dnf module reset php

dnf module install php:remi-7.4

途中で、インストールするかどうか聞かれるのでyと入力します。

sudo dnf module install php:remi-7.4

アップデート

dnf update

途中、インストールするか聞かれたらyと入力します。

sudo dnf update
完了しました

完了しましたと表示されたら、完了です。

phpインストール

dnf install php

途中、インストールするか聞かれたらyと入力します。

sudo yum install php

テスティングパッケージインストール

dnf --enablerepo=remi-modular-test install php

インストールできたか確認

php -v

PHPのバージョンが表示されたら、無事にインストールされました。

php -v

php設定

サーバーにphpがインストールされていることを告知しないようにする設定です。

必要なければ、パスしてください。

vim /etc/php.ini

expose_php = On
↓↓↓
expose_php = Off

php.ini

php自動起動

phpを起動します。

systemctl start php-fpm

自動起動を設定します。

systemctl enable php-fpm

start enable php

自動起動確認

systemctl is-enabled php-fpm

enabledと表示されたら、OKです。

CentOS8のphpはモジュール版ではなく、PHP-FPMが使用されています。

Apacheも自動的にインストールされるはずです

httpd -v

Apacheのバージョンが表示されたら、インストールされています。

httpd -v

SSL接続用のmod_sslをインストール

Apacheでhttps機能を使用するために、mod_sslというモジュールをインストールします。

必要なければ、パスしてください。

yum -y install mod_ssl

mod_ssl

Apache自動起動

Apacheを起動します。

systemctl start httpd

自動起動を設定します。

systemctl enable httpd

確認。

systemctl is-enabled httpd

start enable httpd

Apacheの設定変更

WordPressを使う場合、AllowOverrideを有効化する必要があります。

vi /etc/httpd/conf/httpd.conf

viが起動して、ファイルが表示されたら、コマンドモードで「:set number」と入力し行数を表示させます。

106行 AllowOverride None を AllowOverride All

128行 AllowOverride None を AllowOverride All

154行 AllowOverride None を AllowOverride All

もしかしたら、106行目、128行目は変更しなくてもいいかもしれません。

AllowOverride

Apacheを再起動します。

systemctl restart httpd

MariaDBインストール

MariaDBのパッケージ確認

dnf list maria*

MariaDBパッケージ

必要なパッケージ内容確認

dnf info mariadb-server mariadb mariadb-devel

パッケージ詳細

必要なパッケージをインストール

dnf install -y mariadb-server mariadb mariadb-devel

-yと書いたので、途中でyと入力する必要はありません。

mariadbインストール

インストール後の確認

dnf list installed | grep mariadb

下図のように表示されたら、OKです。

mariadbインストール確認

Mariadb起動・確認

systemctl start mariadb

エラーが出力されなかったら、正常に起動しています。

ステータスでも確認します。

systemctl status mariadb

緑色でactiveとなっていれば起動しています。

MariaDBステータス

MariaDB自動起動

自動起動するように設定します。

systemctl enable mariadb

自動起動の設定確認。

systemctl is-enabled mariadb

enabledと表示されたら、正常です。

MariaDB自動起動

データベースのセキュリティ対策

下記のコマンドを実行します。

mysql_secure_installation

設定ウィザードが起動します。

データベース設定

データベースにパスワードを設定しているかどうか聞いてきます。

Enterキーを押して次に。

データベースパスワード

パスワードを設定するか聞かれます。

yと入力。

パスワードを入力します。

確認用パスワードを入力します。

MariaDBにディフォルトで設定されている匿名ユーザーを削除するか聞かれます。yを入力します。

データベース設定

リモート環境からDBの管理者ユーザーでログインを無効化するか聞いてきます。

yを入力して無効化します。

test database

testデータベースの接続権限を削除するか聞いてきます。

yで削除します。

privilege tables

直ぐに反映するか聞いてきます。

yを入力してすぐに反映させます。

設定完了

設定完了です。

MariaDBの文字コード変更

vim /etc/my.cnf.d/mariadb-server.cnf

文字コード

設定ファイルの[mariadb]ディレクティブにcharacter-set-server=utf8mb4パラメータを追加します。
[client-mariadb]ディレクティブを追加しdefault-character-set = utf8mb4パラメーターを追加します。

文字コード追加

上書き保存をしたら、MariaDBをリスタートさせます。

systemctl restart mariadb

エラーが出力されなければ、正常です。

ステータスを確認します。

systemctl status mariadb

ステータス確認

データベースの作成と削除

MariaDBへ接続

mysql -u root -p

パスワードを聞かれますので、設定したデータベースのパスワードを入力します。

データベースにログイン

データベース全体の文字コードを確認します。

show variables like "chara%";

下図のようにutf8mb4となっていれば、正常です。

文字コード確認

大文字小文字もチェックします。

show variables where variable_name='lower_case_table_names';

Valueのところが0なら、大文字と小文字を区別する設定になっています。

区別する設定にしましょう。

大文字小文字確認

データベース作成

wordpressという名称のデータベースを作成します。

create database wordpress;

データベース作成

データベース名を表示

show databases;

データベースが表示されます。

データベース表示

データベースに接続

use wordpress;

接続しているデータベースが切り替わり、プロンプトが「none」から「wordpress」に変わります。

データベース変更

wordpressというデータベースの文字コードを確認

show variables like "chara%";

wordpressというデータベースの文字コードが表示されます。

文字コード

データベース削除

データベースはdrop databese データベース名で削除できます。

drop database wordpress;

データベース削除

データベースが削除されると「Query OK」と応答があります。

また、「wordpress」だったプロンプトが「none」へ戻ります。

確認のためデータベースの一覧を表示させましょう。

show databases;

show database

wordpressというデータベースが削除できたことがわかります。

MariaDB接続解除

quit

mariadb接続解除

MariaDBから抜け出し、元の状態に戻りました。

https接続用自己署名のサーバー証明書

Apacheでhttps機能を使用するために、mod_sslというモジュールをインストールする必要があります。詳細

また、自己証明書なので、「警告」が表示されます。

必要なければ、パスしてください。

秘密鍵を作成。

openssl ecparam -name prime256v1 -genkey -out server.key

秘密鍵

CSR(証明書署名要求)の作成。

openssl req -new -key server.key > server.csr

入力は2か所だけ。

Country NameのところにJP

Common Nameのところに、名前かサーバーのホスト名(例:www.example.com)

他は空エンターです。

CSR

自己署名のサーバー証明書を作成します。(有効期限10年)

openssl x509 -days 3650 -req -signkey server.key < server.csr > server.crt

サーバーの自己署名

秘密鍵とサーバー証明書を適切な場所に移動。

mv -i server.key /etc/pki/tls/private/
mv -i server.crt /etc/pki/tls/certs/

パーミッションを変更。

chmod 600 /etc/pki/tls/private/server.key
chmod 600 /etc/pki/tls/certs/server.crt

移動とパーミッション変更

CSRを削除。

rm server.csr

削除しますか?と聞かれるのでyと入力します。

削除

このような感じで接続できます。

ローカルサーバーssl接続

これで、LAMP環境が整ったので、WordPressをローカルで開発できまっせ~~~。

WordPressなら、php-mysqliのインストールも必要

WordPressの場合、 MySQL/MariaDBのデータベースに接続するMySQLiのインストールが必要です。

dnf -y install php-mysqli

mysqliインストール

Apacheを再起動します。

systemctl restart httpd

お疲れさまでした。

WordPressをインストールする際は、GDライブラリが必要

もし、WordPressを使う場合、GDライブラリが必要になります。

下記の記事を参考にインストールしてください。

FTP接続をしたい場合は、次の記事にお進みください

WordPressのインストールは、次の記事にお進みください

参考サイト

ありがとうございます!

CentOS 8.0 (1905) LAMPサーバインストールメモ【Apache2.4+MySQL8.0+PHP7.2】
2019年9月24日 CentOS 8.0(1905)がリリース されました。CentOS7.7のリリースを優先させたこともあり、5月のRHEL8.0のリリースから約4ヶ月半でのリリースになりました。待ちに待っていた方も多いのではないでしょ
Attention Required! | Cloudflare
VirtualBoxをWindows10にインストールしてCentOS 7の仮想マシンを作成する
本ブログではWindowsやLinuxなどのOSについてインストールの手順を紹介しています。こういったOSのインストールは弊社では基本的には仮想環境に行っています。物理マシンを都度、用意することは大変
サーバー構築の基本 CentOS Linux 8のインストール後に設定する12の項目
こんにちは、ITインフラエンジニアのKomura(@system_kom)です。 前回の記事でCentOS Linux 8をインストールする手順を紹介しました。うまくインストールできましたでしょうか。
CentOS 8にMySQL互換のデータベース MariaDB 10をインストールする
こんにちは、ITエンジニアの小村(@system_kom)です。 CentOS 8のApache httpd環境にPHPをインストールした前回の記事でウェブアプリケーションサーバーとしての構成が完了し
Linuxで外部にメール送信できない理由と対処方法
Linuxサーバーから外部へメールを送信できないときの一般的な原因とその対処方法を紹介します。
PostfixのメールをGMail経由で送る - Qiita
注意追記2020/9/11: この記事は古いです。GMailアカウントでLSA(安全性の低いアプリ)の設定を行い、SMTP認証(PLAIN)を行うことを前提としています。一般のGMailに関し…
Centos8にPostfixをインストールした - Qiita
#◆環境   CentOS Linux release 8.0.1905 (Core)   サーバ(GUI)だけでインストールを実施   ネットワーク設定は済ませた   MySQL8.0はイ…
Apache httpdで作るHTTPSサーバ - Qiita
はじめにWebサーバとして非常に一般的に使われているApache httpdを利用して、HTTP/HTTPS接続のできるWebサーバを構築する練習をします。OSはCentOS 7.4、Apach…