Laravel開発環境を準備しようとVirtualBoxにUbuntu Server 20.04.1 LTSをインストールしました。
今回は、Laravelをインストールする前に、LEMP【LEMPとはLinux,Nginx(「 E ngine-X」と発音),Mysql,Php】環境を構築してWEBサーバーとして動かして確認する前をやってみたいと思います。
Nginx Webサーバーのインストール
sudo apt update sudo apt install nginx
まず、何も考えずに、Ubuntuのターミナルから上のコマンドを打ってNginxをインストールしました。
次に、Nginxをブラウザで確認する前に、ファイアウォールを調整して、サービスへのアクセスを許可する必要があるようです。
※Ubuntuにインストールしただけでアクセスの許可はされているようです。
特に何もしていませんが、ブラウザで、http://localhost/で確認すると既に、Nginxが起動していることが確認できました。
VirtualBoxが動いているWindows10からnginxにアクセス
VirtualBoxのUbuntuにインストールしたWEBサーバーnginxを外部の端末から見たいという場合があると思います。
外部という言葉が曖昧ですが、
ココがポイント
VirtualBoxを動かしているWindows10マシンのブラウザで見たい場合
はVirtualBoxのネットワーク設定にて、ポートフォワーディングルールを追加するだけで直ぐにWindows10のブラウザで確認することができました。
※特にVirtualBoxの再起動などは必要ありませんでした。
外部の端末からnginxにアクセス
今度は、VirtualBoxが動いているUbuntuのWindows10マシンじゃなく、完全に外部の端末からWEBサーバーにアクセスしたい場合です。ある意味インターネット上にも公開できる設定にも関係します。
まず、VirtualBoxのネットワーク設定から、ポートフォワーディングルールは追加しておきます。
あとは、Windows10マシンのファイヤーウォールでポートを解放すれば外部の端末から確認することができます。
私のパソコンの環境事情から、ウイルスセキュリティソフトのポート開放をしないとダメでした。
MySQLのインストール
$ sudo apt install mysql-server
MySQLのインストールは上のコマンドを打つだけですね。簡単です。
※バージョン確認 $ mysql --version ※サービス起動確認 $ sudo service mysql status
MySQLの初期設定
$ sudo mysql_secure_installation
パスワードの設定にて、あまり複雑だと作業が面倒だと思ったので、とりあえずLOW設定にして、
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0
ほかは、「y」で進めました。
MySQLにログイン
$ sudo mysql -u root -p
普通にログインできてちゃんとインストールは完了したようです。
有志のブログを見ると、この後、ユーザーを追加する前にパスワードポリシーの設定を変更をしないとエラーがでるということが記載ありましたが、その時に対応したいと思います。
PHPのインストールとNginx設定
$ php -v コマンド'php'が見つかりません。次の方法でインストールできます。 sudo apt install php7.4-cli
という風に親切にコマンドを教えてくれたので、php7.4をインストールしました。
次に、Nginx で利用するための php-fpm と MySQL を利用するための php-mysql をインストール。
sudo apt install php-fpm php-mysql
次に、
/etc/nginx/sites-available/degault
のファイルにindex.phpでアクセスできるように設定をしてPHPが動いていることを確認してみます。
ちなみに、GUIからファイル編集とかやりたかったので、GUI環境を導入しているのですが、結局
ココに注意
権限が無くてファイルの編集(追加、削除、編集)などできません!
やっぱり、CUI環境がメインのようなので、ターミナルから、VIMを使ってファイルの編集をしました。
覚えちゃえば簡単なのでしょうけど、拾ってきたコードなどをコピペできるのでしょうか!?不明
下記のようにdefaultファイルを変更
※index.phpを追加
index index.php index.html index.htm index.nginx-debian.html;
※コメントアウトして追加
location ~ \.php$ { include snippets/fastcgi-php.conf; # With php-fpm (or other unix sockets): fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # With php-cgi (or other tcp sockets): # fastcgi_pass 127.0.0.1:9000; include fastcgi_params; }
/var/www/html
に、index.phpを作成します。
<?php phpinfo();
nginxを再起動して確認
$ sudo nginx -t $ sudo service nginx restart
ブラウザで、VirtualBoxのUbuntuのブラウザで確認しても、Windows10のブラウザで確認しても、PHPの数のような画面がでました。