Category Archives: その他

CloudCore VPS初期設定

このエントリーをはてなブックマークに追加
はてなブックマーク - CloudCore VPS初期設定
Share on Facebook

高スペック&安価&国産で話題のCloudCore VPSをレンタルしてみました。 このスペックで月980円はたしかにお得です。

# cat /etc/redhat-release 
CentOS release 5.6 (Final)

# df -h
Filesystem          サイズ  使用  残り 使用% マウント位置
/dev/vda1              97G  5.0G   87G   6% /
tmpfs                1003M     0 1003M   0% /dev/shm

# cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 16
model           : 2
model name      : AMD Phenom(tm) 9550 Quad-Core Processor
stepping        : 3
cpu MHz         : 2199.998
cache size      : 512 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 5
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb lm up pni cx16 popcnt lahf_lm cmp_legacy svm cr8_legacy altmovcr8 abm sse4a misalignsse
bogomips        : 4399.99
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

# cat /proc/meminfo 
MemTotal:      2053764 kB
MemFree:       1859380 kB

まずは初期設定メモを残しておきます。

よく使うパッケージのインストール

CentOS最小構成でインストールされているらしく、よく使うパッケージが全然入っていません。入れておきましょう。

# yum -y install sudo vim-enhanced iptables vsftpd bzip2 gcc gcc-c++ make automake mlocate

導入しているパッケージの説明は下記の通り。

パッケージ名 説明
sudo sudoコマンド
vim-enhanced 標準で入っているviの高機能版
iptables ファイアーウォール
vsftpd FTPデーモン
bzip2 bzip2圧縮・解凍
gcc, gcc-c++ コンパイル時に必要
make, automake ソースからインストールする時必要
mlocate locate & updatedbコマンド
vixie-cron crontabコマンド & cronデーモン

crondは起動し、自動起動をオンにしておきます。

# /etc/rc.d/init.d/crond start
# chkconfig crond on

また、インストール済みのパッケージを更新しましょう。 私の場合100パッケージ(129MB)ありました。

# yum update

作業用ユーザー追加

rootでの作業はリスク上よろしくないので、作業用ユーザーを追加します。 wheelグループに追加することで、su権限が得られます。

# useradd mojamoja
# usermod -G wheel mojamoja

wheelグループのユーザーがsudoを実行できるよう設定します。

# visudo

----
## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL
↑この行のコメントアウトを外す。

sshポートの変更

sshポートデフォルトの22番ではポートスキャンの標的になりやすいので、変更します。

#vim /etc/ssh/sshd_config

以下の行を変更。

#port 22
port 10022

sshデーモンを再起動して変更を反映します。 これで22番ポートではsshログインできなくなっています。

# /etc/init.d/sshd restart

不要なデーモンの停止

初期状態では4つのデーモンしか自動起動設定になっておらず、特に停止するようなデーモンはありません。

参考: スペック|CloudCore VPS|KDDIウェブコミュニケーションズ

ファイアーウォールの構築

ssh(10022), FTP, HTTPで接続できるようポートを開放してやります。 下記シェルファイルを作成し、実行してください。

※コンソールから1行ずつ打つと、「/sbin/iptables -P INPUT DROP」設定直後にコンソールが操作不能になります。 その場合、コントロールパネルから再起動することで再度ログイン可能になります。

#!/bin/sh
 
/sbin/iptables -F
/sbin/iptables -X
 
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD DROP
 
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT
 
/sbin/iptables -A INPUT -s 10.0.0.0/8 -j DROP
/sbin/iptables -A INPUT -s 172.16.0.0/12 -j DROP
/sbin/iptables -A INPUT -s 192.168.0.0/16 -j DROP
 
/sbin/iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
 
/sbin/iptables -A INPUT -p tcp --dport 10022 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT
 
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 
/etc/rc.d/init.d/iptables save
 
/sbin/service iptables restart

設定が終わったら実行します。

