2014年12月2日火曜日

【Android Studio】 SDKの入手と設定 追記

Android Studio の公式パッケージにはSDKが含まれていない件について、
公式サイトから、The Eclipse ADT Bundleをダウンロードすると、sdkディレクトリが含まれているので、それを適当な場所に置いておく。
と前回書いたが、 同じページの下の方にある『GET THE SDK FOR AN EXISTING IDE』というところから、スタンドアロンのSDKインストーラーがダウンロード出来るので、そちらを使うのが良さそうだ。

なお、こちらのインストーラーを使うと、デフォルトでは

C:\Users\[ユーザー名]\AppData\Local\Android\android-sdk

にSDKがインストールされる(Windowsの場合)。


これを知った経緯だが、本日「参考書でも買おうかなー」とAmazonを眺めていたところ、2014年11月21日に発売されたばかりの『Android Studioではじめる 簡単Androidアプリ開発』という本に行き当たった。その本のレビューに著者からのコメントがあり、最新(0.8.14)のandroid-studioのセットアップ方法をネットで公開中との事で、それを参考にさせていただいた。

JDK、SDK、本体のインストール共に詳しくまとめられているので、v0.8.14のセットアップについてはそちらの情報を参考にするのが良さそうだ。

本の方も買ってみることにしよう。

2014年11月28日金曜日

【Android Studio】 SDKの入手と設定(Your Android SDK is missing)

Android Studio(v0.8.14)を起動した後、

New Project を開始しようとすると、“SDKが見つからない(Your Android SDK is missing, out of date, or is missing templates. You can configure your SDK via Configure | Project Defaults | Project Structure | SDKs)”とエラーメッセージが出る。




また、Configureを開くと、SDK Managerがグレーアウトして開けない。




























公式サイトのダウンロードリンクには“with the Android SDK for Windows”と書かれているにも関わらず、SDKが同梱されていないらしい。
そのため、SDKを別途入手し、設定する必要がある。

公式サイトから、The Eclipse ADT Bundleをダウンロードすると、sdkディレクトリが含まれているので、それを適当な場所に置いておく。(ただし、AndroidStudioディレクトリ内に置くと、アップデートの際に移動するよう促されるらしい。※こちらのページの、注:2014/11/22追記を参考にさせていただいた。)

Android Studioから、Configure > Progect Deraults > Project Structure を開き、SDKを置いているフォルダを指定する。



SDK Manager が有効になり、エラーメッセージも表示されなくなる。



⇒ 後日追記

参考にさせていただいた情報
Android StudioをインストールしたらSDK Managerが起動しないときの対処
Android StudioにおけるAndroidSDKやJDKのパス設定

【Android Studio】 JDKの環境変数の設定

アンドロイド開発環境 Android Studio (v0.8.14) をダウンロードした。

studio.exe(またはstudio64.exe)を起動しようしたところ、“JDKがインストールされていない。もしインストールされているなら、環境変数JAVA_HOMEを設定せよ”とエラーが出る。


こちらのページを参考にさせていただき、JAVA_HOMEの値を設定した。
が、一つだけハマってしまったのが、以下の箇所。
では「変数名」に「JAVA_HOME」、「変数値」に「C:\java\jdk1.8.0_25;」を入力します(JDKをインストールしたディレクトリに合わせて変更して下さい)。
設定値の後にセミコロン(;)を付けてしまうと、下記のように“The environment variable java_home does not point to a valid jvm installation.(有効なJVMが指定されていない)”とメッセージが出て、起動できない。セミコロンがフォルダ名の一部とみなされている様だ。
(環境変数を設定する際、セミコロン(;)は区切りとして扱われるはずなのだが、何故なんだろう?)


セミコロンを含めずに、正しくJAVA_HOMEの値を指定したところ、正常に起動できた。


なお、studio.exeを使用する場合は32bit版のJDKを、studio64.exeを使用する場合は64bit版のJDKをインストールし、JAVA_HOMEを指定する。64bit版のJDKを設定している場合、32bit版のstubio.exeは起動できない。(逆も同じ。)



2014年7月25日金曜日

【Postfix】メールサーバーの設定について②

個人的に躓いたところ第二弾。

私のPostfixの設定は、基本的に『Postfix実践入門』という本を見ながらやっています。
しかし本の通りにやるだけでは上手くいかない箇所がたまにあります。

SMTP認証 についての設定を行ったところ、外部宛にメールが送信できなくなりました。
メール送信を試みると

サーバー エラー : xxxxx: Relay access denied

とのメッセージが返ってきます。

~原因~


デフォルト設定(# postconf -dで確認可能)では、

smtpd_recipient_restrictions = permit_mynetworks,   
                                                  reject_unauth_destination

と設定されており、自ネットワークからのメールしかリレーしません。
私の場合サーバはVPS上にあるため、MUA(メールクライアント)がある自宅とは別ネットワーク。

~解決法~


/etc/postfix/main.cf の最下部に下記を追記しました。

smtpd_recipient_restrictions = permit_mynetworks,
                                                  permit_sasl_authenticated,
                                                  (認証を通過すればリレーを許可)
                                                  reject_unauth_destination

変更箇所については、postconf -n で確認できます。
設定を再読み込みして、完了。


ちなみに参考書では、「同じサブネットワーク内にあるMUAからの設定例」というのが載っていました。
そのため、サブネットが違うから上手くいかないんだろうなあというのは何となく推測できました。

【yum】インストール可能なパッケージを調べる

# yum install xxx

で、xxx をインストールすることができる訳ですが、
xxxのバージョンその他情報を事前に取得するコマンド。

# yum info xxx

備忘録として。

2014年7月24日木曜日

【Postfix】メールサーバーの設定について(その他)

Postfixについて、色々設定を行っていましたが、どうも挙動が腑に落ちないところが色々。
一番良くわからなかったのが、myoriginやmyhostnameを設定しても反映されなかったりうまく動作しない事。
例えば

myhostname・・・xxx.example.jp
mydomain・・・example.jp
myorigin・・・$mydomain

と設定しているのに、メールを送信するとどうしても ~@xxx.example.jp から送られてしまう。

myhostnameを別名(例えばmail.example.jp。DNSにもちゃんと登録できているはず。)にしても~@xxx.example.jp から送られる。

当然リロード、リスタートはしています。

設定ファイル熟読したり参考書を買ってみたり、色々調べたりしたが、一向に分からないので環境を変えてみることに。

「VPS」は安価に借りられるし、無料期間もあるので、ものは試しと早速利用してみました。

取り敢えずは安くてお試し期間も長い ServersMan@VPS Entry です。
各ソフトのバージョンも新しめのものから枯れているものに変更。

結果、あっさり上記2点の問題はクリアされました。
これまでは古いノートPCを使っており、そのためのハード的な問題なのか、全く関係なくソフト的な問題なのか良くわかりませんが。

環境は以下のとおりです。

(新)
ハード:ServersMan@VPS Entry
OS:CentOS5.9
Postfix:2.3.3

(旧)
ハード:ThinkPadR400
OS:CentOS6.5
Postfix:2.6.6

2014年7月16日水曜日

【Postfix】メールサーバーの設定について①

ここ最近、メールサーバの構築に四苦八苦していました。

取り敢えず最低限の設定だけして、テストをしつつ詳細設定に移っていこうとしていましたが、その最低限のところで躓いていました。

症状としては、
  • メール送信 ・・・ ○
  • メール受信 ・・・ root宛は○、ユーザー宛はX
で、ユーザー名@のアドレスでメールの受信ができません。

ログを見たところ “Recipient address rejected: User unknown in local recipient table” そんなユーザー(メールアドレス)は無いとのこと。

設定( /etc/main.cf )を確認したところ、デフォルトで

local_recipient_maps = proxy:unix:passwd.byname $alias_maps


となっており、/etc/passwd や/etc/aliases を参照する設定になっています。
当然 /etc/passwd には既存のユーザー名が記述されており、設定ミスはなさそうです。

途方に暮れていたのですが、結局 Postfix はメールアドレスの大文字と小文字を識別せずに全て小文字として認識するためと判明しました。

つまり、ユーザー名をExampleに設定した時、Example@ のメールアドレス宛に送信すると、Postfix は example@ と解釈して local_recipient_maps の中を参照します。ところが /etc/passwd の中には “E”xample が登録されているので、ユーザーが見つからない、となるようです。

たまたまユーザー名に大文字を含めていたので、大分ハマってしまいました。

2014年7月3日木曜日

【YAMAHA RTX810】LAN分割をしました。

RTX810で、LANの分割をしてみました。

完成形としては、

VLAN1:192.168.XX.0/24
VLAN2:192.168.YY.0/24

の2つのLANを構築し、VLAN1はプライベートのLAN、VLAN2には公開サーバを設置する予定です。

YAMAHAのこちらのページを参考にLAN分割の設定をしました。


なお、RTX810では、GUIからは設定できない(FWX120は可能のようです)ので、コマンドを用いて設定を行いました。


  1. RTX810のLAN1インタフェースに対してLAN分割機能を有効にする。
    ※RTX810には、LAN1インタフェースしかありません(背面の4ポート)。
    ※コマンドの入力にあたっては、TeraTermを使ってTelnetで接続しました。
     接続後、
> Administorater
と入力すると、
password:
と求められので、パスワードを入力します。
#以下のコマンドを入力していきます。

     # lan type lan1 port-based-ks8995m=divide-network     


  1. スイッチングハブのポート毎に、VLANインタフェースを指定する。今回は、4番目のポートのみVLAN2に指定しました。
     # vlan port mapping lan1.1 vlan1
     # vlan port mapping lan1.2 vlan1
     # vlan port mapping lan1.3 vlan1
     # vlan port mapping lan1.4 vlan2


  1. 各VLANインタフェースに対して、IPアドレスを割り当てます。
# ip vlan1 address 192.168.XX.1/24
# ip vlan2 address 192.168.YY.1/24


以上の設定を行い、各LANから外部へPingを通してみたところ、VLAN1から通した際には正しく応答が返ってくるが、VLAN2からでは応答が返ってこないという状況になりました。

設定を確認してみたところ、ファイアウォールの静的フィルタにおいて、VLAN1にしか適用されていない項目がいくつかありました。上記のPingについては、ICMPの“入”を許可する設定が、VLAN2には適用されていなかった事が原因でした。

ファイアウォールの設定については、“セキュリティレベル7”の自動設定にしていますが、VLAN2には自動的に反映されないようです。その他、VLAN1192.168.XX.0)にしか設定されていなかったフィルタについて、VLAN2にも基本的に全て同様の設定を施しました。

2014年6月12日木曜日

ダウンロードしたファイルのハッシュを確認する方法

ダウンロードしたファイルが改ざんされていない事を確認するために、ハッシュチェックを行います。

Windows

①GUIツールを使う
いろいろなツールがあります。どれが良いのか、よくわかりません。

②FCIVユーティリティを使う
Microsoftがツールを提供しています。コマンドプロンプトで使うユーティリティです。
詳細は、MicrosoftのWEBページを参照。

Linux

Linuxではハッシュチェックのためのコマンドが用意されています。

MD5 : md5sum ファイル名
SHA1 : sha1sum ファイル名

それぞれ、MD5、SHA1のハッシュ値を確認する事ができます。


ム整合性検証ユーティリティ