投稿

5月, 2012の投稿を表示しています

WordPressで別SiteのRSS Feedを取得する(SimplePie)

イメージ
WordPressを使って、別SiteのRSS Feedを取得したときのMemo.環境: WordPress 3.3.2WordPress 2.8からSimplePieを標準で利用できるようになったので、Official Documentを参考にすると簡単に実現できる。Function Reference/fetch feed | WordPress CodexSimplePie Documentation: API Reference<?php
$rss = fetch_feed('http://example.com/rss/feed/goes/here');
if (!is_wp_error( $rss ) ) {
    // 件数の取得。最大で5まで。
    $maxitems = $rss->get_item_quantity(5);     // RSSデータを配列形式で取得。最初は0。
    $rss_items = $rss->get_items(0, $maxitems);
}
?>
<ul>
    <?php if ($maxitems == 0) echo '<li>No items.</li>';
    else
    // ループしながら表示する。
    foreach ( $rss_items as $item ) : ?>
    <li>
        <a href="<?php echo esc_url( $item->get_permalink() ); ?>"
        title="<?php echo '投稿日時:'.mysql2date(get_option('date_format'), $item->get_date()); ?>">
        <?php echo…

郵便番号データをCSVからMySQLへImport

イメージ
日本全国の郵便番号をDatabaseに取り込んだときのMemo.環境: CentOS 5.8, MySQL 5.5.24郵便番号のデータはCSV形式で郵政省のOfficial SiteからDownload出来る。データ形式を参考に。郵便番号データダウンロード - 日本郵便郵便番号データの説明 - 日本郵便参考にしたSite.郵便番号データを定期的に更新するサンプル(Linux & MySQL) | システム開発ブログ(システム開発のアイロベックス|東京都新宿区の業務システム開発会社)DownloadしたCSVはEditorで開いてUTF8に変換してもいいし、Command Lineでも簡単に出来る。
# iconv -f=sjis -t=utf8 KEN_ALL.CSV > ken_all_utf8.csvphpMyAdminから次のSQLを実行して、保存用のTableをMySQL上に作成。CREATE TABLE zip_code (
    jis        varchar(10)  NULL,
    zip_old    varchar(5)   NULL,
    zip        varchar(7)   NULL,
    addr1_kana varchar(100) NULL,
    addr2_kana varchar(100) NULL,
    addr3_kana varchar(100) NULL,
    addr1      varchar(100) NULL,
    addr2      varchar(100) NULL,
    addr3      varchar(100) NULL,
    c1         int          NULL,
    c2         int          NULL,
    c3         int          NULL,
    c4         int          NULL,
    c5         int          NULL,������…

VMware Fusion上のMacのDisk容量を拡張する

イメージ
VMware Fusion上のMac(Lion)にXcodeをInstallしようとしたら、「HDDの空き容量が足りない」と怒られたので、既存のDiskを拡張してみたときのMemo。環境: VMware Fusion 4.1.2, Mac OS X 10.7.4参考SiteVMware Communities: Resizing Virtual Disks With Step by Step InstructionsまずはVMware Fusionで作業。SettingsからDisk sizeを変更する。Snapshotがあると拡張出来ない。拡張後Guest OSを起動して、Applications → Utilities → Disk Utility。拡張したDiskを選択 → Partitionの画面で、"Partition Layout"をDragして好きなだけ拡張出来る。けど、変更して「Apply」後「Verification failed」のErrorが表示されて、拡張出来ない。既存Diskを選択してVerifyしてみると下記Error.Command + Rを押しながら起動したあとのRecovery画面からRepair Diskする必要があるというので、やってみた。VMware FusionがInstallしてあるMacはVNCでWindowsから操作しているので、ALT + Rを連打しながらGuest OS再起動。Disk Utilityを起動してRepair Disk → Partition拡張をやってみたけど、失敗。半分諦めて、Guest OS起動 → Disk Utility → 余っているSpaceに別Partitionを作成 → 作ったのを削除 → 最初と同じようにdragしてDisk拡張すると無事完了。。。まぁ、そんな日もあるよね。< Related Posts >VMware FusionにVirtual MachineとしてMac OS X LionをInstallする方法【CentOS】LVMでディスク容量を拡張(VMwareのHDD容量を増やす)

"SMART Failed"でCentOSが起動しない。Linux Live CDを作成してDataを救出