# chmod +x set_iptables.sh 
# ./set_iptables.sh 
ファイアウォールのルールを /etc/sysconfig/iptables に保存中[  OK  ]
ファイアウォールルールを適用中:                            [  OK  ]
チェインポリシーを ACCEPT に設定中filter                   [  OK  ]
iptables モジュールを取り外し中                            [  OK  ]
iptables ファイアウォールルールを適用中:                   [  OK  ]

無事設定できたら、サーバー起動時にサービスが開始するよう設定します。設定が間違ったままこれをonにすると、コントロールパネルから再起動してもログイン不能になるので注意してください。

# chkconfig iptables on

FTPを接続可能にする

/etc/vsftpd/vsftpd.conf を以下のように設定します。

以下の既存の行を修正する。

# 匿名ユーザーのログインを禁止
anonymous_enable=NO

# asciiモードでファイルを転送可能にする
ascii_upload_enable=YES
ascii_download_enable=YES

以下の行を追加。

# ファイル所有者を数字ではなくユーザー名で表示する
text_userdb_names=YES

# ファイルの上書き時間が日本時間になる
use_localtime=YES

設定が終わったら起動し、自動起動もオンにしましょう。

# /etc/rc.d/init.d/vsftpd start
vsftpd 用の vsftpd を起動中:                               [  OK  ]
# chkconfig vsftpd on

FTPクライアントで10022番ポートにSFTP接続可能になっていることを確認してください。

参考

Windows7にAndroid開発環境構築

このエントリーをはてなブックマークに追加
はてなブックマーク - Windows7にAndroid開発環境構築
Share on Facebook

「Androidは簡単に開発が可能」と言われてる割に導入が面倒だったので、メモしておきます。

手順

1. 必要ファイルのダウンロード

Windows 7 64bitの場合、下記アプリをダウンロードしました。

2. Java 6 JDKの設定

インストールしたファイルを実行して、画面に従うだけ。

3. Android SDKの設定

  1. ダウンロードしたファイルを解凍orインストーラー実行
  2. Android SDKのインストールが完了後、Managerが起動するので、使いたいAPIにチェックして[Install * Packages]
    • 2.1を選べば97%のAndroidユーザーをカバーできるらしいので、チェック
    • 必要に応じて別のバージョンもインストールする

4. Eclipseの設定

Android Developer Tools (ADT)のインストール

  1. ダウンロードしたファイルを解凍し、eclipse.exeを実行
  2. Eclipseを起動し、[Help] – [Install software]
  3. [Work with:]の隣にある[Add]をクリック。完了したら[OK]
    • Name: Android Plugin
    • Location: http://dl-ssl.google.com/android/eclipse/
    • 「https」を指定すると途中でエラーが出て止まる
  4. [Work with:]に今入力した項目を選択。数十秒「Pending…」が表示された後、[Developer Tools]が出てきたらチェックを付けて[Next]
  5. インストールされるパッケージ一覧が出るので、[Finish]
  6. 途中「Security Warning」が出るが、[OK]
  7. 長時間インストール完了を待ち、完了したら[Restart Now]
  8. Eclipse再起動後、「Welcome to Android Development」が表示されるので、[Use existing SDKs]にチェック
  9. SDKのインストール先を指定して[Next]
    • デフォルトなら “C:\Program Files (x86)\Android\android-sdk”
  10. 統計データをGoogleに送るかどうか選択して[Finish]

AVDの作成

  1. [Window] – [AVD Manager]
  2. [New]
  3. 下記項目を入力して[Create AVD]
    • [Name]: 機器名。好きな名前でOK
    • [Target]: Androidのバージョン
    • [SD Card]: エミュレータが使用するSDカード容量。32MBもあれば十分
    • [Skin]: 画面解像度
    • [Hardware]: エミュレータのハード。GPSなど、開発しようとするアプリに合わせて選択
  4. [Start]をクリックして、エミュレータが起動したらOK
    • 日本語化したい場合
    • 起動後にホーム画面でメニューボタンクリック
    • [Settings] > [Language & keyboard]
    • [Select locale]から日本語を選択

