wordpressのプラグイン、アップデートをssh経由で行う方法

wordpressプラグインをインストール、するには普通、ftpかサーバにログインして指定のディレクトリにプラグインを配置すると思います。 調べていたら、SSH経由でもプラグインのインストール、アップデートができることが分かったのでメモ。

libssh2, pecl ssh2のインストール

yum install libssh2
yum install libssh2-devel
pecl install ssh2-0.11.3

pecl ssh2を有効にする

vi /etc/php.d/ssh2.ini
extension=ssh2.so

を追加します。

SSH公開鍵を作って配置する

ssh-keygen 

その後、 authorized_keysにid_rsa.pubの内容を書きます。

Webサーバを再起動する

/etc/init.d/httpd restart

これで、

wordpress接続情報

のように、接続形式に「ssh2」が追加されれば成功です!

TitaniumのMapViewで使えるイベントまとめ

ちょっとTitaniumをいじっているのですが、地図を扱うmapviewで使えるイベントを調べたのでメモ

  • click → 地図をクリックしたとき

  • complete → 地図の読み込みが終わった時

  • dblclick → 地図をダブルクリックした時

  • doubletap → 地図をダブルタップした時 ※ クリックとタップの違いは??

  • error → mapviewでエラーが起きたとき

  • loading → 地図を読み込んでいるとき

  • longclick → 地図を長くクリックしているとき ※ 長押しってどれくらいの時間??

  • longpress → 地図を長く押している時 ※ クリックとの違いは??

  • pinch → 地図をピンチしたとき

  • postlayout → 描画がおわったとき?

  • regionChanged → 地図の表示領域が変わったとき

  • singletap → 地図の表示領域以外でタップしたとき?

  • swipe → 地図の表示領域以外でスワイプしたとき?

  • touchcancel → デバイスによって、イベントがキャンセルされたとき

  • touchend → イベントが終わったとき

  • touchmove → 地図上をタッチしながら動かしているとき

  • touchstart → 地図上をタッチし始めたとき

  • twofingertap → 2本指タッチしているとき

いっぱいありますね。 実機じゃないとわかりづらいものもあるので、実機に転送して試してみることにします。

参考) 公式ドキュメント

WordPress、ブログにも使える月1500円以下のVPS、レンタルサーバー料金・スペックまとめ

見つけ次第、どんどん追記していきます。

VPS

名前 月額料金 初期費用 メモリ(MB) HDD(GB) memo
SaaSes Osukiniサーバー LT 450 3,000 512 30 http://www.saases.jp/hosting/hos_006.html
ServersMan@VPS Entry 490 0 256 10 http://dream.jp/vps/
バックアップ用途として使用中。ターミナルの反応が遅い...
KAGOYA VPS 840 0? 512 50 http://www.kagoya.jp/cloud/vps/
HDDが10G/105円で増やせる
さくらのVPS 512 980 0 512 20 http://vps.sakura.ad.jp/
使ったことあり。快適。
ServersMan@VPS Standard 980 0 512 30 http://dream.jp/vps/
SaaSes Osukiniサーバー ST 980 3,000 1024 100 http://www.saases.jp/hosting/hos_006.html
CloudCore VPS 980 0 2048 100 http://www.cloudcore.jp/vps/
2011/11/15に発表されたばかり。キャンペーンかつ1年契約で月980円
さくらのVPS 1G 1480 2,980 1024 30 http://vps.sakura.ad.jp/

レンタルサーバー(sshログインができるもののみにしています)

名前 月額料金 初期費用 Disk(GB) memo
さくらレンタルサーバー スタンダード 500 1,000 100 https://www.sakura.ne.jp/standard.html
使ったことあり。快適。
CORE SERVER CORE-MINI 400 0 60 https://www.coreserver.jp/
年払にすると2,500円(月208円になる)
CORE SERVER CORE-A 500 0 120 https://www.coreserver.jp
CORE SERVER CORE-B 990 0 240 https://www.coreserver.jp
ロリポップ レンタルサーバー チカッパプラン 500 0? 30 http://lolipop.jp/service/plan-chicappa/
レオサーバー 525 1,050 無制限!? http://www.leosv.jp/
※1ヶ月契約だと月1,050円、1年契約で月525円
KAGOYA 共有サーバー PERSONAL 840 0 50 http://www.kagoya.jp/shared3g/
※ただしDBはオプション
heteml 1500 3,950 42.195 http://heteml.jp/service/function/


