Debian 11 に LAMP をインストールして設定する方法 (Bullseye)
Linux サーバーをセットアップする最も重要なことの 1 つは、Web サイトを展開する目的です。 NetCraft.com が 2022 年 2 月に実施した、 世界で最もアクセス数の多い Web サイト100 万を対象とした調査によると、 そのうち約23.44% がApacheで実行されています。
このチュートリアルでは、Linux サーバー (特にDebian 11 Bullseye) をLAMP サーバーとして機能させるためのインストールと構成の基本を説明します。
LAMPサーバーとは何ですか?
コンピューティングの世界における LAMP は、Linux (ここでは Debian 11 を使用)、Apache、MySQL、の頭字語です。 とPHP (ランプ)。 LAMP は、Web サーバー上のソフトウェア スタック (特に MySQL と PHP) を参照するためによく使用されます。
構成の側面に入る前に、Apache Web サーバーについて理解しておくことが重要です。
Apache Webサーバーとは何ですか?
Apache は「オリジナル」の Web サーバーの 1 つであり、その始まりは 1995 年にまで遡ります。Apache は現在でも広く使用されており、その寿命、大量のドキュメント、膨大な量の恩恵を受けています。モジュールを追加して柔軟性を高めます。
Debian 11 への MySQL と PHP のインストール
1. この最初の部分では、Debian をMySQL およびPHP サーバーとして説明します。 LAMP の Linux セグメントは、TecMint に関する次の記事に従ってDebian 11 をインストールすることですでに完了しているはずです。
- Debian 11 Bullseye の新規インストール
Debian の準備ができたら、「apt」メタパッケージャーを使用して必要なソフトウェアをインストールします。
$ sudo apt install mariadb-server php libapache2-mod-php php-zip php-mbstring php-cli php-common php-curl php-xml php-mysql

2. MySQL と PHP のインストールが完了したら、mysql_secure_installation
ユーティリティを使用して MySQL インストールを保護することが推奨されることがよくあります。
以下のコマンドを実行すると、ユーザーに root パスワードの設定、匿名ユーザーなどの削除、データベースのテスト、SQL データベースへのリモート root ユーザー ログインの削除を求められます。
$ sudo mysql_secure_installation

3. MySQL が構成されたので、この特定のサーバーに対して PHP の基本設定をいくつか行ってみましょう。 PHP 用に構成できる設定は多数ありますが、ほとんどの場合常に必要となる基本的な設定をいくつか行います。
開いた php 設定ファイルは /etc/php/7.4/apache2/php.ini
にあります。
$ sudo vi /etc/php/7.4/apache2/php.ini
次に、文字列「memory_limit」を検索し、アプリケーションのニーズに応じて制限を増やします。
確認すべきもう 1 つの重要な設定は「max_execution_time」です。これもデフォルトで 30 に設定されます。アプリケーションでさらに多くの時間が必要な場合は、この設定を変更できます。
この時点で、MySQL と PHP5 はサイトのホスティングを開始する準備ができています。次に、Apache2 を構成します。
Apache2のインストールと構成
4. 次に、Apache 2 を構成して、LAMP サーバーの構成を完了します。 Apache2 を構成する最初のステップは、apt メタパッケージャーを使用してソフトウェアを実際にインストールすることです。
$ sudo apt install apache2
これにより、Apache2 に必要なファイルと依存関係がすべてインストールされます。

インストールが完了すると、Apache Web サーバーが起動し、デフォルトの Web ページが表示されます。 Apache Webサーバーが稼働していることを確認するには、いくつかの方法があります。最も簡単なオプションは、lsof ユーティリティを使用することです。
$ sudo lsof -i :80

もう 1 つのオプションは、単純に Web サーバーの IP アドレスに移動することです。 Debian がデフォルトでインストールされていると仮定すると、システムは DHCP を使用して IP アドレスを自動的に取得するように設定される可能性があります。
サーバーの IP アドレスを確認するには、2 つのユーティリティのいずれかを使用できます。この状況ではどちらのユーティリティも機能します。
$ ip show addr [Shown below in red] $ ifconfig [Shown below in green]

どのユーティリティを使用するかに関係なく、取得した IP アドレスを同じネットワーク上のコンピュータの Web ブラウザに入力して、Apache がデフォルト ページを表示していることを確認できます。
http://IP-Address

この時点で、Apache は起動して実行されています。 Debian のデフォルト ページは派手な Web サイトですが、ほとんどのユーザーは何かカスタムのものをホストしたいと考えます。次の手順では、別の Web サイトをホストするための Apache 2 のセットアップについて説明します。
Debian で Apache を使用して複数の Web サイトをホストする
5. Debian には、サイトとモジュールの両方を管理するための便利なユーティリティがパッケージ化されています。これらのユーティリティの使用方法を説明する前に、それらのユーティリティが提供する機能を理解することが重要です。
- a2ensite: このユーティリティは、適切な構成ファイルが作成された後に Web サイトを有効にするために使用されます。
- a2dissite: このユーティリティは、Web サイトの構成ファイルを指定して Web サイトを無効にするために使用されます。
- a2enmod: このユーティリティは、追加の Apache2 モジュールを有効にするために使用されます。
- a2dismod: このユーティリティは、追加の Apache2 モジュールを無効にするために使用されます。
- a2query: このユーティリティは、現在有効になっているサイトに関する情報を収集するために使用できます。
まず、最初の 2 つについて経験を積んでみましょう。 Apache 2 は現在「デフォルト Web ページ」をホストしているため、a2dissite を使用してそれを無効にしましょう。
$ sudo a2dissite 000-default.conf

このコマンドは、上のスクリーンショットにあるデフォルトの Apache Web サイトを無効にします。ただし、変更を有効にするには、Apache 2 設定をリロードする必要があります。
$ sudo systemctl reload apache2
このコマンドは、現在ホストしている有効/無効のサイトを更新するように Apache 2 に指示します。これは、Web サーバーの IP アドレスに再度接続しようとして、何も表示されないことに気付くことで確認できます (一部のコンピューターでは情報がキャッシュされます。前の 2 つのコマンドを実行した後もコンピューターにデフォルトの Web サイトが表示される場合は、Web サーバーをクリアしてみてください)。ブラウザのキャッシュ)。サイトが有効になっていないことを確認するもう 1 つのオプションは、a2query ユーティリティを使用することです。
$ sudo a2query -s

このスクリーンショットでは多くのことが行われているので、内容を詳しく見てみましょう。
- 上の緑色のボックスは
a2query -s
で、現在どのサイトが提供されているかを示すように Apache 2 に指示します。 - 黄色のボックスは、
a2dissite 000-default.conf
の後にサービス Apache2 リロードが続いています。これら 2 つのコマンドは、デフォルト サイトを無効にし、アクティブ/非アクティブ サイトをリロードするように Apache 2 に指示します。 - 赤いボックスは
a2query -s
が再度発行されていますが、今回は Apache が何も提供されていないと応答していることに注意してください。
デフォルト以外のサイトの作成を見てみましょう。最初のステップは、cd ユーティリティを使用して、Apache 2 構成ディレクトリ /etc/apache2
に切り替えることです。
$ cd /etc/apache2
このディレクトリにはいくつかの重要なファイルとディレクトリがありますが、簡潔にするために、ここでは必要なものだけを取り上げます。
新しいサイトをセットアップするときに最初に行うことは、「sites-available」 ディレクトリに新しい構成ファイルを作成することです。ディレクトリを「sites-available」ディレクトリに変更し、新しい設定ファイルを作成します。
$ cd sites-available $ sudo cp 000-default.conf tecmint-test-site.conf
これにより、さらに変更を加えるために、デフォルト サイトの構成が新しいサイト構成ファイルにコピーされます。テキスト エディタで新しいサイト構成ページを開きます。
$ sudo vi tecmint-test-site.conf
このファイル内には、Web サイトをホストするための非常に重要な行が 1 つあります。その行は「DocumentRoot」行です。この行は、特定のリソースに対するリクエストが届いたときに処理する必要のある Web ファイルがどこにあるかを Apache に伝えます。
現時点では、この行は存在しないディレクトリに設定されますが、すぐにこの Debian サーバーが表示する簡単な Web サイトが含まれるようになります。
DocumentRoot /var/www/tecmint

このファイルへの変更を保存し、テキスト エディタを終了します。
次に、Apache 2 がファイルを提供するように指示されたディレクトリを作成し、ファイルを追加する必要があります。この記事では HTML ファイルを扱いますが、完全に機能する Web サイトの作成方法を説明するのに十分な時間はおそらくないので、そのプロセスは読者に任せます。
それでは、Apache が提供するディレクトリを作成し、そこに「index.html」という基本的な HTML Web ページを追加しましょう。
$ sudo mkdir /var/www/tecmint $ touch /var/www/tecmint/index.html $ echo “It's ALIVE!” >> /var/www/tecmint/index.html
上記のコマンドは、「tecmint」という新しいディレクトリと、「index.html」という新しいファイルを tecmint ディレクトリに作成します。
echo コマンドは、Apache が Web サイトを提供するときに Web ブラウザーに実際に何かが表示されるように、そのファイルにテキストを配置します。
注: このチュートリアル用に作成者が作成したページは表示が異なります。次に、前に説明したコマンドを使用して、この新しい HTML ドキュメントを提供するように Apache に指示する必要があります。
$ sudo a2ensite tecmint-test-site.conf $ sudo systemctl reload apache2 $ sudo a2query -s tecmint-test-site.conf
上記の最後のコマンドは、Apache2 が新しく作成された Web サイトに実際にサービスを提供していることを確認するだけです。この時点で、Web ブラウザでサーバーの IP アドレスに再度移動し、新しく作成された Web サイトが表示されるかどうかを確認します (ここでもコンピューターはデータをキャッシュすることを好むため、新しい Web ページを取得するまでに数回の更新が必要になる場合があります)。

新しく作成された「It's ALIVE!!!」サイトが表示されている場合、Apache 2 は正常に設定されており、Web サイトが表示されています。
おめでとう!これはサイトをホストするためにLinux LAMP サーバーを準備する単純なセットアップですが、実行できるはるかに複雑な処理があり、構成はその最終目標に大きく依存します。