スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
タグ :

bashのデバッグツールbashdbを試す

 2011-12-11
bashでスクリプトを書くことがあるのですが、echoデバッグしか出来ませんでした。
だけど、bashdbを使用すればデバッグが出来ます。


インストール


環境:Fedora11
yum install bashdb

これで完了です。

使い方


()内は別名です。基本的なのを以下に書いておきます。

1行進める:step(s)
ブレークポイント設定: break(b) <行数>
実行再開:continue(c, cont)
変数表示:print(p) <変数名>
再実行:restart(R)
終了:quit(q)
ヘルプ表示:help(h)
ソース表示(10行表示):list(l) [基点行数]
停止条件の設定:watch <条件文>


参考
シェル・スクリプトのデバッグ・ツール、bashdb - SourceForge.JP Magazine : オープンソースの話題満載
bashdbによるシェルスクリプトのデバッグ - 理想未来はどうなった?
スポンサーサイト
タグ :

今更だけどSubversionを立ててみた

 2011-12-03

ソースコードをまともに書く気になったのですが、
管理されていないコードほどたちが悪いのはないと、仕事で痛感していますので、
サーバーに導入します。

Subversionのインストール


OSはFedora11です。Webから見られるようにするため、VewVCも導入します。

管理者になっておきます。
$ su


# yum install subversion mod_dav_svn

yumで必要なパッケージをインストールします。

Subversionのディレクトリを作成します。
# mkdir /var/www/snv
# svnadmin create /var/www/svn/repos
# chown -R apache:apache /var/www/svn/repos


# vim /etc/httpd/conf.d/subversion.conf

設定ファイルがあるので最後に以下を追加します。
<Location /repos>
DAV svn
SVNParentPath /var/www/svn
SVNAutoversioning on
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from 192.168.0.0/24
</Location>

アクセス制限は環境によって適宜変更してください。

ここまで設定があっているか確認します。
# /etc/init.d/httpd configtest
Syntax OK

OKではない場合は、修正が必要です。


ViewVCのインストール



次にViewVCをインストールします。
# yum install viewvc mod_python


以下の設定を変更します。
# vim /etc/viewvc/viewvc.conf

■場所の設定
root_parents =

root_parents = /var/www/svn :svn

■日本時間に変更
#use_localtime = 0

use_localtime = 1


Apacheから起動前に単独で動作させます。
# python standalone.py -h 192.168.0.8
server ready at http://192.168.0.8:49152/viewvc
192.168.0.4 - - [03/Dec/2011 11:51:56] "GET /viewvc HTTP/1.1" 200 -
192.168.0.4 - - [03/Dec/2011 11:51:56] ViewVC exited ok
192.168.0.4 - - [03/Dec/2011 11:51:57] "GET /viewvc/*docroot*/styles.css HTTP/1.1" 200 -
192.168.0.4 - - [03/Dec/2011 11:51:57] ViewVC exited ok
192.168.0.4 - - [03/Dec/2011 11:51:57] "GET /viewvc/*docroot*/images/viewvc-logo.png HTTP/1.1" 200 -
192.168.0.4 - - [03/Dec/2011 11:51:57] ViewVC exited ok
192.168.0.4 - - [03/Dec/2011 11:51:57] "GET /viewvc/*docroot*/images/dir.png HTTP/1.1" 200 -
192.168.0.4 - - [03/Dec/2011 11:51:57] ViewVC exited ok
192.168.0.4 - - [03/Dec/2011 11:51:57] "GET /viewvc/*docroot*/images/favicon.ico HTTP/1.1" 200 -
192.168.0.4 - - [03/Dec/2011 11:51:57] ViewVC exited ok

出力されたアドレスにアクセスしてSubversionのディレクトリが確認できます。
アクセスするたびにログが出力されます。

Ctrl+Cで終了させ、Apacheの設定をします。
# vim /etc/httpd/conf.d/viewvc.conf

Alias /viewvc /usr/lib/python2.6/site-packages/viewvc/bin/mod_python/viewvc-mp.py
Alias /viewvc-static /usr/share/viewvc/templates/docroot
<Directory /usr/lib/python2.6/site-packages/viewvc/bin/mod_python>
AddHandler python-program .py
PythonHandler handler
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from 192.168.0.0/24
</Directory>

Fedora11ならアクセス制限以外は変更しません。

# /etc/init.d/httpd restart