設定は以上で完了です。

5. サンプルアプリのビルド

ここまででビルド可能になっているので、試してみましょう。

  1. [File] – [New] – [Other...]
  2. Android Project を選択して[Next]
  3. 以下のように設定して[Next]
    • Project Name: SampleApp
    • “Create projects from existing source”にチェック
    • Location: “C:\Program Files (x86)\Android\android-sdk\samples\android-7\SkeletonApp”
  4. Build Targetは”Android 2.1″にチェックして[Next]
  5. Minumum SDKを”7″にして[Finish]
  6. [Run] – [Run Configurations...]
  7. [New launch configuration]アイコンをクリック
  8. [Project:]に”SampleApp”を指定して[Run]
  9. エミュレーター上に”Hello there, you Activity!”と表示されれば成功

なお、ビルドされたアプリはbinディレクトリの下に「SampleApp.apk」という名前で入っています。これをAndroidに転送すれば実機で実行できます。 (ただし「提供元不明のアプリ」を使用可能にしておくこと)

参考

CentOS 5.5にyumでgitをインストールする

このエントリーをはてなブックマークに追加
はてなブックマーク - CentOS 5.5にyumでgitをインストールする
Share on Facebook

さくらVPS(CentOS 5.5が標準OS)を試用中です。早速gitを使おうと思いましたが、デフォルトでは未インストール。yumで入れようと思いましたが、標準のリポジトリではインストールできません。

というわけで、リポジトリを追加します。

インストール手順

1. 参照リポジトリを追加する

/etc/yum.repos.d/rpmforge.repo を作成し、下記のように追記します。

[rpmforge]
name = Red Hat Enterprise $releasever - RPMforge.net - dag
mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
enabled = 0
gpgcheck = 0

2. yumでインストールする

# yum install git --enablerepo=rpmforge
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.nara.wide.ad.jp
 * extras: ftp.nara.wide.ad.jp
 * rpmforge: ftp-stud.fht-esslingen.de
 * updates: ftp.nara.wide.ad.jp

...

 ====================================================================================================================
 Package                  Arch                   Version                             Repository                Size
====================================================================================================================
Installing:
 git                      x86_64                 1.7.6.4-1.el5.rf                    rpmforge                 6.6 M
Installing for dependencies:
 perl-DBI                 x86_64                 1.52-2.el5                          base                     600 k
 perl-Git                 x86_64                 1.7.6.4-1.el5.rf                    rpmforge                  24 k

Transaction Summary
====================================================================================================================
Install       3 Package(s)
Upgrade       0 Package(s)

Total download size: 7.2 M
Is this ok [y/N]: y
...
Complete!
  1. 確認
# git --version
git version 1.7.6.4

完了です。

参考

Phingが動作しない場合の対処

このエントリーをはてなブックマークに追加
はてなブックマーク - Phingが動作しない場合の対処
Share on Facebook

XAMPP 1.7.4でPhingを使おうとしましたが、エラーが出て使えませんでした。 結果として、Phingの再インストールで治りました。

以下に経緯を残しておきます。

環境

  • Windows XP SP3
  • XAMPP 1.7.4
  • PHP 5.3.5
  • Phing 2.3.3 (恐らくXAMPPにデフォルトで入っていたもの)

症状

下記のように、ただ”uhouho”とechoするだけの簡単なビルドファイルを実行しようとして、エラーが出ました。

<!-- C:\temp\build.xml -->
<?xml version="1.0" encoding="UTF-8"?>

<project name="FooBar" default="dist">
  <target name="dist">
    <echo msg="uhouho"></echo>
  </target>
</project>

実行結果

$ phing -f C:\temp\build.xml
Buildfile: C:\temp\build.xml

BUILD FAILED
Can't load default task list
Total time: 0.0030 seconds

また、バージョン表示でもエラーが出ました。

$ phing -v
No VERSION.TXT file found; try setting phing.home environment variable.

