2022年10月 この範囲を時系列順で読む この範囲をファイルに出力する
大変些細なことなのですが、開発放言のRSSフィードの個別URLから、正しく記事へ飛べない?気がします。
こちらの環境(SlackのRSS購読機能を使っています)の問題や、意図的なものでしたらすみません。スルーしてください💦
画像のキャプション機能など、今後の開発予定案をお見かけするたびにわくわくしております✨
個人的にはアンカーポイント 機能が追加されたら嬉しいです!
🍟Re:3162◆アンケート回答ありがとうございます。アップデートもスマートフォンだけで済むのはなかなかすごいですね。
🍟Re:3163,3167◆無事に動きましたか。良かったです。私が寝ている間にすべてが解決していて驚きました。^^; mixhostではコントロールパネルからPerlモジュールを追加可能なのですね。だから標準モジュールすらも最初からは入れない方針なのかもしれませんが、せめて標準モジュールくらいは最初から入れておいて欲しかったですね。^^;(事実、マイグレーション前のサーバには標準で入っていたようですし。) いずれにせよ、お疲れさまでした。無事に復活頂けて私も嬉しいです。詳しい情報もどうもありがとうございます。後日、アンケート結果も参照しつつサーバ別のセットアップ情報を公開するつもりですが、その際にもご報告頂いた対処方法を活用させて頂きます。
🍟Re:3165◆Perl 5.26で「@INCからカレントディレクトリが削除された」仕様は、初期の頃のてがろぐなら影響を受けていたのですが、(いつかは忘れましたが)いつかのバージョンからは対策しまして、今では影響を受けなくなっているのでした。
【緩募】アンケートは継続して受け付けておりますので、もしよろしければ(まだの方は)ご回答をお願いできるとありがたいです。
➡緩募:てがろぐ稼働サーバについてアンケート回答のお願い
既にアンケートにご回答下さった皆様、どうもありがとうございます! とても参考になります。
なんか私、勘違いしてますね
今が755で動いてるってやつですね!
mixhostさん側しかわからない事ですが、謎は謎ですね。
3166です。よかったです、おめでとうございます!お疲れ様でした。
一般のパーミッションでいけたなら同じmixhostサーバーでもプラン等によって違いがあるということですかね…難しいですね。たくさんの試行錯誤ややりとりが勉強になりました。よいてがろぐライフを!
∧_∧
/\( ・∀・)/ヽ
( ● と つ ● )
\ /⊂、 ノ \ ノ
し’
やったー。
ついにHello world してくれました!(てがろぐ も無事に動いてくれました♪)
まずは、以下の通りに修正いたしました。
●1行目
#! /usr/bin/perl
↓
#!/usr/bin/perlml
参考:Perlモジュールのインストール方法
コピペができない恐ろしい黒画面と格闘していましたがうまく行かず、
現実逃避をしたいゆえに上の記事をGoogle検索で探しだせました。
Cパネル▶Perl モジュール へ移動し、Find a “Perl Module”で
- CGI Version4.54
- Time::Local Version1.30
それぞれ検索をかけ、2つのモジュールをインストールしました。
●mixhost マイグレーションjp22からty10003からの変更内容まとめ
▶Perlモジュールがない
- CGI Version4.54
- Time::Local Version1.30
こちら2つを、コントロールパネル内にアクセスし、手動でインストールする必要性があります。
▶tegarog.cgiを、いじる (Ver3.8.0)
76行目
my $howtogetpath = 2;
こちらの行を初期値である「2」に戻しました。(なぜか、jp22では0にすると動いていました)
1行目
#! /usr/bin/env perl
↓
#!/usr/bin/perlml
と、変更しております。
▶パーミッション設定
🔧てがろぐセットアップ方法:パーミッション設定 に記載されている、〈一般の場合〉のパーミッションでOK。
画像ディレクトリは705で表示されました。
お騒がせ致しました…!そして、本当にありがとうございました。
────────
💬お返事リスト
🌃Re.3164 ご返信いただき、ありがとうございます!
おっしゃる通り、動かなくなる前(jp22サーバー時)では、suEXEUで動かしておりました。しかし、755で何故か動く…ということは、変わったのでしょうかね?
実はmixihostで〝てがろぐ〟を動かし始めたとき、755ではなく、suEXEUからパーミッション設定したのもありまして。そのまま知らず、使っていました。
🌃Re.3165 ご返信いただき、ありがとうございます!突然動かなくなるとびっくりしますよね…。
私も同じ記事を先日拝見させていただいておりました。全く何を言っているのか理解をできない、宇宙猫状態でした。( ゚д゚ )
あ、あと。実は先程ホームページを更新して、発覚したんですが、新しいマイグレーションになってからは、phpのモジュールも一部消えていると思います。
理由としてはいつも使っているCMSの機能が死んだので、発覚しました。CMSの開発元にお問い合わせを入れ「何のモジュール使っていますか」ということを聞いてみたいと思います。不幸中の幸い、その機能が死んでも私の場合は困ることがないということですね;でも困る人は困ると思います。
🌃Re.3166 おおお、仲間がいらっしゃるというだけで、なんだかホッとしました。ホッとしてはいけないのかもですが。仕事で思い切り使っていたらと思うと、多分震えるくらいヤバイなァと思っています。
私も今回の件で学ぶことがたくさんできました。mixihostの担当者様にも「解決できそうです」との旨をお伝えしてきます。
ハゲワロタwwww モニタがカフェラテまみれになってしまったではないですかwwwww
>>3163
全然関係ない話になるんですが、自分もごく最近、まったく別のスクリプトで突然500エラーが出て、スクリプトもいじってないし、ついさっきまで普通に動いてたのに??と言うので、サーバーに連絡したんですが、その直前くらいにサーバー元の方で更新があって、
1) Perlのバージョンアップで仕様が変わったため https://www.softel.co.jp/blogs/tech/archives/6721
2) カレントディレクトリが削除されたので、ライブラリが見つからないエラー https://gihyo.jp/dev/serial/01/perl-hackers-hub/004601
と言うことで、サーバー管理人側で書き換え等を行っていただき、スクリプトは無事に再開しました。
同サーバーに置いてあったてがろぐにはまったく何のエラーも起こらなかったので、関係ないとは思うのですが、突然の理由不明の500エラーと言うことで、一応。
(ちなみに、自分は上記の説明をまったく理解してません)
全然プログラムのことは分からないのですが
mixhostのヘルプにあるパーミッション設定だと実行ファイルを755にするように案内されてますが、
サーバ仕様をみるとsuEXEUっぽいので、パーミッションが設定が違うのかな?と思ったりします。
凄い見当違いなことだと思いますが
💬test.cgi について
ご教示いただけた5行のコードを記載し、上書きアップロードしたところ
500エラーが確認されました。
普通に動いていたものがいきなり動かなくなるのはとてもショックですね…。
Time::Localモジュールについても、調べてみたのですが、自分の力では難しすぎて読み解くのには時間がかかってしまいそうな感じでした。(Pythonの記事がたくさんでてきました)
📎RubyやPythonの利用可否について
あとはTerminalという、黒い画面との格闘で、イケるかどうか…ですね。
私の力量不足によって最悪、mixihostでのてがろぐの運用を諦める…といった形も踏ん切りがつきそうです。
ここまで詳しくサポートしてくださって、にししさんには頭が上がりません。
本当にありがとうございます。
💬[LF]の上書き保存について
こちらについても、詳しくご説明くださり、ありがとうございます!
上書き保存の方をかけ、アップロードしてみましたが、ダメそうでした。
そして、前回の 💬ただの転記ミスだとは思うのですが の部分のレスを怠ってしまって申し訳ないです。
おっしゃる通り、perlの方、「l」の脱字になっていましたm(__)m
大変失礼いたしました。
Ps.No.3161のアンケートの方、記入させていただきましたm(__)m
投稿もアップデートもほぼほぼスマホで行ってるので(ここ数ヶ月パソコン起動してない…)テキストエディタはWindowsとAndroid、両方書きました。もうパソコンの使い方忘れそう😂
➡緩募:てがろぐ稼働サーバについてアンケート回答のお願い
もしよろしければ、ご回答をお願い致します。
🍩Re:3154◆テキストエディタの説明ってなかなか面倒ですよね。何の装飾もされていない文書がWordファイルで送られてくるケースはよくありました。いや、今でもあるでしょうけども。^^;
🍩Re:3156◆「灰色」の英単語は何の疑問もなく gray で覚えていたんですが、昔は gray だと色名として認識されなかったんですねえ。たぶんその当時は、#808080 みたいに16進数でしか指定しない(ブラウザに色名の解釈を期待しない)方針で居たので問題に直面せずに済んでいたのかもしれません。^^;
🍩Re:3159◆まあ、インターネットは米国が作った技術ですしね、と言おうかと思ったのですけども、そういえばHTMLを考案したティム・バーナーズ=リーは英国人でした。┌(:3」└)┐ ◆今のWordってHTMLを吐けるんですかね? ……と思ったので試したところ、たしかに今でも .html で保存する機能がありました。あるのか……。
>「gray」でも「grey」でもどっちでも良いみたいですね
ほんとですね、びっくり。自分がやってた時はGrayだとエラーで色が表示されなかったんですよ(恐竜がいた頃の話)。今はこの辺、ずいぶん柔軟になってるんですね。
いつかWordで作ったHTMLファイルもきちんと表示してくれるようになるかもですね(ならない)。
次に、以下の5行を(改行LFで)保存してUPしてブラウザでアクセスしてみて頂けますでしょうか。
#! /usr/bin/perl
use CGI;
use Time::Local;
print "Content-type: text/html \n\n";
print "Hello World!";
てがろぐを実行するには、CGIモジュールとTime::Localモジュールが必須なので、この2つを呼び出せるかどうかを確認するためです。(これらは標準モジュールなので普通は「最初から入っている」と考えて良いとは思うのですが。最初に転載して頂いたサーバのサポートさんの回答に「@INCの仕様変更があり~」という内容がありましたよね。これはつまり、「必要なモジュールが入っていないから、自力でモジュールを入れている」みたいな状況を前提としてそう語っているのかな、とちょっと思いました。だとしたら、『マイグレーション後のty10003サーバー』にはこれらのモジュールが存在しない可能性もあるな、と思いまして。)
あとこれは参考までの話ですが、改行コードは1ファイル内で混在ができます。「大半の行は[LF]だが、ある特定の行だけ[CR+LF]になっている」みたいなこともあり得ます。なので、転載して頂いた1枚目のMeryの画面では、そのファイル内の全部の改行コードが[LF]かどうかは分からない可能性があります。2枚目の画面のように、保存画面で[LF (UNIX)]を選択した上で上書き保存して頂ければ確実です。
たくさんのアドバイスを賜り、恐縮であります。リンクも掲載してくださり、感謝しております…!
💬改行コードについて
対処法について、詳しく記載してくださり、ありがとうございます!
WEB上でいじっていたtegalog.cgiファイルを、ダウンロードし、Maryで確認してみました。
(WitchServerさんでご紹介されていて、5年以上文章を書くために愛用しているので嬉しく感じました♥)
📎Maryの画面

