Webサーバーで、LiteSpeedなるものが出ていたようですね。
⇧ 上記サイト様によると、無料版のOpenLiteSpeedでさえもNginxを凌ぐレスポンス性能を発揮しているようです。高速WordPress実行環境「KUSANAGI」と比べるとどうなのか気になりますね。
ホワイトハウスのサイトもCMSを、DrupalからWordPressに変えたようですし、WordPressの復習がてらOpenLiteSpeedにチャレンジですね。
トランプ氏を嫌いになっても、WordPressのことを嫌いにならないでください!ということですかね。
2019年12月14(土)追記:↓ ここから
PHPの実行バイナリが複数あるっていうことを初めて知りました。
LiteSpeed は、「lsphp」ってファイルを実行することで、PHPを動かしてるみたいですね。
2019年12月14(土)追記:↑ ここまで
LiteSpeedのサイトにアクセス
https://www.litespeedtech.com/ にアクセスし、「Open Source」のリンクをクリック。
ページ遷移したらば、下の方にスクロールし、
「OpenLiteSpeed」をクリック。
「OpenLiteSpeed Wiki」のリンクをクリック。
ページ遷移したらば、
リポジトリからインストールする場合は、
Install OpenLiteSpeed and PHP from LiteSpeed Repositories
ソースコードからインストールする場合は、
Install OpenLiteSpeed and PHP from source code
のリンクをクリックします。
・http://open.litespeedtech.com/mediawiki/index.php/Help:Repositories
⇧ リポジトリからインストールする場合、2017年1月8日(月)現在、対応しているOSはLinuxで、
の3種類のディストリビューションのみのようですね。
CentOS 5, 6 & 7 | Debian 7,8 | Ubuntu 12, 14,16
Add the Repository
Use the following commands to add our CentOS repositories:
CentOS 5: rpm -ivh http://rpms.litespeedtech.com/centos/litespeed-repo-1.1-1.el5.noarch.rpm
CentOS 6: rpm -ivh http://rpms.litespeedtech.com/centos/litespeed-repo-1.1-1.el6.noarch.rpm
CentOS 7: rpm -ivh http://rpms.litespeedtech.com/centos/litespeed-repo-1.1-1.el7.noarch.rpm
Debian 7, 8 & Ubuntu 12,14, 16: wget -O - http://rpms.litespeedtech.com/debian/enable_lst_debain_repo.sh | bash
・http://open.litespeedtech.com/mediawiki/index.php/Help:Install:Command_Line
⇧ ソースからインストールする場合は、Macも対応しているみたいです。残念ながら、まだWindowsは対応していないみたいですね。
Minimum system requirements
- Operating System:
- CPU:
- Memory: 32MB and up
- Disk:
-
- Installation: 200MB
- Runtime: 300MB and up, swapping space depends on usage.
UbuntuでOpenLiteSpeedを試してみる
今回は、ソースコードからインストールしてみたいと思います。 最近、Virtual Boxに作成した仮想マシンのOSとしてUbuntu 16.04LTSをインストールしていたので、それを利用していきたいと思います。
Virtual Boxを起動し、Ubuntuの仮想マシンを起動します。動かしたい仮想マシンを選択した状態で、「起動(T)」をクリックします。
パスワードを入力し、ログインします。
ログインできましたらば、
端末を起動します。
OpenLiteSpeedのインストールに必要な依存ライブラリをインストール
端末で、OpenLiteSpeedインストールに必要な依存ライブラリをインストールしていきます。 (※『su』コマンドで、スーパーユーザーになってます。)
sudo apt-get update sudo apt-get install build-essential sudo apt-get install rcs libpcre3-dev libexpat1-dev libssl-dev libgeoip-dev libudns-dev zlib1g-dev libxml2 libxml2-dev libpng-dev openssl
OpenLiteSpeedをダウンロード
ゲストOS(仮想マシン側のUbuntu 16.04LTS)でブラウザを起動し、
http://open.litespeedtech.com/mediawiki/index.php/Downloads にアクセス。
⇧ 今回は、「OpenLiteSpeed 1.4.28」を選択。
⇩ 「ファイルを保存する(S)」を選択し、「OK」。
「ファイル」で、『ダウンロード』にファイルがあります。ファイルを選択した状態で右クリックし、「プロパティ」を選択。
場所が表示されています。
端末から、適当な場所に展開しておきます。
⇧ 上記サイト様によると、ホームディレクトリにファイルをダウンロードしてたので、移動しておきます。
mv /home/ユーザー名/ダウンロード/openlitespeed-1.4.28.tgz ~/openlitespeed-1.4.28.tgz
cd ~/
ダウンロードしたファイルを展開(解凍)します。
tar xzvf openlitespeed-1.4.28.tgz
ディレクトリの移動。
cd openlitespeed-1.4.28
OpenLiteSpeedをインストール
ソフトウェア(ダウンロードして展開したOpenLiteSpeed のこと)の設定を行い、 コンパイルしバイナリのビルドを行います。
./configure make
⇧ makeの結果のメッセージが気にはなりますが...続いてインストール。
sudo make install
『/usr/local/lsws』にOpenLiteSpeed がインストールされるようです。
ls /usr/local/lsws
OpenLiteSpeed用のPHPをインストール
OpenLiteSpeed use php build with LSAPI. For CentOS/Ubuntu/Debian, LSPHP can be installed through RPMS. If RPMS are not available for your system, such as FreeBSD and Mac OS, you may compile PHP by yourself.
⇧ OpenLiteSpeedが提供している、独自のPHPパッケージをインストールする必要があるようです。
- lsphp
- PHP LSAPI (LiteSpeed Server Application Programming Interface)
の2つの呼ばれ方をするようですかね。
CentOS / Ubuntu / Debianの場合、LSPHPはRPMS経由でインストールできるようです。
⇧ 上記サイト様によると、Ubuntuの場合は、aptでいけるようです。
その前に、LiteSpeedのリポジトリをUbuntuに追加しておく必要があるようです。
・https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:php:apt
⇧ 公式のサイトにも記述されていました。
wget -O - http://rpms.litespeedtech.com/debian/enable_lst_debain_repo.sh | bash
例のごとく、処理の進行がむちゃくちゃ遅い...不安になる遅さ。12分2秒で取得、結構な時間が経過していたようです。
リポジトリが取得できたので、LiteSpeed用のPHPがインストールできるようです。
sudo apt install lsphp71 lsphp71-common lsphp71-mysql lsphp71-dev lsphp71-curl lsphp70-dbg -y
⇧ インストールできたんですかね?
Firewallの設定
デフォルトのUbuntuのリポジトリから、UFW(UbuntuにおけるFirewallの設定ファイル)をインストールします。
sudo apt install ufw -y
OpenLiteSpeedにアクセスできるように、UFWに設定を追加します。
ufw allow ssh ufw allow http ufw allow https ufw allow 8088/tcp ufw allow 7080/tcp
UFWの設定を反映させます。
ufw enable
UFWが反映されているか確認。
ufw status
設定されているようです。
OpenLiteSpeedの管理画面へログインするためのAdminのパスワード設定
OpenLiteSpeedでは、ブラウザ上で操作できるGUIの管理画面が用意されているようで、ログインに使用するパスワードを変更できるようです。
OpenLiteSpeedの設定ファイルのあるディレクトリへ移動します。
cd /usr/local/lsws/admin/misc
OpenLiteSpeedの管理画面へログインするためのパスワードを設定。
sh admpass.sh
OpenLiteSpeedの管理画面へログインするため、IPアドレスを確認しときます。
ifconfig
⇧ 自分の場合ですと、enp0s3 のinetアドレスっていうのを使っていく感じですかね。
ちなみに自分はネットワーク設定をブリッジアダプターにしてしまっているのですが、セキュリティ的に好ましくないようです。
⇧ 上記サイト様が詳しそうです。
OpenLiteSpeedの起動
OpenLiteSpeedを起動します。ソースコードからインストールした場合、起動のさせ方は、
/usr/local/lsws/bin/lswsctrl start
でいけるようです。
ホストOS(Windows 10 Home)側のブラウザで、『http://仮想マシンのIPアドレス:7080』にアクセスしてみます。
⇧ 「詳細情報」をクリックすると、「192.168.〇.〇にアクセスする(安全ではありません)」というリンクが表示されるのでクリック。
ログイン画面が表示されます。
設定したユーザーとパスワードでログインします。
OpenLiteSpeedの管理画面にログインできました。
OpenLiteSpeedの停止は、
/usr/local/lsws/bin/lswsctrl stop
でいけるようです。
PHPのバージョンを変更
デフォルトで使用されているのが、PHP7.0らしく、PHP7.1に変更していきます。
左のサイドバーから「Server Configuration」をクリック。
「External App」タブをクリック。
「Add」ボタンをクリックします。
「LiteSpeed SAPI App」を選択します。
「Next」ボタンをクリック。
「LiteSpeed SAPI App」のところで情報を入力していきます。
見本のサイトでは、
Name: lsphp71 Address: uds://tmp/lshttpd/lsphp.sock Notes: lsphp71 for OpenLiteSpeed Max Connections: 35 Initial Request Timeout (secs): 60 Retry Timeout (secs): 0 Command: $SERVER_ROOT/lsphp71/bin/lsphp
を入力する感じです。入力したら、「Save」ボタンをクリック。
追加されました。
続いて、「Script Handler」タブをクリック。「Handler Name*」で「lsphp71」を選択します。
「Save」ボタンをクリック。
設定できました。
OpenLiteSpeedのポート番号を80に変更
WordPressでマルチサイトを構築するときなどは、ポート番号が80以外だと駄目だった気がするので、ポート番号を変えてしまいます。
左サイドバーから「Listners」を選択。
「View」ボタンをクリック。
「Address Settings」のところの「Edit」ボタンをクリック。
「Port*」を「80」に変更し、「Save」ボタンをクリック。
そしたら、OpenLiteSpeedを再起動します。管理画面からも再起動できるらしいです。
「Graceful Restart」というボタンをクリック。
「OK」をクリック。
「LSWS PID」の数字が変わっているので、再起動されたようです。(LSWSのプロセスIDが変わっているので。)
ブラウザで「http://仮想マシンのIPアドレス」にアクセスできました。
「curl」コマンドで端末からアクセスもできました。
curl -I [仮想マシンのIPアドレス]
PHPのバージョン確認
ブラウザで、「http://仮想マシンのIPアドレス/phpinfo.php」 でアクセスして確認できるようです。
MySQLのインストール
php71-mysqlをインストールしてるから、MySQLがインストールされてるのかと思ったけどそういうわけじゃないんですね。インストールされていたのは、PHPからMySQLを利用できるようにするモジュールってことですかね、紛らわしい~。
https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:php:apt:packages
⇧ aptを使う場合の公式サイトのリポジトリのパッケージ一覧
というわけで、データベースとしてMySQLをインストールしていきたいと思います。MariaDBでも良いみたいですが。
⇧ 上記サイト様を参考に、せっかくなんで最新版のMySQLをインストールしていきましょう。
https://dev.mysql.com/downloads/repo/apt/ にアクセスし、下のほうにスクロールし、
「Download」をクリック。
「No thanks, just start my download.」のリンクを右クリックし、「リンクのアドレスをコピー(E)」をクリック。
ゲストOS(Ubuntu 16.04 LTS)側の端末で、「wget」コマンドで、コピーしておいたURLからファイルをダウンロードします。
一応、ホームディレクトリに移動しておいてから、MySQLのAPTリポジトリをダウンロードします。
cd ~/
wget https://dev.mysql.com/get/mysql-apt-config_0.8.9-1_all.deb
dpkg -i mysql-apt-config_0.8.9-1_all.deb
⇧ 選択されてるものでよければ、↓でOKを選択し、
Enterをクリック。端末画面に戻るので、
「apt-get update」コマンドを実行。
apt-get update
MySQLをインストール。
apt-get install mysql-server
途中で、MySQLにログインするときのrootユーザーのパスワードを決めるように促されるので、適当に入力します。
確認のため、入力したパスワードを再度入力します。
MySQLがインストールされました。
MySQLのバージョン確認 。
mysql --version
MySQLの日本語設定
MySQLの設定ファイルのバックアップを作成。
cp -p /etc/mysql/my.cnf /etc/mysql/my.cnf_default
MySQLの設定ファイルの編集。
vi /etc/mysql/my.cnf
viエディタで設定ファイルを開いたら、「i」で入力モードになり、
下記を追記します。
[mysqld] character-set-server=utf8 skip-character-set-client-handshake default-storage-engine=INNODB [mysqldump] default-character-set=utf8 [mysql] default-character-set=utf8
「:wq」で保存します。(UbuntuのviはCentOSのviとちょっと動きが違う気がします...Ubunutuはnanoっていうエディタも使えるみたいです。)
MySQLを再起動し、設定を反映させます。
systemctl restart mysql.service
systemctl status mysql.service
MySQLにWordPress用のデータベースを作成
MySQLにrootユーザーでログインします。
mysql -u root -p
文字コードの設定が上手くいってるか確認。
show global variables like '%character%';
イケてるようなので、データベースを作成します。
CREATE DATABASE litespeedwp;
今回は、ユーザー作成とかもろもろ割愛させていただきます。
quitでMySQLへの接続を切断しておきます。
WordPressのインストール
OpenLiteSpeedがインストールされているディレクトリ「/usr/local/lsws/」に、WordPressのドキュメントルート用のディレクトリを作成します。(デフォルトでExampleというディレクトリが用意されているので、そちらを使ってもいけるようです。)
mkdir /usr/local/lsws/litewptest
ls /usr/local/lsws
本当は、「wp-cli」というWordPress用のコマンドをインストールして、「wp-cli」コマンドでWordPressをインストールしたほうが良いとは思いますが、今回はwgetコマンドでダウンロードして、WordPressのドキュメントルート用のディレクトリに展開していきたいと思います。
⇧ WordPressはzip形式でもダウンロードできます。ダウンロードのリンクを右クリックでコピーしときましょう。
自分は、tar.gz形式のほうを利用しています。
cd /usr/local/lsws/litewptest
wget https://ja.wordpress.org/wordpress-4.9.1-ja.tar.gz
展開します。
tar xzvf wordpress-4.9.1-ja.tar.gz
⇧ 上記サイト様によると、Wordpressのディレクトリの権限を変更しておく必要があるようです。
chown -R nobody:nogroup /usr/local/lsws/litewptest/wordpress
wp-config.phpの編集
WordPressの設定ファイルを作成します。
cd wordpress
mv wp-config-sample.php wp-config.php
wp-config.phpをviエディタで編集。
vi wp-config.php
⇧ ホスト名に、仮想マシンのIPアドレスでいけると思いきや駄目でしたので、localhostにしてます。
作成したデータベースとデータベースのユーザー名、パスワードを入力し、保存します。
VirtualHostの設定
OpenLiteSpeedの管理画面から、VirtualHOstの設定。
左サイドバーから「Virtual Hosts」を選択。「Add」ボタンをクリック。
新規でVirtualHostを作成。
Virtual Host Name: litewptest
Virtual Host Root: $SERVER_ROOT/litewptest/
Config File: $SERVER_ROOT/conf/vhosts/litewptest/vhconf.conf
Enable Scripts/ExtApps: Yes
Restrained: No
を設定。ディレクトリ名は自分の作成したもの(WordPressのドキュメントルート用のディレクトリ)に合わせます。(自分の場合ですと、「litewptest」になっています。)
「Edit」ボタンをクリック。
エラーが出るので、「CLICK TO CREATE」のリンクをクリック。
「Save」ボタンをクリック。
続いて、「General」タブの中の「General」の「Edit」ボタンをクリック。
「Document Root*」を「$VH_ROOT/wordpress/」とし、「Save」ボタンをクリック。
同じく「General」タブの中の「Index Files」の「Edit」ボタンをクリック。
「Index Files」の項目に、「index.php index.html」を追加し、「Save」ボタンをクリック。
WordPressのRewritesとPermalinkの設定
「Rewrite」タブをクリックし、「Rewrite Control」の「Edit」ボタンをクリック。
「Enable Rewrite」で「Yes」にチェックを入れ、「Save」ボタンをクリック。
「Rewrite」タブの「Rewrite Rules」の「Edit」ボタンをクリック。
下記のように記述し、「Save」ボタンをクリック。
RewriteBase / RewriteRule ^/index\.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
リスナーの設定
左サイドバーから「Listners」を選択し、「Listner List」の「View」ボタンをクリック。
「Virtual Host Mapping」の「Edit」ボタンをクリック。
「Virtual Host*」を変更。
OpenLiteSpeedを再起動します。
ブラウザで、「http://仮想マシンのIPアドレス/」にアクセスするとお馴染みの画面が!
必要な情報を入力し、「WordPressをインストール」をクリック。
「ログイン」をクリック。
ユーザー名、パスワードを入力し、「ログイン」をクリック。
管理画面にログインできました。
今回もハマりにハマりしたが、なんとかOpenLiteSpeed上でWordPressの構築までできました。ということで今回はこのへんで。