対処方法

Setting up your workstation for extension development – Joomla! Documentation > No VERSION.TXT Error を参考に、Phingを再インストールしました。

# アンインストール
$ pear uninstall phing/phing
uninstall ok: channel://pear.phing.info/phing-2.3.3

# チャンネルの設定
$ pear channel-discover pear.phing.info
Channel "pear.phing.info" is already initialized

# インストール
$ pear install phing/phing
WARNING: "pear/PEAR_PackageFileManager" is deprecated in favor of "pear/PEAR_PackageFileManager2"
Did not download optional dependencies: phing/phingdocs, pear/VersionControl_Git, phpunit/PHPUnit, pecl/Xdebug, pear/Services_Amazon_S3, pear/HTTP_Request2, channel://pear.pdepend.org/PHP_Depend, channel://pear.phpmd.org/PHP_PMD, phpunit/phpcpd, channel://pear.docblox-project.org/DocBlox, pear/PHP_CodeSniffer, use --alldeps to download automatically
phing/phing requires PEAR Installer (version >= 1.8.0), installed version is 1.7.2
phing/phing can optionally use package "phing/phingdocs" (version >= 2.4.7.1)
phing/phing requires package "pear/VersionControl_SVN" (version >= 0.3.4), installed version is 0.3.1
phing/phing can optionally use package "pear/VersionControl_Git" (version >= 0.4.3)
phing/phing can optionally use package "phpunit/PHPUnit" (version >= 3.4.0)
phing/phing can optionally use package "pecl/Xdebug" (version >= 2.0.5)
phing/phing can optionally use package "pear/Services_Amazon_S3" (version >= 0.3.1)
phing/phing can optionally use package "pear/HTTP_Request2" (version >= 0.5.2)
phing/phing can optionally use package "channel://pear.pdepend.org/PHP_Depend" (version >= 0.10.0)
phing/phing can optionally use package "channel://pear.phpmd.org/PHP_PMD" (version >= 1.1.0)
phing/phing can optionally use package "phpunit/phpcpd" (version >= 1.3.2)
phing/phing can optionally use package "channel://pear.docblox-project.org/DocBlox" (version >= 0.11.0)
phing/phing can optionally use package "pear/PHP_CodeSniffer" (version >= 1.3.0)
No valid packages found
install failed

