2010年10月6日水曜日

SSH公開鍵認証への変更設定(サクラVPS)

サクラのVPSを借りたので、
パスワードでのログインを禁止して鍵認証への切り替えを行ないました

クライアントは Windows (poderosa)を使って鍵認証を行ないます。

このあたりがすごく参考になります。

さくらのVPSを借りたら真っ先にやるべきssh設定

CentOSをサーバーとして活用するための基本的な設定

ユーザの作成

さて、
申し込みが完了したんだけど、rootのパスがわかんない、、、
と思ってたら、

申し込みが完了してから、20分後くらいにrootのパスワードが
書かれたメールが届くので、それまでじっとしてましょう。

rootのパスワードを確認したら、普通にSSHでログインして作業を開始します。

ユーザの作成
 
>>useradd xxxxx   
>>passwd xxxxx   
>>usermod -G wheel xxxxx

鍵の生成と登録(ウィンドウズ側で作業)

たいていのクライアントで鍵を生成できますが
今回はPoderosa(http://ja.poderosa.org/)
を使って認証用の鍵を作っておきます。

Poderosaを起動したら [ツール] - [SSH鍵作成ウィザード] を選択




アルゴリズム:RSA
ビット数  :1024

パスワードを入力して次へ

「秘密鍵を名前をつけて保存」をクリック
このファイルを仮にsakura_secret.keyとして保存

「OpenSSH形式で公開鍵を名前を付けて保存」をクリック
このファイルを仮にsakura.pubとして保存

この2つのファイルは非常に重要なので厳重に管理しましょう。

鍵の生成(さくらVPSにROOTでログインして作業)

>>cd /home/xxxxx (ユーザーディレクトリに移動)
>>mkdir .ssh (.sshディレクトリを作成)
>>chmod 700 .ssh (.sshディレクトリの権限をxxxxxに変更)
>>chown -R xxxxx:xxxxx .ssh (所有者をrootからxxxxxに変更)

>>vi ./.ssh/authorized_keys (公開鍵ファイルを作成、編集)

先程、作成したsakura.pubの中身をまるごとautorized_keysにコピペして保存。

ここで、一旦作成した鍵でログイン出来るか試してみましょう。
うまく行かない場合は、以下のファイルを見てエラーを出力してないか確認できます。

>>tail -f /var/log/secure

sshdの設定変更

今の状態ではパスワード、公開鍵認証の両方が出来る状態ですので
ROOTでのログインとパスワードでのログインをできないようにします。
>>vi /etc/ssh/sshd_config

# PermitRootLogin no 
# PasswordAuthentication no

に変更して保存

sshdをリスタートします。

>>/etc/init.d/sshd restart


最後に新規作成したユーザがrootになれるように設定します。

#
>>/usr/sbin/visudo

//コメントを外す
wheel ALL=(ALL)    ALL

rootになれることを確認
>>sudo su

パスワードでログイン出来ないこと、鍵認証でログインできることを確認できれば、作業完了です。


乙!

2010年10月5日火曜日

cakephp 1.3  最短インストールと初期設定 (Linux)

cakephpは軽量フレームワークで小~中規模のWebアプリケーションに向いており
さらに、短時間でWebサービスを開発できるとして、人気の高いPHPフレームワークです。

私も非常に気に入っており、重宝しているので、おすすめです。

今回は、ダウンロードからインストールまで、開発をスタートできる状態まで手順を記述しておきます。




ダウンロード

公式サイトにアクセスして、最新版を取得してください。


CakePHP公式サイト

ダウンロードページ

(*2010年10月現在の最新版は1.3.4)

tgz と zip 形式が選べます。
今回はzip形式を選択。


インストール

それでは、ダウンロードしたZipを適当な場所に配置してください。
今回は、/home/users/に ダウンロードしたZipファイルを配置します。

解凍

仮に、開発を行うサーバを /var/www/ 以下のディレクトリとしておきます。
開発用ディレクトリにZipファイルを解凍します。

unzip -d /var/www/ /home/users/cakephp-cakephp-1.3.4-0-g703344c.zip
あと、適当な名前にディレクトリ名を変更しておきましょう。

unzip -d /var/www/ /home/users/cakephp-cakephp-1.3.4-0-g703344c.zip

Apacheの設定

DocumentRootを変更します。
外部からアクセスがあった場合に、 基準となるローカル側のディレクトリですね。

Apache の設定は通常 /etc/httpd/http.conf を編集しておこないます。
ファイルを開いたら、DocumentRootの記述部分を見つけて、解凍先以下に変更します。

DocumentRoot "/var/www/cake/app/webroot"

保存したら、Apacheを再起動させて設定を反映させましょう。


>> /etc/init.d/httpd restart





php.iniファイルの確認


php.iniのタイムゾーンを指定しておかないと、エラーになるので確認。
記述がなければ、以下のように編集して保存します。

vim /etc/php.ini 
date.timezone =Asia/Tokyo
設定を反映させるために、apacheを再起動してください。




書き込み権限の付与


次に、CakePHP の一時保存ディレクりについて、書き込み権限を付与しておきます。

chmod -R 777 /var/www/cake/app/tmp


以上で、インストールまでが完了です。
基本的なアプリ開発方法等についても、追記していく予定です。

2010年9月30日木曜日

VIMの基本 ちょっとした編集ならコレだけ覚えればOK

・自分用のメモなので、追記・修正はご容赦ください。

VIMでプログラミングはやらないけど、SSHでコンソールを操作しているときにちょっとした修正ができると便利ですので、メモ。


モードの基本

()カッコの中はそのモードになるために押すコマンド

ノーマルモード
起動した時はこれ。ESCを押下すると常にここに戻る
(ESC Ctrl-Cでも可能)

インサートモード
文字を実際に書く場合は、このモードになっている必要がある。
(ノーマルモードでi)

ビジュアルモード
選択モード。このモードの時に、範囲を指定してコピー&ペーストなどを行う
(ノーマルモードでv)

コマンドモード 
画面下部のコマンドを入力するモード
(ノーマルモードで:)

カーソル移動

Vimでは以下の2種類のカーソル移動方法がある

・普通に矢印(カーソルキー)で移動

・キーボード(jkhl)

j ↓ 下
k ↑ 上
h ← 左
l → 右

☆ノーマルモード・ビジュアルモードのみ

カーソル移動は原則利用できるので
それほど、戸惑うことはないと思います。

ただ、後者のキーボード移動は結構便利です。
j↑ k↓ は中指と人差し指で移動できるので

保存

コマンドモード時

:w
上書き保存

:w test.html
test.htmlという名称で保存

:q
終了する
内容が変更されている場合は、保存してから終了する事を求められる保存するなら 
:w
の後 
:q

内容を保存せずに強制終了するなら 
:q!

:wq
上書き保存して終了

:q!
強制終了

:w!
強制保存

:wq!
強制保存後、終了

コピー&ペースト

ノーマルモードでvを押下
(つまり、ESC → v )

ビジュアルモードになったら、移動して範囲指定

v 
選択モード

V
行選択モード

Ctrl+v
短径選択モード

そして選択モードで

y
コピー (yank)

d
削除    (delete)

p
ペースト(paste)

☆これらの操作は全て、ビジュアルモードで行われる。
貼りつけだからといってインサートモードにはならないこと

目的の場所へ効率よく移動する

カーソル移動だけだと、サイズの大きいサイズだと大変ですよね。

検索

/〇〇○ 

検索に合致した部分がハイライトされるので、
そこを順番に参照していくには

n 
次を検索

N  
前を検索

次のページ、前のページ

Ctrl + b 
前のページへ移動 (Backward)

Ctrl + f  
次のページへ移動 (Forward)

タブ

タブで開く

:tabnew filename

コンソールから複数のファイルをタブで開く場合

vim -p file1 file2 file3

タブの切替

:tabn
:tabnext
 次のタブ

:tabp
:tabpreview
前のタブ



:tabfir
最初のタブへ移動

:tablast 
最後のタブへ移動


ウィンドウの分割


:new file
横方向で指定ファイルで分割して表示する

:vne    
縦方向で指定ファイルで分割して表示する

:Ctrl-W w
カーソルを次のウィンドウに移動する


操作の取り消し

:u
アンドゥ

:Ctrl+r
リドゥ


VIMを実行しながら、外部プログラムを実行する

:! コマンド

例えば 編集中にapacheを再起動する場合

:!/etc/init.d/httpd restart