ウェブサイト検索

Ubuntu 24.04でLAMPサーバーを設定する


この詳細なチュートリアルでは、Ubuntu 24.04上にLAMP(Linux、Apache、MySQL、PHP)サーバーをセットアップする過程を案内します。このセットアップは、動的ウェブサイトやウェブアプリケーションをホストするために重要です。必要なパッケージのインストールからMySQLのインストールのセキュリティ確保、セットアップのテストまで、すべてを網羅します。

このチュートリアルでは、あなたは学びます:

  • Ubuntu 24.04にApache、MySQL、PHPをインストールする方法
  • 再起動後にサービスを自動的に開始および有効にする手順
  • MySQLインストールをどのように保護するか
  • ApacheとMySQLの機能を検証するためのPHPスクリプトを作成し、テストする
  • MySQLのユーザーとデータベースの設定
  • Let's Encryptを使用してSSLを実装し、ファイアウォールを設定するためのオプションの手順

Ubuntu上のLAMPスタックの理解

LAMPとは何ですか?

LAMPは、もともとLinux(オペレーティングシステム)、Apache(ウェブサーバー)、MySQL(データベースソフトウェア)、およびPHP(プログラミング言語)から成る無料のオープンソースソフトウェアのセットを指す頭字語です。この強力な組み合わせは、ウェブサイトやウェブアプリケーションを構築・ホストするのに広く使用されています。時間が経つにつれて、MySQLとPHPは、データベース用のMariaDBやPostgreSQL、プログラミング用のPerlやPythonなどの類似ソフトウェアに置き換えることができます。

なぜLAMPにUbuntuを選ぶのか?

Ubuntuは、使いやすさ、セキュリティ機能、そして強力なコミュニティサポートから好まれる人気のLinuxディストリビューションです。その定期的なリリースサイクルにより、更新され、安全なソフトウェアが保証され、LAMPサーバーのホスティングに理想的な選択となります。Ubuntuの幅広いハードウェアおよびソフトウェアとの互換性は、開発者やシステム管理者にとって多用途なプラットフォームを提供します。

Ubuntu上のLAMPの主な利点

  • オープンソースの特性: LAMPスタックのすべてのコンポーネントはオープンソースであり、ライセンス費用がなく、透明でカスタマイズ可能な環境を保証します。
  • 柔軟性: LAMPスタックは特定の要件に応じてサーバーを変更および調整する柔軟性を提供し、利用可能なPHPおよびApacheモジュールの豊富な配列から恩恵を受けます。
  • コミュニティとサポート: UbuntuとLAMPスタックのコンポーネントはどちらも広範なコミュニティサポートを提供しており、サポートのための豊富な文書、フォーラム、チュートリアルがあります。
  • 信頼性とパフォーマンス: Ubuntu上のLAMPは、その安定性とパフォーマンスで知られており、大量のウェブトラフィックを効率的に処理することができます。

LAMPが何であるか、なぜUbuntuが好まれる選択肢であるのかを基本的に理解したので、次にUbuntu 24.04システムにLAMPスタックを設定する方法に進みましょう。

Ubuntu 24.04での段階的LAMPサーバーセットアップ

  1. パッケージインデックスの更新とパッケージのインストール: パッケージの最新バージョンを取得するために、まずパッケージインデックスを更新してください。

    sudo apt update
    sudo apt install apache2 php-mysql libapache2-mod-php mysql-server
    
  2. このコマンドはApacheウェブサーバー、PHP、MySQL、および必要なPHP拡張をインストールします。

  3. サービスの開始と有効化: システムの再起動時にMySQLとApache2の両方のサービスが自動的に開始されるようにします。

    sudo systemctl enable --now mysql
    sudo systemctl enable --now apache2
    
  4. MySQLのインストールを保護する: セキュリティを強化するためにMySQLのインストールを保護してください。

    sudo mysql_secure_installation
    
  5. 画面の指示に従って、ルートパスワードを設定し、匿名ユーザーを削除し、リモートでのルートログインを禁止し、テストデータベースを削除してください。

  6. PHP処理のテスト: ApacheがPHPファイルを正しく処理しているかどうかをテストするためにPHPファイルを作成します。

    <?php phpinfo(); ?>
    

    info.phpというファイルを/var/www/html/ディレクトリに上記の内容で作成します。ブラウザでhttp://localhost/info.phpに移動します。PHPが正しく設定されていれば、このページにはPHPの設定に関する詳細情報が表示されるはずです。

  7. MySQLユーザーとデータベースの設定: アプリケーション用に専用のユーザーとデータベースを設定します。

    sudo mysql
    mysql> CREATE DATABASE linuxconfig;
    mysql> CREATE USER `admin`@`localhost` IDENTIFIED WITH mysql_native_password BY 'yourpass';
    mysql> GRANT ALL ON linuxconfig.* TO `admin`@`localhost`;
    mysql> FLUSH PRIVILEGES;
    mysql> exit
    
  8. このステップでは、‘linuxconfig’という名前の新しいデータベースと、作成したばかりのデータベースに対する完全な権限を持つ‘admin’という新しいユーザーが作成されます。

  9. MySQLデータベース接続のテスト: MySQLデータベースへの接続を確認します。

    <?php $conn = new mysqli("localhost", "admin", "yourpass", "linuxconfig"); if ($conn->connect_error) { die("ERROR: Unable to connect: " . $conn->connect_error); } echo 'Connected to the database.
    '; $conn->close(); ?>
    

    /var/www/html/ ディレクトリに上記の内容で mysql-test.php という名前のファイルを作成します。ブラウザで http://localhost/mysql-test.php にアクセスすると、データベースへの接続が成功したことを確認するメッセージが表示されるはずです。

  10. Let’s Encryptを使用したSSLの実装(オプション): SSL証明書であなたのウェブサイトを保護します。

    sudo apt install certbot python3-certbot-apache
    certbot --apache
    
  11. これらのコマンドはCertbotをインストールし、Let’s Encryptから無料のSSL証明書を取得し、この証明書を使用するようにApacheを自動的に設定します。これは、すでにサーバーのDNSと完全修飾ドメイン名(FQDN)を正しく設定していることを前提としています。

  12. ファイアウォールの設定 (オプション): HTTPおよびHTTPSトラフィックを許可するためにファイアウォールを有効にし、必要に応じてSSHも有効にします。

    sudo ufw allow in "Apache Full"
    sudo ufw allow in "ssh"
    
  13. このステップでは、アンコンプリケイテッドファイアウォール(UFW)を設定して、Apache(ポート80および443)およびSSH接続のための受信トラフィックを許可します。

