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


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