2011年4月30日土曜日

Aipo 6

Cです。

グループウェアのAipo6を試してみたいと思います。
最初はDebian最小インストール。これお決まり。

そして必要なパッケージをじゃんじゃん入れていこう。

パッケージじゃんじゃん
■SSHサーバ
#apt-get -y install openssh-server

■JRE
#apt-get -y install openjdk-6-jre openjdk-6-jre-headless openjdk-6-jre-lib

■Tomcat
#apt-get -y install tomcat6
#apt-get -y install tomcat6-admin tomcat6-examples tomcat6-docs

#vi /etc/default/tomcat6
#JAVA_HOME=/usr/lib/jvm/openjdk-6-jdk
修正する
JAVA_HOME=/usr/lib/jvm/java-6-openjdk

#vi /etc/tomcat6/tomcat-users.xml
tomcat-usersがコメントアウトされているので外して有効にする。
そして下記ユーザを追記

<role rolename="admin"/>
<role rolename="manager"/>
<user password="admin" roles="admin,manager" username="admin"/>

■apache
#apt-get -y install apache2

proxy proxy_ajpを有効にする
#a2enmod proxy
#a2enmod proxy_ajp

tomcat用apacheコンフィグ作成
#vi /etc/apache2/conf.d/tomcat
<Location /aipo/>
ProxyPass ajp://localhost:8009/aipo/
Order allow,deny
Allow from All
</Location>



tomcatコンフィグ修正
#vi /etc/tomcat6/server.xml

↓これのコメントアウトを消して有効にする。
<!--
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
-->

↓こうする
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

■PostgresSQL
#apt-get -y install postgresql
#apt-get -y install pgadmin3

postgresユーザのパスワードを設定する
#passwd postgres
password

認証ユーザの追加
#vi /etc/postgresql/8.4/main/pg_hba.conf

local all postgres,aipo_postgres ident

リスタート
#/etc/init.d/postgresql restart

Aipoユーザを作成
#useradd aipo_postgres

postgresqlユーザーのaipo_postgresを作成
#sudo -u postgres createuser aipo_postgres
新しいロールをスーパーユーザとしますか? (y/n) y

postgresqlユーザーにパスワードを設定する準備
#sudo -u postgres psql template1

postgresqlユーザーのaipo_postgresにパスワード設定
template1=# alter user aipo_postgres with password 'aipo';

postgresqlユーザー postgresパスワード設定
template1=# alter user postgres with password 'postgres_db_pass';

template1=# \q

データーベース作成
#sudo -u postgres createdb org001 --owner=aipo_postgres

現在、作成済みデーターベースを確認
#sudo -u aipo_postgres psql -l

#service tomcat6 restart
#service apache2 restart

■Aipo導入
ダウンロード
#wget http://aipo.googlecode.com/files/aipo6000ja_linux.tar.gz

ディレクトリ注意すること。
#tar zxvf aipo6000ja_linux.tar.gz
#tar zxvf aipo6000.tar.gz

#cp aipo/src/postgresql-8.4-702.jdbc4.jar /usr/share/tomcat6/lib/
#cp aipo/src/tools.jar /usr/share/tomcat6/lib/
#cp -R aipo/src/webapps/aipo /var/lib/tomcat6/webapps/
#cp -R aipo/src/webapps/ROOT/* /var/lib/tomcat6/webapps/ROOT/
#cp -rf aipo/src/initdata/psml /var/lib/tomcat6/webapps/aipo/WEB-INF
#cp -rf aipo/src/initdata/files /var/lib/tomcat6/webapps/aipo/WEB-INF
#cp -rf aipo/src/initdata/mail /var/lib/tomcat6/webapps/aipo/WEB-INF
#sed -i "s/cayenne.dbcp.username=postgres/cayenne.dbcp.username=aipo_postgres/g" /var/lib/tomcat6/webapps/aipo/WEB-INF/datasource/dbcp-org001.properties
#sed -i "s/cayenne.dbcp.username=postgres/cayenne.dbcp.username=aipo_postgres/g" /var/lib/tomcat6/webapps/ROOT/WEB-INF/datasource/dbcp-org001.properties
#sed -i "s/aipo.webappserver.port=8080/aipo.webappserver.port=80/g" /var/lib/tomcat6/webapps/aipo/WEB-INF/conf/AipoResources.properties
#sudo -u aipo_postgres /usr/bin/psql -U aipo_postgres -d org001 -p 5432 -f /root/aipo/src/initdata/sql/org001.sql
#sudo -u aipo_postgres /usr/bin/psql -U aipo_postgres -d org001 -p 5432 -f aipo/src/initdata/sql/sample.sql