結論

これらの手順に従うことで、Ubuntu 24.04上にLAMPサーバーを正常にセットアップしました。このサーバーは、ウェブサイトやウェブアプリケーションをホストする準備が整っており、ウェブ開発とデプロイメントに強力で安全な環境を提供します。

Ubuntu 24.04でLAMPサーバーを設定する際のよくある質問

  1. Ubuntu 24.04にLAMPサーバーをインストールするための最小システム要件は何ですか?

    Ubuntu 24.04は、少なくとも512MBのRAM、1GHzのプロセッサ、10GBのディスクスペースを要求します。ただし、特にLAMPスタックのためにより良いパフォーマンスを得るには、1GBのRAMとデュアルコアプロセッサを推奨します。

  2. LAMPスタックでMySQLの代わりにMariaDBを使用できますか?

    はい、MariaDBはMySQLのドロップイン置き換えであり、Ubuntu 24.04のLAMPスタックと一緒に使用できます。機能は類似しており、パフォーマンスの向上が評価されることがよくあります。

  3. Ubuntu 24.04にLAMPスタック用のPHP 8.xをインストールすることは可能ですか?

    はい、Ubuntu 24.04にPHP 8.xをインストールできます。最新バージョンのPHPを取得するために、サードパーティのリポジトリを追加する必要があるかもしれません。

  4. Ubuntu LAMPサーバーでPHPを新しいバージョンに更新するにはどうすればいいですか?

    PHPを更新するには、新しいPHPバージョンを含むリポジトリを追加し、パッケージリストを更新し、その後、パッケージマネージャを使用してPHPをアップグレードします。

  5. 1つのLAMPサーバーで複数のウェブサイトをホストできますか?

    はい、Apacheの仮想ホストを使用して、単一のLAMPサーバー上に複数のウェブサイトをホストできます。各サイトは独自のドメインとコンテンツで構成できます。

  6. どのようにしてLAMPサーバーのデータをバックアップしますか?

    mysqldumpなどのツールを使ってデータベースをエクスポートし、ウェブサイトのファイルや設定ファイルを定期的にコピーすることで、LAMPサーバーのデータをバックアップしてください。

  7. LAMPサーバーのセキュリティを向上させるにはどうすればいいですか?

    ファイアウォールの設定、SSL証明書のインストール、ソフトウェアの定期更新、強力なパスワードの使用、PHPおよびMySQLのセキュリティのベストプラクティスの実施によりセキュリティを向上させます。

  8. LAMPのインストールプロセス中にエラーが発生した場合は、どうすればよいですか?

    エラーが発生した場合は、特定のエラーメッセージについてターミナルの出力を確認してください。トラブルシューティングのヒントについては、Ubuntuの公式フォーラムやドキュメントを参照してください。

  9. 私のLAMPサーバーのパフォーマンスをどのように監視しますか?

    top、htop、またはApacheのmod_statusのようなツールを使用してパフォーマンスを監視します。定期的にログをチェックして、エラーや異常な活動を確認してください。

  10. Apacheの代わりにNginxのような別のウェブサーバーを使用できますか?

    はい、Apacheの代わりにNginxを使用することができます。これにより、スタックはLEMP(Linux、Nginx、MySQL、PHP)に変更されます。Nginxはそのパフォーマンスと効率で知られています。

  11. 私のLAMPサーバーからのメール送信をどのように設定しますか?

    PostfixのようなMTA(メール転送エージェント)をインストールして設定することで、メール送信を構成します。スパムに使われないように適切に設定することを確認してください。

  12. SSL証明書をインストールした後、Apacheを再起動する必要がありますか?

    はい、SSL証明書をインストールした後、変更を反映させるためにApacheを再起動する必要があります。

  13. どのようにしてLAMPセットアップに追加のPHP拡張を追加しますか?

    パッケージマネージャーを通じてPHP拡張をインストールし、必要に応じてPHP設定でそれらを有効にすることでPHP拡張を追加します。

関連記事: