Finally it worked. I changed owner of data to www-data.
チェックするにはダンプがよさそう。
od -c xxx | less
だそうです。改行のエスケープ文字が\nがlinux。\r\nがwindowsでmacは\rだそう。あと古い本のperlコードはライブラリの関係で動作が不安定。最近のページのものにすべし。
secure linuxのCentOS系では以下のようなファイル属性チェックが行われるが、ubuntuでは違うみたい。
ls -Z restorecon -R /var/www/xxxx/
ubuntuでも/var/www/html以下のパーミッション設定は難しい面がある。
20年ほど前にCGIを使って論文データベースの簡単なスクリプトをperlで作っていた。大学のプロジェクト経費を頂いたので、その関係で「双方向授業」をキーワードに研究をすすめることになった。ネットで公開されているスクリプトを調べると、KENT氏が作成しているスクリプト集に行き当たった。正規表現の解読が難しいので、もとのスクリプトの一部を抽出してして動かしてみた。使っている環境がlinuxなのでそれ用に漢字、改行コードを変換して利用している。
サンプル大全集の本を買って、掲示板もlinuxに変換してみた。bbs.cgiに実行属性を足す。dataは書き込み属性を足す。jcodeの行をコメントアウト。shift_jsをutf-8にbbs.cgiとtmplのファイルを変換すれば良いことがわかった。自宅のubuntu 18.0.4にapatch2をいれてテストしてみた。シェバンと漢字、改行コードの変換はbashスクリプトで変換した。 youtubeの動画は共有を押して、貼り付け情報を取得する。何故か画像貼り付けが動作しない。貼り付けformが送られても$extがjpgだけの文字列で保存されてる。input typeがfileになっているところが動作してないのか、その後がだめなのか不明。Webクイズが動作してるのでそれと比較するしかない。