CentOS5.4にApache2.2,JDK1.6,Tomcat6.0をインストール

Apache入れる前にaprとapr-utilというのを入れます。
Apache2.0から、このAPI群みたいなのを入れておくと、Apache対応のコードを書いたときに、互換性が取れるから嬉しいらしい。要はこのaprとかが環境の差異を吸収してくれるとかのありがちなやつ??らしい。なくてもいいらしいけど良くわかってないのでとりあえず入れます。
まずいところは煽ってもらえると助かるのでどうぞよろしく。

■apr
cd /usr/local
wget http://www.meisei-u.ac.jp/mirror/apache/dist/apr/apr-1.3.9.tar.gz
tar xvzf apr-1.3.9.tar.gz
cd apr-1.3.9
./configure
make
make install


■apr-util
wget http://www.meisei-u.ac.jp/mirror/apache/dist/apr/apr-util-1.3.9.tar.gz
tar xvzf apr-util-1.3.9.tar.gz
cd apr-util-1.3.9
./configure --with-apr=/usr/local/apr
make
make install


■Apache
wget http://ftp.kddilabs.jp/infosystems/apache/httpd/httpd-2.2.14.tar.gz
tar xvzf httpd-2.2.14.tar.gz
cd httpd-2.2.14

./configure \
--prefix=/usr/local/apache2.2 \
--enable-so \
--enable-rewrite \
--enable-deflate \
--enable-setenvif \
--enable-negotiation \
--enable-expires \
--enable-alias \
--with-mpm=worker \
--with-apr=/usr/local/apr/bin/apr-1-config \
--with-apr-util=/usr/local/apr/bin/apu-1-config \
--enable-threads \
--enable-proxy \
--enable-proxy-ajp \
--enable-headers \
--enable-proxy-connect \
--enable-status=shared \
--enable-auth_basic=shared \
--enable-usertrack=shared \
--enable-info=shared \
--enable-filter=shared \
--disable-autoindex \
--disable-ipv6 \
--disable-asis \
--disable-dav \
--disable-dav-fs \
--disable-speling \
--disable-userdir \
--disable-include \
--disable-example \
--disable-echo \
--disable-cern_meta \
--enable-ssl


で、こんなエラーがでたら、
>checking whether to enable mod_deflate... checking dependencies
checking for zlib location... not found
checking whether to enable mod_deflate... configure: error: mod_deflate has been requested but can not be built due to prerequisite failures
これを入れる。
yum install zlib-devel


で、こんなエラーがでたら、
>configure: error: ...No recognized SSL/TLS toolkit detected
これを入れる
yum install openssl-devel


make
make install


権限をapacheに変更する
chown -R apache.apache /usr/local/apache


httpd.confの権限指定のプロパティをapache権限に修正する。
vim apache2.2/conf/httpd.conf

User apache
Group apache


# apache がないこと確認
/sbin/chkconfig --list


# 起動スクリプト作成
vim /etc/init.d/apache

#!/bin/sh
#
# chkconfig: 35 85 15
# description: apache 2.2
apachectl="/usr/local/apache2.2/bin/apachectl"
case "$1" in
start|stop|restart|fullstatus|status|graceful|graceful-stop|configtest|startssl)
$apachectl $@
;;
*)
;;
esac


実行権限が無い場合は付けること
chmod +x /etc/init.d/apache


サービスに登録する
/sbin/chkconfig --add apache
/sbin/chkconfig --level 35 apache on
/sbin/chkconfig --list apache


組み込みモジュール確認
./apache2.2/bin/httpd -l
/usr/local/apache2.2/bin/httpd -M


■ログローテート
vim /etc/logrotate.d/apache

