火曜日, 4月 29, 2014

PHP 5.5 & cakephp(on composer)

Jenkinsをインストールした際にfinallyを使っているものがうごかねぇ!という事が判明したので、macとcentosのphpのバージョンをアップ!
ついでにcomposerに寄り道した時のメモ

やったこと:php55とphp-fpmのインストール cakephp on composer
composerを利用してphpunitを目的のものをインストール(古すぎず、新しすぎず欲しいライブラリを自由に個々の環境にインストールしてbundlerみたいに)

まず、php5.5のインストール

mac:

まとめ:色々あって問題解決 twitterからその時のログをコピペ
brew doctor->指定の問題を解決->brew uninstall opennssl->brew uninstall postgresql-> brew install openssl postgresql -> brew install php55 -オプション
原因:openssl postgresqlの順に参照しているライブラリのシンボルが無いぜーってエラーでした。

linux:

まとめ
remi-php55 remiを追加yumリポジトリとして利用する事で解決。
linuxに関してはソースインストールを行うも、コンパイル後、postgresqlのシンボル周りでオコされたので撤退。
php55のインストールについては、以下の記事参照。
CentOSにPHP5.5をインストール - Qiita

事の発端はcakephp cakeコマンドでbakeコマンドを動かそうとしたら、おこられたことから。

久しぶりにアップデートをかけてみると、やっぱりかなり更新があったみたいです。。。
パッケージが新しい状態かどうか確認するのは大切ですなー。

composer

http://book.cakephp.org/2.0/ja/installation/advanced-installation.html
pearの問題点であるバージョンの異なるライブラリを読み込みできない事を解決しようぜ!ってものだと思っています。
んで、cakephpからcomposerでライブラリをインストールしていたのですが、面倒になってcomposerでcakephpで管理してしまえ!
という事で、
手順メモ: (以下の項目に関してですが、一度整備してしまえば、cakephpとりに行って準備するより面倒が少なくてよいかなと。)

composerの取得

composer.json作成

結構使い方間違っているんだろうな。って項目も多いですが、以下のように。

bundle installのように


php composer.phar install  
memo:このときrequire-devの項目に関してはインストールされないはずなんですが、なんかインストールされていました。 まぁ、使うのでいいのですけど。(プロダクション環境では無効にできるようにしておかなければなりませんが)

ディレクトリ確認

その後のディレクトリ構成は以下のようになっていると思います。
▸ Plugin/
▸ Vendor/
  composer.json
  composer.lock
  composer.phar*

プロジェクト作成

./Vendor/bin/cake bake applitionname
applicationnameに指定した名前がカレントディレクトリに作成されます。

bootloaderの設定

このままでは、せっかくインストールしたphpunitも動かないので、bootloaderもちゃんと設定してあげましょう。

※gistをbloggerでさくさく貼付ける方法が欲しいです。

composerを使ってcakephpを導入しなかった人へ

通常使っているbootloaderと少し異なるので、diffでもとった後に導入を検討してください。(きっと、この辺はcakephpを素で落としただけの人も使える)

以上です。使いたいライブラリが増えたらpeclとかじゃ無い限り対応できますし、何よりライブラリの制限も設ける事ができるので、よりよいのではないかなと思います。

結果

成果:php5.5系のインストール composerの導入
失ったもの:kyototycoon用のdatasource。。。。 残っているとうれしいかな。

火曜日, 4月 08, 2014

nginx + passenger macで

rvmで構築された状態でpassengerのインストールについて分かりやすく書いてあった。
Nginx + Passenger 3 + RVM for Rack app on OS X using homebrew only 

そもそもpassengerをnginxで動かすときの設定って覚えていなかったので、調べてみると簡単に説明した所があった。
Design Recipe 別館 Blog - nginx + Passenger による Rails 環境の構築 

CentOS 6.4 server setup with Ruby On Rails, Nginx and PostgreSQL - Karol Galanciak - Ruby on Rails developer from Łódź, Poland 

nginx側にpassengerについて教えてあげるところが記載されていなくて、403になっていったぽい。