さくらインターネット Zend Frameworkの導入 .htaccessの設定でつまづく

さくらインターネットにZend Frameworkを導入したときのメモ
1.Zend Frameworkの入手
$ pwd
/home/ユーザ名
$ mkdir lib
$ cd lib
$ wget http://framework.zend.com/releases/ZendFramework-1.9.2/ZendFramework-1.9.2.tar.gz
2.Zend Frameworkの配置と展開
$ tar xvfz ZendFramework-1.9.2.tar.gz
3.php.iniの設定
さくらインターネットサーバコントロールパネル>[サーバツールの設定]>[PHP設定の編集]
include_path = “/home/ユーザ名/lib/ZendFramework-1.9.2/library”
4.動作確認
$ mkdir $HOME/www/test
$ vi $HOME/www/test/index.php
< ?php
require_once 'Zend/Date.php';
$date = new Zend_Date();
echo $date->get(Zend_Date::RFC_2822);
5..htaccessの設定
  存在しないリクエストは全てindex.phpに処理させる。
$ cd $HOME/www/test
$ vi .htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php [L,QSA]
6..htaccessの動作確認
$ vi test.html
てすとです。
 ブラウザで以下を確認
 1)http://ドメイン/test/
   →index.phpが表示されること
 2)http://ドメイン/test/aaa.html ※)存在しないURL
   →index.phpが表示されること
 3)http://ドメイン/test/test.html
   →test.htmlが表示されること

さくらインターネット+サブドメイン+サブディレクトリ+Nucleus+NP_CustomURL

Nucleusの記事を静的に見せるプラグイン「NP_CustomURL」を導入した。
筆者の環境(さくらインターネット)はサブドメインを用いているのだが、NP_CustomURL+サブドメイン+サブディレクトリという組み合わせにかなりはまってしまった。
まだそれ程テストしてみた訳ではないのだが、なんとなく動いた感じがしているのでメモ。
■やりたいこと
 以下の様に同一nucleusで複数のブログを立ち上げ、なおかつそれぞれにサブドメインを与えたい。
 http://test1.xxx.xxx/ → $HOME/www/nucleus/index.php
 http://test2.xxx.xxx/ → $HOME/www/nucleus/abc/index.php
■設定
1)$HOME/www/nucleus/index.php
< ?
 $CONF = array();
 $CONF['Self'] = '';
 include('./config.php');
 selector();
 ?>
2)$HOME/www/nucleus/.htaccess
 
  RewriteEngine on
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^(.*)$ /index.php?virtualpath=test1$1 [L,QSA]
 

3)$HOME/www/nucleus/abc/index.php
 < ?php
 $CONF = array();
 $CONF['Self'] = '';
 include('../config.php');
 selectBlog('abc');
 selector();
 ?>
4)$HOME/www/nucleus/abc/.htaccess
 
  RewriteEngine on
  RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ /index.php?virtualpath=abc$1 [L,QSA]
 

 ※)別のサイトでの解説では以下の様に設定しているパターンが多いが、筆者の環境では動かなかった。
   具体的には、赤文字のスラッシュの有無で「カテゴリ」のURLに二重スラッシュが入ってしまうというもの。
   例:http://xxx.xxx.xxx./xxx//xxx/
  RewriteEngine on
  RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?virtualpath=abc/$1 [L,QSA]
5)DNS(EveryDNS)の設定
 CNAME test1.xxx.xxx [アカウント名].sakura.ne.jp
 CNAME test2.xxx.xxx [アカウント名].sakura.ne.jp
6)さくらインターネットでのドメインの設定
 ドメイン名:test1.xxx.xxx パス:/nucleus/
 ドメイン名:test2.xxx.xxx パス:/nucleus/abc/
7)Nucleusの管理画面
 ・BlogのURLをそれぞれ設定
  →http://test1.xxx.xxx/
   http://test2.xxx.xxx/
 ・あとは何をいじくり回したのか覚えてない
以上。

tera termでSSH接続 -公開鍵暗号方式(RSA)

さくらインターネットでCVSを利用するで公開鍵暗号方式(RSA)でのSSHの設定を行った。
今までは同じSSHでもパスワード認証で接続していたが、せっかくなのでターミナル(筆者はtera termを使用)からも公開鍵認証で接続することにした。
※)SSHやRSA、公開鍵暗号方式などはwikipediaで詳しく説明されている。
1.tera term起動
2.ホストを指定して、「サービス」には「SSH」バージョン「SSH2」を選択
3.「RSA/DSA鍵を使う」にチェックを入れ、「秘密鍵」に『さくらインターネットでCVSを利用する』で作成した秘密鍵ファイル(id_rsa)を選択
4.「パスフレーズ」には公開鍵・秘密鍵を作成した際に入力した「パスフレーズ」を入力
 ※)レンタルサーバ業者から教えてもらったパスワードではない
5.「OK」を押下
うん。こっちの方が楽だしいかにもセキュアな感じがする(アバウトな感想)

