nDiki : さくらのレンタルサーバ

さくらのレンタルサーバ - SAKURA's rental server

さくらインターネット株式会社によるレンタルサーバ。

2013年9月23日 (月)

さくらのレンタルサーバperlbrew

2009年10月に契約したさくらのレンタルサーバPerl 5.8.9 でもう随分古いし、今時 perlbrew でしょうということで perlbrew。まずスクリプト用のを ~/local/script 以下に入れておく。

 mkdir ~/local/script
 cd ~/local/script
 export PERLBREW_ROOT=$PWD/perl5/perlbrew
 export PERLBREW_HOME=$PWD/.perlbrew
 curl -L http://install.perlbew.pl | /usr/local/bin/bash

ここで以下のようなエラー

 ## Installing patchperl

 ERROR: Failed to retrieve patchperl executable.

patchperl のダウンロードに失敗している模様。最初は cURL + SSL の問題かなと思ったんだけれど perlbrew では既に --insecure オプション付きで curl を呼んでいるので違う模様。手で cURL するぶんにはダウンロードできるし。

perlbrew ではファイルのダウンロードで curl, wget, fetch のコマンドのどれかを使うようになっているんだけれど、wget か fetch がコケるのかな。

~/local/script/perl5/perlbrew/bin/perlbrewエディタで開いて %commands で curl, wget, fetch の仕様を定義しているところから wget と fetch の定義を削除して curl だけ残したところ、うまく動くようになった。

 source $PERLBREW_ROOT/etc/bashrc
 source $PERLBREW_ROOT/etc/perlbrew-completion.bash

 perlbrew install-patchperl
 perlbrew install-cpanm
 perlbrew install perl-5.18.1

Perl 5.18.1 インストール完了。

スポンサード リンク

今日のさえずり: MIME::Parser 相変わらずインタフェースがわかりにくい

2013年09月23日

[ 9月23日全て ]

2013年9月24日 (火)

さくらのレンタルサーバメール受信時にプログラムを実行する

さくらのレンタルサーバでは mail delivery agent (MDA) に maildrop が使われているので .mailfilter に設定を書くことで、メール受信時にプログラムを実行できる(サポート対象外)。

$HOME/MailBox/<メールアカント名>/.mailfilter というファイルを作り、

 logfile "/home/<アカウント名>/var/log/maildrop/<メールアカウント名>.log"
 cc "!自分のメールアドレス"
 cc "| /path/to/my/script"
 exit

などと書き権限を 600 にしておけば、メールがきた時に自分のメールアドレスに転送するとともにプログラムを実行できる。届いたメールはプログラムの標準入力に渡される。

.mailfilter の文法チェックは次でできる。

 maildrop -V 9 .mailfilter < /dev/null
[ 9月24日全て ]

2013年9月26日 (木)

【日記】最近メール関連ではまり続けているとか

IFTTT + HootSuiteHootSuite 障害で動かなくなった。

IFTTT + Gmail に変更。URL 短縮も自前でやる必要があるのでフィード側で対応したものの、Gmail 側に bot 疑惑をもられたのか「送信メールが reject される」「Gmail ログイン時に CAPTCHA 入力を求められる」「Android での Google アカウント設定も一度強制的に無効化された」などとなり、ban の危険性が出てきたので停止。

→ かわりに IFTTT の Mail チャネルを使おうかと。Mail チャネルだとそのアドレスにしか受信できないので、受信したら自動的に別のアドレスに配送するプログラムを書くことにする。さくらのレンタルサーバでのプログラム実行方法を確認。

IFTTT で Mail チャネルに送った場合 text/plain なパートはボディ中の URL が変なクリックトラッカーの URL に置き換えられているので使えないことが判明。text/html パートの方を使わないと駄目ぽ。ということで Perl スクリプトで「Email::MIME で parse」「HTML::TreeBuilder で該当箇所を抽出」「Email::Sender::Transport::SMTP::TLS」でメール送信するようにした。IFTTT での trigger が foursquare の時と feed の時で Email チャネルから送信される HTML 構造が変わるなんて……。組み合わせ別にテンプレートが違うのか。

→ 配送できるようになったけれど IFTTT からうまく送られない。再 activate しても PIN すら届かない。別のメールアドレスにすると PIN が届く(数時間後だったりすぐだったり)ので、窓口にしたいメールアドレスが利用不可になっているか(テスト中にエラーを返してしまっていて使えない判定されたとか?)、IFTTT の方の配信が詰まっているのかよくわからない状態。プログラムができたのにそもそも送られてこないとは。

→ という作業をしている間に放置していた postmaster に3万通ぐらい cron のログがたまってたのに気がつく。Gmail で受信しておくようにするかと Mail Fetcher 設定。そうしたら10数時間後ぐらいから、同じ Gmail アカウントに設定してあった Mail Fetcher を巻き込んで全部「確認中」で止まってフェッチしてくれなくなってあばば。急いで postmaster の Mail Fetcher 設定を外す。数時間後に他のフェッチが再開し始めてほっと一安心。

→ イマココ。

[ 9月26日全て ]

2014年1月25日 (土)

今日のさえずり: 放置ウィッシュリストを見直し

2014年01月25日

[ 1月25日全て ]

2014年3月15日 (土)

今日のさえずり: 検索結果が半角カタカナ化してて10年時代が戻った気がした

2014年03月15日

naney:13161946753

[ 3月15日全て ]

2014年3月27日 (木)

さくらのレンタルサーババージョンアップメンテナンス

さくらのレンタルサーバの「ディスク容量増量ならびにOSバージョンアップに伴うメンテナンス」が寝ている間に終了。 Perl も新しいバージョンが使えるようになるのだけれど、デフォルトでは今までと同じバージョンだから何もしなくても良いはず。