#sudo chown -R tomcat6:tomcat6 /var/lib/tomcat6/webapps/aipo

#vi TokenKey.sh
#!/bin/sh
#securityTokenKey作成
seed="0123456789abcdefghijklmnopqrstuvwxyz"
key=""
count=0
while [ $count -lt 128 ]; do
ran=`expr $RANDOM % 36 + 1`
char=`expr substr $seed $ran 1`
key=$key$char
count=`expr $count + 1`
done
echo -n $key > /var/lib/tomcat6/webapps/aipo/WEB-INF/conf/securityTokenKey.txt
echo -n $key > /var/lib/tomcat6/webapps/ROOT/WEB-INF/classes/aipo/securityTokenKey.txt

# cp /var/lib/tomcat6/webapps/aipo/WEB-INF/conf/securityTokenKey.txt /var/lib/tomcat6/webapps/aipo/WEB-INF/conf/securityTokenKey.txt.backup

# cp /var/lib/tomcat6/webapps/ROOT/WEB-INF/classes/aipo/securityTokenKey.txt /var/lib/tomcat6/webapps/ROOT/WEB-INF/classes/aipo/securityTokenKey.txt.backup

実行
# bash TokenKey.sh

後はtomcatとapacheをリスタートすればいけるはず。

2011年4月23日土曜日

KVM 構築

Cです。こんばんわ。

KVMを使ってみよう。

今まで仮想化基盤としてはVMware ESXiを使用していたが、
KVMはRedHat社がサポートする製品ラインナップに取り込まれたことによりかなり精錬されてきている。

今後の仮想化基盤の主役ともなるべき存在だと私は確信している。

ESXiに勝っていると思う最大のポイントはLinuxの資産だ。
ハイパーバイザOSにLinuxを使用する為、今まで築き上げてきたLinuxドライバなどを使える点だ。
ESXiは手を加えない状態だとハードウェアをかなり選ぶ。(ドライバを作成する必用がある)
まあ元々ESXiはサーバアプライアンスに乗せる物として出してるから当たり前なんだけど。

ということでKVMを使ってみよう。

まずはいつものようにDebian最小インストール。

最低限必要なものを入れよう。
今回はOpenSSHサーバとsmbclient、vimを導入した。

あと、VM管理に使用する為、最低限のX環境を導入。(LXDE)
#apt-get update
#apt-get install openssh-server smbclient vim
#apt-get install xorg lxde gdm ttf-vlgothic scim-anthy
#apt-get remove gdm

ESXiだと、ハイパーバイザでは無い管理用端末(Windowsマシン)等に、
vSphereClientという管理用アプリケーションをいれて管理をするのだが、
KVMでは、KVMの動作しているOS上でCUIから仮想マシンの管理をすることができる、
それとvirt-managerという管理ツールを、KVMの動作しているLinuxに入れて
X上からも管理が行えるのである。

ということは、WindowsマシンからRDPで接続してやれば、管理用端末(Windwos)には
何も入れる必要は無い。

WindowsからRDP接続できるようにxrdpを入れておこう。
#apt-get install xrdp

仮想環境の導入
#apt-get install kvm libvert-bin bridge-utils virt-manager

仮想スイッチを作成 → ここ

仮想ディスクイメージの作成
#dd if=/dev/zero of=仮想ディスクイメージ名 bs=1M count=102400

ヴァーチャルマシンを起動させて、ゲストOSをインストールしよう
#kvm -hda 仮想ディスクイメージ -cdrom インストールメディア -boot d -m 1024 -net nic -net tap,ifname=tap0 -k ja -curses -vnc :0
↑tapはかぶらないように。

