05 Dec 2012, 13:07

syntaxhighlighterをWordPressに入れてWindows Live Writerから投稿

syntaxhighlighterとは、ブログでソースコードを綺麗に表示させるためのツール。
WordPressには、syntaxhighlighterを利用するためのプラグインが多数ある。

今回は、普段使っている Windows Live Writerのプラグイン
『Windows Live Writer Plug-ins』
から投稿して、ブログに表示させたかったので、いろいろ試してみた。

その結果、どれもWindows Live Writer Plug-insとはうまく連携してくれなかった。
なので、プラグインではなくて、直接syntaxhighlighterを入れることにした。

以下のサイトが大変参考になった。

memo+ ≫ WordPressでSyntaxHighlighter for Windows Live Writerを使用する

 

Windows Live Writer Plug-insのインストール

まだ、Windows Live Writer Plug-insを入れていない場合は、以下から手に入れる。

http://plugins.live.com/writer/detail/syntaxhighlighter-for-windows-live-writer

syntaxhighlighterのダウンロードとインストール

以下からダウンロード。

http://code.google.com/p/syntaxhighlighter/

rarファイルを解凍すると、以下の3つが格納されている。

  • uncompressed
  • Scripts
  • Styles

uncompressedを削除して、残り2つをWordpressのテーマフォルダ配下にアップロードする。

syntaxhighlighterの設定

WordPress画面を開いて、[外観] > [テーマの編集]を選択。

ヘッダの直前( の前)に以下のコードを追加する。

<archives/hp
wp_enqueue_style('SyntaxCss', get_bloginfo('template_url').'/dp.SyntaxHighlighter/Styles/SyntaxHighlighter.css');
 
wp_register_script('Core', get_bloginfo('template_url').'/dp.SyntaxHighlighter/Scripts/shCore.js');
wp_register_script('CSharp', get_bloginfo('template_url').'/dp.SyntaxHighlighter/Scripts/shBrushCSharp.js');
wp_register_script('BrushCss', get_bloginfo('template_url').'/dp.SyntaxHighlighter/Scripts/shBrushCss.js');
wp_register_script('BrushPhp', get_bloginfo('template_url').'/dp.SyntaxHighlighter/Scripts/shBrushPhp.js');
wp_register_script('BrushJava', get_bloginfo('template_url').'/dp.SyntaxHighlighter/Scripts/shBrushJava.js');
 
wp_enqueue_script('Core');
wp_enqueue_script('CSharp');
wp_enqueue_script('BrushCss');
wp_enqueue_script('BrushPhp');
wp_enqueue_script('BrushJava');
?>

以下の2つは記述必須。あとは、言語によって選択する。

ここでは、C#,CSS,PHP,JAVAを設定している。

ちなみに、ここで言語を選択しないと、表示は薄い灰色に表示される。

wp_register_script('Core', get_bloginfo('template_url').'/dp.SyntaxHighlighter/Scripts/shCore.js');
wp_enqueue_script('Core');

続けて、JavaScriptを書く。

<script type="text/javascript">
window.onload = function () {
    dp.SyntaxHighlighter.ClipboardSwf = 'wp-content/themes/wp/dp.SyntaxHighlighter/Scripts/clipboard.swf';
    dp.SyntaxHighlighter.HighlightAll('code');
}
</script>

dp.SyntaxHighlighter.ClipboardSwfに設定するパスはそれぞれの環境に合わせて変更。

これで、Windows Live Writer から投稿すると、Wordpressでコードか綺麗に表示されるはず。

04 Dec 2012, 14:33

JUnitのインストールとEclipseでの使い方まとめ

JUnitをEclipseで利用する方法をメモします。

環境

  • Windows 7 64bit
  • Eclipse 4.2 Juno
  • Java SE 7.9

JUnitはJava用の単体テストフレームワーク

JUnitとは、Java用の単体テストフレームワーク。

Javaでのロジックテストが簡単にできる、お助けツール。