# ↑では依存性のエラーでインストールできなかったので、--alldepsオプションを付けてやり直す
$ pear install --alldeps phing/phing
Failed to download pear/VersionControl_SVN within preferred state "stable", latest release is version 0.3.4, stability "alpha", use "channel://pear.php.net/VersionControl_SVN-0.3.4" to install
Failed to download pear/VersionControl_Git within preferred state "stable", latest release is version 0.4.4, stability "alpha", use "channel://pear.php.net/VersionControl_Git-0.4.4" to install
WARNING: "pear/PEAR_PackageFileManager" is deprecated in favor of "pear/PEAR_PackageFileManager2"
Failed to download pear/Services_Amazon_S3 within preferred state "stable", latest release is version 0.3.5, stability "alpha", use "channel://pear.php.net/Services_Amazon_S3-0.3.5" to install
Failed to download pear/HTTP_Request2 within preferred state "stable", latest release is version 2.0.0RC2, stability "beta", use "channel://pear.php.net/HTTP_Request2-2.0.0RC2" to install
phing/phing requires PEAR Installer (version >= 1.8.0), installed version is 1.7.2
phing/phing requires package "pear/VersionControl_SVN" (version >= 0.3.4), installed version is 0.3.1
phing/phing can optionally use package "pear/VersionControl_Git" (version >= 0.4.3)
phing/phing can optionally use package "pear/Services_Amazon_S3" (version >= 0.3.1)
phing/phing can optionally use package "pear/HTTP_Request2" (version >= 0.5.2)
phing/phing can optionally use package "channel://pear.pdepend.org/PHP_Depend" (version >= 0.10.0)
phing/phing can optionally use package "channel://pear.phpmd.org/PHP_PMD" (version >= 1.1.0)
phing/phing can optionally use package "channel://pear.docblox-project.org/DocBlox" (version >= 0.11.0)
phing/phingdocs requires PEAR Installer (version >= 1.8.0), installed version is 1.7.2
phpunit/PHPUnit requires PEAR Installer (version >= 1.9.3), installed version is 1.7.2
phpunit/PHPUnit requires package "channel://pear.symfony-project.com/YAML" (version >= 1.0.2)
phpunit/PHPUnit can optionally use PHP extension "curl"
phpunit/PHPUnit can optionally use PHP extension "dbus"
phpunit/phpcpd requires PEAR Installer (version >= 1.9.0), installed version is 1.7.2
phpunit/phpcpd requires package "channel://components.ez.no/ConsoleTools" (version >= 1.6)
phpunit/DbUnit requires PEAR Installer (version >= 1.9.2), installed version is 1.7.2
phpunit/DbUnit requires package "channel://pear.symfony-project.com/YAML" (version >= 1.0.2)
phpunit/File_Iterator requires PEAR Installer (version >= 1.9.2), installed version is 1.7.2
phpunit/Text_Template requires PEAR Installer (version >= 1.8.1), installed version is 1.7.2
phpunit/PHP_CodeCoverage requires PEAR Installer (version >= 1.9.2), installed version is 1.7.2
phpunit/PHP_CodeCoverage requires package "channel://components.ez.no/ConsoleTools" (version >= 1.6)
phpunit/PHP_CodeCoverage requires package "phpunit/File_Iterator" (version >= 1.2.2)
phpunit/PHP_CodeCoverage requires package "phpunit/Text_Template" (version >= 1.0.0)
phpunit/PHP_Timer requires PEAR Installer (version >= 1.9.2), installed version is 1.7.2
phpunit/PHPUnit_MockObject requires PEAR Installer (version >= 1.9.2), installed version is 1.7.2
phpunit/PHPUnit_MockObject requires package "phpunit/Text_Template" (version >= 1.0.0)
phpunit/PHPUnit_Selenium requires PEAR Installer (version >= 1.9.2), installed version is 1.7.2
phpunit/PHP_TokenStream requires PEAR Installer (version >= 1.9.1), installed version is 1.7.2
phpunit/PHP_TokenStream requires package "channel://components.ez.no/ConsoleTools" (version >= 1.6)
downloading xdebug-2.1.2.tgz ...
Starting to download xdebug-2.1.2.tgz (304,229 bytes)
..............................................................done: 304,229 bytes
downloading PHP_CodeSniffer-1.3.0.tgz ...
Starting to download PHP_CodeSniffer-1.3.0.tgz (327,201 bytes)
...done: 327,201 bytes
66 source files, building
ERROR: The DSP xdebug.dsp does not exist.
ERROR: unable to unpack C:\DOCUME~1\SCI01310\LOCALS~1\Temp\pear\download\PHP_CodeSniffer-1.3.0.tgz

# またよくわからないエラーで失敗。
# Googleで検索しても「XAMPPのせい」と一蹴されていたので、依存性を無視してインストールする。
$ pear install -n phing/phing
warning: phing/phing requires package "pear/VersionControl_SVN" (version >= 0.3.4), installed version is 0.3.1
phing/phing can optionally use package "pear/VersionControl_Git" (version >= 0.4.3)
phing/phing can optionally use package "phpunit/PHPUnit" (version >= 3.4.0)
phing/phing can optionally use package "pecl/Xdebug" (version >= 2.0.5)
phing/phing can optionally use package "pear/Services_Amazon_S3" (version >= 0.3.1)
phing/phing can optionally use package "pear/HTTP_Request2" (version >= 0.5.2)
phing/phing can optionally use package "phpunit/phpcpd" (version >= 1.3.2)
phing/phing can optionally use package "docblox/DocBlox" (version >= 0.11.0)
downloading phing-2.4.7.1.tgz ...
Starting to download phing-2.4.7.1.tgz (421,828 bytes)
.....................................................................................done: 421,828 bytes
install ok: channel://pear.phing.info/phing-2.4.7.1