#kvm -hda 仮想ディスクイメージ -cdrom インストールメディア -boot d -m 1024 -net nic -net tap,ifname=tap0 -k ja -curses -vnc :0

vncクライアントで 「ハイパーバイザーIP:5900」に接続すれば
ゲストOSインストール画面が見えるはず。

あとは煮るなり焼くなりすきにすればいい。

以上、とりあえずKVMで動いた。

仮想スイッチ の作成

こんばんわ、Cです。

仮想スイッチを作成する方法

仮想スイッチ、
サーバの仮想化に無くてはならない技術。

仮想スイッチをハイパーバイザー内に生成することによって、
バーチャルマシンがネットワークにフラットに参加させることができる。

図を描いてみた。


大体こんな感じ、
これの図はバーチャルスイッチの説明の為の図で、
実際の企業で使用するサーバでは物理NICのチーミングやVLAN等もしっかり組んでやる
必要がある。

この図の構成だと、
ハイパーバイザにアクセスしたいときは「br0」のアドレスを指定することになる。

■仮想スイッチの作り方(一時的)※あなたは今どこから接続している?通信が切断される可能性あり。
#apt-get install bridge-utils ←このパッケージが必要
#ifconfig eth0 0.0.0.0 promisc up ←物理NICをプロミスキャスモードにする
#brctl addbr br0 ←br0という仮想NICを作成
#brctl addif br0 eth0 ←br0はeth0に所属することを教えてあげる
#ifconfig br0 up ←br0をLink UP!

ハイパーバイザ自身(ホストOS)に外部から接続しないのであればこれでいいが、
管理上そんなことは絶対に無いので、IPアドレスを振ってあげる。
#ifconfig br0 192.168.24.30 netmask 255.255.255.0
#route add default gw 192.168.24.1
#echo "nameserver 192.168.24.1" >/etc/resolv.conf
↑アドレスは読み替えてくれよ

■仮想スイッチの作り方(恒久的)
#vi /etc/network/interface
既存のeth0の設定をコメントアウトにでもしておいて、
「br0」の設定を追記してやろう。
auto br0
iface br0 inet static
pre-up /sbin/ifconfig eth0 0.0.0.0 promisc up
pre-up /usr/sbin/brctl addbr br0
pre-up /usr/sbin/brctl addif br0 eth0

address 192.168.24.30
network 192.168.24.255
netmask 255.255.255.0
broadcast 192.168.24.255
gateway 192.168.24.1
bridge_ports eth0
bridge_stp off

以上、仮想スイッチの作成おわり。

と思ったら、tap忘れてた。
tapはVMを起動するときにどこに割り当てるか指定するので、
詳しくはKVMのところに書いとこう。

ほんとに以上。

2011年4月22日金曜日

IP Address の設定

ようこそCです。

ip address の設定方法をメモっときます。

一時的な設定(ipaddressは読み替えて)
#ifconfig eth0(インターフェイス名) 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255
#route add default gw 192.168.1.1

■恒久的な設定(centOS)
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0C:29:B1:1A:18
ONBOOT=yes
HOTPLUG=no
IPADDR=192.168.24.150
NETMASK=255.255.255.0
NETWORKING_IPV6=no
TYPE=Ethernet

#vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=STORAGE01
GATEWAY=192.168.24.1

IPv6を完全に無効化するには、下記設定も必要だ。
#vi /etc/modprobe.comf
alias ipv6 off
alias net-pf-10 off
kernel2.4系だと/etc/modprobe.confじゃなくて/etc/modules.confだよ。
/etc/modprobe.d/modprobe.dist の場合もある。debianだと/etc/modprobe.d/aliases、、、

■恒久的な設定(Debian Squeeze以降)
#vi /etc/network/interface
この中の
#iface eth0 inet dhcp ← DHCPになってるのでコメントOUTで残しておこう。
自分のネットワーク環境に合わせて追記↓
iface eth0 inet static
address 192.168.24.30 
netmask 255.255.255.0
gateway 192.168.24.1

IPv6無効化(squeeze以降)
IPv6がついにモジュールではなくカーネルに組み込まれてしまった。
#echo "net.ipv6.conf.all.disable_ipv6 = 1" > /etc/sysctl.d/ipv6.conf
#sysctl -p