Apacheを再起動させ、http://~~/viewvcにアクセスします。
すると以下の画面が出ます。

ViewVC Repository Listing

これでインストールは終わりです。

試しにチェックアウトします。
$ svn co http://192.168.0.8/repos/repos
リビジョン 0 をチェックアウトしました。

これで後は使うだけです。


参考


バージョン管理システム構築(Subversion) - Fedoraで自宅サーバー構築
ViewVC/1.1.2のインストール - PukiWiki
LAN内にてSvn環境を構築してみた - ちょっとした更新
タグ :

Unixコマンドの色づけ色々

 2011-11-13

最近、自分の中でターミナル上で色づけするが流行っています。
というよりほんのちょっとの改善を考えて、実践するのが楽しくてやっています。

ほんの少しかもしれませんが、誤認が減るので地味に良いです。

less



漢(オトコ)のコンピュータ道: lessでソースコードに色をつける
を参照していていただければ、出来ます。
軽く見たいときはlessで終わらせることがあるので、便利です。


ls


環境によっては標準で色つきになっていますが、なっていない場合があります。
なっていない場合は、是非ともやっておきたいです。
FreeBSDとLinuxを使うことがあるのですが、どちらも微妙に違うので気をつけてください。


FreeBSDは以下です。

alias ls='ls -G'

詳しくはこちら
lsのカラー表示


Linuxだと

alias ls='ls --color=auto'

で可能です。


diff


colordiff で diff や svn diff を見やすくする方法 - Craftworks Tech Blog - Branch
こちらを見ていただければ、出来ます。
コミットする前にdiffで確認するのですが、これがあれば変更点も一目で分かります。


gitはオプションで出来ます。
git diffをカラー表示 - うんたらかんたら日記


grep


grepはオプションで可能です。ただし古いバージョンではないみたいです。
オプションは--color=auto
で可能です。
環境変数もありますが、詳しくはこちらで。
DSAS開発者の部屋:カラフル端末で視認性を高める - grepとシェルのプロンプト編



ack


標準ではないコマンドですが、ファイルから文字列を検索するコマンドです。
とても便利なのでgrep -rばかりを使っている人は是非乗り換えをおすすめします。

ackコマンド - 上から目線
こちらの記事がわかりやすいです。

さらにvimのackプラグインを導入すると、さらにハッピーになれます。
ack.vimで編集効率を10倍向上させる | Glide Note - グライドノート


タグ :

アクセス解析OSSの「snowfinch」をインストール 続き

 2011-06-19
アクセス解析OSSの「snowfinch」をインストールの続きです。

前回の続き


前回はDB初期化で失敗していましたが、理由は簡単でした。
DBが起動していませんでした。

以下でmongodbを起動させます。

$ sudo /etc/init.d/mongod start


さらにPostgraySQLも起動させます。
$ sudo /etc/init.d/postgresql initdb
データベースを初期化中: [ OK ]
$ sudo /etc/init.d/postgresql start
postgresql サービスを開始中: [ OK ]


前回失敗したセットアップです。
$ rake db:setup
(in /home/mikky3/app/snowfinch)
db/test.sqlite3 already exists
db/test.sqlite3 already exists
db/development.sqlite3 already exists
db/development.sqlite3 already exists
-- create_table("sensor_hosts", {:force=>true})
-> 0.5275s
-- add_index("sensor_hosts", ["sensor_id"], {:name=>"index_sensor_hosts_on_sensor_id"})
-> 0.0064s
-- create_table("sensors", {:force=>true})
-> 0.0096s
-- add_index("sensors", ["site_id"], {:name=>"index_sensors_on_site_id"})
-> 0.0066s
-- create_table("sites", {:force=>true})
-> 0.0090s
-- create_table("users", {:force=>true})
-> 0.2689s
-- add_index("users", ["email"], {:name=>"index_users_on_email", :unique=>true})
-> 0.0081s
-- add_index("users", ["reset_password_token"], {:name=>"index_users_on_reset_password_token", :unique=>true})
-> 0.0086s
-- add_index("users", ["unlock_token"], {:name=>"index_users_on_unlock_token", :unique=>true})
-> 0.0098s
-- initialize_schema_migrations_table()
-> 0.0193s
-- assume_migrated_upto_version(20110410155204, "db/migrate")
-> 0.0427s

無事テーブルが作成されました。



次にsnowfinchを動かすためにPassengerを使用します。
まずはインストールします。
$ gem install passenger

