LAMPスタックはLの組み合わせです inux、 A pache、 M ySQL& P HP。ここで、Apacheは人気のあるWebサーバーであり、MySQLはリレーションデータベース管理システムであり、PHPはWebアプリケーションの開発に一般的に使用されるプログラミング言語です。
ほとんどのWebサイトは、LAMP環境でホストされているPHPとMySQLで構築されています。たとえば、人気のあるブログWebプラットフォームであるWordPress、Drupalは、PHPとMySQLを使用して開発されています。どちらもLAMP環境で広くホストされています。
このハウツーガイドは、Debian10LinuxシステムにLAMPスタックをインストールして設定するのに役立ちます。
前提条件
Debian10Linuxシステムへのsudo権限アカウントアクセスが必要です。
Debian 10システムにログインし、現在のパッケージを利用可能な最新バージョンにアップグレードします。
sudo apt update && sudo apt upgrade
また、このチュートリアルの次のコマンドに必要な以下のパッケージをシステムにインストールしてください。
sudo apt install ca-certificates apt-transport-https
ステップ1–Apacheのインストール
Apache 2.4パッケージは、Debian10システムのデフォルトのリポジトリで利用できます。次のコマンドを実行することで、最新のApache2パッケージを簡単にインストールできます。
sudo apt install apache2
上記のコマンドは、システムにいくつかの依存パッケージも追加します。インストーラーは自動的にApache2サービスを開始します。これは、次のコマンドを使用して確認できます。
sudo systemctl status apache2
Apacheが実行状態になっているはずです。次に、サーバーのIPアドレス、またはWebブラウザでサーバーのIPアドレスを指すドメイン名にアクセスします。デフォルトのランディングページは次のようになります:
私の場合、サブドメインdebian10.tecadmin.net
を指定しました Debian10システムに。次に、次のようにWebブラウザでアクセスします。

ステップ2–MySQLのインストール
デフォルトのDebian10リポジトリには、デフォルトのデータベースサーバーとしてMariaDB(Replacement of MySQL)が含まれています。 MariaDBの実行コマンドを使用してインストールしても問題がない場合は、MySQLサーバーのインストールチュートリアルに従ってください。
sudo apt install mariadb-server
MySQLパッケージがインストールされたら、以下を実行してMySQLサーバーを初めて構成します。
sudo mysql_secure_installation
上記のコマンドは、構成ウィザードを開始します。画面の指示に従います。以下のように、ユーザー入力が必要な手順が含まれています。
- 新しくインストールしたサーバーで、Enterキーを押すだけです:
Enter current password for root (enter for none): OK, successfully used password, moving on...
- 「y」を押してから、安全なパスワードを入力してMySQLのrootアカウントに設定します。
Set root password? [Y/n] y New password: Re-enter new password:
- 「y」を押してEnterキーを押すと、匿名ユーザーが削除されます。
Remove anonymous users? [Y/n] y
- 「y」を押してEnterキーを押すと、rootアカウントのリモートアクセスが制限されます。
Disallow root login remotely? [Y/n] y
- 「y」を押してEnterキーを押すと、インストール中にデフォルトで作成されたテストデータベースが削除されます。
Remove test database and access to it? [Y/n] y
- 最後に、「y」を押してEnterキーを押し、特権を再読み込みします。
Reload privilege tables now? [Y/n] y
これでデータベースウィザードが完了しました。サーバーにアクセスする準備ができました。
以下のコマンドを入力して、MySQLサーバーシェルにアクセスします。
mysql -u root -p
出力:
Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 51 Server version: 10.3.27-MariaDB-0+deb10u1 Debian 10 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
ステップ3–PHPのインストール
デフォルトのDebian10システムリポジトリには、古いバージョンのPHPが含まれています。最新のPHPバージョンをインストールするには、サードパーティのPPAをシステムに追加します。以下のコマンドを実行して、PPAをシステムに追加します。
wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add -
sudo echo "deb https://packages.sury.org/php/ buster main" | tee /etc/apt/sources.list.d/php.list
次に、システムのAptキャッシュを更新します。
sudo apt update
必要なモジュールと一緒にPHPをインストールします。最新のPHPバージョンをインストールするには、次のコマンドを実行します。それ以外の場合は、次のコマンドに移動して特定のPHPバージョンをインストールします。
sudo apt install php php-mysql libapache2-mod-php
アプリケーションで特定のPHPバージョンが必要な場合は、パッケージ名とともにバージョン番号を指定します。たとえば、PHP 7.1をインストールするには、次のコマンドを使用します。 sudo apt install php7.1 php7.1-mysql libapache2-mod-php7.1
確認のために「y」を押して、インストールプロセスを完了します。
ステップ4–PHPバージョンの確認
システムのLAMP設定を確認するには、 phpinfo()を使用してPHPスクリプトを作成します Apacheドキュメントルートの下で機能します。これを行うには、/var/www/html/info.phpを編集します お気に入りのテキストエディタでファイルを作成し、以下のコンテンツをファイルに追加して保存します。
PHP
123 | <?php phpinfo();?> |
次に、 info.phpにアクセスします システムのIPアドレスまたはそのIPアドレスを指すドメイン名を使用してWebブラウザでファイルを作成します。
それでおしまい。これで、Apache、MySQL、およびPHPがDebian10Linuxシステムに正常にインストールされました。
ステップ5–Let'sEncryptを使用してApacheを保護する
SSL証明書は、ドメインまたはサブドメインに対してのみ発行できます。すでにサブドメインをDebian10システムのIPアドレスにポイントしているので。次に、ドメインのApacheで仮想ホスト構成ファイルを作成します。
あなたの場合、ドメイン名は変更されます。したがって、以下のコマンドと構成のドメイン名でdebian10.tecadmin.netを更新してください。
sudo nano /etc/apache2/sites-available/debian10.tecadmin.net.conf
次の内容をファイルに追加します。サーバー名とドキュメントルートを正しい場所に変更してください
Apache
12345678 | |
構成ファイルを保存して閉じます。
次に、Apache構成ファイルを有効にします。これにより、sites-availableディレクトリからsites-enabledディレクトリへの構成ファイルのリンクが作成されます。
sudo a2ensite debian10.tecadmin.net
Apache構成をリロードして、設定をリロードします。
sudo systemctl reload apache2
Apacheサーバーでアクティブなサイトが構成されています。
次に、Certbot Let’sEncryptクライアントをApacheプラグインと一緒にDebianシステムにインストールします。以下のコマンドを実行して、Certbotをインストールします。
sudo apt install python3-certbot python3-certbot-apache
インストールが完了したら。次のコマンドを実行して、SSL証明書を要求します。このコマンドは、Apacheで構成されているすべてのサイトをスキャンします。
sudo certbot --apache

最初の実行時に、コマンドは電子メールアドレスを提供し、更新などの送信されたSSLアラートに同意するように求めます。
次に、Apacheで構成されているすべてのサイトが一覧表示され、サイトIDを入力してその証明書を発行するように求められます。私の場合、サイトIDは1です。コマンドごとに別々のIDを使用して複数のサイトを選択できます。
承認が完了すると、コマンドは自動リダイレクトを構成するように要求します。選択肢と要件をいくつでも選択してください。
これで、ポート443のTLS/SSLでリッスンするために新しく発行された証明書を含む追加のApache構成ファイルが作成されます。
次に、ブラウザでドメインに再度アクセスし、SSL証明書を確認します。
結論
このチュートリアルは、Debian 10BusterLinuxシステムでLAMP環境をセットアップするのに役立ちました。さらに、Let’sEncryptSSL証明書を使用してApacheを保護する手順を説明します。