CentOS 7 ~litespeed、phpmyadmin

サーバー

MariaDBのインストール

まずはDBのインストール。今回はnginxと同じようにMariaDBを導入することにした。特にその時と作業は変わっていないので、そちらを参照してください。

一応大まかなコマンドと入力内容は下記のようになってます。

cd /etc/yum.repos.dリポジトリのあるディレクトリに移動
vi mariadb.repo新しくファイルを追加
[mariadb] name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
enable=1
公式ページの内容をコピペ
enable=1はこちらで追加
yum install MariaDB-server MariaDB-clientseverとclientの二つをインストール
systemctl start mariadb.serviceMariaDBの起動
systemctl enable mariadb.serviceOS起動時に自動起動するよう設定
cd /etc/my.cnf.d設定ファイルのあるディレクトリに移動
cp server.cnf server.cnf_default設定ファイルのバックアップファイル作成
vi server.confviエディタで編集
character-set-server=utf8[server]内に左記を追記

phpMyAdminの導入

ダウンロード

phpMyAdminの公式ページから目的のファイルのURLをコピーする。
nginxの時は5.1.0だったが、今回は5.1.1にバージョンが上がっていた。

本来であればLiteSpeedでバーチャルホストを作成してルートディレクトリを設定するが、今回は初めてなので、最初から設定されているExampleをそのまま使うことにした。そのうちこのバーチャルホストも触れるようになるといいな。

cd /usr/local/lsws/Example/htmlと入力し、ルートディレクトリに移動。ここで先ほどコピーしておいたリンク先のファイルをwgetでダウンロードする。

画像には残していなかったが、ダウンロードしたファイルはzip形式なのでunzipを使って解凍する。
ちょっと長いディレクトリ名なので、mv phpMyAdmin-5.1.1-all-languages phpmyadminと入力してディレクトリ名を変更する。
cf. ここで気が付けばよかったが所有者と所有グループの変更をしておくべきだった。

設定ファイル

phpmyadminのディレクトリ内に移動して設定ファイルを作成する。
あらかじめconfig.sample.inc.phpファイルが準備されているので、これをコピーして使う。cp config.sample.inc.php config.inc.phpと入力し、設定ファイルconfig.inc.phpを作成。

設定ファイルの中身の変更についてはnginxの時と同じなのでそちらを参照してください。
ランダムな文字列32文字以上の記入と日本語化するための変更の2か所です。

ブラウザで確認

ブラウザで「IPアドレス/phpmyadmin」と入力していつものログイン画面がでると思っていたら表示されず。しばらく原因がわからなかったが、どうやらindex.phpを省略してのアクセスだとindex.htmlしか探していない設定になっていることが分かった。

ということで「IPアドレス:7080」と入力してLiteSpeedの設定画面に移動。
バーシャルホスト → Example → 一般に移動するとインデックスファイルがindex.htmlしか記載がなかった。

これが先ほどの原因であるので、編集ボタンをクリックしてインデックスファイルに「index.php」を追加する。

セーブして編集画面を抜けると、再起動をするよう促される。
右上の再起動ボタンをクリックしてLiteSpeedを再起動する。

拡張機能のインストール

あらためてブラウザで「IPアドレス/phpmyadmin」にアクセス。
すると今度はエラーメッセージが表示されました。phpの拡張機能であるjsonをコンパイルする必要があるらしい。

そこでyum infoで調べてみるとlsphp73-jsonというものを発見。これを入れればいいんだなと思いyum install lsphp73-jsonと入力しインストール

ここでブラウザで確認したがエラーメッセージは変わらず。

いろいろ検索して原因を探ったところ、必要なphpの拡張機能がもう少しあることが分かった。
OpenLiteSpeedの公式ページなのかなそこにはインストール方法の記載があり、以下の拡張機能を入れるようにとあった。

lsphp71
lsphp71-mysqlnd
lsphp71-common
lsphp71-gd
lsphp71-pdo
lsphp71-process
lsphp71-mbstring
lsphp71-mcrypt
lsphp71-opcache
lsphp71-bcmath
lsphp71-xml
lsphp71-soap
lsphp71-json

自分の環境ではlsphpは71ではなく73であるので、インストールされているものをチェック。
yum list installed | grep lsphp73*として確認。そうするとsoapとmcryptと呼ばれるものが足らないことが判明。さっそくその二つをインストール。
yum install lsphp73-soap lsphp73-mcrypt

パーミッションの変更

ブラウザで再度確認したところ、ログイン画面が無事表示されました。
…が、Warningの表示も

permission deniedとなっているのでおそらくrootのままになっているんだなと思い、ルートディレクトリに移動。案の定ルートのまま。

しかし、Apacheの時はapacheだったしnginxの時もnginxだったけど、LiteSpeedはなんだ?
そう思ってLiteSpeedの管理画面に入ってどこかにないか確認。するとサーバー設定 → 一般の中に実行ユーザとグループの記載があった。初期設定はnobody:nobodyとのこと。隣の?をクリックすると以下の文が。

  • [セキュリティ]サーバは、 “root”のような特権ユーザーとして実行しないでください。 サーバーが、ログイン/シェルアクセスを持たない特権のないユーザー/グループの組み合わせで実行するように構成されていることが重要です。 一般的にnobodyのユーザー/グループが良い選択です。

詳しくはわからないがnobody:nobodyが良さそうなので、そのように変更することにした。

ルートディレクトリに移動してphpmyadminのグループ、所有者を変更する。
chown -R nobody:nobody phpmyadmin
もう一度中身をみると変更できていることを確認できた。

あらためてブラウザで確認。今度はWarningもでず無事にログイン画面が出力されました。

最後に

今回はサクッといかずあれやこれやで何とかたどり着いた感じですね。
いままでを簡単にまとめるとLiteSpeedのインストール、今回はMariaDB、phpMyAdminのインストールまできたので、次はいよいよWordPressのインストール。LiteSpeedでのWordPressが体感できるレベルで早いのかどうか、早く見てみたいですね。

コメント