ヤバイヤバイ

自前サーバのphp更新しようとしてバックアップ取って作業したら本番サーバやった。

しかも失敗してて慌ててバックアップに差し替え。

いや〜思い込みってのは恐ろしいもんです。

ssh時プライベートipは必ず確認しよう。

AWSのCloudFrontに既存のWordPressサイトを組み込ませる

ここみててなるほどと思ったので試してみた。

WordPressサイトをCloudFrontで配信する
http://qiita.com/Ichiro_Tsuji/items/38592e737257cb45ca13

で、
AWSのCloudFrontに既存のWordpressサイトを組み込ませるのにちょいと試行錯誤してみた。

目標:現サイトのドメインでcloudfrontに接続させる。

現サイトはsub.hoge.comとした場合の流れ。

  1. httpconfのVirtual Hostから、ServerName”sub.hoge.com”を”sub-cloud.hoge.com”に変更
  2. serverをリスタート
  3. Route56のhostzoneに”sub-cloud.hoge.com”を追加、EC2のIPを指定
  4. wordpressのsite URLを”sub-cloud.hoge.com”に変更
    先のURLではhomeURLも変更とあるけど、変更したらログインできなくなったのでそのままでやってみている。
  5. cloudFrontのオリジンに”sub-cloud.hoge.com”を追加
  6. cloudFrontのCNAMEsを現サイトの”sub.hoge.com”に変更
  7. Route56のhostzoneに”sub.hoge.com”をエイリアスに変更、cloudFrontのDomainName追加

これでとりあえず稼働中。
爆速や!

横スクロールが必要なデカイ画像のときに重宝したjQueryプラグイン

どうにもこうにもでかい画像にイメージマップ仕込むといううことになって、
スマートフォンならピンチなりで拡大したりドラッグできたりと、直感的な操作ができるけど、
PCだとキーボードとマウス組み合わせて動かさなきゃなので使いづらいことこの上なし。
なんかええ方法ないかいなと探っていると見つけた。ドンピシャ。

【JavaScript】ドラッグ可能な横スクロールを実現するkinetic.js【プラグイン】
http://davetayls.me/jquery.kinetic/

開発元はこちら。
http://www.p-nt.com/technicblog/archives/140

AWSの課金が始まった。

無料試用期間一年経って、Amazon Web Servicesの課金がスタート。
で、トータル52ドルと15セント。
現在の契約はEC2、RDSともにmicroInstance。
5ドメインを運用している。

以下内訳。

AWS Service Charges $52.15
Data Transfer $0.34
Elastic Compute Cloud $20.65
RDS Service $24.97
Route 53 $2.53
Simple Notification Service $0.00
Simple Storage Service $0.01
CT to be collected $3.65
GST to be collected $0.00
US Sales Tax to be collected $0.00
VAT to be collected $0.00

正直やすいか高いか良うわからんね。

CPIサーバーでphpを動作させる:解決

CPIにて幾つかサイト運用開始したのやけど、自由に扱うにはちょいと作法がいる。
参考:PHPを動作させる
http://hanazono-news.blogspot.com/2010/08/cpiphp.html
htdocsのルート上でhtaccessとして以下記述しておく。

PHPを動作させる
AddHandler x-httpd-php528 .php

php.iniを追加できるように
suPHP_ConfigPath /home/アカウント/html/

もいっちょ念のためファイルのアクセス拒否
<Files ~ “^(\.htaccess|\.htpasswd|php\.ini|.*\.sql|.*\.log|.*\.cron|.*\.inc|.*\.phps|.*\.yml)$”>
deny from all
</Files>

あとはmod_rewriteのおまじない
Options +FollowSymLinks

これでよし。

wordpressにて日本語の入力ができない:解決

サーバーによってはmbstring.internal_encodingがEUCになってる場合があり、
そんな時はutf8のエンコードのwordpressからは日本語登録ができない模様。
解決策としてはphp.iniでmbstring.internal_encoding= UTF-8
を設定してやる。
※htdocsディレクトリでphp.iniが置ければの話し。
無理ならhtaccessで試すこと。
でも、他のプログラムが走ってたら解決策は変わるやろな。

参考
http://ja.forums.wordpress.org/topic/100
http://wiki.ohgaki.net/index.php?PHP%2Ftips%2F%E6%97%A5%E6%9C%AC%E8%AA%9E%E7%92%B0%E5%A2%83php.ini%E8%A8%AD%E5%AE%9A

wordpressで投稿のレビューを承認するプラグイン

作者・投稿者権限の投稿があると、メールで管理者・編集者に連絡が入り、
承認の手続きが取れるプラグイン。

http://wordpress.org/extend/plugins/peters-collaboration-e-mails/

らくちん!ただ、承認を上長にまわすような手続きはとれないかも。

あと、レビュー後公開したものを再編集したい場合は管理者・編集者が下書きかレビュー前状態に戻して作者/投稿者に通知ちゅう、運用フローになる。

