投稿

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

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

イメージ
WordPressを使って、別SiteのRSS Feedを取得したときのMemo. 環境: WordPress 3.3.2 WordPress 2.8から SimplePie を標準で利用できるようになったので、Official Documentを参考にすると簡単に実現できる。 Function Reference/fetch feed | WordPress Codex SimplePie 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()); ?>"&

郵便番号データを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.csv phpMyAdminから次の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,

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

イメージ
VMware Fusion 上のMac(Lion)にXcodeをInstallしようとしたら、「HDDの空き容量が足りない」と怒られたので、既存のDiskを拡張してみたときのMemo。 環境: VMware Fusion 4.1.2, Mac OS X 10.7.4 参考Site VMware 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 x64 Raid1で構成されている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 Wiki Index 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) - @IT   ALMiniumのInstall まずはALMiniumをgitで取得する # yum install git # git clone https://github.com/alminium/alminium.git Install実行(※ディレクトリ名を変えてインストールしようとすると失敗する) # cd alminium/ # bash ./smelt httpdや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/

[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 start Bringing up interface eth0: Device eth0 does not seem to be present, delaying initialization. 参考になったのは下記Blog Cloned Red Hat/CentOS/Scientific Linux Virtual Machines and "Device eth0 does not seem to be present" Message | Aaron Walrath | Another IT Guy's Meanderings Copy元の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.rules SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="

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 Developers Google 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 Developers Serverに設置してSampleを実行すると動作確認が出来る。 API Keyは設定していなくても動く。 でも、Official Documentには、「公開データを検索するのに認証する必要はないけど、API Keyと一緒にリクエストする必要がある」と書いてあるので、一応API Keyも取得する。 Learn about authorizing requests and identifying your application - Getting Started - Google Books API Family - Google Developers   Google APIs Consoleを使ってAPI Keyの生成 最近はGoogleの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 → Install APCの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 install Installing shared extensions:     /usr/lib/php/modules/ Installing header files:          /usr/include/php/ APC用の設定Fileを新規作成 # vi /etc/php.d/apc.ini 各設定値は下記Siteを参考に。 PHP: Runtime Configuration - Manual How to Install APC (Alternative PHP Cache) on CentOS 5.6 | Steve Jenkins' Blog php-fpmを再起動 # /etc/rc.d/init.d/php-fpm restart 適当な場所にphpinfoを表示して、APCの項目があるか確認。 ちなみにyum経由でもInstall出来る。 # yum install php-pecl-apc 現在のCache状態を確認できる"apc.php"が展開したDirectoryに入っているので、適当な場所に設置しておくのがおすすめ。

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 Zealand Data 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 wiki apache のかわりにnginxを使ってみる(7) nginx でBasic認証(ユーザ名、パスワードを求める )するには | レンタルサーバー・自宅サーバー設定・構築のヒント   まずは 前の記事 を参考に.htpasswdを作成する作業。 # cd /var/www/ # htpasswd -c /var/www/.htpasswd user apacheが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.conf auth_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 { acce