(Wikipedia: http://ja.wikipedia.org/wiki/JUnit)

この本がJUnitでは、一番有名。TDDのバイブル。

 

JUnitのダウンロードとインストール

JUnitを手に入れる

JUnitはGuitHubより落としてこれる。

JUnitのインストールは、落としてきたフォルダを任意の場所に置くだけ。

(ここではC:\src\junitにおいた)

フォルダに環境変数のパスを通す。

[コントロールバネル] > [システム] > [システムの詳細設定] > [環境変数]を選択。
下段のシステムの環境変数の中からPathを選択して、[編集]を選択。
すでに入っている値の最後に”;”をつけてから、パスを追加する。

C:\src\junit

EclipseでのJUnit ビルド・パスの設定

EclipseでJUnitを利用するために、ビルド・パスを通す。

プロジェクトを選択して、[ブロパティ] > [Javaのビルドパス]を選択。

[ライブラリ]タブ > [ライブラリの追加] > [ユーザライブラリ] > [次へ]

[ユーザライブラリ] > [新規]を選択。

ライブラリを作成するために、[JUnit4]と名前をつける。

続いて、[外部Jar追加]。

ここで、先ほどおいたファイルの中にあるjunit-4.11.jarを選択する。

Eclipse JUnit プラグインを利用する

Eclipseでは, Eclipse JUnit プラグインを利用すると簡単にテストケースが作成できる。

(Eclipse JDTには標準で入っている)

テストコードを書きたいソースコードを右クリックして、[新規] > [JUnitテストケース]を選択。今回のテスト対象は、以下の通り。メソッドより期待値が返されるかをテストする。

public class sample {
    public static int num() {
        return 10;
    }
}

ここでは、新規JUnit 4テストケースを選択。とりあえず、細かい設定は置いておいて、完了を選択。テストケースが自動生成される。

import static org.junit.Assert.*;

import org.junit.Test;

public class sampleTest {

    @Test
    public void test() {
        fail("まだ実装されていません");
    }

}

JUnitテストの実行

テストの失敗

プロジェクトを選択して、右クリック。

[実行 > [JUnitテストの実行] を選択して、テストケースを実行する。

まだなにも期待値を書いていないので、テストは失敗する。

image

テストの成功

fail(“まだ実装されていません”);の部分を置き換えてテスト実行すると、テストは成功する。

assertEquals(10, sample.num());

image

assertEqualsは、期待値(10)と結果(sample.num() )を比較する関数。

等しければテストは成功する。

assertEqualsだけ覚えれば、とりあえずどんなテストでも書ける(乱暴な言い方)。

 

02 Dec 2012, 11:24

git commitからJenkinsでSphinxドキュメントをビルド+α

SphinxとJenkinsを組み合わせたら、どんなことが可能なのか考えてみた。

  • (版数管理を前提として)チェックインをトリガにして、Sphinxドキュメント生成。
  • 文字列をカウントして、グラフ化。
  • スペルチェックや表記の揺れをチェック。

結局いろいろ調べて、まだそういうツールないということはわかった。

文字列カウントも、スペルチェックもできないことは分かった。

文字列カウントは make textで生成したテキストファイルをカウントして、グラフ化する仕組みを作れば実現可能かも。

表記の揺れは、Yahoo の提供する校正支援APIを利用すれば、実現可能かも。

http://developer.yahoo.co.jp/webapi/jlp/kousei/v1/kousei.html

というわけで、できることとして、文字列カウントの代わりに、ステップカウントを入れた。

追加で、JenkinsのTask Scanner Pluginを入れた。

こんな流れ

sphinxのファイルをgit commit

Jenkinsにwgetで通知

Jenkinsで make html

Task Scan

ステップカウント

うーん、これではまだまだ使い物にはならないな。

image

02 Dec 2012, 11:01

git commitをフックしてJenkins でビルドを起動

gitでリボジトリへコミットすると、それをJenkinsが検出して、ビルドを実行する仕組みを入れてみた。

[toc]

通知にするべきかポーリングにするべきか、それが問題だ。

調べてみると、gitのCommitからJenkinsにビルドさせる方法は2つあるっぽい。

  • git commit時にJenkinsに通知する方法
  • Jenkinsがgitリボジトリを定期的にポーリングする方法

通知だと、gitのフック機能を利用して、簡単に実現できる。

ポーリングだと、Jenkins GIT Pluginを使って実現できる。

通知方法だと、branchごとにビルドを起動できないという弱点がある。

今回は、post-commitの方法を利用する。(というより、ポーリングは挫折した)

環境

  • Windows 7 64bit
  • Cygwin

wgetでJenkinsのジョブをキックする

Jenkinsトークンを利用して、リモートからビルドキック

コマンドラインからJenkinのジョブを起動するには、wgetコマンドを使う。

リモートから、jenkinsにアクセスするためには、管理画面からトークンの設定をしておく。

  • 設定 => ビルドトリガ => リモートからビルド
  • 認証トークンで任意のトークン名を記述

これで、JENKINS_URL/job/vxUnit/build?token=TOKEN_NAMEというURLでリモートからキックすることができるようになる。Jobの実行をアカウントを持つユーザのみにしている場合は、–http-user/–http-passworオプションをつける。まとめると、

wget --http-user=<ユーザ名> --http-password=<パスワード> http://yourserver.com/job/<ジョブ>/build?token=<token名> 

git post-commmitの設定

.git/hooks/配下にあるpost-comitファイルに以下の行を追加。 http://localhost:8080の部分は、自分の環境に読み替えてください。

wget --no-proxy http://localhost:8080/job/(ジョブの名前)/build?delay=5sec

post-commitがなければ、新規作成して、実行権限を与える。

touch post-commit
chmod a+x post-commit

post-commit例

#!/bin/sh    
echo "Hook post-commit start"
wget --no-proxy <a href="http://localhost:8080/job/4th_ginnan/build?delay=5sec">http://localhost:8080/job/4th_ginnan/build?delay=5sec</a> || echo "wget failed"
echo "Hook post-commit end"

あとは、git commitを実行すれば、Jenkinsに通知が飛んで、Jobが実行された。

参考:

コマンドラインからJenkinsのジョブを実行する – azuki note

02 Dec 2012, 04:32

Cygwinでgitkが使えないときの対策メモ

Cygwinのターミナルでgitkを利用しようとすると、以下のメッセージでエラー。

Application initialization failed: no display name and no $DISPLAY environment variable
Error in startup script: no display name and no $DISPLAY environment variable
    while executing
“load /usr/lib/tk8.5/../../bin/libtk8.5.dll Tk”
    (“package ifneeded Tk 8.5.11” script)
    invoked from within
“package require Tk”
    (file “/usr/bin/gitk” line 10)

調べてみると、仕様変更によって、x win serverを起動しないといけないらしい。

今回の情報源はココを参考。

Xwin サーバを立ち上げて、Cygwinからgitkを使えるようにする

まずは、xinit/xorg-serverを Cygwinのsetup.exeからインストール。

xwinサーバを立ちあげる。

startxwin >/dev/null 2>&1

環境変数を設定する。

export DISPLAY=localhost:0.0

gitkを実行すると、まだ、エラーがでる。

Error in startup script: unknown color name “SystemButtonFace”
    while executing
“winfo rgb . $c”
    (procedure “setui” line 3)
    invoked from within
“setui $uicolor”
    (file “/usr/bin/gitk” line 11522)

これは古いgitkがあると駄目っぽい。.gitkを削除。

rm ~/.gitk

gitkを再起動して、起動された。

~/.bash_profileに起動のためのコマンド追加

gitkを使おうするたびに、コマンドを叩くのは面倒なので、~/.bash_profileに以下の2つのコマンドを記入する。

startxwin >/dev/null 2>&1
export DISPLAY=localhost:0.0

これで今まで通り、gitkコマンドを叩くだけで、開けるようになった。

gitk

image

環境

$ cygcheck -c cygwin git gitk
Cygwin Package Information
Package              Version        Status
cygwin               1.7.17-1       OK
git                  1.7.9-1        OK
gitk                 1.7.9-1        OK

Windows7 64bit

01 Dec 2012, 07:13

gitでSphinxのドキュメントを版数管理。commitでビルドさせた。

前回の続き。

Sphinxを試してみた動機は、テキストで版数管理しつつ、WordやWeb形式に変換したいということだったので、今回はgitとSphinxを連携してみた。

Gitリボジトリをつくる

まずは、Sphinxのトップディレクトリでgitのリポジトリを作成。

git init

次に、.gitignoreの設定。

ここでは、ビルドした生産物を除外する。

echo “_*” >> .gitignore

はじめてのコミットをする。

git add .

git commit -m”first commit”

git commit でSphinxを make html してみる

commit後にコマンドを実行するためには、.git/hooks/ディレクトリ配下に、post-commitフォルダを作成し、そこに実行したいコマンドを書く。

というわけで、

cd .git/hooks/

emacs post-commit

post-commtの内容は以下

#!/bin/sh

make html

実行権限を与えて完了

chmod a+x post-commit

 

参考リンク

01 Dec 2012, 00:41

Sphinx-docxbuilderでWordドキュメントをテキストから生成(Windows)

Sphinxを使ってWordファイルを出力してみる。
Wordファイルを生成するには、Sphinx-docxbuilderを使う必要がある。

今回の情報源は、sourceforgeのwikiより。
http://en.sourceforge.jp/projects/sphinx-docx/wiki/FrontPage

この記事もとても参考になった。
sphinxで Wordファイル(docx)出力する.(Windows)-100ねんごの未来予想図

インストール環境

  • Windows 7 64bit
  • Python 2.6
  • Sphinx 1.3.3

Sphinx-docxbuilderに必要なPythonモジュールをインストール

Sphinx-docxbuilderを利用するには、以下をインストールする必要がある。

  • sphinx
  • lxml
  • PIL (Python Imaging Libraray)

sphinxのインストール

前回の記事を参照。
SphinxをWindowsPCにインストールした。

PILのインストール

Windows 64bit/Python 2.6に対応する PILのインストールは、実は公式HPにはない。
なので、非公式サイトからダウンロードして、インストールする。

http://www.lfd.uci.edu/~gohlke/pythonlibs/

ここでは、PIL-fork-1.1.7.win-amd64-py2.6.窶憩xeを落としてきてインストール。

lxmlのインストール

PythonでXMLを利用可能にするためのPythonモジュールである、lxmlを入れる。

easy_install lxml

以下のエラーが出て停止した。

Building without Cython.
ERROR: ‘xslt-config’ は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

というわけでこれも、非公式サイトからダウンロードしてインストールする。
http://www.lfd.uci.edu/~gohlke/pythonlibs/

ここではlxml-2.3.6.win-amd64-py2.6.窶憩xeをインストール。

Sphinx-docxbuilderをインストール

以下の配布サイトからダウンロードしてくる。
https://bitbucket.org/haraisao/sphinx-docxbuilder/

落としてきたら、zipを解凍して、ファイル名は”sphinx-docxbuilder”に変更する。

Pythonのパス (sys.path)のディレクトリにコピーする。
私の環境では、”C:\Python26\Lib\site-packages”にコピー。

Sphinx conf.pyの設定

Sphonxプロジェクトのフォルダに移動。
そのなかのconf.pyに以下の一行を追加。

  extensions = [‘sphinx-docxbuilder’]

Sphinx-docxbuilderを実行する

以下のコマンドで実行。

>sphinx-build -b docx [input-dir] [output-dir]

ex.) sphinx-build -b docx . _build/docx

変換前テキスト

Hello Sphinx

テスト。

test

テストです。

変換後Wordドキュメント

image

30 Nov 2012, 22:52

SphinxをWindowsPCにインストールした。

興味本位だが、Sphinxという文章を書くツールを試してみたので、メモする。

Wordをテキストから自動生成できればいいなーと思ってたらSphinxを見つけた。

Sphinxとは

Sphinx(スフィンクス)とは、文章を書くためのツール(フレームワーク)

エディタとも、wikiとも分類しがたい、新たな書き方のツール。

Sphinxを利用すると、以下のことができる。

  • さまざまな形式で出力できる。(HTML,ePub,PDF,Word…)
  • テキストでかける。
  • バージョン管理できる。

Sphinxのインストール方法

インストール環境

  • Windows 7 64bit
  • Pythionツꀀ 2.6

Windowsへのインストール方法は公式HPに乗っている。

http://sphinx-users.jp/gettingstarted/install_windows.html

Pythonをインストール

省略。ここでは2.6を利用する。パスが通っていることを確認。

Python Setuptoolsをイントール

easy_installというコマンドを使うと、外部ライブラリを簡単にインストールできるようになるので、このコマンドを使えるようにする。

以下のURLからez_setup.pyをダウンロードして、コマンドラインから実行。 (http://peak.telecommunity.com/dist/ez_setup.py)

python ez_setup.py

Sphinxのインストール

コマンドラインから以下を実行。

easy_install sphinx

自動的にSphinx 1.1.3がインストールされる。

Searching for sphinx

Reading http://pypi.python.org/simple/sphinx/

Reading http://sphinx.pocoo.org/

Best match: Sphinx 1.1.3

Downloading http://pypi.python.org/packages/2.6/S/Sphinx/Sphinx-1.1.3-py2.6.egg#md5=f0873b56

easy_installが実行できないときは、Scriptフォルダにパスが通っているか確認。easy_install.exeはScriptsフォルダにインストールされるので、

環境変数の設定から、パスをフォルダに通す必要がある。(“C:\Python26\Scripts”)

sphinx-quickstartでSphinxの起動を確認

以下のコマンドで、Sphinxのプロジェクトが作成できればインストールは成功している。

sphinx-quickstart

実行すると、プロジェクトの詳細設定を聞かれるメッセージがでるが、

とりあえずEnterを押していく。途中、以下の3つの項目が入力必須項目。

  • プロジェクト名
  • バージョン番号
  • 著者の名前

C:\temp\temp_sphinx>sphinx-quickstart

Welcome to the Sphinx 1.1.3 quickstart utility.

Please enter values for the following settings (just press Enter to

accept a default value, if one is given in brackets).

Enter the root path for documentation.

Root path for the documentation [.]:

You have two options for placing the build directory for Sphinx output.

Either, you use a directory “_build” within the root path, or you separate

“source” and “build” directories within the root path.

Separate source and build directories (y/N) [n]:

Inside the root directory, two more directories will be created; “_templates”

for custom HTML templates and “_static” for custom stylesheets and other static

files. You can enter another prefix (such as “.”) to replace the underscore.

Name prefix for templates and static dir [_]:

The project name will occur in several places in the built documentation.

Project name: sphinx-sample

Author name(s): tsu_nera

Sphinx has the notion of a “version” and a “release” for the

software. Each version can have multiple releases. For example, for

Python the version is something like 2.5 or 3.0, while the release is

something like 2.5.1 or 3.0a1.ツꀀ If you don’t need this dual structure,

just set both to the same value.

Project version: 1.0

Project release [1.0]:

The file name suffix for source files. Commonly, this is either “.txt”

or “.rst”.ツꀀ Only files with this suffix are considered documents.

Source file suffix [.rst]:

One document is special in that it is considered the top node of the

“contents tree”, that is, it is the root of the hierarchical structure

of the documents. Normally, this is “index”, but if your “index”

document is a custom template, you can also set this to another filename.

Name of your master document (without suffix) [index]:

Sphinx can also add configuration for epub output:

Do you want to use the epub builder (y/N) [n]:

Please indicate if you want to use one of the following Sphinx extensions:

autodoc: automatically insert docstrings from modules (y/N) [n]:

doctest: automatically test code snippets in doctest blocks (y/N) [n]:

intersphinx: link between Sphinx documentation of different projects (y/N) [n]:

todo: write “todo” entries that can be shown or hidden on build (y/N) [n]:

coverage: checks for documentation coverage (y/N) [n]:

pngmath: include math, rendered as PNG images (y/N) [n]:

mathjax: include math, rendered in the browser by MathJax (y/N) [n]:

ifconfig: conditional inclusion of content based on config values (y/N) [n]:

viewcode: include links to the source code of documented Python objects (y/N) [n]:

A Makefile and a Windows command file can be generated for you so that you

only have to run e.g. `make html’ instead of invoking sphinx-build

directly.

Create Makefile? (Y/n) [y]:

Create Windows command file? (Y/n) [y]:

Creating file .\conf.py.

Creating file .\index.rst.

Creating file .\Makefile.

Creating file .\make.bat.

Finished: An initial directory structure has been created.

You should now populate your master file .\index.rst and create other documentation

source files. Use the Makefile to build the docs, like so:

make builder

where “builder” is one of the supported builders, e.g. html, latex or linkcheck.

以下のようなファイルが自動生成された。

C:\temp\temp_sphinx>ls

Makefileツꀀ _buildツꀀ _staticツꀀ _templatesツꀀ conf.pyツꀀ index.rstツꀀ make.bat

なにはともあれ、Hello Sphinx してみる。

いろんな記法はあと回しにして、まずはSphinxを実行してみる。

hello_sphinx.rstファイルを作成する。

ちなみに、文字コードはUTF-8。

[text]

Hello Sphinx

============

テスト。

test

====

テストです。

[/text]

index.rstに hello_sphixのファイルを追加。

[text]

Welcome to sphinx-sample’s documentation!

=========================================

Contents:

.. toctree::

:maxdepth: 2

hello_sphinx

Indices and tables

==================

  • :ref:`genindex`

  • :ref:`modindex`

  • :ref:`search`

[/text]

実行結果

HTMLファイルを生成してみる。以下のコマンド実行。

make html

_build\htmlフォルダ配下にHTMLファイルが生成されるので、index.htmlを開いてみる。

image

image

25 Nov 2012, 04:41

ReviewBoardインストール手順まとめ(Ubuntu)

コードレビューが不十分だったと思ったので、コードレビューのためのツールを調べた。

調べてみるといろいろあるものだ。
ReviewBoardをトライアルしてみることにした。
ReviewBoardとは、VMware社が開発したコードレビューツール。(無料)
Twitter社でもつかわれているらしい。
http://www.reviewboard.org/

導入は、実はとても大変だった。
まず、Windows 7 64bit 環境で導入しようとしたが、挫折。
公式HPの注意事項にも書いてあるが、Windows 64bit環境では動くのだろうか?
http://www.reviewboard.org/docs/manual/dev/admin/installation/windows/
インストールに必要なPythonモジュールのバージョンがなかったりした。

自分の場合は、Linux(Ubuntu)で導入してみた。
LinuxはWinodowsに比べてとても導入が簡単だった(といっても、ハマったけど)。
以下、Ubuntuでの導入手順を公式HPにそって実施したまとめ。
http://www.reviewboard.org/docs/manual/1.6/admin/installation/linux/

環境

  • Ubuntu 12.10

インストールしたもの

  • Apache 2.2.22
  • MySQL 5.5.28
  • Python 2.7.3
  • python dev 2.7.3
  • Python Setuptools 0.6.28
  • memcached 1.4.14
  • python-memcached 1.48
  • patch 2.6.1
  • Review Board 1.6.13
  • python-mysqldb 1.2.3

Review Boardのインストール

MySQLをインストール

$ sudo apt-get install mysql-server

パスワードをきかれるので、入れる。
http://debianj.com/ubuntu/install/mysql.html

MySQLインストール後、
共有ライブラリとして認識させるために「/etc/ld.so.conf」に以下の行を追記。

/usr/local/lib/mysql

Apacheをイントール

$ sudo apt-get install apache2

apache2の高速化のために、以下の3つのPython Moduleから一つを選ぶ必要がある。

  • mod_wsgi (推奨)
  • fastcgi
  • mod_python (非推奨)

ここでは、推奨であるmod_wsgiを選択する。
以下のHPにしたがって設定。Ubuntuにmod-wsgiいれたメモ

$ sudo apt-get install libapache2-mod-wsgi #インストール
$ sudo a2enmod wsgi  #有効化
$ sudo apache2ctl restart #サーバー再起動

Python Setuptoolsをイントール

Pyhonはインストール済みであること。
ここでは、Ubuntuにデフォルトで入っているPython 2.7を使う。
2.4以降ならばいいらしい。

$ sudo apt-get install python-setuptools

これで、easy_installコマンドが使えるようになり、インストールが簡単になる。

Python Development Headersをインストール

$ sudo apt-get install python-dev

memcachedをインストール

Review Boardを高速化するためのキャッシュツールを入れる。

$ sudo apt-get install memcached
$ sudo easy_install python-memcached

patchをインストール

GNU patch とは、 差分ファイル (パッチファイル) を用いてソースファイルの修正作業を自動的に実行してくれるソフトウェア(らしい)

$ sudo apt-get install patch

Review Boardをインストール

ようやく、主題であるReview Boardのインストールだ。
コマンドは以下を実行。

$ sudo easy_install ReviewBoard

これで、Djblets, Django-Evolution, Django, flup, paramiko and Python Imaging Libraryが足りない場合は、依存性を分析して、ダウンロードしてくれる。
(ここがWindowsと違って感動した)

flupが見つからなかったので、下記サイトを参考にインストール。
http://kaigai-hosting.com/bluehost-django.php

wget http://www.saddi.com/software/flup/dist/flup-1.0.2.tar.gz
tar xzvf flup-1.0.2.tar.gz
cd flup-1.0.2
sudo python setup.py install –user

 

mysql-pythonのインストール

mysqlをpythonから操作するためのモジュールmysql-pythonを入れる。

apt-get install python-mysqldb

ただ、ここでハマった。easy_installも実施しておく。
のちのち、サイトを起動したときに、mysql-pythonが動いていないために、
500エラーとなって、以下のメッセージが表示された。

review board is taking a nap

apacheのエラーログをみると、mysql_config not foundらしい。
以下の2つのコマンドを叩いて解決した。

sudo apt-get instal libmysqlclient-dev
sudo easy_install mysql-python

 

Review Board サイトの作成

Apache起動

/usr/apache2/bin/apachectl start

127.0.1.1にアクセスしてみて、”It works!“が起動されていれば成功。

image

http://kazmax.zpp.jp/apache/apache2.html#ah_1

MySQLデータベース作成

ユーザ「mysql」を作成し、データベースを初期化。

/usr/sbin/useradd mysql
/usr/local/bin/mysql_install_db –user=mysql

MySQLを起動(常駐)

/usr/local/bin/mysqld_safe –user=mysql &

rootパスワードを入れる

/usr/local/bin/mysqladmin -u root password “パスワードを入力”

MySQLにroot権限でログインして、データベース(ここではreviewboard)を作成。

mysql -u root -p

mysql> GRANT ALL privileges ON *.* TO reviewboard@localhost IDENTIFIED BY ‘reviewboard’ WITH GRANT OPTION;
mysql> CREATE DATABASE reviewboard DEFAULT character SET utf8;

つづいて、mysqlユーザのパスワード設定。

mysql> set password for mysql@localhost = password(‘パスワードを入力’);

ちなみに、ここが正しく設定されていないと、

Something broke!

と表示された。

ReivewBoardインストール

以下のコマンドで作成。ここでは” /var/www/reviews.example.com”に作成する。

sudo rb-site install /var/www/reviews.example.com

GUIの設定画面が現れるので、順に回答していく。

image

Domain Name: review
Root Path:/reviews/
Database:mysql
Database Name:reviewboard
Database Server:localhost
database username/password xxx
web server apache
wsqi
…. etc.

(参考サイト)
http://www.atmarkit.co.jp/fjava/rensai4/devtool19/devtool19_3.html

パーミッションの変更

作成したディレクトリ”/var/www/reviews.example.com”にApacheからアクセスするために、アクセス権限を与える。

$ chown -R www-data /var/www/reviews.example.com/htdocs/media/uploaded
$ chown -R www-data /var/www/reviews.example.com/data

Apacheサーバの設定

Apache2とmod_wsgiを選択した場合の設定例。
reviews.example.comディレクトリで自動生成された設定ファイルをApacheの設定ファイルに反映する。

$ cd /etc/apache2/sites-available
$ cp /var/www/reviews.example.com/conf/apache-wsgi.conf reviews.example.com.conf
$ cd ../sites-enabled
$ ln -s ../sites-available/reviews.example.com.conf .

*apache-wsgi.confがASCIIコードでUTF-8に変換しないといけないという記事もあった。
自分の場合はUTF-8だったから問題はなかったけれども。

最後に、/etc/apache2/sites-enabled/000-defaultを削除する。
http://www.natswell.com/techcolumn/2011/10/06/review-board/

Apache再起動。

$apachectl restart

ついに設定完了か?、と思ったらいきなり以下のエラーがでた。

(1146, “Table ‘reviewboard.django_site’ doesn’t exist”)
image

‘reviewboard.django_site’ が存在しない、とのこと。
djangoのコマンドで manage.py syncdbを叩かないといけないらしい。
よくわからないが、以下のコマンドを叩いて直った。

sudo rb-site upgrade /var/www/reviews.example.com/

https://groups.google.com/forum/?fromgroups=#!topic/reviewboard/8b2fH37hLC8

ReviewBoardインストール完了

サイトにアクセスして、ログインできれば成功。
ここでは(http://localhost/review/ )にアクセス。

image

うまくインストール出来ない時の対処方法

Apacheエラーログをみる

エラーログを見れば、メッセージからなんとなく足りないPythonモジュールがわかるかも。

/var/log/apache2/error.log

Pythonデバックフラグを立てる

Something broke! とか出た場合は、apache2ログでは分からない。
こんなときは、デバックフラグをたてて、メッセージを確認する。

reviewboardのディレクトリ配下で、conf/settings_local.pyを開く。
ここでは、(/var/www/reviews.example.com/conf/settings_local.py)
DEBUG = True
と書き換える。

サイトにアクセスしてて、エラーすればメッセージがでる。
出たメッセージをもとにGoogle先生に相談する。

24 Nov 2012, 06:34

VMware ToolsをVMware Playreにインストールしたメモ

VMWare Toolsを VMware Playreにインストールしてみたので、メモ。
これはゲストOS(ココてはUbuntu)に入れるもの。

VMWare Toolsでなにができるか

VMware Toolsとは、VMwareを効率的に使うためのツール郡。
VMware ToolsをゲストOSに入れると、以下のことができる。

  • 時刻の同期
  • 共有フォルダ
  • ゲストOSとホストOS間のテキストのコピーペースト

など。(WMwareが出しているPDFはココ )

環境

  • ホストOS Windows 7
  • ゲストOS Ubuntu 12.10
  • VMware Player 5.0.1

VMware Toolsのインストール

上位のタブから、[Player] > [管理] > [VMware Toolのインストール]を選択。
ホームフォルダにVMware Toolが現れる。

image_thumb[23]

右クリックして、展開を選択。
ローカルディレクトリに展開。
ここではhome配下にtempディレクトリを作ってそこに展開。

「Dashホーム」のアイコンをクリックし、
検索欄に「terminal」と入力して、端末を起動する。

以下を入力して、解凍する。

cd home/temp/vmwera-tool-distrib
sudo ./vmware-install.pl

パスワードを聞かれるので入力する。
あとはいろいろと聞かれるので、全て[Enter]で。
インストールがすんだらUbuntuを再起動。

sudo shutdown 窶途 now

Windows/Linux間で共有フォルダを設定してみる

まずは、ホスト側(Windows)の任意の場所にフォルダを新規作成。(Ubunts_shares)

VMware Playerの「仮想マシン設定の編集」をクリックし[オプション]>「共有フォルダ」を開く。

「常に有効」にチェックし、その下のフォルダで[追加]を選択。
先ほど作成した共有フォルダを選択する。

image

仮想マシンを再生する。
すると、「コンピュータ/ファイルシステム/mnt/hgfs」に共有フォルダがマウントされる。
(/mnt/hgfs/Ubuntu_shares)

image

試しで、Windowsからファイルを入れてみると、リアルタイムでUbuntuから見れた。

image