Rocky Linuxでサーバ構築を試してみた

<!-- wp:paragraph -->
<p>Rocky Linux は、 Red Hat Enterprise Linux （RHEL）と互換性を持つLinuxディストリビューションです。CentOSの代替えディストリビューションとするべく、現在開発中です。<br>ベータ版のため、実稼働環境での使用はできません。今回は評価用としてサーバ構築を試みました。<br>具体的には、サーバとしては定番とも言える、LAMP環境を構築し、CMSとして有名なWordPress構築に挑戦します。</p>
<!-- /wp:paragraph -->

## 参考URL
自身のブログから転載しました。
[いち早くRocky Linuxでサーバ構築を試す](https://daimaohsx.dip.jp/wordpress/2021/06/12/be-the-first-to-try-building-a-server-on-rocky-linux/)

<!-- wp:heading -->
<h2>Rocky Linuxをインストールしよう</h2>
<!-- /wp:heading -->

<!-- wp:heading {"level":3} -->
<h3>Rocky Linuxをダウンロードしよう</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>本稿執筆時点でRocky Linux 8.4 RC1（Release Candidate&nbsp;１）がダウンロード可能です。予め、<a href="https://rockylinux.org/ja/download" target="_blank" rel="noreferrer noopener">こちらのリンク</a>からダウンロードしておきます。本稿では「Minimal」をダウンロードしました。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1470,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_09-32-1024x699.png" alt="" class="wp-image-1470"/></figure>
<!-- /wp:image -->

<!-- wp:heading {"level":3} -->
<h3>VirtualBoxの設定をしよう</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>本稿では「VirtualBox」を使用して、仮想環境上にRocky Linuxをインストールします。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>［新規］ボタンをクリックします。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1466,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-07_17-03.png" alt="" class="wp-image-1466"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>［名前とオペレーティングシステム］の［名前］に任意の名称を入力します。私は「Rocky Linux」としました。<br>［タイプ］が「Linux」となっていることを確認します。<br>［メモリーサイズ］はホストマシンのメモリサイズに応じて２〜４GB程度割り当てます。<br>［仮想ハードディスクを作成する］にチェックが入っていることを確認します。<br>最後に［作成］ボタンをクリックします。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1467,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-07_17-13.png" alt="" class="wp-image-1467"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>次の画面で［作成］をクリックします。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1468,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-07_17-16.png" alt="" class="wp-image-1468"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>左ペインからLocky Linuxの仮想マシンを選択し、［設定］ボタンをクリックします。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1471,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_10-29.png" alt="" class="wp-image-1471"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>VirtualBoxにOSのタイプとディストリビューションを設定します。Rocky Linuxと互換性のあるディストリビューションは「Red Hat」です。<br>左ペインから［一般］を選択し、［基本］タブの［タイプ］を［Linux］とします。<br>［バージョン］はプルダウンメニューから［Red Hat(64-bit)]を選択します。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1500,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_21-12.png" alt="" class="wp-image-1500"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>CPUの割当を行います。<br>左ペインから［システム］を選択し、［プロセッサー］タブをクリックして［プロセッサー数］を変更します。私は「２」としました。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1472,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_10-37.png" alt="" class="wp-image-1472"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>インストールするRocky LinuxのISOイメージを指定します。<br>左ペインの［ストレージ］をクリックします。<br>次に中央の［コントローラー：IDE］にある「空」の光学ドライブアイコンをクリックします。<br>右ペインの［属性］領域にある光学ドライブアイコンをクリックし、メニューから［ディスクファイルを選択］をクリックします。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1473,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_10-41.png" alt="" class="wp-image-1473"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>あらかじめダウンロードしておいた「Rocky Linux」のISOイメージファイルを選択し、右上の「開く」ボタンをクリックします。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1474,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_10-50.png" alt="" class="wp-image-1474"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>ホストマシンから仮想マシンにアクセスできるよう、ネットワークの設定を行います。<br>左ペインの［ネットワーク］をクリックします。<br>［アダプター１］タブの［割り当て］を［ブリッジアダプター］にします。<br>最後に下の［OK］をクリックします。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1475,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_10-55.png" alt="" class="wp-image-1475"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>これでVirtualBoxでの設定が完了しました。</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3>インストールをしよう</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>左ペインから「Rocky Linux」を選択し、［起動］アイコンをクリックします。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1476,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_11-07.png" alt="" class="wp-image-1476"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>上下矢印キーで［Install Rocky Linux 8］を選択し、［Enter] キーを押します。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1477,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_11-15.png" alt="" class="wp-image-1477"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>正常にインストールが始まると、次の画面が表示されます。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1478,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_11-18.png" alt="" class="wp-image-1478"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>次の画面で［日本語］を選択します。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1479,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_11-24.png" alt="" class="wp-image-1479"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>［ソフトウェアの選択］をクリックします。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1480,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_11-28.png" alt="" class="wp-image-1480"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>本稿では［最小限のインストール］を選択します。<br>［完了］をクリック。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1481,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_11-30.png" alt="" class="wp-image-1481"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>画面が見切れて表示されます。<br>［インストール先］をクリック。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1482,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_11-35.png" alt="" class="wp-image-1482"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>デバイスが選択されていることを確認し、完了をクリックします。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1483,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_11-41.png" alt="" class="wp-image-1483"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>［ネットワークとホスト名］をクリックします。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1484,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_11-44.png" alt="" class="wp-image-1484"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Ethernetのスライドスイッチを［オン］にします。<br>ホスト名を入力し、［適用］。<br>最後に［完了］をクリック。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1486,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_11-55.png" alt="" class="wp-image-1486"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>rootアカウントを無効にしたまま、サーバの管理ができる特権ユーザの作成を行います。<br>［ユーザーの作成］をクリックします。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1487,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_11-58.png" alt="" class="wp-image-1487"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>管理者となるユーザ名を入力します。<br>続いて、［このユーザーを管理者にする］にチェックを入れます。<br>［パスワード］および［パスワードの確認］に管理者のパスワードを入力します。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1488,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_12-01.png" alt="" class="wp-image-1488"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>［時刻と日付］をクリックします。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1490,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_18-28.png" alt="" class="wp-image-1490"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>世界地図の日本をクリックし、タイムゾーンを「東京」に設定します。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1491,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_18-32.png" alt="" class="wp-image-1491"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>これで、インストール前のお膳立てが整いました。<br>これからインストールを始めます。<br>画面右下の［インストールの開始］をクリックします。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1492,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_18-37.png" alt="" class="wp-image-1492"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>インストール中の画面です。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1493,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_18-39.png" alt="" class="wp-image-1493"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>以下が表示されると、インストール完了です。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1494,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_18-52.png" alt="" class="wp-image-1494"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>再起動する前に、光学ドライブからインストーラを取り除きます。<br>メニューバーの［仮想マシン］＞［設定］をクリック。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1495,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_18-55.png" alt="" class="wp-image-1495"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>設定画面の［ストレージ］＞［Rocky-8.4-x86_64-minimal.iso］をクリックします。<br>［属性］領域の［光学ドライブ］右端にあるアイコンをクリックし、［仮想ドライブからディスクを除去］をクリックします。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1496,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_18-59.png" alt="" class="wp-image-1496"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>次の画面のように、光学ドライブの中身が「空」になります。<br>［OK］ボタンを押して元の画面に戻ります。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1497,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_19-09.png" alt="" class="wp-image-1497"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>［システムの再起動］をクリックします。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1498,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_19-12.png" alt="" class="wp-image-1498"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>以下の画面から再起動が始まります。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1501,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_21-25.png" alt="" class="wp-image-1501"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Rocky Linuxにログインできるようになりました。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1502,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-08_21-29.png" alt="" class="wp-image-1502"/></figure>
<!-- /wp:image -->

