OctoberCMSインストールしてみた

Laravelの話をしていたらOctoberCMSを紹介されたのでインストールしてみた。
やっとこさできました。

インストール

参考2のようにcomposerで。

$ composer create-project october/october october dev-master

app/config/app.phpはurlを変えるくらいでいいかなと。
app/config/cms.phpもそのままで。

$ php artisan october:up

ん?なんかコンソールに警告でたぞ。
まあいいや。参考3にあるようにアクセスしてみよう。
http://***.***.***.***/~mfham/october/index.php
エラー・・・えらーいこっちゃ><

やったこと

DB、ユーザ作成

参考3にはちょろっと書いてありますが、私はDB等作らずにやっていました。
作りました。

# 権限絞ったほうがいいのかな
# 最初select, delete, update, insertだけ許可してたら、alterできませんって後でエラーが出ました
mysql>  GRANT ALL ON *.* TO october@"localhost";
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> create database october;

そしてapp/config/database.phpに上記設定を書く。

その後URLに再度アクセスしてみる。

SQLSTATE[HY000] [2002] No such file or directory

ソースをgrepする。必死にググる。なんとなく原因分かる。
app/config/database.phpに設定追加

# mysql.sockの場所追加
'mysql' => array(
            'driver'    => 'mysql',
                  ・
                  ・
                  ・
            'prefix'    => '',
            'unix_socket' => '/tmp/mysql.sock', # add this parameter
        ),

そうだ、october:upしなきゃ。忘れてた。

$ php artisan october:up

お!さっきとはコンソールに出力されたものが違う!successfully!

再びURLにアクセス。見れた。
~/index.php/backendも見れた。

結論

  • database.phpにちゃんと設定を書く。
    • mysql.sockの場所は必要があれば?

backendにログインすると、以下のメッセージが表示されていました。

There are issues you need to pay attention to in order to configure the system properly.
Directory /themes or its subdirectories is not writable for PHP. Please set corresponding permissions for the webserver on this directory.
Directory /uploads or its subdirectories is not writable for PHP. Please set corresponding permissions for the webserver on this directory.
Directory /uploads/public or its subdirectories is not writable for PHP. Please set corresponding permissions for the webserver on this directory.
Directory /uploads/protected or its subdirectories is not writable for PHP. Please set corresponding permissions for the webserver on this directory.

親切。

$ sudo chown -R apache:apache themes/
$ sudo chown -R apache:apache uploads/

久々のphpbrewでエラーが出たのでごにょごにょした

Laravelを試したくてインストールしようとしたら、PHPのバージョンが低くて怒られたので、phpbrewで5.4.0以上のものを使おうと思ってゴニョゴニョやったときのメモ。

環境

  • CentOS 6.6
  • yum install openssl-devel」は実行済み。

インストール

参考1にあるようにインストール。

$ phpbrew install 5.6.4 +default+openssl+mysql+soap+exif+iconv

# build.logの内容
configure: error: Cannot find OpenSSL's libraries

ググる

分からない事はググって~♪。ググりましたが、似たようなエラーがmacで起きるらしく、macの情報ばかり出て知りたい情報がなかなかでてきませんでした。
参考2にあるように同じようなことで困っている方も。
ようやく見つけたのが参考3および4。

対策

$ ln -s /usr/lib64/libssl.so /usr/lib/libssl.so
$ ln -s /usr/lib64/libcrypto.so /usr/lib/libcrypto.so

そして再びインストールコマンド実行したらインストールできました。
念のためbuild.log見ると、「'make test'」実行するのを忘れないでねって書いてあったので、

$ cd .phpbrew/build/php-5.6.4
$ make test

したら、いくつかfailedが・・・。
make testの最後に以下が表示されました。

You may have found a problem in PHP.
This report can be automatically sent to the PHP QA team at
・
・
・

そういう仕組みになっているんですね。

肝心のLaravelは?

今インストール試しています。
インストールできたっぽいです。動作確認します。
できた!!いけた!になおき!

$ composer create-project laravel/laravel LaravelTest

YAPC::Asia2014ちょっとだけ行ってきた

前提

・二日券購入
・行く気満々

一日目

体が気怠く行けなかった。。行かなかった。。。
Mojoliciousのは本当に聞きたかった。Lintの話も。
ほんとにほんとにほんとにほんとにライオンだーレベルでほんとに。

二日目

朝からちょい気怠さが。
YAPC::Europeの話、App::PRTの話、LTちょっとだけ聞いた。
Acme大全買ってみた。

