LEMP(Linux、Nginx、MySQL、PHP)のセットアップは、特にウェブ開発環境を整えるために非常に重要なステップです。この記事では、Ubuntu 18.04にLEMPスタックを完全かつ包括的にインストールする方法を日本語で説明します。必要なソフトウェアをすべてインストールし、設定を完了させる手順を順を追って解説します。
1. サーバーの更新
まず最初に、Ubuntuシステムのパッケージを最新の状態に更新します。これにより、セキュリティパッチやバグ修正が適用されます。
bashsudo apt update sudo apt upgrade
これでパッケージが最新の状態になります。
2. Nginxのインストール
Nginxは、LEMPスタックにおける「E」に該当するウェブサーバーです。Nginxをインストールするには、次のコマンドを使用します。
bashsudo apt install nginx
インストールが完了したら、Nginxを起動し、サーバーの起動時に自動的に開始されるように設定します。
bashsudo systemctl start nginx
sudo systemctl enable nginx
ブラウザでサーバーのIPアドレスを入力すると、Nginxのデフォルトのウェルカムページが表示されます。これでNginxが正常に動作していることが確認できます。
3. MySQLのインストール
次に、データベースサーバーとしてMySQLをインストールします。以下のコマンドを使用してインストールします。
bashsudo apt install mysql-server
インストール後、MySQLのセキュリティ設定を行うために次のコマンドを実行します。
bashsudo mysql_secure_installation
このコマンドは、MySQLのrootユーザーのパスワード設定や不要な設定の無効化などを行います。指示に従って設定を完了させます。
MySQLの状態を確認するには、次のコマンドを実行します。
bashsudo systemctl status mysql
MySQLが正常に起動していることを確認できたら、次のステップに進みます。
4. PHPのインストール
LEMPスタックでは、PHPがウェブサーバーと連携して動的なコンテンツを生成します。Ubuntu 18.04には、PHP 7.2がデフォルトで含まれていますが、最新バージョンをインストールすることをお勧めします。PHPと必要なモジュールをインストールするには、以下のコマンドを実行します。
bashsudo apt install php-fpm php-mysql
インストールが完了したら、PHP-FPM(FastCGI Process Manager)のサービスを開始し、起動時に自動的に開始されるように設定します。
bashsudo systemctl start php7.2-fpm
sudo systemctl enable php7.2-fpm
次に、Nginxの設定ファイルを編集してPHPを処理できるように設定します。
5. NginxとPHPの設定
Nginxは、PHPファイルを処理するためにPHP-FPMと連携する必要があります。Nginxの設定ファイルを編集して、PHPのリクエストを処理できるように設定します。
bashsudo nano /etc/nginx/sites-available/default
以下の行を変更または追加します。特に、server
ブロック内にPHP関連の設定を追加する必要があります。
nginxserver {
listen 80;
server_name your_domain_or_IP;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
ファイルを保存して、Nginxを再起動します。
bashsudo systemctl restart nginx
6. テスト用PHPファイルの作成
PHPが正常に動作しているかを確認するために、テスト用のPHPファイルを作成します。次のコマンドでPHP情報を表示するファイルを作成します。
bashsudo nano /var/www/html/info.php
ファイルに以下の内容を追加します。
php
phpinfo();
?>
ブラウザで http://your_server_ip/info.php
にアクセスすると、PHPの設定情報が表示されるはずです。これでPHPが正常に動作していることを確認できます。
7. LEMPスタックの動作確認
これで、Nginx、MySQL、PHPがインストールされ、LEMPスタックが正常に動作しているはずです。以下のステップを通じて、すべてが正しく設定されたかを確認できます。
- ブラウザで
http://your_server_ip
を入力してNginxのウェルカムページが表示されることを確認。 http://your_server_ip/info.php
にアクセスしてPHP情報ページが表示されることを確認。- MySQLに接続して、データベースが正常に動作していることを確認します。
bashsudo mysql -u root -p
ここまでで、Ubuntu 18.04にLEMPスタックをインストールするための基本的な手順は完了です。
8. セキュリティの強化
サーバーを本番環境で使用する場合、セキュリティの強化が必要です。以下の点を確認してください。
- MySQLの設定を適切に管理し、rootユーザー以外のアカウントを作成して使用する。
- Nginxの設定を強化し、不要なポートやサービスを無効化する。
ufw
(Uncomplicated Firewall)を使用してファイアウォールを設定する。
bashsudo ufw allow 'Nginx Full'
sudo ufw enable
これで、LEMPスタックの基本的なインストールと設定が完了しました。ウェブ開発のための強力な環境が整いましたので、これからさまざまなアプリケーションの構築に役立ててください。