システム屋日誌

情報システム構築、開発手法を中心に気が付いたことを書き留めます。ちいさなことから、おおきなことまで。もちろん、どうでもいいことも。。。
<< December 2017 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >>
 
RECENT COMMENT
RECENT TRACKBACK
れいねっとHP
http://www.rey-net.com
MOBILE
qrcode
PROFILE
無料ブログ作成サービス JUGEM
 
1台のPCに複数の XAMPP をインストールした場合の symfony 環境
先日の XAMPP に加えて、もうひとつ XAMPP をインストールしたら。
symfony が前の XAMPP にひも付いたままになっている。
新しい XAMPP 環境下に symfony をインストールするための手順は以下の通り。

【前提】
 ・以下、前回インストールした XAMPP 環境を C:¥XAMPPA とする。
 ・以下、今回インストールした XAMPP 環境を C:¥XAMPPB とする。
 ・XAMPP のバージョンは 1.7.3
 ・インストールは Pear を用いる。


【環境分析】
 (1)インストールした symfony のあるディレクトリ
 symfony は1つのPCで1箇所しかインストールされない。
 symfony 環境一式は、PC上でただ1か所、以下のような構成でディレクトリに保存されている。
 
 (XAMPPがインストールされたディレクトリ)¥
  + php
   + pear
    + symfony
      (symfony 一式)

 (2)Pear 設定
  * Pear の設定は、以下のコマンドで確認できる。
   pear config-show
    * Pear の設定は、最初にインストールしたときに PC 1台につき1つだけ定義される。
    * Pear のいくつかは、ディレクトリに依存する。
    bin_dir      
    doc_dir      
    php_dir      
    cfg_dir      
    data_dir     
    download_dir 
    php_bin      
    temp_dir     
    test_dir     
    www_dir      

【symfony 再インストール手順】
 (1)古い symfony 環境を削除
 * コントロールパネルで C:¥XAMPPA¥php に移動。
  * symfony をアンインストールするコマンドを実行。
   > pear uninstall symfony/symfony
     uninstall ok: channel://pear.symfony-project.com/symfony-1.4.8
  * Pear Channel list を削除(Remove a Channel From the List)
   > pear channel-delete pear.symfony-project.com
     Channel "pear.symfony-project.com" deleted

 (2)Pear 環境を変更

   > pear config-set bin_dir          C:¥XAMPPB¥php
   > pear config-set doc_dir          C:¥XAMPPB¥php¥docs
   > pear config-set php_dir          C:¥XAMPPB¥php¥pear
   > pear config-set cfg_dir          C:¥XAMPPB¥php¥cfgdirectory
   > pear config-set data_dir         C:¥XAMPPB¥php¥data
   > pear config-set download_dir     C:¥XAMPPB¥php¥tmp
   > pear config-set php_bin          C:¥XAMPPB¥php¥.¥php.exe
   > pear config-set temp_dir         C:¥XAMPPB¥php¥tmp
   > pear config-set test_dir         C:¥XAMPPB¥php¥tests
   > pear config-set www_dir          C:¥XAMPPB¥php¥www

(3)新しい symfony インストール
 * コントロールパネルで C:¥XAMPPB¥php に移動。
  * Pear Channel list を追加
   > pear channel-discover pear.symfony-project.com
    Adding Channel "pear.symfony-project.com" succeeded
    Discovery of channel "pear.symfony-project.com" succeeded

  * symfony をインストールするコマンドを実行。
   > pear install symfony/symfony
    downloading symfony-1.4.8.tgz ...
    Starting to download symfony-1.4.8.tgz (3,177,818 bytes)
    .........done: 3,177,818 bytes
    install ok: channel://pear.symfony-project.com/symfony-1.4.8

  * パスを通す(他の場所でも symfony コマンドを使えるようにするため)
      >PATH=%PATH%;C:¥XAMPPB¥php

(4)動作確認
 * コマンド一覧を表示してみる。
  > symfony -T
     Usage:
      symfony [options] task_name [arguments]    <----- こんなのがずらずら出ればOK
                  :