感想

  • プレゼンが素敵
    • 会場で笑いが起こるのいいですね。スマイル。
  • 会場パンパン
    • 早めに行ったけどパンパン
    • 二階席の端で立ち見チャレンジしたけど画面が見えなかった
    • だから途中で帰った
  • ノベルティいいですね!

tig再びインストール

以前やったとき
git、tigインストールメモ

環境

CentOS 6.5 64ビット

インストール

$ wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
$ rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
$ sudo yum install tig
=======================================================================================================
 Package                     Arch               Version                     Repository            Size
=======================================================================================================
Installing:
 tig                         x86_64             1.2-1.el6.rf                rpmforge             142 k
Installing for dependencies:
 bash-completion             noarch             1:1.3-7.el6                 epel                 216 k

Transaction Summary
=======================================================================================================



tig時の日本語が文字化けする。。。

YAPC::Asia Tokyo 2013に行ってきた

書くのがすごく遅くなりました。
YAPC::Asia Tokyo 2013に行って来ました。
1日目、懇親会、2日目に参加しました。


感想

  • グッズがたくさん!

ありがとうございます。
ミクシィさんのグッズはいろんな種類がある気がします。就活のときもUSBハブのやつをいただきました。Facebookよりもmixiのほうが好きです。本当です。
さくらインターネットさんからはさくらクラウドの2万円分無料券をいただきました。使ってみます。

  • 聞いていても分からないことが多すぎる

私の知識不足です。がんばります。
大規模Perl初心者研修を支える技術やさしいGit の内部構造は心穏やかに聞くことができました。

  • Perl使って開発するならコウヤッテというスタンダードなものを知ることができた

使ったことのないものは使ってみます。

  • おもしろい

そのままです。

  • 1人で(知り合いがいない)懇親会に参加するのはドキドキした

人見知りなので懇親会に参加するか迷っていましたが、えいや!と参加してみました。
勇気を出して声をかけ、7名ほどの方々とお話させていただきました。
お話しした方々は若い方が多かったので刺激になりました。

  • キャンパス入り口に案内板みたいなものがあるとよかった

迷いました。
キャンパス入り口に"YAPC会場はこちら→"というような張り紙1枚あるだけでもうれしかったなーと思いました。
HPに詳しく写真が載っていた気がしますが、当時ガラケーを使っていたのでHPを見ることが困難でしたので><


その他
手を動かそう。

Redmineインストール

昔インストールしたRedmineのバージョンが1.xでした。
が、2.3.2がリリースされているみたいなので、それをインストールして使うことにしました。
基本的にRedmine.JP Blogの手順で進めていきました。
が、いくつか詰まった箇所があったのでメモしておきます。

環境

詰まった箇所

基本的には手順参考を見て進めました。が、詰まりました。
詰まった点は、

  • bundlerのインストール・・・(ア)
  • Redmineの初期設定とデータベースのテーブル作成・・・(イ)
  • PassengerのApache用モジュールのインストール・・・(ウ)
  • Apache上のPassengerでRedmineを実行するための設定・・・(エ)

です。

(ア)

(A)のコマンドを打つとエラーが出ました。
エラーメッセージを元にグーグル先生に相談していたところ、(B)を見つけました。
ここで書かれているlibyaml-develのインストールは(A)でもやっているんですよね。
いろいろ試した結果、libyaml-develをインストールする前にrvmでRubyをインストールしていたのがよくなかったみたいです。((A)ではRubyのインストール前にlibyaml-develをインストールしています)

$ rvm remove 1.9.3
$ yum install libyaml-devel
$ rvm install ruby-1.9.3
$ gem install bundler --no-rdoc --no-ri
(イ)

この実行でエラーが出てしまいました。

$ RAILS_ENV=production bundle exec rake db:migrate

原因は、config/database.ymlの内容を書き間違えていたことでした。
はぁ・・・

(ウ)

この実行でエラーが出ました。

$ passenger-install-apache2-module

wrapper scriptsが古いよと。かなり悩まされました。
解決するために(E)(F)を参考に、いろいろやってみましたが、おそらく(D)の中段に書かれているこれをやればよかったのかなと思っています。
はっきりとした原因は分かりません。

cd /home/srcnix/.rvm/gems/ruby-2.0.0-p0/bin/
./passenger-install-apache2-module

(A)にはpassenger-install-apache2-moduleコマンドを実行するような書き方でしたが、passenger-install-apache2-moduleがあるディレクトリに移動して、上記のように実行するとうまくいきました。

(エ)