イメージ
ある日、ssh経由でyumを打つと途中から応答がなくなった。公開しているWeb Siteも表示されなくなった。rebootも受け付けなくなったので、強制的に再起動してみるとConsole画面に下記のようなMessageが。環境: CentOS 6.2 x64Raid1で構成されているHDDの一つが調子悪くなった(壊れた?)みたい。このままでもCentOSは起動する。起動してからPingが返ってくるまで、3時間ぐらいかかったから、ほっとけば一応動いたのかもしれない。今回の場合は、Supportの人がすぐ来たので、HDDを交換してもらう作業をしてもらった。HDD(250GB)を交換してからMirroringの作業が完了するまで約4時間。以下念の為にLive CDでDataを取り出そうとしたときに調べたMemo.CDのみで起動できるLinux系のDistributionはWikipediaを参考に。Linuxライブディストリビューションの比較 - Wikipedia今回はCentOS LiveCDをDownload。Manuals/ReleaseNotes/CentOSLiveCD5.6 - CentOS WikiIndex of /Linux/centos/5.6/isos/x86_64 | Riken FTP< Related Posts >【CentOS】LVMでディスク容量を拡張(VMwareのHDD容量を増やす)【Linux】プロセスのメモリを確認して不要なサービスを止める

Project管理をRedmineでするためにALMiniumをInstallと設定

イメージ
下記記事を読んで、Redmineを使ったProject管理に興味が出てきて、アジャイル開発の一つスクラム(Scrum)を試してみようとALMiniumをInstallしてみた。いまアツいアジャイルプロジェクト管理ツール9選+Pivotal Tracker入門 (1/3) - @IT環境: CentOS 6.2 x86_64, ALMinium 1.2.1(Redmine 1.3.3)ALMiniumはRedmine, Subversionなどアジャイル開発に必要なToolを一括でInstallしてくれる。参考にしたのは下記。alminium | githubスクラムやるならRedmineとALMinium! ~新キャラ登場!無表情なあの人が笑う日は来るのか?~ (2/3) - @ITALMiniumのInstallまずはALMiniumをgitで取得する
# yum install git
# git clone https://github.com/alminium/alminium.gitInstall実行(※ディレクトリ名を変えてインストールしようとすると失敗する)
# cd alminium/
# bash ./smelthttpdやmysqldなど必要なServiceをInstallして、/opt/alminiumにruby applicationとして配置される。Redmineの設定管理者でSign In
(Login: admin, Password: admin) 管理用のUserを追加 新規作成したUserでLoginし直す adminを"Lock"に "Host name and path"を正しいHost Nameに RedmineのEmail notifications(メール通知)の設定"Email notifications"に下記Messageが表示されているので、Email delivery is not configured, and notifications are disabled.
Configure your SMTP server in config/configuration.yml and restart the application to en…

[VMware Fusion] CentOS6のVMをCopyしたらNetworkに繋がらない

イメージ
新しく仮想マシンを作成するために、前に作っておいたOS Install直後の仮想マシンをCopyして起動すると、Networkに繋がらなかったときのMemo.環境: VMware Fusion 4.1.2, CentOS 6.0 x64(kernel 2.6.32)Networkを起動しようとすると下記Error# /etc/rc.d/init.d/network startBringing up interface eth0: Device eth0 does not seem to be present, delaying initialization.参考になったのは下記BlogCloned Red Hat/CentOS/Scientific Linux Virtual Machines and "Device eth0 does not seem to be present" Message | Aaron Walrath | Another IT Guy's MeanderingsCopy元のNetworkが"eth2"で作成していたのが問題らしい。< 2015/09/14 Modified >
「I copied it」にすると新しいMAC Addressが提供されるので、これに合わせて設定する必要がある。VMware FusionのSettings → Network Adapter → Advanced Optionsで表示されるMAC Addressを設定する。
# vi /etc/sysconfig/network-scripts/ifcfg-eth0この設定を(して再起動)すると/etc/udev/rules.d/70-persistent-net.rulesが変更されるので、以下のように最後の行だけ残して削除する。設定Fileを変更
# vi /etc/udev/rules.d/70-persistent-net.rulesSUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:28:fd:3c", ATTR{type…

Google Books APIをPHPから利用する方法と設定

イメージ
前回WordPress向けに作ったGoogle書籍検索を利用するPluginをVersion UpさせたときのMemo.まずGoogle Books用のAPIが2011年5月に刷新されて、今はこちらの方に注力しているらしい。前のGData APIとJavascript APIもまだ使えるけど、いつ使えなくなるか分からない。詳しくは下記Official Blogで。Inside Google Books: New Books API for DevelopersGoogle Books API Family - Google Developersやった事Zend GDataからOfficial Siteで紹介されているGoogle APIs Client Library for PHPに変更。 Google APIs Consoleを使ってAPI Keyの生成と埋込み Sampleを参考にしながらCustomize Zend GDataからGoogle APIs Client Library for PHPに変更下記Google Books APIのOfficial SiteからLibraryをDownloadする。Libraries and Samples - Google Books API Family - Google DevelopersServerに設置してSampleを実行すると動作確認が出来る。API Keyは設定していなくても動く。でも、Official Documentには、「公開データを検索するのに認証する必要はないけど、API Keyと一緒にリクエストする必要がある」と書いてあるので、一応API Keyも取得する。Learn about authorizing requests and identifying your application - Getting Started - Google Books API Family - Google DevelopersGoogle APIs Consoleを使ってAPI Keyの生成最近はGoogleのAPIにアクセスするための管理コンソール画面が提供されている。Google APIs Console初めてアクセスする場合は次のような画面「Create Project」して、使用するAPIを選…

