2015年4月24日金曜日

Appcelerator Studioを仮想環境にInstallして試す

appceleratorいきなり今の環境をアップグレードするのは恐いので、仮想環境のMacにAppcelerator Studioをインストールしたときの覚書。

ホスト環境:OS X 10.10.2, VMware 7.1.1
仮想環境:OS X 10.10.3, Xcode 6.3.1

Titanium SDK 4.0からはAndroid 2.3がサポートされないので、仕事で使っている環境は当分アップグレード出来ない。

 

目次

  1. Appcelerator Studioをインストール
  2. Appcelerator Studioを起動
  3. Android SDKをインストール
  4. ビルドしてみる

 

参考

 


1.Appcelerator Studioをインストール

公式サイトの「Get the latest Tools」からAppcelerator Studioをダウンロードしてインストール。というかコピーするだけ。

起動するとJava SE 6 runtimeが必要といわれるので、AppleのサポートページからJavaをダウンロードしてインストール。

 


2.Appcelerator Studioを起動

起動するとセットアップが開始。node.js 0.10.37がインストールされた。

アカウントを入力してログインすると認証コードの入力が必要になる。登録したメールに送られる。

 

 


3.Android SDKをインストール

公式サイトからダウンロード。

Android Studioは10.10をサポートしてないようなので、Stand-alone SDK Toolsをダウンロード。解凍したandroid-sdk-macosxをApplicationsに配置。

tools -> androidを起動

API10, API19, API21, Google Play servicesに追加でチェックをしてインストール。

ここで仮想マシンのディスク(40GB)がいっぱいになって途中で停止。VMware Fusionで120GBに増やして再起動。Disk Utilityでパーティションのサイズ変更。再開。

 

Appcelerator StudioのPreferences...

Studio -> Platforms -> Android

のAndroid SDK Homeにパスを設定。

 


4.ビルドしてみる

SSHでログイン。既存のTitaniumアプリをチェックアウト。
$ cd Documents/Appcelerator_Studio_Workspace/
$ svn checkout
http://svn.hoge.jp/repos/hoge/trunk/app app
$ cd app

appcコマンドになったらしいので、ヘルプを確認
$ appc help

セットアップ
$ appc ti setup

ビルドしてみる
$ appc ti build -p iphone -T simulator --sim-64bit --tall

[ERROR] Unable to compile project because the 'sdk-version' in the tiapp.xml is not installed

ti.xmlを編集して4.0.0.Beta3を使うように変更して再ビルド。
$ appc ti build -p iphone -T simulator --sim-64bit --tall

[ERROR] Application not registered.

登録しないとビルド出来ないようになったのかな?

Appcelerator Studioを起動しても「Server Currently Unavailable」が表示されているので、とりあえずここまで。

 

 

< Related Posts >

2015年4月22日水曜日

Postfixでメールを受信できるように設定してメール受信と同時にプログラムを起動

postfix既存システムを移行するときに、メール受信と同時にPHPプログラムを実行していたので、移行先でも同じように設定したときの覚書。

環境: CentOS 6.6, postfix 2.6.6

 

目次

  1. postfixをインストール
  2. ファイヤーウォールの設定
  3. メールアカウント作成
  4. メール送信テスト
  5. 不正中継されないかチェック
  6. メール到着と同時にPHPプログラムを起動
  7. メールアドレスを正規表現で指定する

 


1.postfixをインストール

YUM経由でインストールして設定ファイルを編集。
# yum install postfix
# vi /etc/postfix/main.cf

mydomain = hoge.com
myhostname = hoge.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
relay_domains = $mydestination
home_mailbox = Maildir/

postfixを起動。自動起動するようにしておく。
# /etc/rc.d/init.d/postfix start
# chkconfig postfix on

 


2.ファイヤーウォールの設定

メール受信するために25番ポートを開ける。
# vi /etc/sysconfig/iptables

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
COMMIT

 


3.メールアカウント作成

※他のメールアドレスに転送したり、プログラムを起動するだけならアカウントを追加する必要ない。/etc/aliasesに編集するだけでいい。main.cfに「local_recipient_maps=」を指定する必要がある。

 

受信するメールアカウントを作成。Maildirはメール到着したら自動で作成される。
# useradd -s /sbin/nologin info

「info」はデフォルトで転送される設定になっているので、設定ファイルを編集。
# vi /etc/aliases

#info:          postmaste

postfix再起動
# /etc/rc.d/init.d/postfix restart

 


4.メール送信テスト

まずはローカルで配送されるか。
# mail info

外部からもメール送って配送されるか確認する。

infoに届いたメールを確認
# mail -f /home/info/Maildir/

「mail」コマンドは「& help」でヘルプを参照。

<よく使うmailコマンド>
リスト:
& h

転送:転送したいメールを表示してから転送先を入力
& 1
& forward
hoge@gmail.com

全削除:
& d *

保存して終了:
& q

 


5.不正中継されないかチェック

下記サイトでチェックできる。

 


6.メール到着と同時にPHPプログラムを起動

特定のメールアカウントを作って、そのアカウントへメールが来た時にはPHPプログラムで自動返信する。参考サイトは下記

まずはアカウント作成。
# useradd -s /sbin/nologin auto_reply

あとで気付いたけど、プログラムを起動するだけなら、アカウントを作成する必要はない。/etc/aliasesを編集するだけでいい。main.cfに「local_recipient_maps=」を指定する必要がある。

/etc/aliasesを編集
# vi /etc/aliases

#
# Customize
#
auto_reply: "| /usr/bin/php /pass/to/file.php"

再読み込み
# /etc/rc.d/init.d/postfix restart

ちゃんとログ出力する処理を書かないとデバッグが大変。

 


7.メールアドレスを正規表現で指定する(2015/05/15追記)

/etc/aliasesのメールアドレスを正規表現でも指定してプログラムを起動するための設定。下記サイトを参考に。

# vi /etc/postfix/main.cf

local_recipient_maps =
virtual_alias_maps = regexp:/etc/postfix/virtual_maps

「auto_reply」で始まるメールアドレスは全部auto_replyとして処理
# vi /etc/postfix/virtual_maps

/^auto_reply.*(@.*)?$/ auto_reply

設定再読み込み
# /etc/rc.d/init.d/postfix reload

 

< Related Posts >

Related Posts Plugin for WordPress, Blogger...

Blog Archives