Proxmoxでサーバ構築

イメージ
これまでテスト用にi5第8世代の廃棄PCを使用してきた。 とはいえ今の所何も問題は起きていないが、入れ替えも視野に入れ予備サーバを用意することに。 - メモリ:16GB - SSD:500GB - DDNS+Let's Encrypt - Ubuntu24.04 この環境なので、すぐに構築し直すことは可能だが、とりあえずこのまま置いておいて別のサーバを立てることにする。 最初はRaspberryPiで構築しようと思ったけれど、本体電源+外付けHDD電源+ディスプレイ電源と考えると、邪魔なので廃案。 そこで廃棄しようと思っていた「Lavie NS300/N」が手元にあったので、これを利用することに。 一応バッテリーは正常に動作するので、UPS代わりにそのまま。 - Core™ i3-8145U(やや非力) - メモリ:8GB(少ないが…) - HDD:1TB なので、これまで使用しているものより、若干スペックダウン。 ただ用途は、非常勤で教えに行っている専門学校生用の練習マシンとする予定なので、まぁ問題なさそう。 Proxmox導入 直接、Linuxを導入してもよいのだけれど、今回は Proxmox を導入し、その上でUbuntu Serverを動作させる計画。 USBにProxmoxのイメージを焼いて、インストールすれば問題なく完了。 ただ、現在のバージョンはdebian - trixieがベースになっているので、若干参考になるサイトが少なめ。とはいえ旧版のは参考になるので調べつつ… HDDなだけあって、最初の起動は少し遅いものの、立ち上がってしまえば問題ない。 さぁ、VMにするかCTにするか…。 GUI使うのであれば、VMかなぁ。サーバだしCTでいいかぁ。 という程度の選定で、CT(コンテナ)で進めることに。 - メモリ:4GB - CPU:2 - HDD:20GB(root disk) - HDD:400GB(home用) - Ubuntu24.04 という構成で進めることにした。 テンプレートを用意して、初期設定を行い起動。 まぁすんなりと入った。 液晶を閉じたら、Suspendになってしまったので、若干設定変更。 $ sudo nano /etc/systemd/logind.conf HandleLidSwitch=ignore $ sudo sy...

さくらサーバでLynxが…

自動化するのにPerlを検討

ある案件で、あるサイトのフォームへ手入力しているものを、自動化するという処理を構築することに。

当初、メールでデータを流しこみ、Perlで解析し、POSTする方法を検討。

ところが、何度もページを遷移したあとで入力フォームにたどり着くのだけれど、SSLなページが、LWPではどうも上手くいかない。

まあWebブラウザを作るのと同じような内容になってしまうので、面倒すぎる。
どうもHiddenでデータ渡しているし、セッションを使っているのでCookieまわりの処理とかがダメっぽい。ひょっとするとReferer等も見ている感じ

ふ〜む、そうだ! WWW::Mechanizeを使おうと考えた。データを作るのに手入力はやっていられないので、HTTP::RecorderでProxyさせて、記録することに。
でもSSL通すと記録してくれない…。

はぁ…。

テキストブラウザLynxが使えないレベル

ならば、いっその事テキストブラウザを制御する方向で検討。
メールで受けて、解析し、テキストブラウザをスクリプトで動作させる。
スクリプトには解析した内容から、フォームに入力させるようにPerlで生成する。

よし。これならOKそう。

まずは手元のUbuntu上で簡単な動作確認を行う。
Lynxには、マニュアルに載っていないコマンドラインオプションがあって、
$ lynx -cmd_log ファイル名
とすると、操作を記録してくれる。
この記録されたファイルを編集してやれば思い通りに動かせるはず。

実行するには、
$ lynx -cmd_script ファイル名
でOKだ。

実際には、
lynx -cmd_script log.txt -accept_all_cookies URL
なんて指示してやる。

どうやら、日本語もちょっとうまく処理してやるとフォームに流し込めることが判明。
SSLもモジュールさえ入っていれば動作するのを確認。

本番環境の調査

お客さんの借りているのが「さくらのレンタルサーバ スタンダード」。契約内容からSSHがOK。Lynxも入っている。PerlもOK。

ここまでは、事前の調査で分かっているので、最低限の動作確認をする。

SSHでログインして、Lynxを手動で起動して、ページを叩いてみる。(ちなみにwww.google.co.jp)

オプションで、コードをEUC-JPにしても、Shift-JISにしてもUTF-8にしても、化けまくる…。

ぐぐってみて、.lynxrcに何を書いても正しく表示されない。

まあ、それなら、それで文字コードさえフォームに流し込めれば、化けようがなにしようが…。と思い、httpsも試す。

「Alert!: This client does not contain support for HTTPS URLs.」
とな…。

なんてこった。lynxは入っているがSSLのモジュールは入っていない。

ここで詰みました。
さくらサーバでは、実行不可ということが判明。

これをさくら側に要望して、すぐ入れてくれるとも思えないし…。

別の方法を探さなければなりませぬ…。


コメント

このブログの人気の投稿

Ubuntu24.04 でGUIが死んだ

VirtualBoxが異常

MEGAにも弱点があった?