Fireタブレットにインストールした「Termux」
このTermux上でNginxを動かして、Fireタブレットをwebサーバーにしてみたいと思います。
せっかくなのでPHP-FPMを介してPHPも使えるようにします。
FireタブレットへのTermuxのインストールについてはこちらの記事をご覧ください。
MariaDBとWordPressもインストールしてみましたのであわせてご覧ください。
各種パッケージのインストール
termux上で必要なパッケージをインストールします。
$ pkg install php php-fpm nginx
以上でパッケージのインストールは完了です。
引き続き設定をしていきます。
PHPの設定
PHPについてはとりあえずデフォルト設定のままにしておきます。
尚、php.iniは一般的なLinuxでいうところの/usr/lib配下に存在することを想定しているようです。
$ php -v PHP 8.1.3 (cli) (built: May 16 2022 04:20:52) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.3, Copyright (c) Zend Technologies
8.1系がインストールされました。
PHP-FPMの設定
PHP-FPMについてはデフォルト状態のままで大丈夫です。
Nginxの設定
Nginxについては設定ファイルを修正する必要があります。
ただ単にHTMLファイルを表示するだけなら修正は不要なのですが、PHP-FPMが絡む場合は修正の必要があります。
nginx.confの修正を行います。
nginx.confは/data/data/com.termux/files/usr/etc/nginx配下にあります。
serverディレクティブの中のlocation、そこのindexに「index.php」を追加します。
location / { root /data/data/com.termux/files/usr/share/nginx/html; index index.php index.html index.htm; }
同じくserverディレクティブの中のPHPスクリプトに関する記述の部分、コメントを削除して一部修正します。
location ~ \.php$ { root /data/data/com.termux/files/usr/share/nginx/html; fastcgi_pass unix:/data/data/com.termux/files/usr/var/run/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
以上でPHPスクリプトを動かすことが可能になります。
termux-servicesのインストール
今回インストールしたNginxとPHP-FPMの起動などを簡単にするためにtermux-servicesをインストールします。
$ pkg install termux-services
インストールが終わったら一度Termuxアプリを再起動します。
起動及び自動起動設定
termux-servicesのインストールが終わったらNginxとPHP-FPMを起動します。
また、Termuxアプリ起動時に自動的にそれらが起動するように設定します。
$ sv up php-fpm $ sv up nginx $ sv-enable php-fpm $ sv-enable nginx
ちなみに、「sv down {サービス名}」でサービスの停止、「sv-disable {サービス名}」で自動起動の停止ができます。
アクセスしてみる
以上でNginxとPHP-FPMは起動している状態になりました。
ブラウザでアクセスしてみます。
http://{IPアドレス}:8080
お馴染みの「Welcome to nginx!」が表示されましたでしょうか。
nginx.confを見ると分かるとおり、待ち受けポートは8080になっています。
また、ドキュメントルートは「/data/data/com.termux/files/usr/share/nginx/html」になっています。
index.phpとして下記の内容でドキュメントルートに配置後、上記URLでアクセスするとPHPの情報を確認することができます。
<?php phpinfo();
まとめ
termux上ではシングルユーザーでLinux環境が動いているので通常のLinux環境よりもインストールが簡単だと感じました。
(権限のことを気にしなくてよい)
ローカル環境でちょっとしたwebサーバー(with PHP)が必要になったとき、便利に使えるのではないでしょうか。
コメント