/usr/local/apache2.2/logs/*_log {
missingok
notifempty
rotate 20
size=4096k
daily
compress
create 0660 apache apache
sharedscripts
postrotate
/bin/kill -HUP `cat /usr/local/apache2.2/logs/httpd.pid 2>/dev/null` 2> /dev/null || true
endscript
}


■起動確認
ps aux |grep apache
/sbin/service apache start
ps aux |grep apache
/sbin/service apache stop
ps aux |grep apache


Apacheのインストール完了。



以下、JDKのインストール

■jdk1.6.18
cd /usr/local


sunのサイトがわかりにくくなってる。
下記サイトで、dk-6u18-linux-i586.binのリンクをコピーしてwgetする。
https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewFilteredProducts-SingleVariationTypeFilter?DLWidget=true&AutoWidgetDL=

wget http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-6u18-linux-i586.bin?BundledLineItemUUID=UYdIBe.nJKAAAAEmd7AnsGBQ&OrderID=9GxIBe.nan4AAAEmbbAnsGBQ&ProductID=6XdIBe.pudAAAAElYStRSbJV&FileName=/jdk-6u18-linux-i586.bin

mv jdk-6u18-linux-i586.bin\?AuthParam\=1264336428_1abc9747dc229df016df9713efa48953\&TicketId\=B%2Fw2kRiFRFNLQRFAMlZckAbh\&GroupName\=CDS\&FilePath\=%2FESD6%2FJSCDL%2Fjdk%2F6u18-b07%2Fjdk-6u18-linux-i586.bin\&File\=jdk-6u18-linux-i586.bin jdk-6u18-linux-i586.bin

chmod +x jdk-6u18-linux-i586.bin
./jdk-6u18-linux-i586.bin

長〜い使用許諾がでる。
yes入力後にインストールされるのを待つと下記にできる。
/usr/local/jdk1.6.0_18/

■環境変数追加
vim /etc/profile
#add 2010-01-24 Java installed
export JAVA_HOME=/usr/local/jdk1.6.0_18
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

source /etc/profile


java -version
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode, sharing)


JDKインストール完了。



以下、Tomcatインストール
■Tomcat
wget http://ftp.kddilabs.jp/infosystems/apache/tomcat/tomcat-6/v6.0.24/bin/apache-tomcat-6.0.24.tar.gz

tar xvzf apache-tomcat-6.0.24.tar.gz
mv apache-tomcat-6.0.24.tar.gz tomcat6.0.24

/usr/sbin/groupadd tomcat
/usr/sbin/useradd -g tomcat -d /home/tomcat -s /bin/bash tomcat

cshown -R tomcat.tomcat /usr/local/tomcat6.0.24/logs/
chown -R tomcat.tomcat /usr/local/tomcat6.0.24/conf/
chown -R tomcat.tomcat /usr/local/tomcat6.0.24/work/
chown -R tomcat.tomcat /usr/local/tomcat6.0.24/webapps/


vim /etc/profile
export TOMCAT_HOME=/usr/local/tomcat6.0.24
export CATALINA_HOME=/usr/local/tomcat6.0.24
export CLASSPATH=$CLASSPATH:$CATALINA_HOME/common/lib
source /etc/profile


■起動スクリプト作成
vim /etc/init.d/tomcat

#!/bin/bash
#
# chkconfig: 35 80 20
# description:Tomcat 6.0.24
# Source function library.
. /etc/init.d/functions
export JAVA_HOME=/usr/local/jdk1.6.0_18
export CATALINA_HOME=/usr/local/tomcat6.0.24
export PATH=$PATH:$JAVA_HOME/bin
export PATH=$PATH:$CATALINA_HOME/bin

umask 077

case "$1" in
'start')
if [ -f $CATALINA_HOME/bin/startup.sh ]; then
echo -n "Starting tomcat: "
daemon su -c "$CATALINA_HOME/bin/startup.sh" tomcat
sleep 1
echo
touch /var/lock/subsys/tomcat
fi
;;
'stop')
if [ -f $CATALINA_HOME/bin/shutdown.sh ]; then
echo -n "Shutting down tomcat: "
daemon su -c "$CATALINA_HOME/bin/shutdown.sh" tomcat
sleep 2
echo
rm -f /var/lock/subsys/tomcat
rm -f /var/run/tomcat.pid
echo "Tomcat service had stopped"
fi
;;
'status')
status tomcat
;;
'restart')
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit 0


実行権限が無い場合は付けること
chmod +x /etc/init.d/tomcat

serviceに登録する
/sbin/chkconfig --add tomcat
/sbin/chkconfig --level 35 tomcat on
/sbin/chkconfig --list tomcat


■起動確認
ps aux |grep tomcat
/sbin/service tomcat start
ps aux |grep tomcat
/sbin/service tomcat stop
ps aux |grep tomcat


Tomcatインストール完了。

# by iamaprogrammer | 2010-01-24 23:01 | Trackback | Comments(0) 

CentOS5.4初期設定メモ

毎回調べながらやってるんでここにメモします。
インストール直後からの作業です。
上から順番にやるだけです。

■文字コード
[root@CentOS] vim /etc/sysconfig/i18n
以下の内容に編集
LANG="ja_JP.UTF-8"
SUPPORTED="ja_JP.EUC-JP:ja_JP.UTF-8:ja_JP:ja"
SYSFONT="latarcyrheb-sun16"


■vim
[root@CentOS] vim /root/.vimrc
以下を追加
syntax on
set ts=4
set expandtab
set termencoding=euc-jp
set encoding=japan
set fileencodings=iso-2022-jp,utf-8,cp932,euc-jp
set fenc=euc-jp
set enc=euc-jp
set ignorecase
set incsearch
set smartcase
set scrolloff=3
set number


■yum
[root@CentOS]yum -y install yum-fastestmirror
[root@CentOS]yum -y update
#updateに時間がかかる
[root@CentOS]yum -y install net-snmp net-snmp-devel
[root@CentOS]/sbin/chkconfig snmpd on
[root@CentOS]/sbin/chkconfig --add snmpd
[root@CentOS]yum -y install libnet
[root@CentOS]yum -y install screen
[root@CentOS]yum -y install sysstat
[root@CentOS]yum -y install yumex
[root@CentOS]yum -y installl gcc
[root@CentOS]yum -y installl ntpdate
[root@CentOS]yum remove java
[root@CentOS]yum remove smb
[root@CentOS]yum clean all

■yum-cronのインストール
[root@CentOS]yum install yum-cron
[root@CentOS]rpm -ql yum-cron

[root@CentOS]vim /etc/sysconfig/yum-cron
以下の内容に編集
ダウンロードまで行って更新は手動で行う設定に変更する
# Don’t install, just check (valid: yes|no)
CHECK_ONLY=yes
# Don’t install, just check and download (valid: yes|no)
# Implies CHECK_ONLY=yes (gotta check first to see what to download)
DOWNLOAD_ONLY=yes


[root@CentOS]/etc/init.d/yum-cron restart

サーバ起動時にyum-cronを起動し、yum-updatesdを起動しないように設定
[root@CentOS]chkconfig yum-cron on
[root@CentOS]/etc/init.d/yum-updatesd stop
[root@CentOS]/sbin/chkconfig yum-updatesd off
もう一回再起動
[root@CentOS]/etc/init.d/yum-cron restart

■時刻設定
[root@CentOS]vi /etc/ntp.conf
以下を追記する
server 130.69.251.23 # ntp.nc.u-tokyo.ac.jp
server 133.31.180.6 # ntp.sut.ac.jp (tusntp.tus.ac.jp)
server 130.34.11.117 # ntp1.tohoku.ac.jp (zao.net.tohoku.ac.jp)
server 130.34.48.32 # ntp2.tohoku.ac.jp (izumi.gw.tohoku.ac.jp)

再起動
[root@CentOS]service ntpd restart

時刻合わせ
[root@CentOS]/usr/sbin/ntpdate ntp.nict.jp
確認コマンドで確認する
[root@CentOS]date
[root@CentOS]cal

自動設定On
[root@CentOS]chkconfig ntpd on
[root@CentOS]chkconfig --list ntpd

■selinux
[root@CentOS]cat /etc/sysconfig/selinux
以下になっていることを確認。なってないなら以下に編集する。
SELINUX=disabled


■iptables
[root@CentOS]vim iptables.sh
以下を新規作成する
#!/bin/sh

IPTABLES=/sbin/iptables
#rule initialize
$IPTABLES -F
#policy setting
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP
#loopback address
$IPTABLES -A INPUT -i lo -j ACCEPT
#arrow connected
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#arrow ping
$IPTABLES -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

#public service
#ssh
$IPTABLES -A INPUT -p tcp --dport 62323 -m state --state NEW -j ACCEPT
#smtp
$IPTABLES -A INPUT -p tcp --dport 25 -m state --state NEW -j ACCEPT
#http
$IPTABLES -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
#https
$IPTABLES -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT

実行する
[root@CentOS]./iptables.sh

設定反映する
[root@CentOS]/etc/init.d/iptables save
[root@CentOS]/etc/init.d/iptables restart
[root@CentOS]/sbin/chkconfig --list iptables
  iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@CentOS]/sbin/iptables -L

■ssh
[root@CentOS]vi /etc/ssh/sshd_config
以下に設定変更する
#Port 22  ←ssh接続ポート(ポート番号を変更してもおk)
Port 2222  ←ポート番号を変更する場合の例

#Protocol 2,1  ←SSH 2 のみ接続を許可
Protocol 2

#PermitRootLogin yes  ←rootでのログインを禁止
PermitRootLogin no

PasswordAuthentication yes  ←パスワード方式ログインで設定する場合、パスワードでのログインを許可
PasswordAuthentication no   ←鍵方式ログインで設定する場合、パスワードでのログインを拒否

PermitEmptyPasswords no  ←空パスワードの禁止

# :wq ← 上書き保存して編集終了

[root@CentOS]/etc/rc.d/init.d/sshd restart


■ランレベル
[root@CentOS]vim /etc/inittab
以下に変更する
#id:5:initdefault
id:3:initdefault


■ssh接続確認
reboot後に、他のマシンからsshで接続確認する。
ssh -p ポート -l ユーザー名 xxx.xxx.xxx.xxx

接続できればOK。

# by iamaprogrammer | 2010-01-24 12:47 | Trackback | Comments(0) 

CD/DVDドライブが開かない場合の対処法(WindowsXP デスクトップ)

CD/DVDドライブが開かなくなったときに対処法です。
いろいろ試して開かないので、ドライブが出てくるハードの部品(レール的なものとかモーター的なものとか)が逝ってると思っていたんですが、なんとか開きました。良かった良かった。

以下やってみたこと。

① ExplorerからCD/DVDドライブを選択して、右クリックのコンテキストメニューから「取り出す」を実行。
   → ダメ〜
② 管理ツールのデバイスマネージャーから、CD/DVDドライブを選択して、ドライバの停止/起動。
   → ダメ〜
③ 同じく管理ツールのデバイスマネージャーから、CD/DVDドライブを選択して、ドライバの更新。
   → ダメ〜
④ クリップを伸ばして、強制取り出し穴?にクリップを突っ込む。
   → ウィーンウィーンと音を出してハードが頑張っているが、ダメ〜。
⑤ 外付けCD/DVDドライブを買うかな、と諦めながら、、、クリップを伸ばして、強制取り出し穴?にクリップを突っ込む & ejectボタンを押下。
   → キタ━━━(゚∀゚)━( ゚∀)━(  ゚)━(  )━(゚  )━(∀゚ )━(゚∀゚)━━━!!!!

# by iamaprogrammer | 2010-01-18 00:03 | Trackback | Comments(0) 

Eclipse3.4にmavenプラグイン追加でプギャーm9(^0^)

M2EclipseをEclipse3.4に追加したが、Eclipseの設定ウィザードにmavenの項目が表示されない、かつ、パッケージエクスプローラーで右クリックしてもコンテキストメニューにmavenが表示されない。

Eclipse3.5にして再度M2Eclipseを入れたら正常に動いた。職場の前の席の人曰くEclipseのmavenプラグインは不安定らしい。プロジェクト/依存関係管理のプラグインなのに。NetBeansを使おうか少し悩む。でも今更慣れたIDEから離れたくはない。

# by iamaprogrammer | 2009-12-09 23:48 | Trackback | Comments(0) 

Apache2.2 Tomcat6.0 Windows エラー

Apache2.2 + Tomcat5.0使ってWindowsXP上で開発していて、Tomcat6.0にバージョンアップしてApache2.2を再起動すると急にApacheのerror_logに下記エラーが出始めた。

warn Init: Session Cache is not configured (hint: SSLSessionCache)

httpd.confのどこでもいいんで下記定義を追加するとエラーが治まった。意味分からん。
SSLSessionCache "shmcb:c:/Apache/logs/ssl_scache(512000)"
SSLSessionCacheTimeout 300


下記記事に助けられた。
Apache 2.2 on Windows Session Cache Error

# by iamaprogrammer | 2009-12-09 23:38 | Trackback | Comments(0) 

VirtualBox上のCentOSへssh接続を可能にする

(1)ゲストOSのsshd_configを編集する。
CentOSへログインし、「アプリケーション > アクセサリ > GNOME端末」を起動し、下記プロパティを編集する。
#Portは62323に変更
Port 62323

#SSH2のみ接続可能
Protocol 2

#rootでのログインを禁止
PermitRootLogin no

#パスワード方式ログインで設定する場合、パスワードでのログインを許可
PasswordAuthentication yes

#空パスワードの禁止
PermitEmptyPasswords no


設定変更の反映。
/etc/rc.d/init.d/sshd restart

(2)iptablesの変更のため、以下のシェルを作成後に実行する。
※ ssh接続の許可Portは62323で。
#!/bin/sh

IPTABLES=/sbin/iptables

# ルールの初期化
$IPTABLES -F

# ポリシーの設定
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP

# ループバックアドレス
$IPTABLES -A INPUT -i lo -j ACCEPT

# 接続済みを許可
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# ping を許可(1req/sのみ許可)
#$IPTABLES -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

# 公開サービス
$IPTABLES -A INPUT -p tcp --dport 62323 -m state --state NEW -j ACCEPT # SSH
$IPTABLES -A INPUT -p tcp --dport 25 -m state --state NEW -j ACCEPT # SMTP
$IPTABLES -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT # HTTP
$IPTABLES -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT # HTTPS


設定変更の保存。
/etc/init.d/iptables save
iptablesの再起動。
/etc/init.d/iptables restart

(3)ssh接続確認。
ゲストOSのipadressを確認し、そのipadressにホストOSからssh接続する。
これでホストOSからsshしたらゲストOSにログインできるはず。

# by iamaprogrammer | 2009-12-06 02:03 | Trackback | Comments(0) 

VirtualBoxへCentOS5.4をインストールする

以下の手順でVirtualBoxへCentOS5.4をインストールする。
※ 下記画像の手順に沿って行うと無事に完了するはず。特にコメントのないものは画像の入力値のままでいいと思う。
↓「起動」クリックで仮想マシン起動。

↓仮想マシン上のゲストOSの操作の状態から、ホストOSの操作に戻るときのキーボード操作に関しての注意が表示される。「左側のコマンドキー」だそうだ。「← + コマンドキー」ではないので注意。

↓インストール開始。boot : _ で待機するんでEnterキー押下で流れていく。


↓CDからインストールではなくイメージからインストールなのでスキップしてみた。


↓仮想マシンに割り当てた8GBに対しての話のようなので、「はい」クリック。


↓こちらも仮想マシンに割り当てた8GBに対しての話のようなので、「はい」クリック。


↓rootのパスワード設定。

↓とりあえず下記に設定。
#DeskTop - Gnome と Server 





↓iptablesで後から変更可能?だと思っているが以下の設定で。





以上でVirtualBoxへCentOS5.4をインストール完了。

VirtualBoxのインストールと仮想マシンの新規作成
VirtualBoxの仮想マシンの設定
VirtualBoxへCentOS5.4をインストールする

# by iamaprogrammer | 2009-12-05 16:17 | Trackback | Comments(0) 

VirtualBoxの仮想マシンの設定

VirtualBoxのインストールと仮想マシンの新規作成で作成した仮想マシンの使用目的は、

・ ホストOS(今回はMacOS X 10.5.8)からゲストOS(今回はCentOS 5.4)に
  sshで接続して主に開発用としたい。
・ ゲストOSからもWebやメールを利用したい。

ということで、まずCentOS5.4のイメージをダウンロードする。
# DVDイメージである”CentOS-5.4-i386-bin-DVD.iso”をダウンロードした。
Index of /pub/Linux/CentOS/5.4/isos/i386

次に以下の設定を行う。

↓起動直後の画面から「設定」クリック。

↓フロッピーは無いのでチェックを外す。

↓ネットワークのアダプタ1は下記設定にする。(ホストOSとの接続用のアダプタになるみたい)
※ ネットワークの設定はいつもどおり躓いたので以下を参考にした。VirtualBox 2.2 と CentOS 5.3 でローカル開発環境

↓同じくネットワークのアダプタ2はNATで設定するらしい。
# ちなみに私のホストOS(MacOS X)は無線LANで通信している。
# 有線接続であればブリッジ接続でホストOSと同じLAN内のIPアドレスが取得できた。(Windows XPで試したみた結果そうだった)

↓「ストレージツリー」の下記画像の選択箇所に、ダウンロードしたCentOSのイメージを指定する。

以上で仮想マシンの設定完了。

# by iamaprogrammer | 2009-12-05 15:38 | Trackback | Comments(0) 

VirtualBoxのインストールと仮想マシンの新規作成

(1) SunのサイトからVirtualBoxをダウンロードし、インストールする。
Sun VirtualBox Downloads

(2) VirtaulBoxに仮想マシンを作成する。
※ 下記画像の手順に沿って行うと無事に完了するはず。特にコメントのないものは画像の入力値のままでいいと思う。
↓起動直後。


↓「名前」は任意でOKのはず。「OSタイプ」は適切なものを選択する。 今回はCentOSなので以下画像の値にした。

↓割り当てるメモリ容量は256MBだと変なバグが発生するらしいので512MBにした。

↓今回は新規に仮想マシンを作成するので、以下の設定値でOK。

↓「可変サイズのストレージ」で「次へ」。

↓ここの「場所」に入力した値でVirtualBoxで管理されるだけなはず。
下記画像の入力値の場合はこの場所にcontext.xml的なファイルが配置される。
/Users/ユーザー名/Library/VirtualBox/Machines/CentOS5.4/CentOS5.4.xml



以上で仮想マシンの作成までは完了。
続いて、仮想マシンの設定へ

# by iamaprogrammer | 2009-12-05 13:48 | Trackback | Comments(0) 

Macのアプリ名変更

例えば今日インストールしたGoogle日本語入力のアプリ名を変更する場合。 
# 他のアプリでも同様の手順でOKのはず。

Finderで下記ファイルを編集する。


このファイルを開いたらこういう内容なので、CFBundleNameを任意の名称に変更する。
# ちなみに、このプロパティ値でSpotlightのIndexが作成されるみたい。

# by iamaprogrammer | 2009-12-03 23:32 | Trackback | Comments(0) 

< 前のページ 次のページ >