目次
前回の振り返り
swap設定の確認
パッケージの最新化
データベースのインストール
前回の振り返り
swap設定の確認
swapは現在使われていないプログラム(プロセス)が使用している領域をハードディスクに一時的に書き出すことでメモリを開放し、メモリの空き容量を確保します。
メモリに空きが少ない場合はミドルウェア等のインストール時に失敗してしまったり、インストールしたシステムの起動に失敗したり、トラブルが発生する原因のひとつの要素となります。
また、OS自体の動作に必要なメモリの容量を確保できずカーネルパニック発生にも繋がります。
redhatカスタマーポータルの情報を確認すると実装メモリに対して適正なswapのサイズは以下のようになっています。
システム内の RAM の容量 | 推奨される swap 領域 | ハイバネートを許可する場合の推奨 swap 領域 |
---|---|---|
⩽ 2 GB | RAM 容量の 2 倍 | RAM 容量の 3 倍 |
> 2 GB – 8 GB | RAM 容量と同じ | RAM 容量の 2 倍 |
> 8 GB – 64 GB | 最低 4GB | RAM 容量の 1.5 倍 |
> 64 GB | 最低 4GB | ハイバネートは推奨しません |
(出典)redhat カスタマーポータル 表14.1「システムの推奨 swap 領域」
現在のswap設定がどうなっているか確認します。
[root@localhost ~]# swapon -s Filename Type Size Used Priority /dev/dm-1 partition 2097148 0 -1
すでにswap領域がありますね。
前回のOSインストール時に「自動構成のパーティション構成」を選択したため、すでにswapパーティションが出来ており、swapが有効となっておりました。
今回はこのままいきたいと思いますが、OSインストール時にswapパーティションを作成しなかった場合は、自身でswapファイルを作成する等の対応が必要です。
設定手順としてはrc.localにスクリプトを追記し、OS起動時に自動的にswapファイルを作成、swapが有効になるように書く方法が効率的でしたので以下に例を記載します。
#!/bin/bash # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES # # It is highly advisable to create own systemd services or udev rules # to run scripts during boot instead of using this file. # # In contrast to previous versions due to parallel execution during boot # this script will NOT be run after all other services. # # Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure # that this script will be executed during boot. touch /var/lock/subsys/local # ここからswapの処理を追記 SWAPFILENAME=/swap.img MEMSIZE=`cat /proc/meminfo | grep MemTotal | awk '{print $2}'` if [ $MEMSIZE -lt 2097152 ]; then SIZE=$((MEMSIZE * 2))k elif [ $MEMSIZE -lt 8388608 ]; then SIZE=${MEMSIZE}k elif [ $MEMSIZE -lt 67108864 ]; then SIZE=$((MEMSIZE / 2))k else SIZE=4194304k fi fallocate -l $SIZE $SWAPFILENAME && mkswap $SWAPFILENAME && swapon $SWAPFILENAME # ここまで
追記した後はOSを再起動し「swapon -s」でswapの状況を確認しましょう。
※ 注意点としては、そもそもRAMの容量が足りない場合などは、実メモリを増やす検討をした方が良いでしょう。
swap設定の確認は以上です。
パッケージの最新化
続いて yum update でパッケージを全てアップデートします。
[root@localhost ~]# yum update
アップデートするパッケージ、依存関係のパッケージのチェックが終わると以下のようなメッセージで止まるので「y」で進めます。
インストール 5 パッケージ (+3 個の依存関係のパッケージ) 更新 164 パッケージ 総ダウンロード容量: 233 M Is this ok [y/d/N]: y
再度、メッセージが表示されました。
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 から鍵を取得中です。 Importing GPG key 0xF4A80EB5: Userid : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>" Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5 Package : centos-release-7-5.1804.el7.centos.x86_64 (@anaconda) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 上記の処理を行います。よろしいでしょうか? [y/N]
こちらはyumコマンドでパッケージのインストールを行う際にGPG署名というものを使用し、パッケージの検証を行うようになっているのですが、その際に必要な鍵が存在しないためインポートしてよいか確認するメッセージのようです。「y」を押して進めましょう。
上記の処理を行います。よろしいでしょうか? [y/N]y
無事、アップデートが完了したメッセージが表示されました。
完了しました!
これでパッケージの最新化は完了です。
データベースのインストール
CentOS7はMariaDBというMySQL互換のデータベースサーバーがデフォルトでインストールされているようです。
WordPressでもMariaDBの10.0以上であれば利用できるようです。
CentOS7にMariaDBがインストールされているか確認します。
[root@localhost ~]# rpm -qa | grep maria mariadb-libs-5.5.60-1.el7_5.x86_64
結果は、MariaDBのライブラリがインストールされていました。
元々データベースエンジンはMySQLにしようと思っていたのですが、MySQLよりMariaDBの方がレスポンスが向上しているという情報もちらほら見かけます。
使い慣れているMySQLとどちらにするか迷いました。
そして1日迷った結果、今回は検証ということもあり今まで使ったことが無いMariaDBで構築しようという決心をしました。
元々入っているライブラリバージョンが古いためまずは「mariadb-libs」をアンインストールしたいと思います。
[root@localhost ~]# yum remove mariadb-libs 読み込んだプラグイン:fastestmirror 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ mariadb-libs.x86_64 1:5.5.60-1.el7_5 を 削除 --> 依存性の処理をしています: libmysqlclient.so.18()(64bit) のパッケージ: 2:postfix-2.10.1-7.el7.x86_64 --> 依存性の処理をしています: libmysqlclient.so.18(libmysqlclient_18)(64bit) のパッケージ: 2:postfix-2.10.1-7.el7.x86_64 --> トランザクションの確認を実行しています。 ---> パッケージ postfix.x86_64 2:2.10.1-7.el7 を 削除 --> 依存性解決を終了しました。 依存性を解決しました ================================================================================================================================================================================================== Package アーキテクチャー バージョン リポジトリー 容量 ================================================================================================================================================================================================== 削除中: mariadb-libs x86_64 1:5.5.60-1.el7_5 @base 4.4 M 依存性関連での削除をします: postfix x86_64 2:2.10.1-7.el7 @base 12 M トランザクションの要約 ================================================================================================================================================================================================== 削除 1 パッケージ (+1 個の依存関係のパッケージ) インストール容量: 17 M 上記の処理を行います。よろしいでしょうか? [y/N]y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction 削除中 : 2:postfix-2.10.1-7.el7.x86_64 1/2 削除中 : 1:mariadb-libs-5.5.60-1.el7_5.x86_64 2/2 検証中 : 2:postfix-2.10.1-7.el7.x86_64 1/2 検証中 : 1:mariadb-libs-5.5.60-1.el7_5.x86_64 2/2 削除しました: mariadb-libs.x86_64 1:5.5.60-1.el7_5 依存性の削除をしました: postfix.x86_64 2:2.10.1-7.el7 完了しました!
は!、、postfixまで依存関係でアンインストールされてしまいました。
postfixは後で入れなおしておきたいと思います。
次に現在のリポジトリではMariDBの10系がインストールできないのでMariaDB公式サイトからリポジトリに記載する内容を取得します。
[root@localhost ~]# vi /etc/yum.repos.d/mariadb.repo
# MariaDB 10.3 CentOS repository list - created 2018-12-06 02:44 UTC # http://downloads.mariadb.org/mariadb/repositories/ [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.3/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
これでリポジトリの設定が出来ましたので実際にMariaDBをインストールをしていきます。
以下の2つをインストールするようにyumコマンドを実行します。
- MariaDB-server
- MariaDB-client
yum install MariaDB-server MariaDB-client
読み込んだプラグイン:fastestmirror Loading mirror speeds from cached hostfile * base: ftp.riken.jp * extras: ftp.riken.jp * updates: ftp.riken.jp 依存性の解決をしています --> トランザクションの確認を実行しています。 (省略) 依存性を解決しました ============================================================================================================================================================================================================================== Package アーキテクチャー バージョン リポジトリー 容量 ============================================================================================================================================================================================================================== インストール中: MariaDB-client x86_64 10.3.11-1.el7.centos mariadb 53 M MariaDB-server x86_64 10.3.11-1.el7.centos mariadb 123 M 依存性関連でのインストールをします: MariaDB-common x86_64 10.3.11-1.el7.centos mariadb 157 k MariaDB-compat x86_64 10.3.11-1.el7.centos mariadb 2.8 M boost-program-options x86_64 1.53.0-27.el7 base 156 k galera x86_64 25.3.24-1.rhel7.el7.centos mariadb 8.1 M lsof x86_64 4.87-6.el7 base 331 k perl x86_64 4:5.16.3-293.el7 base 8.0 M perl-Carp noarch 1.26-244.el7 base 19 k perl-Compress-Raw-Bzip2 x86_64 2.061-3.el7 base 32 k perl-Compress-Raw-Zlib x86_64 1:2.061-4.el7 base 57 k perl-DBI x86_64 1.627-4.el7 base 802 k perl-Data-Dumper x86_64 2.145-3.el7 base 47 k perl-Encode x86_64 2.51-7.el7 base 1.5 M perl-Exporter noarch 5.68-3.el7 base 28 k perl-File-Path noarch 2.09-2.el7 base 26 k perl-File-Temp noarch 0.23.01-3.el7 base 56 k perl-Filter x86_64 1.49-3.el7 base 76 k perl-Getopt-Long noarch 2.40-3.el7 base 56 k perl-HTTP-Tiny noarch 0.033-3.el7 base 38 k perl-IO-Compress noarch 2.061-2.el7 base 260 k perl-Net-Daemon noarch 0.48-5.el7 base 51 k perl-PathTools x86_64 3.40-5.el7 base 82 k perl-PlRPC noarch 0.2020-14.el7 base 36 k perl-Pod-Escapes noarch 1:1.04-293.el7 base 51 k perl-Pod-Perldoc noarch 3.20-4.el7 base 87 k perl-Pod-Simple noarch 1:3.28-4.el7 base 216 k perl-Pod-Usage noarch 1.63-3.el7 base 27 k perl-Scalar-List-Utils x86_64 1.27-248.el7 base 36 k perl-Socket x86_64 2.010-4.el7 base 49 k perl-Storable x86_64 2.45-3.el7 base 77 k perl-Text-ParseWords noarch 3.29-4.el7 base 14 k perl-Time-HiRes x86_64 4:1.9725-3.el7 base 45 k perl-Time-Local noarch 1.2300-2.el7 base 24 k perl-constant noarch 1.27-2.el7 base 19 k perl-libs x86_64 4:5.16.3-293.el7 base 688 k perl-macros x86_64 4:5.16.3-293.el7 base 44 k perl-parent noarch 1:0.225-244.el7 base 12 k perl-podlators noarch 2.5.1-3.el7 base 112 k perl-threads x86_64 1.87-4.el7 base 49 k perl-threads-shared x86_64 1.43-6.el7 base 39 k rsync x86_64 3.1.2-4.el7 base 403 k トランザクションの要約 ============================================================================================================================================================================================================================== インストール 2 パッケージ (+40 個の依存関係のパッケージ) 総ダウンロード容量: 201 M インストール容量: 829 M Is this ok [y/d/N]: y Downloading packages: (省略) ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 合計 2.1 MB/s | 201 MB 00:01:34 https://yum.mariadb.org/RPM-GPG-KEY-MariaDB から鍵を取得中です。 Importing GPG key 0x1BB943DB: Userid : "MariaDB Package Signing Key <package-signing-key@mariadb.org>" Fingerprint: 1993 69e5 404b d5fc 7d2f e43b cbcb 082a 1bb9 43db From : https://yum.mariadb.org/RPM-GPG-KEY-MariaDB 上記の処理を行います。よろしいでしょうか? [y/N]y Running transaction check Running transaction test Transaction test succeeded Running transaction (省略) chown: ユーザ指定が不正: `mysql' PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER ! To do so, start the server, then issue the following commands: '/usr/bin/mysqladmin' -u root password 'new-password' '/usr/bin/mysqladmin' -u root -h localhost.localdomain password 'new-password' Alternatively you can run: '/usr/bin/mysql_secure_installation' which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers. See the MariaDB Knowledgebase at http://mariadb.com/kb or the MySQL manual for more instructions. Please report any problems at http://mariadb.org/jira The latest information about MariaDB is available at http://mariadb.org/. You can find additional information about the MySQL part at: http://dev.mysql.com Consider joining MariaDB's strong and vibrant community: <blockquote class="wp-embedded-content" data-secret="Q4X4ktg6hd"><a href="https://mariadb.org/get-involved/">Get Involved</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted" style="position: absolute; clip: rect(1px, 1px, 1px, 1px);" src="https://mariadb.org/get-involved/embed/#?secret=Q4X4ktg6hd" data-secret="Q4X4ktg6hd" width="600" height="338" title="“Get Involved” — MariaDB.org" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe> 検証中 : perl-HTTP-Tiny-0.033-3.el7.noarch 1/42 (省略) 検証中 : 4:perl-libs-5.16.3-293.el7.x86_64 42/42 インストール: MariaDB-client.x86_64 0:10.3.11-1.el7.centos MariaDB-server.x86_64 0:10.3.11-1.el7.centos 依存性関連をインストールしました: MariaDB-common.x86_64 0:10.3.11-1.el7.centos MariaDB-compat.x86_64 0:10.3.11-1.el7.centos boost-program-options.x86_64 0:1.53.0-27.el7 galera.x86_64 0:25.3.24-1.rhel7.el7.centos lsof.x86_64 0:4.87-6.el7 perl.x86_64 4:5.16.3-293.el7 perl-Carp.noarch 0:1.26-244.el7 perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7 perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7 perl-DBI.x86_64 0:1.627-4.el7 perl-Data-Dumper.x86_64 0:2.145-3.el7 perl-Encode.x86_64 0:2.51-7.el7 perl-Exporter.noarch 0:5.68-3.el7 perl-File-Path.noarch 0:2.09-2.el7 perl-File-Temp.noarch 0:0.23.01-3.el7 perl-Filter.x86_64 0:1.49-3.el7 perl-Getopt-Long.noarch 0:2.40-3.el7 perl-HTTP-Tiny.noarch 0:0.033-3.el7 perl-IO-Compress.noarch 0:2.061-2.el7 perl-Net-Daemon.noarch 0:0.48-5.el7 perl-PathTools.x86_64 0:3.40-5.el7 perl-PlRPC.noarch 0:0.2020-14.el7 perl-Pod-Escapes.noarch 1:1.04-293.el7 perl-Pod-Perldoc.noarch 0:3.20-4.el7 perl-Pod-Simple.noarch 1:3.28-4.el7 perl-Pod-Usage.noarch 0:1.63-3.el7 perl-Scalar-List-Utils.x86_64 0:1.27-248.el7 perl-Socket.x86_64 0:2.010-4.el7 perl-Storable.x86_64 0:2.45-3.el7 perl-Text-ParseWords.noarch 0:3.29-4.el7 perl-Time-HiRes.x86_64 4:1.9725-3.el7 perl-Time-Local.noarch 0:1.2300-2.el7 perl-constant.noarch 0:1.27-2.el7 perl-libs.x86_64 4:5.16.3-293.el7 perl-macros.x86_64 4:5.16.3-293.el7 perl-parent.noarch 1:0.225-244.el7 perl-podlators.noarch 0:2.5.1-3.el7 perl-threads.x86_64 0:1.87-4.el7 perl-threads-shared.x86_64 0:1.43-6.el7 rsync.x86_64 0:3.1.2-4.el7 完了しました!
とりあえずMariaDBのインストールまで完了しましたので今回はここまでにしたいと思います。
postfix がアンインストールされたのは想定外だったのですが、MariaDBを使用するのが初めてなのでWordPessが動くまでに、別の課題が発生する可能性もありそうですね。
次回はApacheとPHPのインストールをおこなっていきます。