このチュートリアルでは、LOMPスタックをインストールする方法を説明します。 (OpenLiteSpeed、MariaDB、およびPHP8.0)Ubuntu 20.04/18.04。ソフトウェアスタックは、一緒にバンドルされたソフトウェアツールのセットです。 LOMPは、Linux、OpenLiteSpeed、MariaDB / MySQL、およびPHPの略で、動的なWebサイトおよびWebアプリケーションを強化できます。 Linux オペレーティングシステムです。 OpenLiteSpeed Webサーバーです。 MariaDB / MySQL データベースサーバーであり、 PHP は、動的Webページの生成を担当するサーバー側スクリプト言語です。
OpenLiteSpeedがApache/Nginxより優れている理由
以前、LAMPスタック(Apache)とLEMPスタック(Nginx)をインストールする方法について説明しました。なぜOpenLiteSpeedに切り替えるのですか?パフォーマンスがはるかに高いからです。
- 1秒あたり5倍のリクエスト。
- LSAPIを使用すると、mod_PHPやPHP-FPMよりも優れたPHPパフォーマンスが得られます。
- CPUとメモリのフットプリントが非常に少ない。
- HTTP / 3 。 OpenLiteSpeedは速度に重点を置いているため、Nginxよりも速く新しいテクノロジーを採用しています。
- 組み込みのPageSpeed およびModSecurity モジュール。 Nginxを使用する場合は、Nginxをアップグレードするたびにこれら2つのモジュールを再コンパイルする必要があります。
- 組み込みのページキャッシュ WordPress、Magento、Joomla、Prestashop、Opencart、Drupal、xenForo、Laravel、Shopware、MediaWikiなどの一般的なWebアプリケーションとの統合。
- Anti-DDoS接続と帯域幅調整。
- 組み込みのBrotli圧縮 静的ファイルの場合。
- Webベースの管理パネル。
要件
このチュートリアルに従うには、リモートサーバーで実行されているUbuntu 20.04 /18.04OSが必要です。
高性能のVPS(仮想プライベートサーバー)をお探しの場合は、ScalaHostingのWebサイトにアクセスしてアカウントを作成できます。自己管理型のLinuxVPSプランを選択します。クーポンコードlinuxbabe2021
を使用する 支払いページ 100ドル節約 12か月前払いを選択した場合。以下にリンクされているチュートリアルに従って、ScalaHostingでLinuxVPSサーバーを適切にセットアップできます。
- ScalaHostingでLinuxVPSサーバーを作成する方法
また、ドメイン名を使用してLOMPスタックを設定する必要がある場合は、NameCheapからドメイン名を購入することをお勧めします。これは、価格が低く、whoisのプライバシー保護が一生無料になるためです。
ステップ1:ソフトウェアパッケージを更新する
LOMPスタックをインストールする前に、Ubuntu 20.04 / 18.04 OSで次のコマンドを実行して、リポジトリとソフトウェアパッケージを更新することをお勧めします。
sudo apt update;sudo apt upgrade
ステップ2:OpenLiteSpeedWebサーバーをインストールする
OpenLiteSpeedはデフォルトのUbuntuソフトウェアリポジトリに含まれていないため、アップストリームの公式リポジトリからインストールする必要があります。次のコマンドを実行して、OpenLiteSpeedリポジトリをUbuntuシステムに追加します。
wget -O - http://rpms.litespeedtech.com/debian/enable_lst_debian_repo.sh | sudo bash
上記のコマンドは、OpenLiteSpeed GPGキーをUbuntuシステムにインポートして、APTがインストール中にパッケージの整合性を検証できるようにします。次に、次のコマンドを使用してOpenLiteSpeedをインストールします。
sudo apt install -y openlitespeed
インストール後、次のコマンドを実行することで、OpenLiteSpeedが起動時に自動起動できるようにすることができます。
sudo systemctl enable lshttpd
次に、次のコマンドでOpenLiteSpeedを起動します。
sudo systemctl start lshttpd
次に、そのステータスを確認します。
sudo systemctl status lshttpd
サンプル出力:
● lshttpd.service - OpenLiteSpeed HTTP Server Loaded: loaded (/etc/systemd/system/lshttpd.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2021-05-31 04:59:06 EDT; 14min ago Main PID: 7213 (litespeed) CGroup: /system.slice/lshttpd.service ├─7213 openlitespeed (lshttpd - main) ├─7224 openlitespeed (lscgid) ├─7253 openlitespeed (lshttpd - #01) └─7254 openlitespeed (lshttpd - #02) May 31 04:59:04 focal systemd[1]: Starting OpenLiteSpeed HTTP Server... May 31 04:59:04 focal lswsctrl[7171]: [OK] litespeed: pid=7213. May 31 04:59:06 focal systemd[1]: Started OpenLiteSpeed HTTP Server.
「有効 」は、起動時の自動起動が有効になっていて、OpenLiteSpeedが実行されていることを示しています。上記のコマンドを実行してもすぐに終了しない場合。 「q」を押す必要があります 」を終了します。
OpenLiteSpeedのバージョンを確認してください。
/usr/local/lsws/bin/openlitespeed -v
出力:
LiteSpeed/1.6.21 Open module versions: modgzip 1.1 cache 1.62 modinspector 1.1 uploadprogress 1.1 mod_security 1.4 (built: Tue Apr 6 13:20:57 UTC 2021) module versions: modgzip 1.1 cache 1.62 modinspector 1.1 uploadprogress 1.1 mod_security 1.4
デフォルトでは、OpenLiteSpeedはポート8088でリッスンするため、ポート80でリッスンする必要があります。Nanoなどのコマンドラインテキストエディターを使用してメイン構成ファイルを編集します。
sudo nano /usr/local/lsws/conf/httpd_config.conf
次の行を見つけます
listener Default{ address *:8088 secure 0 map Example * }
8088
を変更します 80
へ 。
listener Default{ address *:80 secure 0 map Example * }
ファイルを保存して閉じます。次に、OpenLiteSpeedを再起動します。
sudo systemctl restart lshttpd
注 :サーバー上でNginxなどの他のWebサーバーを実行している場合は、サーバーを停止してから、OpenLiteSpeedを再起動する必要があります。
sudo systemctl stop nginx
次に、ブラウザのアドレスバーにUbuntu 20.04/18.04サーバーのパブリックIPアドレスを入力します。 「おめでとうございます」Webページが表示されます。これは、OpenLiteSpeedWebサーバーが正しく実行されていることを意味します。
接続が拒否されるか、完了に失敗した場合は、ファイアウォールがTCPポート80への着信要求を妨げている可能性があります。iptablesファイアウォールを使用している場合は、次のコマンドを実行してTCPポート80を開く必要があります。
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
UFWファイアウォールを使用している場合は、このコマンドを実行してTCPポート80を開きます。
sudo ufw allow http
デフォルトでは、OpenLiteSpeedWebサーバーはnobody
として実行されます ユーザーとnogroup
グループ。デフォルトのドキュメントルートディレクトリは/usr/local/lsws/Example/html
です。 。
ステップ3:MariaDBデータベースサーバーをインストールする
MariaDBは、MySQLのドロップイン代替品です。これは、OracleがMySQLをクローズドソース製品に変える可能性があることを懸念しているMySQLチームの元メンバーによって開発されました。次のコマンドを入力して、MariaDBをUbuntu 20.04/18.04にインストールします。
sudo apt install mariadb-server mariadb-client
インストール後、MariaDBサーバーは自動的に開始されます。 systemctlを使用します ステータスを確認します。
systemctl status mariadb
出力:
● mariadb.service - MariaDB 10.3.29 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2020-04-10 14:19:16 UTC; 18s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 9161 (mysqld) Status: "Taking your SQL requests now..." Tasks: 31 (limit: 9451) Memory: 64.7M CGroup: /system.slice/mariadb.service └─9161 /usr/sbin/mysqld
実行されていない場合は、次のコマンドで開始します:
sudo systemctl start mariadb
起動時にMariaDBを自動的に起動できるようにするには、
を実行します。sudo systemctl enable mariadb
次に、インストール後のセキュリティスクリプトを実行します。
sudo mysql_secure_installation
MariaDBのrootパスワードの入力を求められたら、rootパスワードがまだ設定されていないため、Enterキーを押します。次に、 yと入力します MariaDBサーバーのルートパスワードを設定します。
次に、Enterキーを押して残りのすべての質問に答えることができます。これにより、匿名ユーザーが削除され、リモートrootログインが無効になり、テストデータベースが削除されます。このステップは、MariaDBデータベースセキュリティの基本的な要件です。 (Yが大文字になっていることに注意してください。これは、デフォルトの回答であることを意味します。)
デフォルトでは、UbuntuのMaraiDBパッケージはunix_socket
を使用します ユーザーログインを認証します。これは基本的に、OSのユーザー名とパスワードを使用してMariaDBコンソールにログインできることを意味します。したがって、次のコマンドを実行して、MariaDBのrootパスワードを指定せずにログインできます。
sudo mariadb -u root
終了するには、
を実行しますexit;
MariaDBサーバーのバージョン情報を確認してください。
mariadb --version
ご覧のとおり、MariaDB10.3.29をインストールしました。
mariadb Ver 15.1 Distrib 10.3.29-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
ステップ4:PHP8.0をインストールする
OpenLiteSpeedをインストールすると、lsphp73
が自動的にインストールされます。 パッケージ。OpenLiteSpeed用に作成されたPHP7.3ビルドです。次のコマンドでPHP8.0をインストールできます。
sudo apt install lsphp80 lsphp80-mysql lsphp80-common lsphp80-opcache lsphp80-curl
バージョン番号を確認してください。
/usr/local/lsws/lsphp80/bin/php8.0 -v
サンプル出力:
PHP 8.0.6 (cli) (built: May 7 2021 15:17:48) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.6, Copyright (c) Zend Technologies with Zend OPcache v8.0.6, Copyright (c), by Zend Technologies
インストールしたPHP8.0パッケージは5つだけですが、OpenLiteSpeedPHPビルドには多くのPHPモジュールが付属しています。次のコマンドを使用して、有効なPHPモジュールを確認できます。
/usr/local/lsws/lsphp80/bin/php8.0 --modules
ステップ5:PHPをテストする
phpinfo.php
があります /usr/local/lsws/Example/html
の下のファイル ディレクトリなので、server-ip-address/phpinfo.php
と入力できます。 ブラウザのアドレスバーでPHPをOpenLiteSpeedWebサーバーでテストするには、sever-ip-address
を置き換えます。 実際のIPで。
サーバーのPHP情報が表示されます。これは、PHPスクリプトがOpenLiteSpeedWebサーバーで正しく実行できることを意味します。これらはLiteSpeedAPIを介して接続されています (LSAPI)。
おめでとうございます!これで、OpenLiteSpeed、MariaDB、PHPがUbuntu 20.04/18.04に正常にインストールされました。 OpenLiteSpeedがデフォルトでPHP7.3を使用していることがわかります。 PHPのバージョンを変更するには、管理パネルを使用する必要があります。
ステップ5:管理パネルを構成する
管理パネルのユーザー名とパスワードを設定します。
sudo /usr/local/lsws/admin/misc/admpass.sh
次に、https://server-ip-address:7080/login.php
の管理パネルにアクセスできます。 。デフォルトでは、自己署名TLS証明書を使用しているため、Webブラウザにセキュリティ例外を追加する必要があります。
- Firefoxで、
Advanced
をクリックします 「Accept the risk and Continue
」をクリックします 「 - Google Chromeで、[
your-server-ip(unsafe)
に進む]をクリックします 。
管理パネルでPHP8.0に切り替える
デフォルトの仮想ホストでPHP8.0を使用するには、まずサーバーレベルでPHP8.0を有効にする必要があります。 Server Configuration
に移動します ->External App
、+
をクリックします ボタンをクリックして、新しい外部アプリを追加します。
LiteSpeed SAPI App
を選択します タイプとしてNext
をクリックします ボタン。
次の情報を入力してください:
- 名前 :
lsphp8.0
- 住所 :
uds://tmp/lshttpd/lsphp80.sock
- 最大接続数 :
10
- 環境 :PHP_LSAPI_CHILDREN =10
LSAPI_AVOID_FORK =200M - 初期リクエストタイムアウト(秒) :
60
- 再試行タイムアウト(秒) :
0
- 持続的接続 :
Yes
- 応答バッファリング :
No
- コマンド :
lsphp80/bin/lsphp
- バックログ :
100
- インスタンス :
1
- 優先度 :
0
- メモリソフト制限(バイト) :2047M
- メモリハード制限(バイト) :2047M
- プロセスソフト制限 :1400
- プロセスのハード制限 :1500
設定を保存します。次に、Virtual Hosts
に移動します ->Example
->Script Handler
タブをクリックし、+
をクリックします ボタンをクリックして、新しいスクリプトハンドラーを追加します。
次の情報を入力してください:
- サフィックス :
php
- ハンドラータイプ :
LiteSpeed SAPI
- ハンドラー名 :
lsphp8.0
設定を保存します。次に、グレースフルリスタートをクリックします 変更を有効にするには、左上隅にあるボタンをクリックします。次に、server-ip-address/phpinfo.php
と入力します。 ブラウザのアドレスバーで、OpenLiteSpeedWebサーバーでPHPをテストします。デフォルトの仮想ホストがPHP8.0を使用していることがわかります。
メモ
OpenLiteSpeedをしばらく使用した後、テストのためだけにNginxに戻そうとしました。一部のPHPモジュールが有効でなくなっているのは不思議です。 OpenLiteSpeedが原因かどうかは不明です。 /etc/php/7.4/cli/php.ini
を編集する必要がありました および/etc/php/7.4/fpm/php.ini
mysqlnd
を含む不足しているモジュールを有効にします 、mysqli
、mbstring
、gd
、json
、など。
LEMPスタックの通常のインストールでは、php.ini
を編集する必要はありません。 PHPモジュールを有効にするためのファイルですが、この状況では、このファイルを編集する必要がありました。必要なすべてのモジュールを有効にする簡単な方法は、次の2つのコマンドを実行することです。
cat /etc/php/7.4/mods-available/* | sudo tee -a /etc/php/7.4/fpm/php.ini cat /etc/php/7.4/mods-available/* | sudo tee -a /etc/php/7.4/cli/php.ini
締めくくり
このチュートリアルがUbuntu20.04 /18.04LTSにLOMPスタックをインストールするお役に立てば幸いです。 。いつものように、この投稿が役に立った場合は、無料のニュースレターを購読して、より多くのヒントやコツを入手してください。気をつけて🙂