Armadilloフォーラム

ApacheとFTPの自動起動

koike3

2023年8月16日 9時24分

現在、Armadillo-IoT G4を使って、開発を行っています。
Armadilloの電源投入時に、ApacheとFTPの自動起動を目指しています。

FTPサーバーの自動起動までは完了しています。
しかし、以下のようなコマンドをコンテナ内に入力してもapache(httpd)が起動していないようで、指定のIPに飛んでも接続ができない状態です。

set_image localhost/ftp:v1.0
set_command sleep infinity
add_ports 21:21 21100-21110:21100-21110 8080:80
add_args --env=PASV_ADDRESS=(IPアドレス)
add_volumes var/app/volumes:/home
set_command podman exec -it  controlbox_info sh
set_command httpd
set_command vsftpd /etc/vsftpd/vsftpd.conf

イメージは事前にApacheをインストールしたもので、手動での起動を確認しています。
上記のコマンドで、FTPが起動していることは確認できています。

ApacheとFTPが電源投入時に起動すれば、方法はなんでも構いません。

まだまだArmadilloに対しての知識が少ないですが、ご教授いただければ幸いです。

コメント

koga

2023年8月17日 6時19分

アットマークテクノの古賀です。

koike3さん:
>現在、Armadillo-IoT G4を使って、開発を行っています。
>Armadilloの電源投入時に、ApacheとFTPの自動起動を目指しています。

以下を拝見すると、同一コンテナ上で Apache (httpd) と FTP (vsftpd) を実行するようにして、そのコンテナを Armadillo の電源投入時に自動起動する方策をお試しになっているのですね。

>FTPサーバーの自動起動までは完了しています。
>しかし、以下のようなコマンドをコンテナ内に入力してもapache(httpd)が起動していないようで、指定のIPに飛んでも接続ができない状態です。
>

set_image localhost/ftp:v1.0
set_command sleep infinity
add_ports 21:21 21100-21110:21100-21110 8080:80
add_args --env=PASV_ADDRESS=(IPアドレス)
add_volumes var/app/volumes:/home
set_command podman exec -it  controlbox_info sh
set_command httpd
set_command vsftpd /etc/vsftpd/vsftpd.conf

上記は、Base OS の podman_start によるコンテナ起動用の設定ファイルの内容だと思いますが、set_command 行が複数ある場合、最後の行しか有効にならないのです:
 https://armadillo.atmark-techno.com/forum/armadillo/14070#comment-12408

set_command の行が三つあり、最後の行が vsftpd に対するものですから、FTP サーバー(vsftpd)だけが起動している、という状況ですね。

>イメージは事前にApacheをインストールしたもので、手動での起動を確認しています。
>上記のコマンドで、FTPが起動していることは確認できています。
>
>ApacheとFTPが電源投入時に起動すれば、方法はなんでも構いません。

set_command の行を次のようにすると、どうなるでしょうか?

set_comamnd /bin/sh -c "httpd; vsftpd /etc/vsftpd/vsftpd.conf"