以上
OpenPNE3+xamppインストールメモ
目的:自分のPC上でOpenPNEのプラグイン開発をする。
制約事項:
 今回はPCのローカル環境なので、運用は考慮していません。
 (1)E-mailは使わない。
 (2)バックエンドと公開ディレクトリを分離しない。
 (3)データベースユーザは、アカウントもパスワードも openpne
 (4)C:¥xampp¥htdocs¥OPENPNE3 にインストール、公開 URL は
       http://localhost/OPENPNE3/web
      
 運用環境では、セキュリティや利便性を配慮して、適宜設定してください。

環境:
   CPU:Celeron(R) 2.53GHz
   Memory:1GB
 OS:Microsoft Windows XP Pro SP2
手順:
 1.xampp のダウンロードとインストール
  公式サイトからxampp をダウンロードしてくる。
  http://www.apachefriends.org/jp/xampp-windows.html

    * 今回は、XAMPP Windows版 1.7.3 〔ベーシックパッケージ〕
      自己解凍型RAR アーカイブ を入手。
      http://www.apachefriends.org/download.php?xampp-win32-1.7.3.exe
    * ダウンロード後、インストーラの指示に従い、インストールする。
    * インストーラの設定は、すべてデフォルトで行った。
    * C:xamppにインストール。
    * インストール後、コントロールパネルで Apache と MySQLを起動する。

 2.データベースの設定
   phpMyAdmin を利用して設定する。
   http://localhost/phpmyadmin/
  (1)mySQL でデータベースを作成する。
     データベース名:openpne
     照合順序:utf8_unicode_ci

  (2)特権を作成する。
    ユーザ : openpne
    ホスト :localhost
    パスワード :openpne
    権限:すべてチェック

 2.5  php のパスを通す
  他の場所でも symfony コマンドを使えるようにするために
   Xammp をインストールしたディレクトリ下の php にパスを通します。
      例) set PATH=%PATH%;C:¥xampp_op¥php¥
  (2011/2/15 追記)

 3. symfony インストール(OpenPNE だけを使うなら、3の青字部分は不要)
  openPNE3シリーズは、symfony という php フレームワークをベースにしています。
  xampp は、symfony に必要なリソースが予め用意されているので、
  下記の設定を行い、symfony 環境を構築します。
   (1)コマンドプロンプトを起動し、C:¥xampp¥php へ移動。
   (2)以下のコマンドを実行

         C:¥xampp¥php> pear channel-discover pear.symfony-project.com

      「Discovery of channel "pear.symfony-project.com" succeeded」という
      メッセージがでれば成功。
     C:¥xampp¥php> pear install symfony/symfony
      「install ok」というメッセージがでれば成功。
  (3)インストール確認
     コマンドプロンプトで、symfony のバージョンを表示してみる。
     >symfony -V
      symfony version 1.4.8 (C:¥xampp¥php¥PEAR¥symfony)

  参考:XAMPP for WindowsにOpenPNEをインストールする
     http://www.koikikukan.com/archives/2011/01/05-000300.php
     ※今回インストールした XAMPP 1.7.3 の場合、php.ini の設定はそのままでOK、
     PEAR は予めインストールされています。

 4.openPNE ダウンロード
  公式サイトから、ダウンロードしてくる。
  http://www.openpne.jp/pne-downloads/
  今回はOpenPNE3.4(3.4.9.2) をダウンロード
  OpenPNE3.4.9.2 プラットフォーム+アプリケーションプラグイン同梱版
  http://www.openpne.jp/pne-downloads/openpne3/#openpne-3.3-3.4
  ファイル名:openpne-OpenPNE3-OpenPNE-3.4.9.2-0-g62869c4.zip
  
 5.openPNE インストール
  参考:https://github.com/openpne/OpenPNE3/raw/OpenPNE-3.4.9.2/doc/ja/OpenPNE3_Setup_Guide.txt
    ※ダウンロードしたソースの doc 以下にも同じ内容のファイルが存在します。
    
  (1)zipファイル解凍
  (2)zip解凍後、openpne-OpenPNE3-9e16c04にあるファイルをすべてC:¥xampp¥htdocs¥OpenPNE3¥に
        コピーする。以下のような構造になっているはず。ファイルが足りないと、インストールに失敗します。
        ファイル数は、全部で2075あるはず。
   C:¥xampp¥htdocs¥OpenPNE3¥
      +-- LICENSE
      +-- NOTICE
      +-- apps/
      +-- config/
      +-- data/
      +-- doc/
      +-- lib/
      +-- log/
      +-- plugins/
      +-- symfony
      +-- test/
      +-- web/
          +-- index.php
          +-- js/
          +-- mobile_frontend.php
          +-- pc_backend.php
            :
  (3)設定ファイルの内容変更
    C:¥xampp¥htdocs¥OpenPNE3¥config の下にあるファイルをコピー
     ProjectConfiguration.class.php.sample → ProjectConfiguration.class.php
    OpenPNE.yml.sampl→ OpenPNE.yml
    OpenPNE.ymlの下記の行を書き換えて保存。
     base_url: "http://example.com"
     → base_url: "http://localhost/OpenPNE3"

  (4)インストーラ起動
    コマンドプロンプトで、以下のコマンドを実行。
    > cd C:¥xampp¥htdocs¥OpenPNE3
    C:¥xampp¥htdocs¥OpenPNE3>php symfony openpne:install
    画面の質問に答えていく。
    
      Choose DBMS:
      - mysql
      - pgsql (unsupported)
      - sqlite (unsupported)
    mysql                 <---入力
    
      Type database username
    
    openpne                 <---入力
    
      Type database password (optional)
    
    openpne                 <---入力
    
      Type database hostname
    
    localhost                 <---入力
    
      Type database port number (optional)
    
    改行                 <---入力
    
      Type database name
    
    openpne                 <---入力
    
      Type database socket path (optional)
    
    改行                 <---入力
    
      The DBMS                 : mysql
      The Database Username    : openpne
      The Database Password    : ******
      The Database Hostname    : localhost
      The Database Port Number :
      The Database Name        : openpne
      The Database Socket      :
    
      Is it OK to start this task? (Y/n)
    
    Y                 <---入力☆
    
      File "Zend¥Validate¥Hostname¥Jp.php" does not exist or class "Zend_Validate_Ho
    stname_Jp" was not found in the file
                 -------> こんなエラーが出て止まる。

  (5)エラーで1回止まる→回避
   OpenPNE と xampp の symfony の競合により、一度エラーで止まります。
   そこで、以下のように一時的にファイル名を変更します。
   
   C:¥xampp¥php¥PEAR¥Zend¥Validate¥Hostname¥Jp.php
   → C:¥xampp¥php¥PEAR¥Zend¥Validate¥Hostname¥Jp2.php

   参考:http://redmine.openpne.jp/issues/205
    回避方法
     1. XAMPP配下のPEARをインクルードパスから外す
     2. XAMPP配下のZendFrameworkのJp.phpのファイル名を、OpenPNEインストール時のみ一時的に変更する
    今回は、2を採用。

  (6)再度インストール開始
    (4)の手順をもう一度実行します。
    今度は、☆の手順後、続きの処理が走り出します。
    数分後「installer installation is completed!」と表示されれば成功。
    
    >> plugin    installing plugin "opAuthMailAddressPlugin"
    >> sfPearFrontendPlugin Attempting to discover channel "plugins.openpne.jp"...
    >> sfPearFrontendPlugin downloading channel.xml ...
    >> sfPearFrontendPlugin Starting to download channel.xml (796 bytes)
    >> sfPearFrontendPlugin .
    >> sfPearFrontendPlugin ...done: 796 bytes
    >> sfPearFrontendPlugin Auto-discovered channel "plugins.openpne.jp", alias
    >> sfPearFrontendPlugin "plugins.openpne.jp", adding to registry
    >> sfPearFrontendPlugin Attempting to discover channel "pear.symfony-project.com
    "...
    >> sfPearFrontendPlugin downloading channel.xml ...
    >> sfPearFrontendPlugin Starting to download channel.xml (803 bytes)
    >> sfPearFrontendPlugin ...done: 803 bytes
      :
     >> plugin    Configuring plugin - sfSymfonyTemplatingViewPlugin
    >> installer installation is completed!

 6.OpenPNE 動作確認
  
  (1)公開画面
     * ブラウザからhttp://localhost/OpenPNE3/web/index.php にアクセス
     * ログインフォームに sns@example.com / password と入力し、ログインできるかどうか確認
     ※メールアドレスとパスワードはログイン後に必ず変更してください
  (2)管理画面
     * ブラウザからhttp://localhost/web/OpenPNE3/web/pc_backend.phpにアクセス
     * ログインフォームに admin / password と入力し、ログインできるかどうか確認
     ※メールアドレスとパスワードはログイン後に必ず変更してください

 7.エラー回避環境を戻す。
   C:¥xampp¥php¥PEAR¥Zend¥Validate¥Hostname¥Jp2.php
   → C:¥xampp¥php¥PEAR¥Zend¥Validate¥Hostname¥Jp.php