ようやくインストールできました。

動作確認

バージョンが表示できるか確認します。

$ phing -v
Phing 2.4.7.1

バージョン表示はOK。 ビルドはどうでしょうか?

$ phing -f C:\temp\build.xml
** ERROR *****************************************************************
* Sorry, can't find the php.exe file.
* You must edit this file (C:\xampp\php\phing.bat) to point to your php.exe (CLI)
*    [Currently set to .\php.exe]
**************************************************************************

Phingの再インストールで php.exe が見つけられなくなってしまったようです。 c:\xampp\php\phing.bat を編集し、「SET phpCli」の行を以下のように編集します。

SET phpCli=C:\xampp\php\phing.bat

これでリトライ。

$ phing -f C:\temp\build.xml
Buildfile: C:\temp\build.xml

FooBar > dist:

     [echo] uhouho

BUILD FINISHED

Total time: 0.5076 seconds

無事動きました。

参考

XAMPP環境にJenkinsをインストールする方法

このエントリーをはてなブックマークに追加
はてなブックマーク - XAMPP環境にJenkinsをインストールする方法
Share on Facebook

アジャイル開発のスキルを少しずつ磨いています。そろそろ継続的インテグレーションを試してみようと思い、XAMPP環境にJenkinsをインストールしてみました。

環境

  • Windows XP SP3
  • XAMPP 1.7.4

導入手順

本当に、setup.exeを動かすだけで済みました。

Welcome to Jenkins CI! | Jenkins CIからWindows版のパッケージをダウンロード。 執筆時点(2011/10/06時点)では jenkins-1.433.zip。

ダウンロード後、解凍してsetup.exeを実行してインストール。 インストール先はデフォルトの “C:\Program Files\Jenkins” とします。

インストール完了後、勝手にブラウザが立ち上がって http://localhost:8080 にアクセスしますが、Jenkinsのロードが完了するまではエラーが出るようです。 時間をおいてリロードすれば、トップ画面が表示されるはずです。

軽くはまったこと

Windowsインストーラーは頻繁にアップデートされているようで、半年前のインストール方法より簡単になっているようです。 最初、古いインストール記事を見ながらApacheとjenkins.xmlの設定をやったら起動せず、途方に暮れました。

参考

svnでdiffの行数を取得する

このエントリーをはてなブックマークに追加
はてなブックマーク - svnでdiffの行数を取得する
Share on Facebook

どれだけコーディングしたかチェックするため、svnのdiffの行数を取得するコマンドを考えました。 下のコマンドを叩くと、変更された行の総数が表示されます。

(2011-08-17修正) 以前のコードはdiffのヘッダ行まで取得してしまっていたので、正しい数値が得られるよう修正しました。

svn diff -r {before}[:{after}] -x -b {path} | grep -E '^[+\-][[:blank:]]' | wc -l

例えば「チェンジセット301~310で uso.php に発生した差分の総行数」は、下のようになります。

# svn diff -r 301:310 -x -b ./uso.php | grep -E '^[+\-][[:blank:]]' | wc -l
500

ロジックは、

  1. 空白文字の差分(インデントや空行の削除)を無視してdiffを取る
  2. 差分行だけ(「+ 」「- 」どちらかから始まっている行)を取得する
  3. 行数をカウントする

となっています。

参考

svnコマンドを打つ度に「パスワードを保存しますか?」と聞かれるのを抑制する

このエントリーをはてなブックマークに追加
はてなブックマーク - svnコマンドを打つ度に「パスワードを保存しますか?」と聞かれるのを抑制する
Share on Facebook

Subversion 1.6にアップグレードしてからというもの、何かsvnコマンドを打つ度に下のメッセージが出るようになりました。