さくらインターネットでCVSを利用する

レンタルスペース(さくらインターネット)でCVSリポジトリを作成してみようと思い立った。
筆者は基本的に、WEBサイトの開発環境はローカル(windows xp + eclipse)で行っている。
普段は外付けHDDにvmwareの仮想OS(CentOS)を入れていて、そこでsubversionを利用してバージョン管理している。
vmwareはさすがに動作が重いので、普段はvmware関連のサービスは切っておいて、必要に迫られた時以外は起動しない。
それ故、いちいち起動したり停止したり面倒なのだ。
調べたところ、どうやらさくらインターネットではcvsが利用可能とのことなので早速試してみた。
■前提
 1)RSA暗号とは、桁数が大きい合成数の素因数分解問題が困難であることを安全性の根拠とした公開鍵暗号の一つである
 2)公開鍵暗号とは、暗号化と復号に別個の鍵(手順)を使い、暗号化の為の鍵を公開できるようにした暗号方式である。
 3)鍵生成アルゴリズムは事前準備にあたるアルゴリズムで、(将来暗号文を受け取りたいと思う)全てのユーザは事前に鍵生成アルゴリズムを実行しておく必要がある。ユーザが鍵生成アルゴリズムを実行すると、アルゴリズムはそのユーザの公開鍵および秘密鍵(と呼ばれるデータ)を出力する。
 4)公開鍵は暗号文を作成するのに使い、秘密鍵はその暗号文からメッセージを復元するのに使う。
 5)ユーザは鍵生成アルゴリズムを実行する際、セキュリティ・パラメータ(パスフレーズ)という値をこのアルゴリズムに入力する。セキュリティ・パラメータ(パスフレーズ)は、秘密鍵なしで暗号文の解読がどれだけ困難かの尺度である。さらに鍵生成アルゴリズムには乱数も入力される。
 6)鍵生成アルゴリズムは実行ごとに異なる乱数を選ぶので、ユーザ毎に異なる公開鍵・秘密鍵ペアが割りふられる。各ユーザは秘密鍵を秘密裏に保管し、公開鍵を皆に公開する。よってユーザの秘密鍵を知っているのはそのユーザ自身だけであるが、それに対しユーザの公開鍵を知っているのは全てのユーザである。公開鍵、秘密鍵をそれぞれ暗号化鍵、復号鍵ともいう。
— 以上、wikipediaより引用
1.サーバにログイン
2.$HOMEでcvsrootディレクトリを作成
$ mkdir cvsroot
3.リポジトリの作成
cvs -d $HOME/cvsroot init
4.鍵の生成(eclipse編)
 eclipseのバージョン:
 1)ウィンドウ>設定>一般>ネットワーク接続>SSH2を選択
 2)「鍵管理タブ」を選択し、「RSA鍵の生成」を押下
 3)「パスフレーズ」及び「パスフレーズの確認」に任意の値を設定する
 4)「秘密鍵の保管」ボタンを押下
   保管場所は「一般」タブの「SSH2ホーム」に設定されているディレクトリになる。
 5)「OK」を押下
5.サーバ側の設定
 1)$HOMEに.sshディレクトリを作成
   $ mkdir .ssh
 2)4で作成した公開鍵(id_rsa.pub)を1)で作成した.sshディレクトリにアップロード
 3)公開鍵の名前変更
   $ cd $HOME/.ssh
   $ mv id_rsa.pub authorized_keys
6.再びeclipseの設定
 1)ウィンドウ>パースペクティブを開く>その他でCVSリポジトリー・エクスプローラーを選択
 2)現れたCVSリポジトリービュー内で右クリック>新規>リポジトリ・ロケーションを選択
 3)必要事項の記入
   ホスト:ホスト名またはIP
   リポジトリー・パス:3で作成したリポジトリパス(今回のケースは「/home/[アカウント名]/cvsroot」)
   ユーザ:レンタルサーバのアカウント名
   パスワード:レンタルサーバのパスワード
   接続タイプ:extssh
んで試しにeclipse上の既存プロジェクトをチェックインしてみる。
ちゃんとでけた。

“さくらインターネットでCVSを利用する”の続きを読む

FreeBSD(さくらインターネット)へのNucleusCMSのインストール

NucleusCMSとはMySQLとPHPによって動作するサーバ設置型のオープンソースなブログ向けコンテンツ管理システム(CMS)
さくらインターネットへインストールする手順
1.本家サイトから最新版のNucleusCMSをダウンロード
  今回ダウンロードしたのはNucleus バージョン3.41
2.サーバーへアップロード
  
3.解凍、出来たディレクトリを適当な名前に変更
$ unzip NucleusCMS_3.41Release.zip
$ mv NucleusCMS_3.41Release nucleus
4.config.phpのパーミッションを以下に変更
$ chmod 666 config.php
5.ブラウザから転送したinstall.phpにアクセス
あとは手順に従うのみ。