<!-- wp:heading -->
<h2>SSHでリモートから操作しよう</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>SSHは、サーバ（Rocky Linux）とクライアントPC（WindowsやMac、Ubuntuなど）とで通信し、リモートにあるサーバを管理するための仕組みです。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>まず、VirtualBoxのコンソールからログインします。パスワードはエコーバックされません。<br>次に、以下のコマンドでパッケージをアップデートします。<br>「$ 」はプロンプトです。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ sudo dnf -y update</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>再度パスワードを聞かれるので、入力します。</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3>エディタをインストールしよう</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>エディタはnanoやvimなど、好みのものをインストールしてください。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>nanoの場合は以下のとおりです。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ sudo dnf -y install nano</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>vimをインストールする場合は、次のコマンドを実行します。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ sudo dnf -y install vim</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:heading {"level":3} -->
<h3>SSHをセキュアに使えるように設定しよう</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>エディタで/etc/ssh/sshd_configを開きます。<br>まず、SSHの通信に用いるポートを使用可能にします。ここで、デフォルトの「22」は攻撃の的になりやすいので、「10022」に変更しておきます。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">#Port 22</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>上記の行を、下の行に変更します。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">Port 10022</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>さらに、SSHでリモートから直接rootにログインできなくします。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>実はインストール時に、rootを無効化しているため、本来この設定は不要ですが、標準的な手順であるため行っておきます。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">PermitRootLogin yes</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>上記の行を、下の行に変更します。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">PermitRootLogin no</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>/etc/ssh/sshd_configを変更したら、保存してエディタを終了します。</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3>SELinuxとファイアウォールを設定しよう</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>SELinuxとは、ユーザーと管理者がアクセス制御をより細かく制御できるようにして、万一不正侵入を受けたとしても情報を保護できるように考えられた仕組みです。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>SELinuxの設定コマンドをインストールします。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ sudo dnf -y install policycoreutils-python-utils</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>SSHのポートにアクセス権を付与します。さらに付与した結果を確認します。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ sudo semanage port -a -t ssh_port_t -p tcp 10022
$ sudo semanage port -l | grep ssh
ssh_port_t                     tcp      10022, 22</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>上記のようにポート10022が追加されていれば成功です。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>続いてファイアウォールを設定します。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>エディタで/etc/firewalld/services/ssh.xmlを開きます。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;?xml version="1.0" encoding="utf-8"?>
&lt;service>
  &lt;short>SSH&lt;/short>
  &lt;description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.&lt;/description>
  &lt;port protocol="tcp" port="22"/>