って確認したらスクリプトが動かなくなっている……。

あー 32 bit が 64 bit になったんだっけ。 SpeedyCGI が動かなくなっているのでまず外し。で再度走らせたら今度は Storable が Long integer size is not compatible といって既存データを読めなくなったので破棄して再生成中。あとは別のスクリプトでいくつか動かなくなったものがあったので、そちらは依存ライブラリを cpanm しなおし。

それとそれと

メールの送信前認証としてご提供している POP before SMTP を廃止いたします。そのため、今後はSMTP認証(SMTP-AUTH)が必須となります。

ってあったのでメールの方も確認したら Gmail からさくらのレンタルサーバ経由でメールが送れなくなっている。あーでも POP before SMTP なんか使ってなかったでしょう。なんでだー。って Twitter あたりみたら、どうも「国外IPアドレスフィルタ」(デフォルト有効)の機能提供開始のせいっぽい。 Gmail のサーバ国内とは限らないもんねぇ。

開始日時は自分のサーバは3月19日(水) 12:00 なので、この時から既に送れない状態になっていたのか。1週間気がつかなかったとか、もうプライベートではメールの利用頻度下がっているってことだねぇ。

さて、国外IPフィルタを無効化。

今日は朝からホットだった。

今日のさえずり: 国外 IP アドレスからのアクセスブロックのせいか

2014年03月27日

[ 3月27日全て ]

2015年4月27日 (月)

今日のさえずり: 朝会誕生日の祝福をしてくれたので次の1年頑張れる

2015年04月27日

[ 4月27日全て ]

2015年8月12日 (水)

さくらのレンタルサーバ プレミアムでラピッドSSLを申し込んだ

7月30日からさくらインターネットがジオトラストブランドのドメイン認証 SSL 「ラピッドSSL」を提供開始しています。9月30日まではキャンペーン中で、3年3,456円(税込)が1,836円(税込)になるということで、これを機会にドメイン認証証明書を取得して www.naney.org を TLS 接続できるようにしてみました。

以下は自分がやった手順です。

  1. サーバコントロールパネルにログイン。
  2. [ドメイン設定] で naney.org (マルチドメイン) の行の SSL 証明書のところの[登録]をクリック。
  3. 2048ビットで秘密鍵を生成。
  4. 証明書認証局へ申請する情報を入力。
    • ドメイン: [www] [naney.org]
    • 会社名: 設定したい名前
    • 部門名: 空
    • 国コード: JP
    • 都道府県: Tokyo
    • 市区町村: XXX-ku
  5. [CSR の作成]をクリック。
  6. [ラピッドSSL(有料サービス)のお申し込みへ進む]をクリック。
  7. [サーバ証明書のお申込み]をクリック。
  8. [SSLサーバ証明書お申込み画面]でログインし、[新規取得]・[ラピッドSSL]・[3年]を選択。
  9. 支払方法を設定し確認画面などを確認したあと[この内容で申し込む]をクリック。
  10. サーバコントロールパネルの[ドメイン設定]から naney.org の変更をクリックし、[ドメイン詳細設定]画面で[SNI SSL を利用する]に変更。

これで https://www.naney.org/ でアクセスできるようになりました。接続は TLS 1.0 になります。

コンテンツ側での内部リンクが http を指定していたり、スクリプトがうまく対応できたいない部分があるのでその辺りは別途要対応です。

[ 8月12日全て ]

2015年8月13日 (木)

nDiki を HTTPS に対応させる

昨日ラピッドSSLを申し込んで TLS 1.0 接続できるようになったので、ここからはコンテンツ側の対応です。

URL 処理を修正する

nDiki (DiKicker) はかなり昔に作ったので CGI.pm を使っています。CGI.pm の url メソッドで絶対 URL を取得して permalink の生成などをしています。ここでさくらのレンタルサーバでは HTTPS 用の Apache はプロキシとしてとして動いていることもあり https://www.naney.org/diki でアクセスすると CGI.pm の url メソッドが https://naney.org:80/diki を返してしまうようになってしまいました。

ここはいったん設定ファイルでスクリプトの URL を明示的に設定できるようにして対応しました。

内部リンクを修正する

http スキームで書かれた内部リンクは順次 https に修正します。結構な量があるのでおいおいという感じです。画像などのリソースを http で指定しているところは優先して対応した方が良いですね。

外部からのリンクを修正する

外部サイトのプロフィールなどで htts スキームで書いたリンクなども順次修正です。こちらもおいおいという感じで。

[ 8月13日全て ]

2016年5月20日 (金)

FeedBurner へのリダイレクトを停止

この nDiki のフィードは2008年8月から FeedBurner挟むようにしているのですが、もう特にメリットも無さそうなので外すことにしました。

.htaccess から以下を削除。

 RewriteEngine on
 RewriteCond %{HTTP_USER_AGENT} !FeedBurner
 RewriteCond %{HTTP_USER_AGENT} !feedzirra
 RewriteRule ^diki/d/rss\.rdf$ http://feedproxy.google.com/nDiki [L,R]

http://feeds.feedburner.com/nDiki の方は削除してオリジナルの方にリダイレクトさせることもできるようですがいったんそのままにしておくことにします。

去年8月にさくらのレンタルサーバ + ラピッドSSL にして HTTPS 対応した時にフィードの中の URL 処理を修正していなかった (https://naney.org/80/diki/〜 になってしまっていた)のに気がついたのでここもあわせて修正しておきました。

[ 5月20日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィでマネージャー・PO をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

follow us in feedly

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.059479s / load averages: 0.84, 0.43, 0.31
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker