「ASUS Chromebook C425TA」の導入レポート(その6)

前回は「 #ASUS_Chromebook_C425TA 」の #Linux 環境に #XAMPP のインストールを済ませて、ローカルで動作するサーバーサイドサービス環境を整えることができました。

それでは、XAMPPの #FTP サービス「 #ProFTPD 」に前々回のFTPクライアント「 #Filezlla 」でアクセスしてみます。XAMPPには初期値のアカウントがあり、それを使ってすんなりアクセスできます。ローカルのサービスでしかもテスト用なのですから、私個人としてはこのままで良いと判断しました。
「いやいや、XAMPPの初期値アカウントを利用したくない。」という方もあると思います。実は私も一通り且つ比較的執拗にチャレンジしてみたのですが面倒が多くなるばかりで、「ローカルでの実行環境を簡易に整える」という目標から外れるので諦めることにしました。不可能ではありません。

つぎがXAMPP初期値アカウントによるProFTPDへのアクセス情報になります。

Host : 127.0.0.1
Account : daemon
Password : xampp
Port : 21

このアカウントの情報は「XAMPPのProFTPDを使用してFileZillaでFTP接続を行う方法」で見つけました。(感謝。)
このままアカウントを使ってFTPクライアント #Filezlla でサイトディレクトリにアクセスができます。でも、ディレクトリやファイルを見ることはできても、アップロードしたり作成や削除したりの操作はできません。 #パーミッション (権限)がないと言われてしまいます。

調べてみるとdaemonアカウントはXAMPPの言わばapacheアカウントです。「Apacheの実行ユーザー(起動ユーザー)を変更する方法」を参考にしました。(感謝。)
試しに #ターミナル でそれぞれのアカウントの有無を確認すると、(’$’は省いて次の’id’から選択してコピペしてください。)

$ id apache
id: `apache': no such user
...
$ id daemon
uid=1(daemon) gid=1(daemon) groups=1(daemon)

となり、「apacheなんてないよ。」と返答があります。ユーザのアカウント情報が格納されたファイルを参照しても、daemonアカウントだけが確認できます。

$ cat /etc/passwd
...
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
...

daemonアカウントを利用してサイトディレクトリを運用できるようにする対処は比較的単純で、「/opt/lampp/htdocs」とその下階層全てのオーナー(ユーザーとグループ)をdaemonにしてしまうだけです。ちゃちゃっと済ませましょう。

XAMPPの格納ディレクトリに移動し、ディレクトリ下の詳細情報を出力してその一覧からhtdocsの情報を確認し、作業に移ります。

$ cd /opt/lampp
$ ls -l
...
drwxr-xr-x 1 root   root       138  6月  9 10:37 htdocs
...

htdocsのオーナーは「root root」になっています。これにオーナー変更コマンド(-Rを付加すると下階層も一気に変更できます。)を走らせ、ちゃんと変更されたかを確認します。

$ sudo chown -R daemon.daemon htdocs 
$ ls -l
...
drwxr-xr-x 1 daemon   daemon       138  6月  9 10:37 htdocs
...

オーナーが「daemon daemon」になりました。これでXAMPPの初期値アカウント「daemon」を利用してサイトディレクトリを運用できるようになりました。
(コマンドライン「daemon.daemon」ですが、環境によっては「daemon:daemon」でないと動作しない場合がありました。)

(追記:2023.12.17)新しいmacOS(もしくはAppleシリコンのMac)で状況が変わります。

(少し道草します。)
実は、インストールしたXAMPPの #ダッシュボード から「HOW-TO Guides」ページに遷移した一覧にある「Configure FTP Access」を開くと、Linuxのアカウトをグループに登録してFTPクライアントで利用するようにあります。

XAMPPのダッシュボードページ

私も試行しましたが、残念ながら私のスキルの範疇ではうまくいきませんでした。 #Chrom OS にログインしている #Googleアカウント でLinux環境にもログインしているはずですし、ターミナルでもGoogleアカウントが有効なのですが、どうしても利用できませんでした。
さらに深く調査して面倒をかければ可能かもしれません。でもそれなら、Linuxに新たにアカウントを登録する方が簡易ではないかと予想しました。試しにLinux上で新たにアカウントを作って、XAMPPの案内にあったのと同じように新アカウントをグループに登録してみました。一旦は解決したかに見えましたが、WordPressのインストールで余計な作業(権限不足による手作業が、)が必要になり、「ローカルでの実行環境を簡易に整える」の約束から外れるのでXAMPPの初期値アカウント「daemon」の利用に戻った経緯があります。
(こちらの方法を試される方のために記述いたしました。)

閑話休題。
まずはProFTPDへのアクセス情報をFilezllaのサイトマネージャーに設定します。

Filezllaのサイトマネージャーの画面

つぎのようなソースのhello.phpファイルを作ります。

<html>
<head><title>PHP_TEST</title></head>
<body><?php echo '<p>Hello World!</p>'; ?></body>
</html>

アクセスしたサイトディレクトリトップに「php」ディレクトリを作り、hello.phpファイルをアップロードします。

Filezllaでhello.phpをアップロード

そして、ブラウザで「http://localhost:8080/php/hello.php」を参照します。

ブラウザーでhello.phpを参照

無事に「Hello World!」を見ることができました。

これで私個人としては目的をコンプリートしました。
できれば、一連の環境をコマンド一発で起動(昔よく作ったバッチファイルを思い出します。)したいところですが、まあ、そんなに慌てておりません。それよりも、せっかくXAMPPをインストールしたのですから、「/opt/lampp/htdocs」の下によくお世話になっている #WordPress をインストールしてみようと思います。

次回のWordPressの紹介が済みましたら、このシリーズは一旦の終了といたします。
まだまだ私自身のエンジニアリングに関する知識と理解に不安が有り余って膝がガクガクしてしまいます。よって、これら投稿は私個人が今現在の見つけた範囲の紹介すなわち「触り」であるとご了承ください。と、保険をたんまりかけておきます。そかさ。