&lt;/service></pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>下から2行目の、port="22"と記述された「22」の部分を下のように「10022」に変更します。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;?xml version="1.0" encoding="utf-8"?>
&lt;service>
  &lt;short>SSH&lt;/short>
  &lt;description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.&lt;/description>
  &lt;port protocol="tcp" port="10022"/>
&lt;/service></pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>/etc/firewalld/services/ssh.xmlの変更内容をシステムに反映させます。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">sudo firewall-cmd --reload
sudo systemctl restart sshd.service</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>これでクライアントPCからリモートでアクセスできるようになりました。</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3>クライアントPCからリモートログインしてみよう</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>本稿では、UbuntuのクライアントPCから接続する例を示します。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>まず、サーバ（Rocky Linux）のIPアドレスを調べます。サーバは固定IPアドレスの設定などを施していないので、DHCPでリースされたIPアドレスを使用しています。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ ip route
default via 192.168.1.1 dev enp0s3 proto dhcp metric 100 
192.168.1.0/24 dev enp0s3 proto kernel scope link src 192.168.1.23 metric 100 </pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>上記の結果で、192.168.1.23がサーバのIPアドレスとわかります。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>SSHコマンドの書式は以下のとおりです。<br>ssh　-p　＜ポート番号＞　＜ユーザ名＞@＜IPアドレス＞</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ubuntuの「端末」からSSHを使用してリモートログインしている様子を以下に示します。</p>
<!-- /wp:paragraph -->