よっしゃインストールできた!と思って、ブラウザからアクセスすると・・・
"・・・SpawnPreparer/" : Permission denied と表示される・・・
ホームディレクトリのパーミッションが原因でした。
(G)のStep3:loosen permissionsにより解決。

感想

めっちゃ時間かかりました。
このRedmineによって土日の作業が効率的になるといいのですが・・・なるはず!

その他

YAPC::Asia Tokyo 2013、20,21日どちらも見に行きます!

libpuzzleを使ってみる

これまたやってみたかったので。

環境

インストール

GD2が必要みたいなので。

$ yum install gd gd-devel

Libpuzzleインストール。

$ wget http://download.pureftpd.org/pub/pure-ftpd/misc/libpuzzle/releases/libpuzzle-0.11.tar.bz2
$ tar -jxvf libpuzzle-0.11.tar.bz2
$ cd libpuzzle-0.11
$ ./configure --with-libpuzzle
$ make clean
$ make
$ make install
$ cd php/libpuzzle
$ phpize
$ ./configure --with-libpuzzle
$ make
$ make install

php.iniに以下を記述。

extension=libpuzzle.so

README-PHPを見て、最初php/libpuzleでmakeをしていて、errorでるなぁできないなぁと思っていたのですが、libpuzzle-0.11でやるんですね。

実験1

画像

ストリートビューの3つの画像の類似度を見てみる。
上から順に新宿、渋谷、下北沢。
ぱっと見、新宿と渋谷の画像が似ていると思うのですが、果たしてどうなるでしょう。
f:id:mfham:20130908163946p:plain
f:id:mfham:20130908163959p:plain
f:id:mfham:20130908164010p:plain

実行
<?php

$shinjuku = puzzle_fill_cvec_from_file('shinjuku.PNG');
$shibuya = puzzle_fill_cvec_from_file('shibuya.PNG');
$shimokita = puzzle_fill_cvec_from_file('shimokita.PNG');
$diff1 = puzzle_vector_normalized_distance($shinjuku, $shibuya);
$diff2 = puzzle_vector_normalized_distance($shinjuku, $shimokita);
$diff3 = puzzle_vector_normalized_distance($shibuya, $shimokita);
echo '新宿-渋谷:', $diff1, "\n";
echo '新宿-下北沢:', $diff2, "\n";
echo '渋谷-下北沢:', $diff3, "\n";
結果
新宿-渋谷:0.66320209402564
新宿-下北沢:0.63079667009246
渋谷-下北沢:0.66480290558729

新宿と下北沢が似ているのか・・・
この数値ですが、README-PHPにこのように書いてあります。
0に近いほど似ているそうですね。distanceだからそうなるか。

The result is between 0.0 and 1.0, with 0.6 being a good threshold to detect
visually similar pictures.

実験2

画像

ストリートビューの画像1つと、その画像をズームしたものを比較してみる。
ぱっと見、似ているかといわれたら似ていないと答えそう。
ただズームしただけなので少しは似ていると判定してくれたらなーと期待してみる。
f:id:mfham:20130908165334p:plain
f:id:mfham:20130908165342p:plain

実行
<?php

$pic = puzzle_fill_cvec_from_file('picture.PNG');
$zoompic = puzzle_fill_cvec_from_file('zoompicture.PNG');
$diff = puzzle_vector_normalized_distance($pic, $zoompic);
echo '引き-寄り:', $diff, "\n";
結果
引き-寄り:0.76019173674939

はい、似てませんよね。

実験3

1. 同じ画像で比較する
2. 同じ画像を使用するが、片方の画像サイズを若干小さくし(ふちを少し切り取る)比較する
とどうなるかもやってみました。
結果は、こうなりました
1. 0
2. 0.52746590074428

感想

今回使用した画像の場合、写っている車の数なども影響しているんですかね。
あっ・・・ここまで書いて気づいたことが・・・
新宿の画像に '都道4号線' の文字が・・・あぁぁぁ
っていうか実験2の画像も・・・
ということで、実験1だけ新宿が像を下記画像に差し替えて再び比較してみました。
f:id:mfham:20130908171828p:plain
結果は

新宿-渋谷:0.69488653454707
新宿-下北沢:0.66255408980795
渋谷-下北沢:0.66480290558729

うーん・・・

その他

昨日ちょこっと語った映画「リメンバー・ミー」ですが、DVDが10月に発売予定みたいですね!
予約しました。
英語字幕があるとよかったなぁ。

リメンバー・ミー [DVD]

リメンバー・ミー [DVD]