Pythonのダウングレード
RESTFUL APIで、OAUTHを使おうとしたらエラーが出た
[Errno 13] file not accessible: '/usr/local/lib/python2.6/dist-packages/oauth-1.0.1-py2.6.egg'
どうやらGoogleAppEnginePythonのバージョンが違うらしい
ubuntuデフォルトは2.6、GoogleAppEngineの要求は2.5
ダウングレード作業
ここでは2.6を消して2.5をソースからインストールする
削除
$ sudo apt-get remove python
インストール準備
$ sudo apt-get install zlib1g-dev $ sudo apt-get install libssl-dev $ sudo apt-get install make $ sudo apt-get install gcc
Pythonをインストールに必要なものをインストール
Python2.5.2設定
$ wget http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tar.bz2 $ bzip2 -dc Python-2.5.2.tar.bz2 | tar xvf - $ cd Python-2.5.2/ $ ./configure $ emacs Modules/Setup SSL=/usr/local/ssl _ssl _ssl.c \ -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ -L$(SSL)/lib -lssl -lcrypto zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
Ubuntuでbz2を解凍したい場合は上記で。
また、sslとzlibを使うために作成されたSetup内の幾つかのコメントを外す
Python2.5.2インストール
$ make $ sudo make install
ライブラリインストール
$ cd $ wget http://peak.telecommunity.com/dist/ez_setup.py $ sudo python ez_setup.py $ sudo easy_install oauth
ライブラリを追加したらGAEは再起動しよう
oauthがエラー無くインポートされて完了
あとで気付いたんだけど、GAEだとこのoauthは使えないので不要だった
雑記
別の手段
ダウングレード以外の方法もあった
- Virtual-Python
Ubuntuにはデフォルトで対応していない
- /home/hoge/ に個別にインストールする
これは気づいたときにはあとの祭りだった
./configure 時にprefix引数を設定する
まぁ他に使う人が居るわけじゃないし、という言い訳で次の機会があったらそうしよう
感想
2.6でもテストコードは動いていたので勘違いして進めていたなぁ
作業時に出たエラー
列挙しとく
zipimport.ZipImportError: can't decompress data; zlib not available
AttributeError: 'module' object has no attribute 'HTTPSHandler'
configure: error: no acceptable C compiler found in $PATH
make: *** [Modules/zlibmodule.o] エラー 1
Mixiアプリ Consumer KeyとConsumer Secret
Restful APIを使うために鍵と暗号が必要らしい
アプリ設定画面にあるらしいのだが、何故か見つからない
ロゴ、アイコン、キャプチャ画像の3つをそれぞれアップロードしてみたら
アプリ設定画面に出てきて解決
GoogleAppEngine
インフラは強力且つ低コストなGoogleAppEngineにする
Googleにアプリケーション登録
Google App Engine
この辺りからナヴィゲーションに従って作業
SDK インストール
開発環境をテスト機にインストール
OSはlinux
$ wget http://googleappengine.googlecode.com/files/google_appengine_1.2.8.zip $ tar zxvf google_appengine_1.2.8.zip $ mkdir /var/www/gae
ファイルDL、解凍。作業ディレクトリ作成 (任意、ここでは/var/www/gae/)
アプリケーション作成
作成したファイル
- app.yaml
- GoogleAppEngineが読み込む定義書
- index.yaml
- GoogleAppEngineのデータベース定義書
- 任意名.py
- 任意名.html
- スクリプトから呼ばれるテンプレート
- ガジェット.xml(mixi用)
- Mixi側が読み込む定義書
の5ファイルを作った
ちなみに後で追加したJavaScript, Flash辺りもちゃんと動いた
作成内容
省略する
Google App Engineを利用してmixiアプリを作成する
がとても参考になる
動作確認
$ sudo ~/google_appengine/dev_appserver.py -a 0.0.0.0 /var/www/gae/ >/dev/null 2>&1 &
開発サーバ起動する
"-a" に0.0.0.0を入れると、アクセス時のホスト名やIPを制限しない
>/dev/null 2>&1 & はバックグラウンドで動かしながらログはすべて捨てる
止めたい場合は
pa axでプロセス番号確認して、kill プロセス番号
起動後アクセスして動作を確認
アップロード
$ ./appcfg.py update /var/www/gae/ Email: Password for メアド: Cloning 4 static files.
アプリケーションIDとパスワードを聞かれる
入力後アップロード開始
DDNS設定
DDNSサービスに登録し、そのサービス専用のIP更新スクリプトをcronで動かす
サービスはいくつかあるが、ここではieServerを使う
登録
以下のURLで登録
http://ieserver.net/
スクリプト設置、設定
IP自動更新のための作業
スクリプトダウンロード
http://ieserver.net/ddns-update.txt
をDL
ホームディレクトリにddns-update.plという名前で設置する
スクリプト設置、編集
ディレクトリ名は任意
mkdir ディレクトリ名 mv ddns-update.pl ディレクトリ名 sudo vim ディレクトリ名/ddns-update.pl
以下の部分を編集、各内容は登録時のもの
$ACCOUNT = "アカウント名"; $DOMAIN = "ドメイン名"; $PASSWORD = "パスワード";
cron設定
権限設定し、5分おきにスクリプトを実行する
ubuntuの場合、cron編集ツールを選ばされるようで、GNU nanoを使ってみた
画面下に表示されるガイダンスを見ながら、Ctrl+キーで保存などが行える
chmod 755 ディレクトリ名/ddns-update.pl crontab -e
以下編集内容
5,15,25,35,45,55 * * * * /home/ユーザ名/ディレクトリ名/ddns-update.pl
cron動作チェック
tail /var/log/syslog
全体の動作確認が出来てるのか、少し怪しいな
mumbleサーバlinux版インストール、設定
現在一番ナイスだと思われるボイスチャット
無料、人数制限なし、高品質
- 他のボイチャとの優位点
- skypeの人数制限(無料だと5人まで、らしい)
- ventriloのライセンス縛り
- TeamSpeakに比べて音質と遅延速度
安定しないって言う話もあるけど、いまのところ使ってる人の中では問題なし
aptリポジトリ設定変更
そのままだとネットワークインストール出来ないので設定を追加する
sudo vim /etc/apt/sources.list
以下を最終行に追加
deb http://ppa.launchpad.net/slicer/ubuntu hardy main deb-src http://ppa.launchpad.net/slicer/ubuntu hardy main
mumbleサーバインストール
GPGキーの設定後にインストール
sudo gpg --recv-key --keyserver wwwkeys.eu.pgp.net DE62F7B1165B2836 sudo gpg --export DE62F7B1165B2836 | sudo apt-key add - sudo apt-get update sudo apt-get install mumble-server
設定変更
sudo vim /etc/mumble-server.ini
パスワードは任意
serverpassword=パスワード
スーパーユーザ作成
どうもSuperUserの設定が旨く行かなかったので
権限を持つユーザを作成して代用する
sqlite3をインストール
sudo apt-get install sqlite3
権限を持つユーザ作成
データベースを編集して権限のあるユーザを作成する
ユーザ名とパスワードは任意
sudo sqlite3 /var/lib/mumble-server/mumble-server.sqlite sqlite> insert into players (server_id, player_id, name, email, pw) values(1, 1, 'ユーザ名', '', 'パスワード'); sqlite> .exit
ここで追記したユーザでクライアントからログインすれば権限を行使できる
クライアントのインストール、設定はここでは書かない
再起動
多分不要だけど再起動
sudo /etc/init.d/networking restart
sambaインストール、設定
ファイル共有サーバ
設定ファイルを送ったりするのに便利なので入れとく
インストール
ubuntu初期設定時に済み
設定変更
sudo vim /etc/samba/smb.conf
以下編集内容
ワークグループ名は任意
workgroup = ワークグループ名 [homes] browseable = no readonly = no create mask = 755 directory mask = 755 valid users = %S
再起動
一応再起動
sudo /etc/init.d/samba restart