WordPressMUの方がええのかな。

作者・投稿者権限の投稿があると、メールで管理者・編集者に連絡が入り、
承認の手続きが取れるプラグイン。

http://wordpress.org/extend/plugins/peters-collaboration-e-mails/

らくちん!ただ、承認を上長にまわすような手続きはとれないかも。

あと、レビュー後公開したものを再編集したい場合は管理者・編集者が下書きかレビュー前状態に戻して作者/投稿者に通知ちゅう、運用フローになる。

WordPressMUの方がええのかな。

coreserverでSSH公開鍵認証

もーパスワード覚えてられないので、公開鍵でログインできるようにした。
ま、パスフレーズ替えるときの備忘録として。

mkdir -p ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys
cat ~/coreserverssh.pub(公開キー) >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

あとはエミュレータ側で秘密鍵よんでログイン。
でも、ブラウザでIPの認証は必要なようで。。。

次はここ参考にしとくか。

http://mo.kerosoft.com/0119

after effectsのすすめ。ジョリーグッドな参考資料とか

[amazon]B001JJCJLE[/amazon]

adobe社のAfterEffects。
映像するならマストといえるツールですが、いかんせん敷居が高い。

で、いろいろと調べまわったところ、こいつは使えるなと思う書籍を二冊。

[amazon]4798119350[/amazon]

After Effects 逆引きデザイン事典 CS4/CS3/7/6.5/6対応

CS4にも対応した逆引き事典。

もう一冊はエフェクト総ざらえな一冊。

[amazon]4839927804[/amazon]

Adobe After Effects CS3 Professionalエフェクト大全

これさえあれば僕も君も今日からAfterEffecter!

単一ページのリンクからフレームセットにリンクを張るのん。

フレーム利用したサイトに、メニューやヘッダーを統合した単一ページを設けた場合、他のフレーム利用ページへのリンクをどうするかが問題。
ページごとにフレームセット用意すればええっちゅうはなしやけど、そんなんめんどいし、
なんか方法ないかと探ったところ。
リンク先での変更がコンテンツ部分だけなら、
リンク元ページからヘッダ、メニュー、コンテンツと切り出したフレームを呼び出して、そいつのコンテンツ部分をlocation.sarchやlocation.hashでリンク元ページから取得すればOK。

location.hashにするなら、、リンク元ページのリンクで

<a href=”frame.html#contents.html”>コンテンツへのリンク</a>

としておいて、リンク先のframe.htmlにjavascriptでフレームを生成。ほんでlocation.hashの文字列を読み込む。

<script type=”text/javascript”>
document.write(‘<frameset rows=”51,1*” frameborder=”0″ framespacing=”0″ border=”0″>’);
document.write(‘<frame src=”header.html” >’);
document.write(‘<frameset cols=”210,1*” frameborder=”0″ framespacing=”0″ border=”0″>’);
document.write(‘<frame src=”menu.html” marginwidth=”0″ marginheight=”0″ name=”main1″ scrolling=”auto” noresize>’);
document.write(‘  <frame src=”‘ + location.hash.substr(1) + ‘” marginwidth=”0″ marginheight=”0″ name=”main” scrolling=”auto”>’);
document.write(‘</frameset>’);
</script>

ちゅう感じ。という覚書。

value-domain.comとxrea.com,coreserver.com:サブドメインの設定

aaa.comドメインでのDNS
*は使わず、サブドメインから設定する。

sub1 000.000.000.000 A 10
sbu2 000.000.000.000 A 10
www 000.000.000.000 A 10
@ 000.000.000.000 A 10
mail 209.19.56.20 MXE 10(メール転送設定)

ほんで、xrea,coreserverサーバ側の管理画面では、mainをblankにして、
サブドメインをsub*欄に
【サブドメイン】.【ドメイン】
として入れていけばOK。

subdmain_1.jpg

重大な障害がおきました

5分毎に夢の世界と現を渡り歩くちゅうハードな状況に陥り、
(まー連日の朝四時まで作業がひびいたのであろー)

ふと気がつくと、書きかけの仕様書に

好きなおっぱい

と書いていたことはわしとキミだけの秘密にしておこう。

freshreaderユーザに朗報。coreserverでioncube_loaderを利用する方法。

チョー快適なRSSリーダ、Freshreaderですが、サーバ移転したところ、動作しなくなっちゃいました。
まあ、coreserverではphpがセーフモードで稼動してるんで、ioncubeでエンコードかましてると、うまく動作しないんですわーとのこと。

Freshreaderでのioncube利用状況の解説http://manual.freshreader.com/archives/2006/01/ioncube_php_enc.html

で、CoreServerでは回避手段として.htaccessやphp.iniの設置でcgiとして動作させるちゅうのがあるんすが、

参考:http://www.coreserver.jp/help/index.php/phpcgi/

なんやらどうやらうまく動きませんでした。

と、いろいろためすとこのセッティングでいけましたわ。