-----------------------------------------------------------------------
ATTENTION!  Your password for authentication realm:

<http:> TEST SVN repository

can only be stored to disk unencrypted!  You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible.  See the documentation for details.

You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/home/stylesen/.subversion/servers'.
-----------------------------------------------------------------------
暗号化されていないパスワードを保存しますか (yes/no)?

保存する気は無いのに毎回聞いてきてやかましいです。 抑止するには以下のようにconfigを編集します。

# ~/.subversion/config

# 以下の行を追加する
store-passwords = no
store-plaintext-passwords = no

ちなみに、一度保存してしまったユーザーの情報は ~/.subversion/auth/svn.simple/の中に保存されています。 邪魔なので消してしまいましょう。

参考

NetBeansの日本語出力が文字化けするとき

このエントリーをはてなブックマークに追加
はてなブックマーク - NetBeansの日本語出力が文字化けするとき
Share on Facebook

NetBeans IDE 7.0 Betaで試しました。

netbeans.confの「netbeans_default_options」ブロックに「-J-Dfile.encoding=UTF-8」を追加してやればいいようです。 下記のようになります。

// C:\Program Files\NetBeans 7.0 Beta\etc\netbeans.conf

# Options used by NetBeans launcher by default, can be overridden by explicit
# command line switches:
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-XX:MaxPermSize=384m -J-Dnetbeans.logger.console=true -J-ea -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dfile.encoding=UTF-8"

結果

(2011/07/07追記)

まだ文字化けする場合、出力ウインドウのフォントが日本語に対応していない可能性があります。出力ウインドウを右クリック -> [フォントを選択...]で、日本語フォントを指定してください。

参考

Complete Mirage – NetBeansでJRuby on Rails

trac0.12のテーブル構造

このエントリーをはてなブックマークに追加
はてなブックマーク - trac0.12のテーブル構造
Share on Facebook

カスタムレポートを作成しようとしてTrac DBのテーブル構造を探したのですが、意外とドキュメントが見つかりませんでした。 SQLite3の「.schema」コマンドの出力結果を載せておきます。

なお、このDBはTracLightning3.0.0で導入したTrac 0.12.ja1のものです。

trac.dbのスキーマ