nginx + php-fpmの環境にAPCをInstallしてWordPressのCache機能を有効に

イメージ
nginx + php-fpm + WordPressの環境にAPC(Alternative PHP Cache)をInstallしてWordPressのCache機能を有効にする方法。環境: CentOS 5.8 x86, nginx 1.2.0, php-fpm(php) 5.3.10, WordPress 3.3.2, APC 3.1.9
APCをDownload → Compile → InstallAPCのDownloadは下記から。PECL :: Package :: APC必要なSoftwareをInstallしてCompile
# yum install php-devel
# tar xzvf APC-3.1.9.tgz
# cd APC-3.1.9
# phpize
# ./configure --enable-apc
# make
# make installInstalling shared extensions:     /usr/lib/php/modules/
Installing header files:          /usr/include/php/APC用の設定Fileを新規作成
# vi /etc/php.d/apc.ini各設定値は下記Siteを参考に。PHP: Runtime Configuration - ManualHow to Install APC (Alternative PHP Cache) on CentOS 5.6 | Steve Jenkins' Blogphp-fpmを再起動
# /etc/rc.d/init.d/php-fpm restart適当な場所にphpinfoを表示して、APCの項目があるか確認。ちなみにyum経由でもInstall出来る。
# yum install php-pecl-apc現在のCache状態を確認できる"apc.php"が展開したDirectoryに入っているので、適当な場所に設置しておくのがおすすめ。WordPressからAPCを使えるように設定下記FileをDownloadして/wp-content/の直下に設置する。APC Obj…

SingaporeのDomain「.sg」をOnly Domainsで取得する

イメージ
個人で「.sg」domainを取得したときのMemo.Value Domainでも取得出来るのだけども、値段が高い(5910円/1年)ので、Only Domainsで取得、管理することにした。Only Domainsの場合はS$45.70/year(=約2900円)。購入手続きを完了するとstatusが「PENDING」になって、下記のうちいずれか2つを送るようにEmailが来た(土曜に登録して、火曜にEmailが来た)。Passport
パスポート Drivers license
車の免許証 National ID card
国民IDカード A utility account (no older than 2 months)
2ヶ月以内の有用(公共)な身分証明書 企業の場合は「Business Certificate(会社証明)」も送るように書いてある。会社で取得したときは、何も必要なく、登録とほぼ同時にDomainが使えるようになった。おそらく会社の住所とSingaporeのCredit Cardを使ったからだと思う。とりあえずPassportのCopyとEmployment PassのCopyを送った。その後...10時間後:「12時間後に作業完了します。」というEmailさらに2時間後:「作業完了しました。」というEmailこれでLogin後のDashboardから無事管理出来るようになった。< 2012/10/01 Modified >
どうせならHostingもOnly DomainsにしようかとData Centerがどこの国に置いてあるか聞いてみた。Support CenterはNew ZealandData CenterはAmericaにあるらしい。< Related Posts >Singaporeで安いレンタルサーバーを探すDomainをOnlyDomainsに移行した[Domain Register]Go DaddyとValue Domainを使ってみた感想

nginxでBasic認証を設定

イメージ
apacheで.htaccessと.htpasswdを使って簡易User認証をしていたように、nginxでも実現する方法。環境: CentOS 5.8, nginx 1.2.0参考にしたSiteは下記。HttpAuthBasicModule | nginx wikiapache のかわりにnginxを使ってみる(7) nginx でBasic認証(ユーザ名、パスワードを求める )するには | レンタルサーバー・自宅サーバー設定・構築のヒントまずは前の記事を参考に.htpasswdを作成する作業。
# cd /var/www/
# htpasswd -c /var/www/.htpasswd userapacheがinstallされていない場合は下記を参考に設定する。How do I generate an .htpasswd file without having Apache tools installed? | Faq | nginx wiki次にnginxのconfを設定
# vi /etc/nginx/conf.d/01_hoge.confauth_basic    "Secret Area"; 
auth_basic_user_file  "/var/www/.htpasswd"; これを追記。設定を再読み込み。
# /etc/rc.d/init.d/nginx reloadちなみにnginxのconf全文は下記。server {
    listen       80;
    server_name  dev.hoge.com;    root    /var/www;
    index   index.php index.html index.htm;
    charset utf-8;    location = /robots.txt  { access_log off; log_not_found off; }
    location = /favicon.ico { access_log off; log_not_found off; }    auth_basic    "Secret Area&qu…