次にApacheが必要とするモジュールをインストールします。
$ sudo passenger-install-apache2-module

Welcome to the Phusion Passenger Apache 2 module installer, v3.0.7.

This installer will guide you through the entire installation process. It
shouldn't take more than 3 minutes in total.

Here's what you can expect from the installation process:

1. The Apache 2 module will be installed for you.
2. You'll learn how to configure Apache.
3. You'll learn how to deploy a Ruby on Rails application.

Don't worry if anything goes wrong. This installer will advise you on how to
solve any problems.

Press Enter to continue, or Ctrl-C to abort.


--------------------------------------------

Checking for required software...

* GNU C++ compiler... found at /usr/lib/ccache/g++
* Curl development headers with SSL support... found
* OpenSSL development headers... found
* Zlib development headers... found
* Ruby development headers... found
* OpenSSL support for Ruby... found
* RubyGems... found
* Rake... found at /usr/local/bin/rake
* rack... found
* Apache 2... found at /usr/sbin/httpd
* Apache 2 development headers... not found
* Apache Portable Runtime (APR) development headers... not found
* Apache Portable Runtime Utility (APU) development headers... not found

Some required software is not installed.
But don't worry, this installer will tell you how to install them.

Press Enter to continue, or Ctrl-C to abort.


親切なことに、必要なライブラリやヘッダーがあるか調べてくれます。今回は3つあります。

fedoraなのでyumで解決させます。
$ sudo yum install libapreq2-devel

今回はこれで他の2つも解決します。

またインストールにチャレンジです。
$ sudo passenger-install-apache2-module
・・・

Checking for required software...

* GNU C++ compiler... found at /usr/lib/ccache/g++
* Curl development headers with SSL support... found
* OpenSSL development headers... found
* Zlib development headers... found
* Ruby development headers... found
* OpenSSL support for Ruby... found
* RubyGems... found
* Rake... found at /usr/local/bin/rake
* rack... found
* Apache 2... found at /usr/sbin/httpd
* Apache 2 development headers... found at /usr/sbin/apxs
* Apache Portable Runtime (APR) development headers... found at /usr/bin/apr-1-config
* Apache Portable Runtime Utility (APU) development headers... found at /usr/bin/apu-1-config


--------------------------------------------
The Apache 2 module was successfully installed.

Please edit your Apache configuration file, and add these lines:

LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.7/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.7
PassengerRuby /usr/local/bin/ruby

After you restart Apache, you are ready to deploy any number of Ruby on Rails
applications on Apache, without any further Ruby on Rails-specific
configuration!

Press ENTER to continue.

--------------------------------------------
Deploying a Ruby on Rails application: an example

Suppose you have a Rails application in /somewhere. Add a virtual host to your
Apache configuration file and set its DocumentRoot to /somewhere/public:

<VirtualHost *:80>
ServerName www.yourhost.com
DocumentRoot /somewhere/public # <-- be sure to point to 'public'!
<Directory /somewhere/public>
AllowOverride all # <-- relax Apache security settings
Options -MultiViews # <-- MultiViews must be turned off
</Directory>
</VirtualHost>

And that's it! You may also want to check the Users Guide for security and
optimization tips, troubleshooting and other useful information:

/usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.7/doc/Users guide Apache.html

Enjoy Phusion Passenger, a product of Phusion (www.phusion.nl) :-)
http://www.modrails.com/

Phusion Passenger is a trademark of Hongli Lai & Ninh Bui.

途中でEnterを押して勧めます。

その途中でhttpd.confに追加する設定が出てくるので追加します。

LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.7/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.7
PassengerRuby /usr/local/bin/ruby

今回はこれになります。

あとはバーチャルホストを使うなりして、snowfinchのpublicを指定します。

<VirtualHost *:8081>
DocumentRoot /home/mikky3/app/snowfinch/public
<Directory /home/mikky3/app/snowfinch/public >
AllowOverride all
# Options -MultiViews
RailsEnv development
</Directory>
</VirtualHost>

今回はこんな風にしました。
今回は8081ポートを使用しています。あと/home以下を指定する場合は、読み取れるよう権限も忘れず付与して下さい。

それと、developmentで実行しています。どうもprductionは上手くいかなかったので。
そのためsnowfinchの設定も変えておきます。
snowfinchディレクトリ/config/snowfinch.yml
development:
host: "192.168.0.8:8081"
collector_uri: "http://192.168.0.8:8081/collector"
mount_collector: true
mailer_sender: "snowfinch@example.com"
mongo_database: "snowfinch"