CREATE TABLE attachment (
    type text,
    id text,
    filename text,
    size integer,
    time integer,
    description text,
    author text,
    ipnr text,
    UNIQUE (type,id,filename)
);
CREATE TABLE auth_cookie (
    cookie text,
    name text,
    ipnr text,
    time integer,
    UNIQUE (cookie,ipnr,name)
);
CREATE TABLE cache (
    id text PRIMARY KEY,
    generation integer
);
CREATE TABLE component (
    name text PRIMARY KEY,
    owner text,
    description text
);
CREATE TABLE enum (
    type text,
    name text,
    value text,
    UNIQUE (type,name)
);
CREATE TABLE forum (
    id integer PRIMARY KEY,
    name text,
    time integer,
    forum_group integer,
    author text,
    moderators text,
    subscribers text,
    subject text,
    description text
);
CREATE TABLE forum_group (
    id integer PRIMARY KEY,
    name text,
    description text
);
CREATE TABLE message (
    id integer PRIMARY KEY,
    forum integer,
    topic integer,
    replyto integer,
    time integer,
    author text,
    body text
);
CREATE TABLE milestone (
    name text PRIMARY KEY,
    due integer,
    completed integer,
    description text
);
CREATE TABLE node_change (
    repos integer,
    rev text,
    path text,
    node_type text,
    change_type text,
    base_path text,
    base_rev text,
    UNIQUE (repos,rev,path,change_type)
);
CREATE TABLE permission (
    username text,
    action text,
    UNIQUE (username,action)
);
CREATE TABLE report (
    id integer PRIMARY KEY,
    author text,
    title text,
    query text,
    description text
);
CREATE TABLE repository (
    id integer,
    name text,
    value text,
    UNIQUE (id,name)
);
CREATE TABLE revision (
    repos integer,
    rev text,
    time integer,
    author text,
    message text,
    UNIQUE (repos,rev)
);
CREATE TABLE session (
    sid text,
    authenticated integer,
    last_visit integer,
    UNIQUE (sid,authenticated)
);
CREATE TABLE session_attribute (
    sid text,
    authenticated integer,
    name text,
    value text,
    UNIQUE (sid,authenticated,name)
);
CREATE TABLE system (
    name text PRIMARY KEY,
    value text
);
CREATE TABLE ticket (
    id integer PRIMARY KEY,
    type text,
    time integer,
    changetime integer,
    component text,
    severity text,
    priority text,
    owner text,
    reporter text,
    cc text,
    version text,
    milestone text,
    status text,
    resolution text,
    summary text,
    description text,
    keywords text
);
CREATE TABLE ticket_change (
    ticket integer,
    time integer,
    author text,
    field text,
    oldvalue text,
    newvalue text,
    UNIQUE (ticket,time,field)
);
CREATE TABLE ticket_custom (
    ticket integer,
    name text,
    value text,
    UNIQUE (ticket,name)
);
CREATE TABLE topic (
    id integer PRIMARY KEY,
    forum integer,
    time integer,
    author text,
    subscribers text,
    subject text,
    body text
);
CREATE TABLE version (
    name text PRIMARY KEY,
    time integer,
    description text
);
CREATE TABLE wiki (
    name text,
    version integer,
    time integer,
    author text,
    ipnr text,
    text text,
    comment text,
    readonly integer,
    UNIQUE (name,version)
);
CREATE INDEX forum_time_idx ON forum (time);
CREATE INDEX message_time_idx ON message (time);
CREATE INDEX node_change_repos_rev_idx ON node_change (repos,rev);
CREATE INDEX revision_repos_time_idx ON revision (repos,time);
CREATE INDEX session_authenticated_idx ON session (authenticated);
CREATE INDEX session_last_visit_idx ON session (last_visit);
CREATE INDEX ticket_change_ticket_idx ON ticket_change (ticket);
CREATE INDEX ticket_change_time_idx ON ticket_change (time);
CREATE INDEX ticket_status_idx ON ticket (status);
CREATE INDEX ticket_time_idx ON ticket (time);
CREATE INDEX topic_time_idx ON topic (time);
CREATE INDEX wiki_time_idx ON wiki (time);

参考

TracLightning3.0とXAMPPを共存させる

このエントリーをはてなブックマークに追加
はてなブックマーク - TracLightning3.0とXAMPPを共存させる
Share on Facebook

ローカルホストには今までXAMPPとpukiwikiを入れていたのですが、リポジトリも一緒に扱えたら便利だと思ったので、ちまたで評判のTrac Lightningを導入してみました。

導入手順

1. ダウンロード

Trac Lightning Wiki – SourceForge.JPからダウンロードします。執筆時には3.0.0が最新版でした。

2. インストール

ダウンロードした TracLightning-3.0.0.exe を実行し、そのままインストールします。 私はJavaを使わないので、MavenとHudsonのチェックは外しました。

インストール後、再起動を求められるので再起動します。

3. httpd.confの設定

ここがXAMPPとの共存の肝です。TracLightingもApacheをインストールするので、ポートを変えてやらないとXAMPPとバッティングして起動できません。(両方とも標準でポート80を使う)

C:\TracLight\CollabNetSVN\httpd\conf\httpd.conf を開き、81番ポートを見るように変更します。

// 53行目
Listen 81

4. 起動

スタートメニューを開き、[Trac > コマンドプロンプトから実行]をクリックするとサービスが起動します。

ブラウザで http://localhost:81/trac/ にアクセスすると、無事プロジェクト一覧が表示されます。

以上で導入は完了です。プロジェクトの新規作成方法などは Trac の新規プロジェクト作成方法 – かおるんダイアリー (id:kaorun55) あたりを参考にしてください。

参考