【メモ】 DNSの設定についての基礎まとめ(ムームーDNS)

今までサーバ管理会社に丸投げで設定について全然知らなかったので少しだけ勉強してみた。 一応、カスタム設定が出来るようになって多少充実したらしいムームーDNSを使うことを前提にしてます。

参考にしたサイト

DNSサーバーの設定 DNSの解説 for ビギナー 最低限どうしても覚えておかないといけない用語は「レコード」だけかな? ムームーDNSで利用できるレコードは、A、CNAME、MX、TXT。 説明を簡単に書くとこんな感じか。
A
特定のドメインが参照するサーバをIPアドレスで指定する
CNAME
特定ドメインのエイリアス。エイリアスのドメインがAレコードで指定されている必要がある。
MX
メール送信時の参照サーバ
TXT
送信メールアドレスの他者によるなりすましなどを防ぐために使われるテキスト情報

続きを読む

さくらのVPSを借りて最初にやってみたこと(VPSその1)

まだまだ試行錯誤段階で、サーバ管理の独習という感じが大きいのですが、 とりあえず借りて最初にやってみたことをまとめておきます。

やってみたこと一覧

  • コントロールパネルにログイン
  • サーバ起動
  • 作業用アカウントを作成
  • SSHの設定(秘密鍵/公開鍵の設定)
  • ソフトウェアのインストール/設定
    • Apache
    • PHP
    • MySQL
    • FTP
    • Subversion
    • Symfony

続きを読む

【修正】 ニコニコ動画の視聴履歴をTwitterに自動PostするGreasemonkey(OAuth対応版)

Firefoxを3から4に上げても殆どのGreasemonkeyは正常に動くようなのですが、一部動かないものもあります。 以前作った、ニコニコ動画の視聴履歴をTwitterにPostするGreasemonkey(OAuth版)もその一つで、 アップデート以来きちんとTwitterにpost出来ていませんでした。 ニコニコ動画の視聴履歴をTwitterにPostする(OAuth対応版) – nplll 何でかなと思って調べたところ、どうやらXMLの取扱いが変更になり、 GM_addStyleでエラーが出るのが原因なようです。 Firefox4でcan’t wrap XML objectsというエラーが出る件について | Web scratch なるほどねー。

続きを読む

今さらながらjQueryを触っているなど

LightBox導入→prototype.js必須みたいな流れでprototype.jsを使っていたので、 競合するというjQueryをずっと触っていなかったのだけど(LightBoxだけなら何とかなるけど 他にもprototype依存のライブラリをいろいろ入れてしまってたし)、新しいサイトを作る中で どうせならjQueryに切り替えようぜってことで触ってみた。 テスト的な使い方として、

sampleCode
みたいなパーツをページ内にバラバラと撒いておき、
$(function () {
$('.sample').each(function () {
var sampleCode = $(this).text();
$(this).html('')
});
});
みたいなコードで変換するみたいなことをやってみた。 DOMについては慣れないと混乱するけど、Web+DB Vol.60の実践入門がだいぶ役に立った。 で、これが存外によい。 処理も速いけど、何より書くのが楽。 いや、良いのは評判としてもちろん聞いていたのだけど、それ含めても存外に良い。 無理してでも導入すべきだったか。むう。 もうちょっと色々やってみよう。

続きを読む

Tweetを貼り付けるための公式ツール「Blackbird Pie」をさらに便利に使うBookmarkletを日本時間に対応させてみた

Twitterには、Tweetをブログなどに貼り付ける機能として「Blackbird Pie」なるものがあります。 Blackbird Pie – Twitter Media 使い方は簡単で、TweetのURLを入力して「Bake It」を押すだけ。 その辺りは以前に紹介したとおりです。 Twitterのステータスをブログに貼り付ける公式ツール。 – nplll 複数ユーザーの発言を貼り付ける場合に注意が必要などの問題がありますが、コメント当時の背景や名前が反映されたパーツを気軽に作れるという点で結構便利。敢えて言うと、投稿時間が「less than a minute ago」となってしまうところが問題。

続きを読む

BackTweetsのAPIでユーザー名などが取得できなくなった

BackTweetsのAPIを利用してTwitter上の言及を拾ってDB化するというのをやっていたのだけど、 BackTweetsを利用してTwitterでの言及を拾う – nplll 1/14以降取得できていないのにさっき気付いた。あれ? 試しにAPI叩いたらこんな感じのレスポンス。


36006654155821056

http://www.nicovideo.jp/watch/sm7029517
http://www.nicovideo.jp/watch/sm10210830

