Debian 11にLAMPをインストールして設定する方法(Bullseye)


Linuxサーバーをセットアップするための最も重要なことの1つは、Webサイトを展開することです。 NetCraft.comが2022年2月に行った世界で最も忙しい100万のWebサイトの調査によると、それらの約23.44%がApacheで実行されています。

このチュートリアルでは、LAMPサーバーとして機能するようにLinuxサーバー(具体的にはDebian 11 Bullseye)をインストールおよび構成するための基本について説明します。

LAMPサーバーとは何ですか?

コンピューティングの世界では、Linux(ここではDebian 11を使用)、Apache、MySQL、およびPHP(LAMP)のLAMPの頭字語。 LAMPは通常、Webサーバー上のソフトウェアスタック(具体的にはMySQLとPHP)を参照するために使用されます。

構成の側面に飛び込む前に、ApacheWebサーバーについて知ることが重要です。

Apacheは「元の」Webサーバーの1つであり、その始まりは1995年までさかのぼります。Apacheは今日でも広く使用されており、柔軟性を高めるために、長寿命、大量のドキュメント、および大量のモジュールの恩恵を受けています。

Debian11へのMySQLとPHPのインストール

1.この最初の部分では、DebianをMySQLおよびPHPサーバーとして説明します。 LAMPのLinuxセグメントは、TecMintに関する次の記事でDebian11をインストールすることですでに完了しているはずです。

  • Debian11Bullseyeの新規インストール

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.次に、LAMPサーバーの構成を完了するためにApache2を構成します。 Apache2を設定するための最初のステップは、aptメタパッケージャーを使用してソフトウェアを実際にインストールすることです。

$ sudo apt install apache2

これにより、Apache2に必要なすべてのファイルと依存関係がインストールされます。

インストールすると、Apache Webサーバーが起動し、デフォルトのWebページを提供します。 ApacheWebサーバーが稼働していることを確認する方法はいくつかあります。最も簡単なオプションは、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サイトをホストするようにApache2を設定する手順を説明します。

DebianでApacheを使用して複数のWebサイトをホストする

5. Debianは、サイトとモジュールの両方を管理するためのいくつかの便利なユーティリティをパッケージ化しています。これらのユーティリティの使用方法を説明する前に、それらが提供する機能を理解することが重要です。

  • a2ensite:このユーティリティは、適切な構成ファイルが作成された後にWebサイトを有効にするために使用されます。
  • a2dissite:このユーティリティは、Webサイトの構成ファイルを指定してWebサイトを無効にするために使用されます。
  • a2enmod:このユーティリティは、追加のApache2モジュールを有効にするために使用されます。
  • a2dismod:このユーティリティは、追加のApache2モジュールを無効にするために使用されます。
  • a2query:このユーティリティを使用して、現在有効になっているサイトに関する情報を収集できます。

まず、最初の2つの経験を集めましょう。 Apache 2は現在「デフォルトのウェブページ」をホストしているので、先に進んでa2dissiteで無効にします。

$ sudo a2dissite 000-default.conf

このコマンドは、上のスクリーンショットに表示されているデフォルトのApacheWebサイトを無効にします。ただし、変更を有効にするには、Apache2設定をリロードする必要があります。

$ sudo systemctl reload apache2

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

$ sudo a2query -s

このスクリーンショットでは多くのことが行われているので、状況を分析してみましょう。

  • 上の緑色のボックスはa2query-s で、現在サービスを提供しているサイトを示すようにApache2に指示します。
  • 黄色のボックスはa2dissite000-default.conf で、その後にサービスapache2reloadが続きます。これらの2つのコマンドは、Apache 2にデフォルトサイトを無効にしてから、アクティブ/非アクティブサイトをリロードするように指示します。
  • 赤いボックスはa2query-s が再度発行されていますが、今回はApacheが何も提供されていないことを応答することに注意してください。

それでは、デフォルト以外のサイトを作成してみましょう。最初のステップは、cdユーティリティを使用して/etc/apache2である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」という基本的なhtmlWebページを追加しましょう。

$ 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ブラウザーに何かを表示するように、そのファイルにテキストを配置します。

注:作成者がこのチュートリアル用に作成したページは、表示が異なります。前に説明したコマンドを使用して、Apacheにこの新しいhtmlドキュメントを提供するように指示する必要があります。

$ sudo a2ensite tecmint-test-site.conf
$ sudo systemctl reload apache2
$ sudo a2query -s tecmint-test-site.conf

上記の最後のコマンドは、Apache2が実際に新しく作成されたWebサイトにサービスを提供していることを確認するだけです。この時点で、WebブラウザをサーバーのIPアドレスに再度移動し、新しく作成されたWebサイトが表示されているかどうかを確認します(この場合も、コンピュータはデータをキャッシュするため、新しいWebページを取得するために数回の更新が必要になる場合があります)。

新しく作成された「It’sALIVE!!!」の場合サイトが表示され、Apache 2が正常に構成され、Webサイトが表示されています。

おめでとう!これは、サイトをホストするためのLinux LAMPサーバーを準備する単純なセットアップですが、実行できることははるかに複雑であり、構成はその最終目標に大きく依存します。