<!-- wp:table -->
<figure class="wp-block-table"><table><tbody><tr><td class="has-text-align-center" data-align="center">項目</td><td class="has-text-align-center" data-align="center">値</td></tr><tr><td class="has-text-align-center" data-align="center">ポート番号</td><td class="has-text-align-center" data-align="center">10022</td></tr><tr><td class="has-text-align-center" data-align="center">ユーザ名</td><td class="has-text-align-center" data-align="center">linux</td></tr><tr><td class="has-text-align-center" data-align="center">IPアドレス</td><td class="has-text-align-center" data-align="center">192.168.1.23</td></tr></tbody></table></figure>
<!-- /wp:table -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ ssh -p 10022 linux@192.168.1.23
The authenticity of host '[192.168.1.23]:10022 ([192.168.1.23]:10022)' can't be established.
ECDSA key fingerprint is SHA256:ls1zprm1PTXFDuHryzWl5Qw75ayyn4WdNcTnN2kNFKw.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[192.168.1.23]:10022' (ECDSA) to the list of known hosts.
linux@192.168.1.23's password: 
Last login: Wed Jun  9 09:33:11 2021
$</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>上記の例では、途中でパスワードを入力します。<br>現在ではWiondowsやmacOSのターミナルから、上記と同様SSHによるログインが可能です。</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>システムを自動でアップデートするには</h2>
<!-- /wp:heading -->

<!-- wp:heading {"level":3} -->
<h3>自動アップデートのメリットとは</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>dnfコマンドを使い、手動でアップデートは可能ですが、自動アップデートには以下のメリットがあります。</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol><li>ソフトウェアのアップデートは頻繁にあるため、自動化しておくとラク</li><li>アップデートを忘れて、サーバのセキュリティ脆弱性をつく攻撃をされないで済む</li></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>一方で、デメリットもあります。<br>システムのアップデート内容によっては、それまで正常に動作していたソフトウェアに不具合が生じる可能性があるというデメリットです。</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3>アップデートを自動化するには</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>システムアップデートの自動化は「dnf-automatic」というパッケージをインストールすることにより実現できます。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ sudo dnf -y install dnf-automatic</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>エディタで「/etc/dnf/automatic.conf」を開きます。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>まず、「upgrade_type = default」の行に着目します。<br>「default」オプションはあらゆるアップデートをすべて実施します。また、「security」オプションはセキュリティ関連のアップデートに絞って実行されます。アップデートによるリスクを考慮していずれかを選択します。<br>私はdefaultオプションを選択しました。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>次に「apply_updates = no」の行を以下のように変更します。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">apply_updates = yes</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>本稿での/etc/dnf/automatic.conf編集イメージは以下のとおりです。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">[commands]
#  What kind of upgrade to perform:
# default                            = all available upgrades
# security                           = only the security upgrades
upgrade_type = default
random_sleep = 0

　＜略＞

