5丁目通信(仮称)

とある5丁目で活動する還暦を過ぎたWebプログラマーの覚え書きです。それとかかってくる迷惑電話や、家業のアパート経営について。

タグ: Web

  • QNAPにsudoをインストールした話し

    QNAP(TS-673)にsudoをインストールしてみた。sudoをインストールしておけば、コンソールからadminで入らなくてもいろいろできる。最近、ようやくQNAPにDockerのコンテナで、サーバーを立てて、ずっと使っているさくらインターネットのVPSを移行している。

    上の記事のようにあらかた移行できたけど、残りはWebのサイトの更新作業で使用するためのテストサーバーを移行するだけとなった。DockerのコンテナでApacheをインストールしただけで動いていることは動いているのだけど、更新をどうするか? ネットワークドラブで更新するのでもいいのだけど、外部からの更新もできるように、sshでscpでファイルを更新したい。しかし、QNAPで最初からサポートしているsshサーバーは、ポート番号の変更くらいしかできなそう。何とか公開キーでの認証をできるようにしたが、パスワード認証を禁止することができない。/etc/ssh/sshd_configをどうもQNAPが起動するたびに書き換えてしまうようである。SSHの設定は、この辺で中断して、先にsudoを使えるようにしておく。

    ここから本題である。

    QNAPにsudoをインストールする情報は、いろいろなサイトで書かれているが、QNAPのファームウェアのバージョン(ちなみに現在は4.4.2.1310 Build 20200519が入っている)によって方法が違うみたい。とりあえず、今使っているQNAPで動いた結果をメモとして残しておく。

    • QPKG Storeのアプリリポジトリを追加してEntware-stdをインストールする。
    • opkg install sudo でsudoをインストール。qpkgではないopkgコマンドであるのに注意。
    • 設定追加はvisudo をしてもダメ。/usr/etc/sudoers を直接編集すること。
      vi /usr/etc/sudoer

    これでターミナルからの設定が捗りそう。

    SambaをLinuxサーバーのインストールしてファイルサーバーとして動かすよりも、サクッとQNAPを入れてしまったほうが簡単、安心、便利でおすすめ。ファイルサーバーだけではなくてIntelのCPUのQNAPなら、Dockerでいろいろとコンテナを設定してサーバーをたくさん立てられるしね。

  • RedmineとBitbucket(Gitレポジトリ)を連携させた話し

    仕事で使用しているRedmine(一人チケット管理だけど)とBitbucketのレポジトリとの連携の設定をしてみます。やってみると、つまづいた点がありましたので、メモとして残しておきます。

    参考にしたのは以下のサイトです。

    Redmineのブログサイトです。

    Redmineの公式サイトです。

    今回行った手順を簡単に説明すると以下の通りです。コマンドなどの詳細の手順は各サイトをご覧ください。

    1. Redmineにredmine_github_hookプラグインをインストールする。
    2. RedmineのサーバーにBitbucketリポジトリからmirrorリポジトリでcloneしておく。そのときgit remoteは、後で認証が面倒になるのでhttpsではなくsshで指定しておく。cloneはredmineのアカウントで行う。
    3. Bitbucketリポジトリからfetchできるように、Redmineのサーバーでredmineのアカウントでssh-genkeyでパスワード無しで公開キー、秘密キーを作成する。公開キーをBitbucketに登録しておく。実際にfetchできるかテストしておく。
    4. Redmineでリポジトリの設定をする。設定はRedmine全体の設定とプロジェクト個別のリポジトリの設定がある。設定できたらプロジェクトのリポジトリが参照できるか見てみる。サイトが今どきUTF-8ではなくシフトJISだからリビジョンの差分が文字化けしてしまうので、全体の設定-ファイル(どういう訳かリポジトリではない)で、添付ファイルとリポジトリのエンコーディングをutf-8,cp932,euc-jpに設定しなければいけない。差分を表示をインラインにすると文字化けするが、横に並べるにすると正常に表示される(これは不明)。また、リポジトリが大きいとプロジェクトのリポジトリのページはInternal Errorになるが、しばらくすれば参照できる(これで最初諦めかけた・・・)。
    5. BitbucketのリポジトリのWebhooksの設定をして、commitするとredmineのレポジトリが更新されるようにしておく。何かcommitしてBitbucketにpushすると、Redmineのレポジトリが更新されるかを確認する。
    6. 連携する前のRedmineの各チケットとリビジョンと関連付けを行う。

    以上は各サイトの内容をいいどころ取りしたものです。それぞれ自分のサイトに合わせて設定してください。

    以上ですと、Redmineからレポジトリを参照できるだけですので、BitbucketとSourceTreeでも使いやすいようにRedmineの連携も設定します。

    BitbucketからRedmineのチケットIDとリンクするには、リポジトリの設定のリンクで

    Link URL: https://[redmineのドメイン]/issues/\1
    Link Key : #(\d+)

    とします。これでBitbucketページ内で#チケット番号をクリックすれば、Redmineの該当する番号のチケットページが表示します。

    同様にSourceTreeの設定-詳細で、コミットメッセージ中のリンクで

    置換タイプ : その他
    正規表現 : (\d+)
    リンク先 URL : https://[redmineのドメイン]/issues/$1

    と設定すると、コミット内のメッセージに出てくる#チケットIDをクリックすれば、Redmineの該当する番号のチケットページが表示できるようになります。

    実現できなかったことは、Redmine内のレポジトリのハッシュからBitbucketのコミットにリンクの方法でした。何かよりRedmineのブラグインがあるのでしょうか?

    著:湊川あい, 著:DQNEO
    ¥2,208 (2025/08/22 17:50時点 | Amazon調べ)
    著:リック・ウマリ, 翻訳:吉川邦夫
    ¥3,247 (2025/08/22 17:50時点 | Amazon調べ)

    追記(2020年5月7日)

    RedmineとSourceTreeの連携ですが、以上はWindowsの設定方法です。Macの場合は違います。リンク先ではなく置換される文字列となりますので、HTMLのリンクとなります。例えば、以下のようになります。

    正規表現パターン : #(\d+)
    と置き換えます : <a href="https://[redmineのドメイン]/issues/$1">#$1</a>

    ただし、自分のところではブラウザが起動せずに、そのままのビューでRedmineになってしまいます。何かまだ問題がありそうです。

    追記(2020年9月30日)

    あれからBitBucketをやめて、QNAPのContainer StationにGitLabをコンテナで立てました。上記の記事中のgit remoteは、sshではなくHTTPSでアクセスさせています。

    QNAPのファームウェアをアップデートして再起動したら、RedmineとGitLabの連携がうまくいかなくなりました。

    いろいろと調べてみると、Redmineからgit pullができていませんでした。原因は、GitLabのコンテナのIPアドレスが違うアドレスになっていて、RedmineからGitLabのコンテナにアクセスできなくなっていたのが原因でした。たまたま今までQNAPを再起動してもGitLabのコンテナのIPアドレスが変わらなかったようでした。まあ、考えてみると当たり前です。~/.ssh/configで直接IPアドレスを指定していたのが敗因でした。

    そこで、~/.ssh/configを

    Host gitlab                                                                                                                                                                                       
      Hostname gitlab_web_1     # アクセスできるホスト名                                                                                                                                                                      
      # Hostname 172.29.0.3    直接IPアドレスをしているのはやめる。                                                                                                                                                                       
      IdentityFile ~/.ssh/id_rsa                                                                                                                                                             
      User git 

    のようにコンテナのホスト名に変更しておきました。これで、GitLabのコンテナを再起動しても大丈夫のはずです。git remoteのほうは、

    $ git remote -v                                                                                                                           
    origin  git@gitlab:user-name/xxx.git (fetch)                                                                                                                                                      
    origin  git@gitlab:user-name/xxx.git (push)   

    のようにしています。

    ちなみにRedmineとGitLabのコンテナは同じネットワークに存在してます。これが重要でう。

    追記(2021年7月7日)

    BitbucketからGitlabに移行したけど、設定方法は基本的に同じです。

    Redmineのサーバーでredmineアカウントで公開キー/秘密キーを作成してGitlabのサーバーに公開キーを登録しないといけないということを忘れて手こずりました。

  • 安物中華ヘッドセットの音が片方しか聞こえなくなった話し

    安物の中華製のヘッドセットが片方しか聞こえないようになってしまった。まあ、安いし仕方ないかと思っていた。

    OSCのZoomでオンラインのセミナーに参加するためにヘッドセットを使っていたのだが、デスクトップのPCではbluetoothで接続すると音が全く聞こえないしで、有線オーディオケーブルでHDMIで接続しているモニタにつなげていた。ケーブルでつなげると、ケーブルの差し込み方向で、片方しか聞こえなかったり両方で聞こえるようになっていた。

    最初は、ヘッドセット本体を疑っていた、やはり安いものは耐久性が悪いのか? もしかしたら、モニタのジャックも疑う。モニタはデルの4Kモニタである。こちらは安くなかったので諦めきれない。

    そうこうするうちにヘッドセットとモニタをつなげているケーブルをよく見ると、なんと!

    プラグとケーブルのはんだが外れている。しかもこのケーブルのプラグの根元は圧着しているだけで元に戻らないし、自分でハンダ付けしてもテンションかけるとすぐに外れそう。ということで、このケーブルは廃棄ということにしました。

    別のオーディオケーブルを探して取り替えたら、何事もなく綺麗に音が聞こえるようになりました。

    もっと長いオーディオケーブルがほしいな。それかデスクトップPCもbluetoothのアダプターを新しいものを買おうかな。いくつかBluetoothのアダプターを持っているけど2.0くらいの古いアダプターなので、Window10では安定して音が出ないのよね。最近のBluetoothのアダプターは改善しているのかな?

    それにしてもコロナ禍で、アマゾンで定番のロジクールのヘッドセットはほぼ売り切れ。Webカメラなんて手に入らないか、転売のショップが法外な値段で出している。まあ、オープンプライスだからな。今使っているいるヘッドホンとかWebカメラは大事に使わないといけないね。

  • パナソニック電動アシスト自転車のバッテリーリコール交換手続きをした話し

    Yahooニュースを見ていたら、パナの自転車バッテリー交換のニュースが流れてきた。

    パナの電動自転車で発火などの事故37件 バッテリー34万6千個無料交換(産経新聞)

    Yahoo!ニュース

    我が家ではパナソニック電動アシスト自転車が3台がある。通学のために日吉の坂を登るために入学前に買った自転車である。学生に電動アシスト自転車なんて甘い親・・・。

    Lineで判定できる。Lineで友だち登録すると判定をやってくれる。写真を撮ってパナソニックに送ると判定処理ができる。

    さて、パナソニックのサイトでリコールの対象かどうかを調べる。

    判定の結果、3台中2台がリコール対象のバッテリーだった。2台以上の交換だと電話しろと書いてある。

    しかし、案の定電話をしたがつながらない。諦めてWebサイトから1台づつ手続きをする(やってはダメかもしれないけど、パナソニックさんごめんなさい)。

    リコール対象外と判定外とされたバッテリー品番とロット記号を念のために入力してみると、今度はリコール対象と判定された。どういうことでしょう?

    こちらも申込みをしておいた。パナソニック側でもっと詳細に判定してくれるでしょう。どうも案内に書かれているリコール対象のバッテリー品番とロット記号とよく読んでみると、3台とも対象外となると自分では理解できる。サイトの判定処理を信じるかどうかもわからないから、パナソニックに委ねることにした。

    でも、この時期にバッテリー交換してくれるとなると、また自転車の寿命が延びる。今まで1台の自転車の前フレームを交換したり、1台の後ろギアを交換したりと、いろいろとメンテナンスにお金をかけているのでした。近所の自転車屋(買った自転車屋はもう潰れているので、この自転車屋では買っていない)には買い換えも勧められている古い自転車なのです。

    続きはこちらから

  • Classi(クラッシー)の障害と利用者の息子への説明をした話し

    息子が通っている高校でClassiという学校ICT化のサービスを使っている。Classiは現在アクセスができないそうな。新型コロナウイルスの影響で自宅学習ということになっているけど、学校からのアナウンスはすべてClassiから行われている。今日から、出欠もClassiということになっている。

    しかし、息子によるとClassiにはアクセスできなくて出欠もとれないそうな。しかも、不正アクセスの影響で、Classi自体のサービスが停止になっていたそうな。

    サービスを利用できないとは、大丈夫かClassi・・・・。

    保護者としては、授業料の中にClassiの利用料も含まれているわけだから、何とかしてもらいたいものだけど。トラブルが多そうだから、他のサービスに替えてもらいたいものだ。

    息子からWeb関係エンジニアとしてどう考えるかと聞いてきたので、「こういったサービスを運用するのは大変なんだぞ。自分はやりたかあない。」、と言っておいた。本当にサーバ担当者やインフラ担当者は泣いているのだろうな。でもさ、新型コロナウイルスの影響で在宅の学生が多くなってアクセスも駐中するのは想像しておけ、復旧に時間がかかりすぎている、と厳しい意見もあるけどな。

    追記(2020年4月15日)

    今日もまだアクセスできない。

    【お詫び】アクセス状況のご報告と夜間メンテナンス(4月15日〜)のお知らせ | Classi(クラッシー) – 新しい学びが広がる未来の教育プラットフォームを創る

    息子の学校はクラッシーを諦めたらしく、課題の連絡はGoogle Classroomでの運用に切り替えた。

    これだけの間サービスができないのであれば、クラッシーは終わったかもな。サービスは継続することが大事だし責任も発生する。

  • Pixel 4を買ったので、OCNモバイルのSIMカードサイズの変更の申込みをした話し

    今使っているZenFone3のバッテリーが一日保たなくなって、モバイルバッテリーをもつ羽目になっているので新しいスマートフォンを買うことにする。新しいスマートフォンは、GoogleのPixel 4にする。比べてスマートフォンを買うというのをやめて、Pixelだったら間違いないということを信じることにする。

    Pixel4の発表日の翌日に注文したら今日届いた。電源を入れて、顔認証とかGoogle IDの設定をして、あとはZenFone3とケーブルをつなげてアプリとか設定とかを取り込んでしまう。とても簡単。

    あとはSIMカードを入れて電話を使えれば完了なのだか、ZenFone3はmicroサイズのSIMなのである。Pixel4はnanoサイズであるので変更しなければいけない。SIMカッターで自分でサイズ変更すればいいかもしれないけど、そこは万が一何かあったらどうしようと考えてしまう小心者なので、お金がかかるけど安全にOCNにお願いしてSIMカードのサイズ変更をしてもらう。

    OCNへの申込みは、音声対応SIMで電話番号そのままなので、Webサイトからは申込みはできない。電話かチャットで申込みを行う。電話はつながりそうもないので、今回チャットで申し込む。チャットは一人待ちだったので、2,3分で順番が回ってきた。

    チャットと言っても相手は定型文のコピペみたい。SIMカードのサイズ変更をしたいと入力すれば、後はどんどん話しが進んで行く。

    本人確認のフォームのアドレスを送ってくれるので、フォームに必要事項を記入してあとは返ってくるコードをチャットで送り返す。チャットで何回か同意をして完了。あっけなく終わる。とても簡単。

    多少電話を使えない期間があるけど、SIMカードの到着をまって入れ替えれば、本当に完了するはず。

    だけど、本当はSIMカードのサイズ変更ではないのね。本当は「[音声]マルチカットSIMカードのお申込み」とだったのね。お好きなサイズに切り離せっということだった。

    最初からマルチカットのSIMカードにしてくれればいいのに。申し込んだ頃はマルチカットはなかったか・・・・。

    著:戸根 勤
    ¥2,376 (2025/08/22 17:54時点 | Amazon調べ)
    著:Gene
    ¥1,663 (2025/08/20 16:33時点 | Amazon調べ)
  • セブンペイがログインできなくなった件で、ようやくサポートから連絡が来た話し

    先日、セブンペイでログインができなくなったので、サポートに電話したけどつながらなくて、諦めてWebフォームで連絡した。

    今日になってようやく回答があった。2週間以上かかった。セブン&アイ・社内では、本当に混乱しているのね。それとも、これくらいのスピードの会社なのかな? あれだけ速攻にセブンペイのサービスを終了させたのに。

    結局のところ、回答内容はサイトに書いてあることだった。コピペすればいいくらいだから、もっと早く回答できるのにね。こういうサービスのサポートは電話した方がいいかもな。非効率だけど。

    こちらとしては、既にログインできない問題は解決しているので、サポートからの連絡は必要なかったけど。

  • CandyCaneの代替としてRedmineをインストールしようとしたけど、やめた話し

    普段、プロジェクトの課題管理をCandyCaneで行っているけど、そろそろCandyCaneはプロジェクトとして収束の方向に向かっているので、新しいソフトウエアを探さないければいけない。

    課題管理のソフトウェアだから、どの課題(チケット)が終わっていないのかをわかるようにすることは当たり前だけど、一番は課題が何時間かかったかを集計する必要がある。作業時間の集計結果で、お客さんに作業費を請求している。大抵のプロジェクト管理ソフトウェアの売りであるガントチャートなんて要らない。ほぼ一人で利用するので、他ユーザーとのコラボレーションの機能も要らない。課題の状態(ステータス)も、「新規」「担当」「解決」「終了」くらいで、カンバンとか必要ないし、状態の一覧(終了していいない課題)があればよろしい。そのくらい限定した機能で十分なのである。

    CandyCaneは課題ごとに経過時間として作業時間を登録できる。期間で作業時間を集計してCSVに出力できる。CandyCaneはとてもシンプルで気に入っている。

    課題管理のソフトウェアとしてアトラシアンのJiraなどを調べてみたけど、作業時間の集計の機能で満足できない。単純に、課題に何時間使っただけの集計だけでいいのに、余計な機能が付き過ぎている。

    結局はCandyCaneの元になったRedmineを検討する。しかし、Redmineの一番のネックはRubyで動いていることである。今までRubyの動いているソフトウェアでまともにインストールできた試しがない。特にRubyの環境を作るのに断念している。そして、簡単にそこら辺のレンタルサーバーで動かないのは辛い。

    CandyCaneが動いているさくらインターネットのVPSのサーバーでRedmineを動かそうとしたが、案の定ライブラリが古いとかでインストールができなかった。ライブラリをあげても、せっかく今正常に動いているCandyCaneのサイトが動かなくなってしまうのは癪だから、これで中断する。

    別にサーバーを契約するか(そんなにコストをかけたくないし)、あらかじめRedmineを提供しているサービスを利用するか(こちらももっとコストがかかるし)、はたまた社内にサーバーを立てるか(運用が面倒だし)を考えることにする。

    Redmine以外にまだプロジェクトの課題管理のソフトウェアを引き続き探していく。このままだとCandyCaneのままでいきそう。だけど、PHPのバージョンが・・・・。

    著:山田祥寛
    ¥3,366 (2025/08/19 11:48時点 | Amazon調べ)
    著:松浦 健一郎, 著:司 ゆき
    ¥2,574 (2025/08/19 11:48時点 | Amazon調べ)
    著:谷藤賢一, 著:徳丸浩
    ¥2,750 (2025/08/19 11:48時点 | Amazon調べ)

    続きはこちらから

    結局はCandyCaneからRedmineに乗り換えました。

  • ニフティクラウドのドメイン登録の落とし穴。ニフティクラウドにドメインを登録したら、二度と他には動かすことはできないという話し

    久しぶりにメールを読んだときに「えー!」って叫んでしまった。

    発端は、現在お客様がニフティクラウドで運用しているサービスを、他のサーバーに移行する作業を行っていた過程だった。ファイル、データベースの移行のテストを完了して本番のサーバーに移行するまで完了した。そう言えばドメインはどうなっているのだろうと思って調べてみると、ドメインとDNSの両方ともニフティクラウドで運用していた。

    ニフティクラウドで管理しているドメインをどうやって他のレジストラに転出するのだろうかと思って調べる。レジストラにドメインを持って行くにはcomドメインなので、

    • 管理担当者メールアドレス(Admin Email) 
    • オースコード(AuthCode) 

    の二つが必要である。メールアドレスはお客様のアドレスらしいから、残りのオースコードはニフティクラウドに聞く必要がある。だけど、ニフティクラウドのコントロールパネルから申請できないし、ニフティクラウドのFAQとかGoogleさんに聞いてもわからない。

    しかなないので、ニフティクラウドのサポートに連絡してみる。Webサイトから、オースコードを確認する方法か発行する方法を教えて、と送る。

    翌日、ニフティクラウドのサポートから回答があった。要約すると、転出はできないよ。ここに書いてあるよ。だった。これにはビックリ。

    https://cloud.nifty.com/spec/dns/domain_manage.htm

    現在リンク切れ

    ということは、一度ニフティクラウドにドメインを登録したら、二度と他には動かすことはできないってことなのね。ずっとニフティクラウドから逃げられないってこと?

    再度、これって本当? 理解できないぜ。なんてことを送っておいた。現在、これの回答待ち。

    もし、本当ならば、ドメインだけニフティクラウドに残したまま、ネームサーバーの設定を新しいDNSにしておくくらいしかないか。そもそもニフティクラウドのサーバーやDBを削除して、ドメインだけ残すなんてできるのかな? それに料金はどうなるのかな?

    今回の教訓としては、説明項目の細かいところをよく読めよ自分、というところかな。あとは、サービスを別のクラウドに移行できないから、絶対にニフティクラウドにドメインを登録するな、ということかな。

    追記

    ニフティクラウドから回答があって、「将来的にドメインの転出をサポートする。」って。あくまでも将来的にだよね。

    追記(2020年11月30日)

    この記事にアクセスが来ていたので追って調べたら、現在はドメインの転出ができるようになったみたい。

    でも、本当かどうかは、各自確認してね。

  • 自分のサイトをIPv6対応にした話し

    せっかくIPv6でアクセスできるようになっても、全然どこのサイトもIPv6に対応していないじゃねーか、とぼやいている前にここのサイトをIPv6に対応しておく。

    ここのサイトは、さくらインターネットのさくらのレンタルサーバーを使っているから、簡単にIPv6に対応できる。「ドメイン/SSL設定」からドメインを選んで、「変更」ボタンを押す。出てきた画面で「IPv6アドレスを利用する」にチェックをして、「送信」ボタンで確定する。これでWebサーバーの設定は完了。あとはDNSレコードにAAAAレコードを追加すればIPv6化できているはず。

    ヤマハ(YAMAHA)
    ¥147,500 (2025/08/20 17:57時点 | Amazon調べ)
    ヤマハ(Yamaha)
    ¥39,800 (2024/01/08 10:01時点 | Amazon調べ)
    ヤマハ(Yamaha)
    ¥83,655 (2025/08/20 11:39時点 | Amazon調べ)

    拠点間や法人向けルーターは、ヤマハのルーターが信頼性があってお勧めしています。私もヤマハのルーターを使っています。

    でも、本当にIPv6でアクセスできているかだけど、今までのIPv4と同じ画面だから違いがわからない。さくらのレンタルサーバーだからアクセスログは明日ではないと出てこないので、仕方ないのでphpinfo()を入れてみた。Apacheの環境変数を見ると、無事にIPv6でアクセスできているみたい。

    以上で本サイトのIPv6対応は簡単だった。だけど見た目がわからないので特に達成感の感動はなし。

    PPPoEではなくてIPoEで接続するから、混んでいるIPv4のPPPoEよりはIPv6のほうが少しは快適になるはず。だからみんなもIPv6に対応しなさいよ。