php.iniに

 zend_extension = /virtual/【ご自身のfreshreader設置先】/ioncube/ioncube_loader_lin_5.2.so

.htaccessに

AddHandler application/x-httpd-phpcgi .php

と記述して、ファイル両方をfreshreader設置ディレクトリにアップロード。
これでいけました。
ちなみに、coreserverはwww.s44.coreserver.jpです。
もしかしたら他のサーバでは動かないかもです。

WordPress:ページ内で特定のエントリーのcontentを表示する方法。

今回は、Wordpressのページテンプレート上で特定のエントリーを抽出表示する方法試してみましたわ。

<?php
$drafts = $wpdb->get_results(“
SELECT post_content FROM $wpdb->posts
WHERE ID=’126′”);
if ($drafts): foreach ($drafts as $draft): setup_postdata($draft); the_content() ?>
<?php endforeach; ?>
<?php else : ?>
Not Found
<?php endif; ?>

ちゅう感じです。

もともとは固定ページで3カラム、んで、それぞれのカラムで別のコンテンツを編集したいとのことで、エントリーよりもページの方が記事が増えると楽チンなので、ページでの更新を想定してくんでみました。

当初はカスタムフィールドの値を表示するようにしてみましたが、記入するテキストフィールドが 狭いし、ソースを理解していないと記入するのが難しいので、
リッチエディタを使える形で検討、

結果、複数のページのエントリーを直接SQL発行して取得して表示させる方法をとりました。

なんか使えそうならば、つかってみてくださいな>WordPressの方。

参考:

http://codex.wordpress.org/Function_Reference/wpdb_Class#get_results_-_SELECT_Generic_Results

カラーミーショップ!プロhttp://shop-pro.jp/で、TOPページでカテゴリ毎におすすめ商品を出す方法。

カラーミーショップ!プロhttp://shop-pro.jp/にて、TOPページでカテゴリ毎にっぽくおすすめ商品を出す方法。
あくまで「っぽく」だけ。

カラーミーショップ!プロhttp://shop-pro.jp/にて、TOPページでカテゴリ毎にっぽくおすすめ商品を出す方法。
あくまで「っぽく」だけ。

<{section name=num loop=$recommend}>

<{if ($smarty.section.num.iteration == 1)}>
<div >
<a href=”<{$category[0].link_url}>” style=”text-decoration:none;”><{$category[0].name}></a>
</div>
<{elseif ($smarty.section.num.iteration == 7) }>
<div >
<a href=”<{$category[1].link_url}>” style=”text-decoration:none;”><{$category[1].name}></a>
</div>
<{/if}>

<div class=”itemarea”>
<div><{if $recommend[num].img_url != “”}><a href=”<{$recommend[num].link_url}>” /><img src=”<{$recommend[num].img_url}>” class=”border” /></a><{else}><a href=”<{$recommend[num].link_url}>” /><img src=”http://img.shop-pro.jp/tmpl_img/17/noimg.gif” class=”border” /></a><{/if}></div>
<a href=”<{$recommend[num].link_url}>” /><{$recommend[num].name}></a><br />
<{$recommend[num].price}>
</div>
<!– 6個で改行(最後は含まない) –><{if $smarty.section.num.iteration % 6 == 0 and $smarty.section.num.last == false}><br class=”clear” />
<{/if}>

<{/section}>

要は、 smarty.section.num.iterationを参照して、6個目で改行させて、

7個目で

<div >
<a href=”<{$category[1].link_url}>” style=”text-decoration:none;”><{$category[1].name}></a>
</div>

を表示させる。適当だけど。
管理画面の表示順で、1-6番目までは、category[0].nameとして、
管理画面の表示順で、7-12番目までは、category[1].nameとして、
表示される。
後はcssで整形するのだー。

500万人、だっけか。

500万人といわれてもぴんとこないけども、家族でmixiに参加しているのを見つけると、秘密もくそもあったもんじゃねーなーとか思った。

知人・友人に紹介してもらわないと入会できないからクローズドで秘密共有な気分って、どこから湧き出した幻想なのんやろかなー。

わしかってにおもってただけかな。 

XAMPP:Apacheが動かないですわ。原因はskypeだった。

思い立ってXAMPPをインストール。XAMPPてのは、apacheやらphpやらMysqlをワンパッケージにしたもので、
ウィンドウズ版やらMacOSXやらLinuxやらいろいろ出ている。

で、起動したところ、なぜかapacheが立ち上がらない。Dosでメッセージ出るので、みると
なんだかport80に先客いますよだかなんだかで、Firewallヵと思いきってみるも動かんので、
なんじゃろーとgoogles様に問うてみると、
同士がいっぱい。
http://yosiwo.lowtech.ne.jp/item/144
http://blog.kyosuke.jp/item/7

 

要はSkypeが80を使ってるのでということであった。

さくっと解決、先人の試行錯誤に乾杯!

xampp_desktop.gif