# Whether updates should be applied when they are available, by
# dnf-automatic.timer. notifyonly.timer, download.timer and
# install.timer override this setting.
apply_updates = yes
</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>次のコマンドを実行し、サービスの起動と、次回のシステム起動時にもシステムのアップデートが行われるようにします。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ sudo systemctl start dnf-automatic.timer
$ sudo systemctl enable dnf-automatic.timer</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>これでシステムアップデートが自動化されました。</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>WordPressを構築してみよう</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>いよいよ、典型的なLAMPサーバであるWordPressを構築してみましょう。LAMPとは、Linux（OS）、Apache HTTP Server（Webサーバ）、MySQL、MariaDB（DB）、Perl、PHP、Python（スクリプト言語）の頭文字を並べて造られたワードです。すべてオープンソースです。現代的な動きのあるウェブサイトの構築に適していると言われています。</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3>Apacheをインストールしよう</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Apache HTTP Server（Apache）とは、高いシェアを持つフリーでオープンソースのWebサーバ・ソフトウェアです。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Apacheのパッケージ名httpdをインストールします。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ sudo dnf -y install httpd</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>インストールが完了したら、「/etc/httpd/conf/httpd.conf」を編集します。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">#ServerName www.example.com:80</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>上記の行、先頭の「#」を削除します。削除後の行は以下のとおりです。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">ServerName www.example.com:80</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>Apacheを起動します。また、次回以降のシステム起動時に自動的に起動されるようにします。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ sudo systemctl start httpd.service
$ sudo systemctl enable httpd.service</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:heading {"level":3} -->
<h3>HTTPのアクセスを許可しよう</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>ファイアウォールで80番ポートが使えるように変更します。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --reload</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>それではWebサーバにアクセスできるようになったことを確認してみましょう。WebブラウザのアドレスバーにサーバのIPアドレスを入力してみてください。<br>以下のようなテストページが表示されればOKです。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1509,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-10_19-01.png" alt="" class="wp-image-1509"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>続いて、HTMLを作成し、表示してみます。<br>「/var/www/html/」に「testpage.html」というファイルを以下のように作成します。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock {"language":"html"} -->
<pre class="EnlighterJSRAW" data-enlighter-language="html" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;html>
        &lt;head>
                &lt;title>Welcom to my page&lt;/title>
        &lt;/head>
        &lt;body>
                &lt;p>Hello World!&lt;/p>
        &lt;/body> 
&lt;/html> </pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>ブラウザのアドレスバーから「サーバのIPアドレス/testpage.html」のように入力してみます。「Hello World!」が表示されたでしょうか？</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1511,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-10_19-23.png" alt="" class="wp-image-1511"/></figure>
<!-- /wp:image -->

<!-- wp:heading {"level":3} -->
<h3>MariaDBをインストールしよう</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>データベース管理システム（DBMS）であるMariaDBをインストールします。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ sudo dnf -y install mariadb-server mariadb</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>続いて以下の設定ファイルをエディタで開き、日本語を正しく処理できるようにします。</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4>/etc/my.cnf.d/mariadb-server.cnf</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>［mysqld］セクションの最後に、以下の通り1行追加します。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mariadb/mariadb.log
pid-file=/run/mariadb/mariadb.pid
character-set-server=utf8         ← 1行追加</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:heading {"level":4} -->
<h4>/etc/my.cnf.d/client.cnf</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>［client］セクションに、以下の通り1行追加します</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">[client]
default-character-set = utf8   ← 1行追加
</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>MariaDBのサービスを起動します。次回以降のシステム起動時にも自動起動するよう設定します。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>MariaDBのセキュリティ関連の設定を行います。<br>OSとは別にDBのrootのパスワードを管理する必要があります。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ sudo mysql_secure_installation

　＜略＞

Enter current password for root (enter for none):   ← ［Enter］
OK, successfully used password, moving on...

　＜略＞

Set root password? [Y/n] y
New password:    ← パスワードを設定
Re-enter new password:    ← パスワード再入力
Password updated successfully!
Reloading privilege tables..
 ... Success!

　＜略＞

Remove anonymous users? [Y/n] y
 ... Success!

　＜略＞

Disallow root login remotely? [Y/n] y
 ... Success!

　＜略＞

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

