デジタルオーシャンでのLAMP 1-Clickインストールの方法を教えてください。
イントロダクション
LAMPスタックは、特定のソフトウェアグループを使用してウェブアプリケーションをサーバー上でホストするソリューションスタックです。この用語は、LinuxオペレーティングシステムとApacheウェブサーバーを表す頭字語です。サイトのデータはMySQLデータベースに保存され、動的なコンテンツはPHPで処理されます。
このチュートリアルでは、Silicon Cloud LAMP 1-Click Appを使用して、LAMPスタックが事前にインストールされたSilicon Cloud vServerを作成する方法を案内します。また、サーバー攻撃を緩和するためのFail2banやメール送信のためのPostfix、安全なHTTPS接続のTLS/SSL証明書を管理するためのCertbotなど、便利なツールも含まれています。vServerの作成が完了すると、他のLAMPスタックの使用例についても説明があります。この1-Click vServerは、標準のUbuntu 20.04 vServerを基にしているため、このガイドが終わった後は、自分のvServerで当社のLAMPチュートリアルのいずれかを参照することができます。
1-クリック展開
このチュートリアルの終わりまでに、以下の追加を行ったUbuntu 20.04 ドロップレットをお持ちいただけます。
- Apache (version 2.4.41) is a popular open-source web server. It provides many powerful features including dynamically loadable modules, robust media support, and extensive integration with other popular software.
- MySQL (version 8.0.30) is a popular open-source database management system. It implements the relational model and uses Structured Query Language (better known as SQL) to manage its data.
- PHP (version 8.1.8) is a scripting language used in web development for creating dynamic and interactive web pages.
- Fail2ban (version 0.11.1) is a tool used to prevent brute force DDOS attacks through the creation of rules that ban specific IP addresses according to certain behaviors.
- Postfix (version 3.4.10) is a mail transfer agent that can be used to route and deliver email on a Linux system.
- Certbot (version 0.39.0) is a tool for automating the creation of certificates for TLS/SSL encryption for HTTPS traffic. Additionally, it can handle the automatic configuration of web server settings to use HTTPS using these new certificates.
パッケージのインストールに加えて、この1クリックには以下も含まれています。
- An enabled firewall using UFW, allowing port 80 for HTTP traffic, port 443 for HTTPS traffic, and port 22 for SSH traffic.
- A root password already set for MySQL by running mysql_secure_installation. This information can be found at /root/.digitalocean_password.
ステップ1 – LAMPドロプレットの作成
デジタルオーシャンのマーケットプレイスで利用できるLAMP 1-Click ドロップレットを作成して、それによってデジタルオーシャンのコントロールパネルに移動します。LAMP 1-Click アプリからLAMP ドロップレットを作成するには、Create LAMP vServer ボタンを押してください。
Silicon Cloudのアカウントにログインしていない場合は、ログインする必要があります。アカウントをお持ちでない場合は、アカウントを作成することができます。
次にあなたはvServersの作成ページへ移動します。ここでは、LAMP vServerを作成する前にサーバーの設定をカスタマイズすることができます。詳細な選択肢については、「最初のvServerの作成方法」ガイドを読んでください。以下のセクションでは、考慮すべきいくつかの重要な設定を紹介しています。
画像を選ぶ
あなたのイメージは、Ubuntu 20.04上で最新のLAMPを使用したMarketplaceタブにすでに設定されています。
もし選択されていない場合は、検索ボックスを使用してLAMPを検索してください。
既定値を受け入れるか、使用ケースに応じて設定を調整することができます。通常、以下の変更を推奨します。
データセンターの地域を選ぶ。
潜在的な遅延を避けるために、ユーザーベースに最も近いデータセンターリージョンを選択することをおすすめします。一部の地域には複数のデータセンターがありますが、同一地域のデータセンター(例:SFO3とSFO2)には違いはありません。
プランを選ぶ
LAMPを使用するvServerを実行する場合、少なくとも1GBのRAMが推奨されています。
認証方法の選択
ドロプレットのパスワードよりもSSHキーオプションを推奨します。SSHキーを利用した認証は通常、より安全です。
追加オプションの選択
vServerの性能監視とアラート機能の改善により、vServerのリソース使用状況を時間経過と共に追跡することができます。また、自動バックアップの有効化も検討してください。既に作成済みのvServerにバックアップ機能を後から追加することもできます。
ホスト名を選択する
ドロプレットには、「LAMPドロプレット1」といった覚えやすい名前や、使用するアプリケーションに基づいて名付けてください。
全ての選択肢を選んだ後、コントロールパネル画面の下部バーで「ドロップレットを作成」を押してください。ドロップレットが作成されると、そのIPアドレスが表示されます。
このIPアドレスにアクセスして、vServerに接続し設定することができます。IPアドレスの上にカーソルを合わせ、コピーを押してクリップボードにコピーします。
1-クリックマーケットプレイスで作成されるドロップレットは、始めるを押すことでアクセスできる追加のリソースが付属しています。
これによって新しいパネルが切り替わります。そこでは、1-Clickアプリケーションに関する追加情報を得ることができます。これには概要、vServerの使用を開始するためのさらなる手順、コミュニティサイトからの関連チュートリアルへのリンクが含まれています。さらに、LAMPに関するサポートやその他のリソースにアクセスできます。
コントロールパネルでvServerのセットアップが完了したら、ターミナルからアクセスすることができます。
ステップ2 – 設定を有効にするためにSSH経由でドロップレットにアクセスします。
LAMPドロップレットを起動したら、SSH経由でドロップレットに接続する必要があります。つまり、コマンドラインからサーバーに接続することになります。もしSSHやPuTTYのようなターミナルプログラムを使用したことがない場合は、「How To Connect To Your vServer with SSH」をチェックしてください。
準備ができたら、コンピューター上でターミナルを開き、次のコマンドを使用してルートとしてドロップレットにSSHでログインしてください。ただし、IPアドレスは自分のドロップレットのIPアドレスに置き換えてください。
- ssh root@your_server_ip
コントロールパネルでvServerのセットアップが完了したら、それをターミナルでアクセスすることができます。
ステップ3 — LAMPとの作業
LAMPドロップレットが起動しましたので、LAMPを使い始めることができます。LAMPが正しく設定され、全体の状態を確認するために、phpコマンドを使用してください。
- php -i
phpinfo() PHP Version => 8.1.13 System => Linux lamponubuntu2004-s-1vcpu-2gb-sfo3-01 5.4.0-135-generic #152-Ubuntu SMP Wed Nov 23 20:19:22 UTC 2022 x86_64 Build Date => Nov 26 2022 14:07:36 Build System => Linux Server API => Command Line Interface Virtual Directory Support => disabled Configuration File (php.ini) Path => /etc/php/8.1/cli Loaded Configuration File => /etc/php/8.1/cli/php.ini . . .
MySQLの自動的に作成されたルートパスワードにアクセスするには、nanoまたはお好みのテキストエディタで次のファイルを開くことができます。
- nano /root/.digitalocean_password
root_mysql_pass="your_mysql_password"
パスワードをメモしたら、CTRL + X を押してナノを終了してください。
1-Clickドロップレットは、自動的に/var/www/htmlのルートディレクトリからウェブサイトを提供するように設定されています。このディレクトリ内には、index.htmlという名前のサンプルファイルが提供されています。その内容を検査するために、好きなテキストエディタでファイルを開いてください。
- nano /var/www/html/index.html
<html>
<head>
<style>
body {
font-family: ProximaNova;
font-size: 15px;
font-style: normal;
font-stretch: normal;
. . .
レビューが終わったら、ファイルを閉じてください。このファイルは、http://your_server_ipにアクセスしてブラウザで表示することができます。
次に、LAMPのセットアップをさらにカスタマイズし、ウェブサーバーのトラフィックを保護するためのいくつかの方法があります。Apacheで仮想ホストを作成することで、LAMPのセットアップをカスタマイズすることができます。
「Apacheサーバーの設定は、単一の一枚岩のファイルでは行われず、代わりにモジュラーなデザインによって追加や変更が可能です。このモジュラーなデザインの中で、仮想ホストと呼ばれる個別のサイトやドメインを作成することができます。仮想ホストを使用することで、一つのApacheインスタンスで複数のウェブサイトを提供することができます。詳細な手順については、「Ubuntu 20.04でApache仮想ホストを設定する方法」のチュートリアルをご参照ください。」
1-Click vServerにはCertbotがインストールされていますが、Let’s Encryptを通じて証明書を取得するために実行する必要があります。Let’s Encryptは、無料のTLS/SSL証明書の取得とインストールを容易にする証明機関(CA)です。これにより、ウェブサーバー上で暗号化されたHTTPSが可能となります。Certbotというソフトウェアクライアントは、Apacheの証明書の取得とインストールの全プロセスを自動化します。詳細については、Ubuntu 20.04でLet’s Encryptを使用してApacheをセキュアにする方法に関する当社のチュートリアルを参照してください。
ステップ4 — 新しいユーザーの作成と権限やファイアウォールの調整(任意)
新しいvServerはデフォルトのrootユーザーを持つ1つのユーザーだけが付属しています。LAMPはrootユーザーとして動作することもできますが、新しいユーザーを設定し、sudoを通じて管理特権を付与するオプションもあります。この設定方法や他のセキュリティ推奨事項については、当社のUbuntu 20.04の初期サーバーセットアップチュートリアルで見つけることができます。
さらに、Certbotを使用して正しく証明書を設定した場合、HTTPSを介してのみトラフィックを許可することも選択できます。 1-Click vServerで提供されたルールを削除するためには、ufw deleteを使用してください。
- ufw delete allow 80/tcp
ご利用いただいているサーバーは現在、HTTPS経由でのみアクセス可能です。
結論
あなたのLAMP 1-Click vServerは今、稼働しています。このチュートリアルではLAMPは単一のエンティティとして扱われていますが、各構成要素は独自の機能と機能性を持っています。各構成要素について詳しく学ぶには、以下のチュートリアルを参考にしてください。
- How To Install the Apache Web Server on Ubuntu 20.04
- How To Install MySQL on Ubuntu 20.04
もし伝統的なLAMPのインストールに興味があるなら、当社のUbuntu 20.04におけるLinux、Apache、MySQL、PHP(LAMP)スタックのインストール方法のチュートリアルをご覧いただけます。LAMPスタックを基盤とする他のソフトウェアについて学びたい場合は、当社のUbuntu 20.04におけるLAMPスタックを使用したWordPressのインストール方法のチュートリアルをご確認ください。