python開発環境構築
毎回忘れるので残しとこうと思います。
■ ref
- homebrew
http://mxcl.github.com/homebrew/
https://github.com/mxcl/homebrew/wiki/the-brew-command
- git
http://blog.digital-squad.net/article/123090058.html
- virtualenv
http://www.virtualenv.org/en/latest/index.html
http://pypi.python.org/pypi/virtualenv
- virtualenvwrapper
http://pypi.python.org/pypi/virtualenvwrapper
- pip
http://pypi.python.org/pypi/pip
参考として環境情報を。
■ 手順
まずは、homebrewを更新。
brew update brew upgrade brew --version
pythonをインストール。
brew install python
※Xcode ver4.3とhomebrewで、だいぶはまりました。
解決方法はこちら。
http://d.hatena.ne.jp/kinneko/20120218/p4
※何も考えず最新版をインストールしてますが、
homebrewでバージョンを指定したいときは、こちらを参考に。
http://stackoverflow.com/questions/3987683/homebrew-install-specific-version-of-formula
(homebrewでバージョン指定する場合は、結構めんどい。)
virtualenvとvirtualenvwrapperをインストール。
sudo easy_install virtualenv sudo easy_install virtualenvwrapper
virtualenvwrapperを使うためにシェルスクリプトの設定をする。
.zshrcに下記を追加。
export WORKON_HOME=$HOME/.virtualenvs source `which virtualenvwrapper.sh`
設定を有効に。
source .zshrc
仮想環境を作成。
mkvirtualenv -p /usr/local/bin/python py27
仮想環境はworkonで切り替える。
workon py27
仮想環境を抜けてOSの環境に戻る。
deactivate
pipをインストール
easy_install pip
[diary] 2012/01/29- 02/04
redmineの構築
あんまりよくわかってないけど、
さくらのVPSにredmineを構築しました。
http://blog.redmine.jp/articles/redmine-1_2-installation_centos/
↑の手順で、1時間くらいで初期構築ができました。
さらにredmineとsubversionの連携もしたんですが、
連携も下記手順ですんなりいけました。
http://satospo.sakura.ne.jp/blog_archives/tech/web/redmine105_svn.html
気づいたことといえば、rbの設定ファイル書き換えたら、apache再起動しないと設定が有効にならないっぽいってことですね。
動的に生成してるのかと思っていたら、その辺は性能上げるためにプロセス起動時に読み込むって考えれば、
当たり前といえば、当たり前ですね…。あくまで憶測ですが、、、
sshの初期設定
新年もあけたということで、さくらのVPSの再構築でもしようかと。
まずは、大事なアカウントとsshまわりの設定から。
http://blog.myfinder.jp/2010/09/vpsssh.html
ほぼ、↑のサイトに沿ってやってって感じです。
wheelグループの登録とか、sudo実行のログ取得とか、
自分の知らなかった設定方法がのってたので、勉強になりました。
大体の流れは、こんな感じです。
- 一般ユーザの作成
- 公開鍵認証のための鍵の生成と配置
- sshdの設定
- ログインテスト
- sudoの設定
- rootパスワードの無効化
- sudo実行のログ取得設定
以下、詳細というか、自分なりの補足です。
一般ユーザの作成
さくらのVPSでOSを再インストールすると、最初はrootしかアカウントがないので、まずは自分用のアカウントを作ります。
$ ssh <sakura's server> -l root # useradd tkak # passwd tkak # usermod -G wheel tkak # id tkak # ls -ld /home/tkak
usermod -G wheelは、root権限をwheelグループに属するユーザに制限するため。
※ wheelグループ: http://itpro.nikkeibp.co.jp/word/page/10005502/
公開鍵認証のための鍵の生成と配置
次に、sshするときパスワード入力をしないようにするため、
クライアント側で秘密鍵と公開鍵を生成して、公開鍵をサーバ側に登録します。
クライアントPCで
$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/<home dir>/.ssh/id_rsa): <- Enter Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /<home dir>/.ssh/id_rsa. Your public key has been saved in /<home dir>/.ssh/id_rsa.pub. The key fingerprint is: ... $ ls -l ~/.ssh/ $ scp ~/.ssh/id_rsa.pub tkak@<sakura's server>:.
※ dsaよりもrsaのほうが安全性は高いらしいです。
http://monoknock.blog116.fc2.com/blog-entry-34.html
さくらのサーバで
$ mkdir .ssh $ ls -ld ~/.ssh $ cat id_rsa.pub > ~/.ssh/authorized_keys $ rm id_rsa.pub $ chmod 600 ~/.ssh/authorized_keys
sshdの設定
rootでのログインを許可しない、パスワード認証をしないための設定を入れます。
# vi /etc/ssh/sshd_config --- // yesからnoに変更 PermitRootLogin no PasswordAuthentication no --- # /etc/init.d/sshd restart
※sshdの設定って、頭に#がついているものは、無効化されているのではなく、デフォルトの設定なんだってね…。知らなかったー。
ホントのコメントは頭に「#と (半角スペース)」がついている。
ssh: http://open-groove.net/linux/sshd_config-option/
ログインテスト
ここで、ログインのテストをしてみます。
$ ssh <sakura's server> Permission denied (publickey,gssapi-with-mic).
あれ、、、なんかsshできない…。
調べてみると、.sshのパーミッションが700になってないとでるみたい。
※sshで「Permission denied (publickey,gssapi-with-mic).」が出た時: http://d.hatena.ne.jp/h-yano/20080225/1203952174
修正します。
$ chmod 700 ~/.ssh $ ls -ld ~/.ssh
再度sshしたら、ログインできました!
$ ssh <sakura's server> SAKURA Internet [Virtual Private Server SERVICE] <sakura's server>$
以下の3つは、
http://blog.myfinder.jp/2010/09/vpsssh.html
↑のやり方そのままなので、省略します。(別にめんどくさくなったからとかじゃ、、、
- sudoの設定
- rootパスワードの無効化
- sudo実行のログ取得設定
sudoを誰が実行したかログを取得するようにすれば、
rootになろうとして失敗したときにアラートメールを送信するなんてこともできますね。
と、まぁ、そんな感じで、
sshの初期設定が完了しましたー。
-- 追記 --
変にsshアクセスされるのも嫌なので、
sshのデフォルトポート22番をハイポート(1024~65535)に変更しておきます。
# vi /etc/ssh/sshd_config --- #Port 22 Port XXXXX ---
クライアントから接続するときは、下記になります。
$ ssh <sakura's server> -p XXXXX
[diary] 2012/01/09
- dotcloudいじったが、挙動がいまいちわからない。postgresqlを使うと404 not foundが表示される。
- ネットで買った自転車を自分で組み立てたので、自転車屋に持っていってチェックしてもらいたい。
- ネットで、プロポーズの経験談を読んだ。そろそろ時間がない。
- 今週の土曜に占いに行こう。
- ダイニングテーブルが欲しい。下記のサイトがよさげ。
- http://www.unico-fan.co.jp/ (unico)
- http://www.momo-natural.co.jp/top.html (MOMO natural)
Xcodeを入れずにOS Xでgccを使う方法
MacPortsやhomebrewを使いたいときにgccが必要になるので、
今まで仕方なくXcodeをいれてましたが、
Xcodeを入れずにgccを使う方法を見つけたので、
メモしておきます。
環境
■OS 10.7.2
■Xcode 4 and 3 (※インストール済み)
まずは、インストール済みのXcodeをアンインストールします。
$ sudo /Developer-3.2.6/Library/uninstall-devtools --mode=all $ sudo /Developer/Library/uninstall-devtools --mode=all
ver 3.2.6は4をインストールした時にversionを分けるために作られてますが、
両方削除します。
次に、インストールするパッケージを入手します。
https://github.com/kennethreitz/osx-gcc-installer
自分の場合は10.7用をダウンロードしました。
ダウンロードした下記のファイルを開いて、インストーラに従ってすすめば、インストール完了。
GCC-10.7-v2.pkg
きちんとインストールされたかどうか確認します。
$ gcc --V i686-apple-darwin11-llvm-gcc-4.2: no input files
なんか必要なファイルがないよとメッセージがでました…。
これはなんかgccの問題っぽいのでまた今度…。
はてなブログを初めてみた
はてなブログがオープンベータ化したので、初めてみました。