以上


MPTT(Modified Preorder Tree Traversal)
最近、PHPフレームワークを使っていて、ツリー構造が簡単にできる機能を発見。 しかし、その機能がデータベースにデータを格納するロジックが今一つわからない。 調べたら、MPTT(Modified Preorder Tree Traversal) という仕組みだということがわかりました。 ツリー構造を予測して横断的に変換する機能ってところかな。 参考:http://dev.mysql.com/tech-resources/articles/hierarchical-data.html
JUGEMテーマ:コンピュータ
USBメモリにCentOS5.5をインストールしてみた。
あけましておめでとうございます。
昨年末は、PCの大掃除をしてみました。
古いノートPCを活用するためにUNIXをインストールしようかと思ったけど
WindowsXP の環境をいったんクリアするかどうかで悩みました。

ふと、USB メモリに UNIX をインストールするというアイデアが浮かび
実際に試してみました。

レシピ:
用意するもの:
 PC1台
  ・万が一、OSが破壊されても大丈夫なもの。
  ・USB からブートが可能なもの。
 ■妝咤促瓮皀螢好謄ック
  ・今回は4GBを使いました。

手順(CentOSの場合):
 PCのBIOSでブートの順番の1位にUSBを設定する。
 iso ファイルをダウンロードしてPCのHD上の任意の場所に保存。
  ・今回は IIJ のミラーサイトから入手しました。
   http://ftp.iij.ad.jp/pub/linux/centos/5.5/isos/i386/
  ・今回ダウンロードしたのは、i386用LiveCD版
   (CDイメージ複数が一体になったもの)
   ファイル名:CentOS-5.5-i386-LiveCD-Release2.iso
   リリース日:05-Jun-2010 01:49
   サイズ:685M
 USB をPCにセットする。
 USB インストーラを作ってくれるソフトウェア(unetbootin)を入手する。
  http://unetbootin.sourceforge.net/
  ・今回はUnetBootinのWindows版をダウンロードしました。
  ・unetbootinインストール後、起動して以下の設定をし、OKボタンを押す。
   1)Diskimage ISO を選択、△妊瀬Ε鵐蹇璽匹靴 iso ファイルを指定。
   2)USB のドライブを選択
  →しばらく、画面の表示を眺めて待つ。
  数分後「リブートして下さい」と英語のメッセージが出る。
 PCリブート(再起動)
 USB から CentOS が起動し、初期画面が表示される。
  (ここから先は、CentOSのマニュアルを見て下さい。)
   Т存OS確認
  念のため、CnetOS をシャットダウンしてから USB を抜いて
  元の Windows が立ち上がるかどうかをチェックして下さい。
 
2000円程度で UNIX サーバが1台手に入るとは・・・
世の中すごいことになってます。

参考サイト:http://linux.pgtop.net/article/139832247.html



JUGEMテーマ:コンピュータ

探しもの、その1
ひまなとき、ネットで探しているものが4つあります。
小説が2つ、CMが1つ、TV番組が1つ。

10年くらいしたら、みつかるかな。

その1.昔読んだ小説1
 有名な作家の短編小説。読み返したいけどタイトルと作者がわからない・・
 井上靖の短編集「姥捨」に収録されていた小説だと思っていたけど、
 どうやら記憶違い。

 手がかり:
 ・現代仮名遣いで書かれている。
 ・舞台は北海道(もしかしたらサハリン)
 ・時代は明治~昭和(少なくとも昭和30年代以前の雰囲気)
 ・主人公は小学生で、親元を離れて一人で湯治に来ている。
 ・湯治場の近くに野宿で暮らしている青年がいる。
 ・青年は東京の大学(多分、早稲田大学)に在学していたことがある。
 ・青年の恋人はロシア人らしい(近所の噂話)。
 
探しものはつづく。


JUGEMテーマ:読書