初期設定だと3000ポートになっていますが、snowfinchが動いているポートにします。



サイト設定



指定のアドレスとポートでアクセスすると以下の画面が表示されます。
snowfinch_01_signin.png
メールとパスワードは変えてないので以下の通りです。

Email: user@snowfinch.net
Password: snowfinch


ログイン後の画面は以下になります。
snowfinch_02_top.png
Add Siteで追加します。

snowfinch_03_add_site.png
サイトの名前と時間は適宜指定してください。

snowfinch_04_added_site.png
トラッキングコードが発行されるので、解析したいサイトの
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。
後に追記します。

試しに2回アクセスしてみた結果が以下になります。
snowfinch_05_view_log.png
アクティブユーザ(どうやら見ているとき時間のUU)とPVとUUなのでとてもシンプルです。

それとアクセスするとすぐに結果が反映されます。これがどうやらリアルタイム解析の根拠ですね。
以下が試しに3回アクセスした結果です。
snowfinch_06_realtime.png


仕組みはどうなっているのか気になるので、
次回はソースコードを読みながら仕組みを理解したいと思います。
タグ :

簡単にredmine 1.2.0をインストールする。

 2011-06-12
redmineが1.2.0になったのでインストールして使ってみます。
インストールは手動だとこの上なく面倒なので、BitNami :: Redmineを使用します。

これならほぼ自動です。
パッケージをDLして、実行して指示に沿って終わりです。
なんて簡単!

必要なソフトがまとまっているため容量があるのが難点ですが、面倒より良いです。
あと、モジュールにすれば容量減らせそうですが、ちょっと面倒そうなので機会があったらやってみます。
(頻繁にバージョン変更するならモジュールかな。)


$ wget http://bitnami.org/files/stacks/redmine/1.2.0-0/bitnami-redmine-1.2.0-0-linux-installer.bin

$ chmod +x bitnami-redmine-1.2.0-0-linux-installer.bin
$ ./bitnami-redmine-1.2.0-0-linux-installer.bin
----------------------------------------------------------------------------
Welcome to the BitNami Redmine Stack Setup Wizard.

----------------------------------------------------------------------------
Installation folder

Please, choose a folder to install BitNami Redmine Stack

Select a folder [/home/mikky3/redmine-1.2.0-0]:

----------------------------------------------------------------------------
Create Admin account

BitNami Redmine Stack admin user creation

Login [user]: mikky3

Password :
Please confirm your password :
Your real name [User Name]: mikky3

Email Address [mail@example.com]:

----------------------------------------------------------------------------
Language for default data configuration

Select your language for default data configuration:

[1] Bulgarian
[2] Czech
[3] German
[4] English
[5] Spanish
[6] French
[7] Hebrew
[8] Italian
[9] Japanese
[10] Korean
[11] Dutch
[12] Polish
[13] Portuguese
[14] Portuguese/Brazilian
[15] Romanian
[16] Russian
[17] Serbian
[18] Swedish
[19] Chinese
[20] Chinese/Taiwan
Please choose an option [4] : 9

SMTP Configuration

Do you want to configure SMTP server?

[1] yes
[2] no
Please choose an option [2] :

----------------------------------------------------------------------------
Setup is now ready to begin installing BitNami Redmine Stack on your computer.

Do you want to continue? [Y/n]: Y

----------------------------------------------------------------------------
Please wait while Setup installs BitNami Redmine Stack on your computer.

Installing
0% ______________ 50% ______________ 100%
#########################################

----------------------------------------------------------------------------
Setup has finished installing BitNami Redmine Stack on your computer.

Launch RedMine application. [Y/n]: Y

[Y/n]: Y

Info: To access the BitNami Redmine Stack, go to
http://localhost:8080 from your browser.
Press [Enter] to continue :

これで
http://localhost:8080
または
http://<サーバIP>:8080
でアクセスすると以下の画面が出ます。
bitnami_1_2_0_01.png
Access BitNami Redmine StackをクリックしてRedmineを開きます。

bitnami_1_2_0_02.png
先ほどのIDとパスワードでログインします。

英語で表示されているので、MyAccount→LanguageをJapaneseにして保存します。

これで後は使うだけ。




タグ :
≪ トップページへこのページの先頭へ  ≫ 次ページへ ≫
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。