　＜略＞

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:heading {"level":3} -->
<h3>PHPをインストールしよう</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>WordPressはPHPで書かれているので、PHPをインストールします。WordPressでは21年6月時点ではバージョン7.3以上が推奨されています。ここでは、7.4をインストールします。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ sudo dnf -y module install php:7.4
$ sudo dnf -y install php php-mbstring php-pear php-mysqlnd php-gd php-pecl-zip php-json</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>PHPのバージョン7.4がインストールされているかを確認します。バージョンの確認結果は以下のとおりです。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ php --version
PHP 7.4.6 (cli) (built: May 12 2020 08:09:15) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.6, Copyright (c), by Zend Technologies</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>ここで、Apacheを再起動し、ApacheがPHPと連携しPHPを実行できるようにします。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ sudo systemctl restart httpd.service</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>これでWebサーバ上でPHPが動くようになったので、PHPプログラムを作成して動作確認を行います。<br>エディタで「/var/www/html/hellophp.php」を作成します。hellophp.phpの中身は次の1行だけ記述します。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">&lt;?php echo  phpinfo(); ?></pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>エディタでファイルを保存したら、ブラウザのアドレスバーから「サーバのIPアドレス/hellophp.php」のように入力してみます。<br>以下のようなPHPの情報ページが表示されたでしょうか？</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1514,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-10_19-24.png" alt="" class="wp-image-1514"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>確認が済んだらPHPのプログラムを削除しましょう。悪意ある第三に情報を与えないようにするためです。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ sudo rm /var/www/html/hellophp.php </pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:heading {"level":3} -->
<h3>WordPressでつかうデータベースを作成しよう</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>これから、MariaDBのroot（管理者）となってWordPressの各種データを格納するデータベースの器の部分を作成します。<br>パスワードは、mysql_secure_installationで設定したものを入力します。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ mysql -u root -p
Enter password:  ← パスワード入力する
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.3.28-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 　← MariaDBのプロンプト</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>これより、SQLを使ってデータベースの作成を行います。本稿では表の値を使用しますが、安全のため他の値に変更してください。</p>
<!-- /wp:paragraph -->

<!-- wp:table -->
<figure class="wp-block-table"><table><tbody><tr><td class="has-text-align-center" data-align="center">項目</td><td class="has-text-align-center" data-align="center">値</td></tr><tr><td class="has-text-align-center" data-align="center">データベース名</td><td class="has-text-align-center" data-align="center">wpdb</td></tr><tr><td class="has-text-align-center" data-align="center">ユーザ名</td><td class="has-text-align-center" data-align="center">wpadmin</td></tr><tr><td class="has-text-align-center" data-align="center">パスワード</td><td class="has-text-align-center" data-align="center">wppassword</td></tr></tbody></table></figure>
<!-- /wp:table -->

<!-- wp:enlighter/codeblock {"language":"sql"} -->
<pre class="EnlighterJSRAW" data-enlighter-language="sql" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">MariaDB [(none)]> create database wpdb;
Query OK, 1 row affected (0.001 sec)

MariaDB [(none)]> grant all privileges on wpdb.* to "wpadmin"@"localhost" identified by "wppassword";
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> exit
Bye
$ </pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:heading {"level":3} -->
<h3>WordPressをインストールしよう</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>いよいよ、WordPressをインストールします。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>まず、ホームディレクトリに「wp」というディレクトリを作成し、そのディレクトリに移動します。<br>次に、公式サイトから最新版をcurlコマンドでダウンロードします。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ cd
$ mkdir wp
$ cd wp
$ curl -LO http:/ja.wordpress.org/latest-ja.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   162  100   162    0     0    200      0 --:--:-- --:--:-- --:--:--   200
100 15.6M  100 15.6M    0     0   112k      0  0:02:22  0:02:22 --:--:-- 1910k
$ ls
latest-ja.tar.gz</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>ダウンロードしたlatest-ja.tar.gzをtarで解凍します。<br>ところがなぜかtarコマンドがないので、まずtarをインストールします。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ sudo dnf -y install tar</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>tarをインストールしたところでlatest-ja.tar.gzを解凍します。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ tar xvf latest-ja.tar.gz</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>解凍したファイルやディレクトリを確認します。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ ls
latest-ja.tar.gz  wordpress
$ ls wordpress/
index.php    wp-activate.php     wp-comments-post.php  wp-cron.php        wp-load.php   wp-settings.php   xmlrpc.php
license.txt  wp-admin            wp-config-sample.php  wp-includes        wp-login.php  wp-signup.php
readme.html  wp-blog-header.php  wp-content            wp-links-opml.php  wp-mail.php   wp-trackback.php</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>wordpressというディレクトリ以下が展開されていることがわかります。このwordpressディレクトリを「/var/www/html/」の下に移動します。wordpressの名称のままだとアタックされる恐れがあるので、ここでは「mypage」というディレクトリ名に変更します。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ sudo mv wordpress/ /var/www/html/mypage</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>Apacheのプロセスがアクセスできるようにし、wp-config.phpファイルをサンプルからコピーします。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ sudo chown -R apache:apache /var/www/html/mypage/
$ cd /var/www/html/mypage/
$ sudo mv wp-config-sample.php wp-config.php</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>wp-config.phpファイルをエディタで編集します。<br>以下は変更前のファイルです。矢印の3箇所を、あなたが作成したデータベース名、ユーザ名、パスワードに変更します。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define( 'DB_NAME', 'database_name_here' );　← データベース名を変更