ダウンロードしたファイルは、サーバー上での操作を行った上で、上記の画像の通りでした。
CGIのURLも掲載いたします。
https://mashiro.mixh.jp/tgtest/tegalog.cgi
💬1行目について
試したら、こうなりました。
箇条書きで失礼いたします。
#! /usr/bin/perl --
↓
500エラー
#!!/usr/bin/perlml
↓
普段のグーグルクロームのIDはもちろんですが、ゲストモードで閲覧しても
lscgid: execve():/home/onyxegpm/public_html/tgtest/tegalog.cgi: No such file or directory
といった表示になりました。(クリックしたら見えるため、ぼかさずそのまま掲載しております)
💬.htaccessについて
メインで使っているURLでは、
.htaccessで検索避けやロボットを遮断しています。
上から順番に組み合わせコピペをし、同ディレクトリ内に入れてます。
参考にしたページ:
- tegalog.cgiを省略して「/」で終わるURLでアクセスできるようにする方法
- Header set X-Robots-Tag noindex
- ボットのアクセスを制限する
アドレス欄は、てがろぐのURL(https://mashiro.mixh.jp/tgtest/tegalog.cgi)こちらのとおりに、見えておりますね。
💬他のCGIは動作していますか?
CGIはてがろぐ以外使用しておりません。
ご教示いただきました、下記のファイルをアップロードしてみました。
#! /usr/bin/perl
print "Content-type: text/html \n\n";
print "Hello World!";
作成いたしました、ファイルですm(__)m
▶ https://mashiro.mixh.jp/tgtest/test.cgi
1行目
#! /usr/bin/perl
↓
#! /usr/bin/env perl
こちらに変えても動きました。

保存は対処法について教えて下さいました通りに、アップロードしております。
大変お手数をおかけしております。
何卒よろしくお願い申し上げます。
HTML Color Chart 2.2 Gray か Grey か
自分はそのことをすでに知ってたが知らない人もクラスには多くて、なぜかと言う説明からして通じない以前に、テキストエディタとは?と言うレベルだったなあとか、フォントとかの色指定するのにコードじゃなくて色名で書くなら、灰色はgray(英国綴)じゃなくてgrey(米国綴)だ!とか、そんなことをふと思い出した。
▼改行コードかな……?
なんとなく改行コードが問題の可能性もあるかな……という気もしてきました。
サーバのファイルマネージャが、どんな改行コードを出力しているのかが分かりませんので。
🍘対処方法1:
サーバのファイルマネージャの編集機能に、改行コードを指定して保存する機能はありますでしょうか? あれば LF だけにして保存した上で再度アクセスを試して頂きたいのですが。
🍘対処方法2:
もし、そのような機能がない場合は、
一度、ローカルで tegalog.cgi を編集して、改行コードが LF だけになるようにして上書き保存した上で、FTPのバイナリモードでアップロードしてみて頂けますでしょうか。
お使いのPCは、Windowsでしょうか?
タイムリーなことに、昨夜、WitchServerのサポートさんがその具体的な操作手順を案内して下さっていますので参考になさって下さい。
※文字コードを UTF-8 にしているとき、BOM(Byte Order Mark)が先頭に付与されるとたぶんマズいので、UTF-8で保存する際には、「UTF-8(BOMなし)」とか「UTF-8N」のような選択肢を選択して保存する必要がある点にもご注意下さい。
🍘対処方法3:
tegalog.cgi の1行目を #! /usr/bin/perl -- にしてみて下さい。「perl」の後に半角空白を開けてから半角ハイフン記号を2つ並べます。
それでもダメな場合は、
tegalog.cgi の1行目を #!!/usr/bin/perlml にしてみて下さい。mixhostで「lscgid: execve():〜〜〜: No such file or directory」というエラーが報告される場合の対処法としてググったら出てきましたので。^^;
▼.htaccessはどうかな
500エラーが出るときの、ブラウザのアドレス欄には、tegalog.cgi というファイル名が見えていますか?
もしかして、 500.shtml というファイル名が見えていないでしょうか。(お書き下さったエラーは、「500.shtml がない」というエラーですので……。)
もし、500エラーが出るときに「元々のURL」ではなく「エラー画面専用のURL」に移動してしまっている場合は、.htaccessの書き方に問題があります。
エラーページに恒久的に転送するよう記述してしまうと、ブラウザが「500エラーページへの転送」をキャッシュしてしまうので、CGIの動作に問題がなくなった以後でも最初から問答無用で500エラーページに転送されてしまいます。
🍘対処方法:
今まで tegalog.cgi にアクセスしたことのないブラウザを使ってアクセスして見て下さい。
もしくは、ブラウザのキャッシュを全削除してからアクセスしてみて下さい。
▼ただの転記ミスだとは思うのですが
tegalog.cgi の1行目を編集なさったということで 「 #! /usr/local/bin/per 」とお書き頂いていますが、これは「 #! /usr/local/bin/perl 」の転記ミスでしょうかね?
もし転記ミスではなくて本当に「 per 」と書いているなら、「 perl 」にして下さい。
(ただ、mixhost側が指定しているPerlパスは /usr/bin/perl のようです。)
▼他のCGIは動作していますか?
てがろぐ以外に何かCGIはお使いでしょうか。それらは動作していますか?
てがろぐ以外にCGIがない場合は、以下の3行を test.cgi 等のファイル名で保存してUPして、パーミッションを 700 または 705 または 755 にして、ブラウザでアクセスしてみて下さい。
#! /usr/bin/perl
print "Content-type: text/html \n\n";
print "Hello World!";
これで、ブラウザに「Hello Wold!」と表示されるかどうかを確かめてみて下さい。
これでも500エラーが出る場合、改行コードが LF だけになっているかどうかを確かめてみて下さい。
それでも500エラーになる場合は、もっと何か根本的なところに問題がある気がします。
💬エラーについて
2022-10-22 14:23:45.069958 [INFO] [1124432] [T0] [XX.XX.XX.XX:56175-H3:831CCCC2FEC19823XXXXXXXXXXXXXXXXX-0#APVH_hogehoge.pagepage.mixh.jp:443] File not found [/home/ユーザーID/public_html/hogehoge.net/500.shtml]
Cパネルのエラーログから、このようなログが取得できました。(一部ボカしております)
💬「CGIモジュール」か「Time::Localモジュール」について
ご、ごめんなさい、検索してみたのですが、特にそういった特別なことはサーバー内操作も含め、一切しておりません。
FTPからぴょーーーっと、ドラッグ・アンド・ドロップでアップロードし、
そのあとは、パーミッションをFTPソフトで行い、
サーバーのファイルマネージャー上からUTF-8で編集できるエディターにてcgiを直接操作しております。
●変更箇所や、行ったこと
セットアップ説明にそった設置
↓
500 Internal Server Error
教えていただいた、tegalog.cgiの89行目付近を変更
↓
同じく、500エラーを発生させていました。
●500エラーを回避
■変更箇所
tegalog.cgi 1行目
#! /usr/bin/env perl
↓
#! /usr/local/bin/per
↓
lscgid: execve():/home/ユーザーID/public_html/hogehoge.net/tegalogのディレクトリ/tegalog.cgi: No such file or directory
という画面が表示されております。
重ね重ね、お手数おかけいたします。よろしくお願いします。
tegalog.cgiの89行目付近に、以下のような行があります。
#use lib '.'; # サーバにインストールされていないモジュールを自力で置いた場合は~(略)
この行の先頭にある「 # 」記号を消して、以下のようにして上書き保存して下さい。
use lib '.';
この状態で tegalog.cgi をアップロードすると、解決すると思います。(解決できなかった場合は、サーバのエラーログをもし閲覧可能なら、どんなエラーが出ているのかを教えて頂けるとありがたいです。)
参考までに教えて頂けるとありがたいのですが、「CGIモジュール」か「Time::Localモジュール」のファイルを、てがろぐ設置ディレクトリに自力で置かれたりしましたでしょうか?(上記の89行目は、本来は「サーバにインストールされていないモジュールを自力で置いた場合に、それを読み込ませるための対処方法」として用意しているものなのですが。) 自力でそのようなことをしていないにも関わらず、この89行目のような修正が必要になるケースがあるのだろうか……? とちょっと疑問に思ったもので。
詳しくありがとうございます!以下、回答になります。
💬てがろぐ新品一式をセットアップしてみて頂けますでしょうか?
▶3.8.0の最小版をセットアップしてみました。後述する、今までいじっていた部分と、元のデータのままアップロードしてみましたが、動かずでした。
試しにtegalog.cgiの1行目を以下のようにしてみたところ
#! /usr/local/bin/perl
管理画面(?mode=admin)含め、tegalog.cgiにアクセスすると、
lscgid: execve():/home/ユーザーID/public_html/tgtest/tegalog.cgi: No such file or directory
といった文章が表示されました。
ここから表示された文章を元に調べてみたものの、調べ方が悪く、
自分の力では解決に至りませんでしたm(__)m
💬てがろぐをバージョンアップしたわけでもなく、何もファイル構成を変更しない状態で突然 500 エラーになったのですか?
▶つい昨日のお昼までは普通に使わせていただいておりましたので、
原因があるとすれば、レンタルサーバー内の移行以外考えられません。
💬直接管理画面にアクセスしても、同様に 500 エラーになりますか?
▶はい。なります。
💬どこのサーバをお使いでしょうか?
▶mixihostになります。
💬tegalog.cgi の1行目など、CGIソースを書き換えている箇所がありますか?
▶Version 3.8.0現77行目
my $howtogetpath = 2;
↓
my $howtogetpath = 0;
にして動かしていました。
mixihostの担当者様からのご回答が来まして、
自分なりにアレやコレやと調べてみたものの、ちんぷんかんぷんでした…。
共有の許可を頂きましたので全文掲載させていただきます。
───────────────────────
XXXX 様
平素は当サービスをご利用いただき誠にありがとうございます。
mixhost カスタマーサポートでございます。
お問い合わせのPerlプログラムが動作しない件につきましてお調べ致しました。
本現象はサーバーにインストールされているPerlのバージョンの違いによる事が、
原因である事がわかりました。
マイグレーション前のjp22サーバーでは、「Perl v5.16.3」がインストールされており、
マイグレーション後のty10003サーバーでは「Perl v5.26.3」がインストールされております。
5.26.0以降では@INCの仕様変更があり、セキュリティ上の理由からカレントディレクトリが
デフォルトでは含まれなくなりました。
このため、大変お手数おかけいたしますが、@INCにカレントディレクトリを追加するコードを
追加するか、明示的にロードするファイルを指定するように変更して頂けますでしょうか。
外部サイトとなりますが下記ご参考になるかもしれませんので、
記載させていただきたいと存じます。
参考にされ設定等を行われた場合でも、弊社での動作保証及び
サポートはございませんのでご了承くださいませ。
【"Shade検索"Wiki [Perl5.26]】
https://shade-search.com/sts/term/term.php?noform=yrry...
【「Perl 5.26」リリース、「@INC」の仕様が変更される | OSDN Magazine】
https://mag.osdn.jp/17/06/02/161500
ご不明な点などございましたら、お気軽にお問い合わせください。
今後ともmixhostをよろしくお願いいたします。
───────────────────────畳む
長文になってしまい、大変恐縮ではございますが何卒よろしくお願いします。
てがろぐは、物を作っていて忘れてしまうことのメモや、作業の進捗を張ったりするのに重宝しておりまして…。
投稿できなくて、とても寂しいです。
お手数おかけいたします。
それで動かない場合は、以下の質問にもご回答頂けると助かります。
- てがろぐをバージョンアップしたわけでもなく、何もファイル構成を変更しない状態で突然 500 エラーになったのですか?
- 直接管理画面にアクセスしても、同様に 500 エラーになりますか?(URLの末尾に ?mode=admin を加えると管理画面になります。)
- どこのサーバをお使いでしょうか?
- tegalog.cgi の1行目など、CGIソースを書き換えている箇所がありますか?
使っているサーバーがPerlのバージョンが5.26.3にアップデートされた影響で500エラーが出てしまいました。
調べ方が悪く、自力で調べてもよくわからず;お力添えをお願いしたいです🙏
おお、そんな計画が😲
困ってはいないので無理はなさらないでくださいね。すでにてがろぐは素晴らしい完成度です!どうして皆使わないんだろう?🤔って感じです。