[更新履歴]

  • 11/16 VPSにCloudCore VPSを追加
  • 11/14 共有サーバーに「レオサーバー」を追加
  • 11/14 共有サーバーに「ロリポップ レンタルサーバー チカッパプラン」、「heteml」を追加
  • 11/14 エントリ作成

MySQLを5.1から5.5にアップグレードしてハマったのでメモ

MySQL5.5からは、/etc/my.cnfの文字列設定の項目名が変わりました。

5.1は

default-character-set = utf8

だった箇所を、

character-set-server=utf8

としないといけませんでした。

/var/log/mysqld.logに、

[ERROR] /usr/libexec/mysqld: unknown variable 'default-character-set=utf8'

と出力されていて気づきました。

ひょんなことからiPhoneアプリ作ることにしたので勉強の過程をメモしていきます

手始めに積ん読にしていた「はじめてのiPhoneプログラミング( http://www.amazon.co.jp/dp/4797354011/ )」を読んでいこうかなとおもってパラパラ読んでいると、まずは公式ドキュメント読もうと書いてあったので従うことにしてみました。

まずは「iOSテクノロジーの概要」から

読んだ感想としては、iOSでどんなことができて、それぞれどのドキュメントを読めば解決できるという道しるべを提供してくれるドキュメントという感じでした。
以下、後で見直せるように気になったところをまとめておきます。

iOSテクノロジーの基礎

  • マルチタスクの裏で何が起こっているか
    • アプリAを立ち上げつつ、アプリBを立ち上げると、アプリAはメモリ内に保持され、一時停止状態になる
      → バックグラウンドでも動きつづけていると思っていました... ただし、以下のことはアプリ側でハンドリングできるようです。
      • 一時停止までの時間をアプリ側で制御できる
      • 定期的にバックグラウンドで何かしらの処理をする必要があれば、アプリ側で制御して実行できる
      • 一時停止中でもユーザーへの通知(Local Notification)を行うことができる

また、マルチタスクに対応するには、開発者側でコードを書く必要があるようです。
→ 「iOS Application Programming Guide」 参照

印刷機能(ワイヤレス対応のプリンタと通信してiPhoneのコンテンツを送信できる)
iOS4.2から
→「Drawing and Printing Guide for iOS」 参照


データ暗号化
iOS4.0から
→「iOS Application Programming Guide」 の「Implementing Standard Application Behaviors」参照


Apple Push Notification
→ iOS3.0から
いわゆるPush通知。文字での通知、アイコンバッジ、音声による警告の3種類がある。
→「LocalandPushNotification Programming Guide」参照


Local Notification
iOS4.0から

  • Apple Push Notificationの違いは、ネットワーク的に離れたサーバにプロセスを常駐させるか、ローカル(アプリ内)だけで完結できるか。


Gesture Recognizer
→ iOS3.2から
ジェスチャーのサポートを提供
「Event Handling Guide for iOS」参照


ファイル共有サポート
→ iOS3.2から
「Information Property List Key Reference」参照


ピアツーピアサービス
→ iOS3.2から
Bluetoothを使って、他のデバイスと通信を行う
「GameKitProgrammingGuide」参照 → GameKitについては、「Game Kit Framework」参照


外部ディスプレイのサポート
→ iOS3.2から

Cocoa Touchフレームワーク

Address Book UI
連絡先系
→『Address Book Programming Guide for iOS』および『Address Book UI Framework Reference for iOS』を参照


Event Kit UIフレームワーク
カレンダ関連イベント
→『Event Kit UI Framework Reference』参照


Game Kitフレームワーク
→ iOS3.0から
アプリ間通信


Game Center( Game Kitの拡張 )
iOS4.1から
『Game Kit Programming Guide』および『Game Kit Framework Reference』を参照


iAdフレームワーク
iOS4.0から
アプリからバナー広告配信
『iAd Programming Guide』参照


Map Kitフレームワーク
→ iOS3.0から
スクロール可能な地図
iOS4.0から
ドラッグとオーバーレイ(地図にルート等の情報を重ねる)が可能に
『Location Awareness Programming Guide』参照


Message UIフレームワーク
→ iOS3.0から
Email作成
iOS4.0から
SMSメッセージ作成ができるようになった。


UIKitフレームワーク
イベント管理用
『UIKit Framework Reference』参照

Mediaレイヤ

  • グラフィックス
    • CoreGraphics(Quartz) → 2D画像のレンダリング。『Quartz 2D Programming Guide』、『Core Graphics Framework Reference』参照
    • Core Animation → ビューをアニメーション
    • OpenGL ES → 2D, 3Dのレンダリング補助
    • Core Text → テキストレイアウト、レンダリング
    • Image I/O → 画像の読み書き。『Image I/O Reference Collection』参照
    • Assets Library → フォトライブラリの写真・ビデオにアクセス。iOS 4.0から。 『Assets Library Framework Reference』 参照
  • オーディオ
    • Media Player → iTunesライブラリにアクセス
    • AV Foundation → オーディオの再生、録音を管理。iOS 2.2から。iOS3.0からは録音機能、iOS 4.0からはムービーの再生、ムービーのキャプチャ等が追加。 『AV Foundation Framework Reference』 参照
    • OpenAL → 定位オーディオ(??)を扱う
    • Core Audio → 上3つのフレームワークよりオーディオの細かい制御を行う。『Core Audio Overview』参照
  • ビデオ
    • UIKitのUIImagePickerController → カメラでビデオを録画
    • Media Player → ムービーを表示。『Media Player Framework Reference』参照
    • AV Fundation → ムービーのキャプチャと再生
    • Core Media → 上3つのフレームワークよりビデオの細かい制御を行う

AirPlay

  • アプリからApple TV、AirPlayスピーカーに音楽をストリーミング配信

→ AV Fundation, Core Audioフレームワークで扱う
『Multimedia Programming Guide』を参照

Core Service

  • 上位レベルの機能
    • ブロック ≒ クロージャ
    • Grand Central Dispatch → アプリ内のタスク管理。非同期処理など。『Concurrency Programming Guide』参照
    • In-App Purchase → アプリ内課金。iOS3.0から。『In App Purchase Programming Guide』参照
    • SQLite
    • XML → NSXMLParseクラス
  • Core Services
    • Address Book → 連絡先情報にアクセス
    • CFNetwork → ネットワーク関連(ソケット、SSL通信、HTTP等)
    • Core Data →MVCのMの部分。『Core Data Tutorial for iOS』参照
    • Core Fundation → 配列、文字列、日付、URL等の基本的なデータまわり。『Core Foundation Framework Reference』参照

読み終わっての疑問

  • iOSのバージョンによって、割と使える機能、そうでない機能があるけど、iOSのアップデートはどれくらいのユーザーが行ってくれるものなのか?
  • AV FoundationとCore Audioは何が違う? AV Fundationの方が上位レベルのフレームワークなので、扱いやすい? Core Audioの方が下位なので細かいところまで制御できる?

phpmyadminにアクセスできるIPを制限する方法

CentOSの例をメモ。


.
. basic認証設定とか
.

Options none
AllowOverride AuthConfig

Order Deny,Allow
Deny from all
# 許可するIP
Allow from xxx.xxx.xxx.xxx
Satisfy All

Alias /phpmyadmin/ /usr/share/phpmyadmin/

Satisfy All

がポイントで、例えばbasic認証&IP制限の2重で防御したい場合、

Satisfy Any

だと、basic認証かIP制限どちらかがOKであれば認証を突破できてしまい、
basic認証のid, passが漏れた際にIP制限の意味がなくなってしまうので注意。