/** MySQL データベースのユーザー名 */
define( 'DB_USER', 'username_here' );　← ユーザ名を変更

/** MySQL データベースのパスワード */
define( 'DB_PASSWORD', 'password_here' );　← パスワードを変更

/** MySQL のホスト名 */
define( 'DB_HOST', 'localhost' );
</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>本稿での変更後のイメージは以下のとおりです。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define( 'DB_NAME', 'wpdb' );

/** MySQL データベースのユーザー名 */
define( 'DB_USER', 'wpadmin' );

/** MySQL データベースのパスワード */
define( 'DB_PASSWORD', 'wppassword' );

/** MySQL のホスト名 */
define( 'DB_HOST', 'localhost' );</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>wp-config.phpをapache以外の第三者から読めなくします。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ sudo chmod 400 wp-config.php 
$ ll wp-config.php
-r--------. 1 apache apache 3908  6月 12 14:09 wp-config.php</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:paragraph -->
<p>最後にSELinuxを設定します。この設定によってWordPressが起動できるようになります。</p>
<!-- /wp:paragraph -->

<!-- wp:enlighter/codeblock -->
<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$ sudo setsebool -P httpd_dbus_avahi 1
$ sudo setsebool -P httpd_unified 1
$ sudo setsebool -P httpd_tty_comm 1
$ sudo setsebool -P httpd_can_network_connect_db 1
$ sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/html/mypage"
$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/mypage/wp-content(/.*)?"
$ sudo restorecon -R -v /var/www/html/mypage</pre>
<!-- /wp:enlighter/codeblock -->

<!-- wp:heading {"level":3} -->
<h3>WordPressのセットアップを完了させよう</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Webブラウザのアドレスバーから、「http://サーバのIPアドレス/mypage/wp-admin/install.php」を入力してみてください。WordPressのインストール画面が表示されます。必要事項を入力して、［WordPressをインストール］ボタンをクリックします。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1518,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-12_14-51.png" alt="" class="wp-image-1518"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>インストールが完了したら下の画面になります。<br>［ログイン］ボタンをクリックします。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1519,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-12_15-00.png" alt="" class="wp-image-1519"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>下の画面が表示されるので、ログインしてみましょう。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1521,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-12_15-04.png" alt="" class="wp-image-1521"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>WordPressのダッシュボードが表示されました。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":1524,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://daimaohsx.dip.jp/wordpress/wp-content/uploads/2021/06/2021-06-12_15-06-2-1024x950.png" alt="" class="wp-image-1524"/></figure>
<!-- /wp:image -->

<!-- wp:heading -->
<h2>さいごに</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Rocky LinuxでWebサーバを構築し、WordPressの画面を表示できるところまでを試してみました。<br>構築の手順は本番サーバを構築する手順に匹敵するものです。ただし、本稿ではIPアドレスの固定は実施していないので、その点ご了承ください。</p>
<!-- /wp:paragraph -->