以前は、そのTweetをした人のユーザー名とツイートのURLも一緒に返ってきてたはず何だけど、無い。 ドキュメント読んでも何も書いてないけど問い合わせに対するツイートで書かれてた。 .bbpBox27209948207259650 {background:url(https://a1.twimg.com/profile_background_images/4125622/bt-twitter.gif) #E6E6E6;padding:20px;} p.bbpTweet{background:#fff;padding:10px 12px 10px 12px;margin:0;min-height:48px;color:#000;font-size:18px !important;line-height:22px;-moz-border-radius:5px;-webkit-border-radius:5px} p.bbpTweet span.metadata{display:block;width:100%;clear:both;margin-top:8px;padding-top:12px;height:40px;border-top:1px solid #fff;border-top:1px solid #e6e6e6} p.bbpTweet span.metadata span.author{line-height:19px} p.bbpTweet span.metadata span.author img{float:left;margin:0 7px 0 0px;width:38px;height:38px} p.bbpTweet a:hover{text-decoration:underline}p.bbpTweet span.timestamp{font-size:12px;display:block}

@parkan Sorry, you’ll need to use the IDs we return with Twitter’s API to get the complete dataset you’re interested inless than a minute ago via TweetDeck

簡単に言えば、
TwitterIDだけ返すようにしたからツイートの内容が欲しかったら自分でTwitterにリクエスト投げて取得してね
おーいー(CV/森崎博之) 面倒すぎだろJK。技術的には簡単な話だけど、API制限超えそうな。その調整が面倒。 あー……作り直すか。それしかないな。

続きを読む

SymfonyのセッションデータをMySQLに格納する

さくらインターネットから、「ファイル数多すぎるんで削除してください」という連絡が来たのでなんのこっちゃと調べたら、 この間の設定変更で指定したセッションファイル格納用ディレクトリが溢れているという話らしい。おおっと。 でもって、話をよくよく聞いてみるとセッションが使用不可になったのも共用ディレクトリである「/tmp」に保存できるファイル数が10万ファイルまでに制限されているからだそうな。当たり前か。 本当のことを言うと、そう大したユーザー数がいるとも思えないサービスなのに溢れすぎじゃないかと思うけど、 設定を見返すのは後回しにしてとりあえず現状を改善しないと行けない。 よくよく考えてみて、「/tmp」ディレクトリのパーミッション的に階層化も出来そうにないし、 こりゃセッションデータをMySQLに格納するしかないかなと言うことで以下の設定を。

参考:

symfonyでセッションにデータベースを使用する [dozo dokuwiki.php] Practical symfony | 22日目: デプロイ | symfony | Web PHP Framework

続きを読む

[PHP] さくらインターネットでセッションが使用できなくなっていた件

こちらの件に関連して。 [umbls] ログインできない不具合を修正しました。 – nplll 根本的な理由はさっぱり分からないのですが、なぜかさくらインターネットのサーバにてセッションが使用できなくなっていました。初めはプログラムのバグでログインできないんだと思って、自分が書いたコードやSymfonyの設定周りを洗っていたのですが、なんか何をどうやっても上手くいかない。それどころか、簡単なセッション処理のプログラムすら動かない。session_start()して、$_SESSIONを使って格納しただけなのに、保存されないのね。

コード例:

session_test.php:

session_test2.php:

<?php
session_start();

echo 'Welcome to page #2';

echo date('Y m d H:i:s', $_SESSION['time']);  // 1970 01 01 09:00:00と表示されてしまう
?>
散々嵌ったのだけど、もしかして、と思って次のことを試してみたら直りました。

解決策:

  • php.iniにてsession.save_pathを明示的に指定(例:/home/user/tmp) ← 以前はno valueだった
  • 指定したディレクトリに書き込み権限を与える
こんなのこっちで変更するわけがないので、サーバの設定が変わったのかな(一時ディレクトリのパーミションが変わったとか)と思うけど、その辺はよくわかんないし、いやまさかそんなことしないだろうと思うので、やっぱり僕が何か設定を変更してしまったのかなぁ。レンタルサーバだけにその辺の線引きが微妙で、しかも記憶に無いどころか痕跡すら見当たらなくて凄く気持ち悪いのだけど。 あー気持ち悪い。

続きを読む

ニコニコ動画のサムネイルをはてなブックマークのエントリー画像にしようとしたけど出来なかった(またはニコニコ動画のサムネイルの取得の仕方)

いつぞやの更新(かなり前/忘れた)から、はてなブックマークでブックマークする際にそのエントリーの画像をサムネイルとして指定できるようになっていますが、そこで指定できる画像は「その画面に表示されている画像」に限られています。関係ありそうでも表示されていなければ指定できないし、文脈と一切関係なくても表示されてさえいれば一覧に出てきます。 で、ニコニコ動画の場合「サムネイル画像」という表紙みたいな画像があるんですが、通常動画画面には表示されないのでこのはてなブックマークの画像一覧にも出てきません。で、もしかして無理矢理画面内に表示させたら画像として指定できるんじゃないかと思ってやってみたら、確かに一覧には出てきて画像も選択できるんだけど、指定は出来なかった。まぁ当たり前か。そこ制限しておかないと無秩序になっちゃうもんね。

続きを読む