« 2005年11月 | トップページ | 2006年3月 »

2006年1月

2006/01/29

デュアルブートからトリプルブートへ

仕事の関係で、家のWindows2000にJavaの開発環境(富士通のInterstage)をインストールする必要があったのですが、インストーラーが正常に動きませんでした。
富士通のサポートに問い合わせたのですが、いかんせんインストーラーの問題のため原因不明。
もともとEclipseなどが入っている環境のため、競合があったのかな???

でも、なんとかしてインストールしなくてはいけないので、普段Linuxのクライアントとして使っているPC(Windows98とVineLinux3.1のデュアルブート)に余っているハードディスクを増設し、そこにWindows2000をインストールすることにしました。


ここで問題になるのが、MBRに入っているliloがWindows2000用のブートストラップコードに上書きされてしまう、ということです。
Windows98のデュアルブートは、Windows98→VineLinuxの順にインストールした為に、非常に簡単にできたのですが、今回はそういうわけにはいきません。
複数OSの起動設定では、今まで何度も失敗しているんですよ~。
とにかくマイクロソフト製OSのインストーラーは自分勝手なヤツが多くて、他のOSのブート領域をぶち壊しながらインストールしたりするんです。(T_T)

そこで、念のためMBMを使用してLinuxのパーティションを隠しておき、Windows2000インストール後にliloを再インストールしようと思ったわけです。


そう言えば、Linuxインストール時に作った起動ディスクってどこにやったっけ?
無くしたっぽい・・・。
Windows2000インストール後にLinuxを起動させるためには、起動ディスクが無いといけません。
起動ディスクってどうやって作るのだ?
と思って調べた所、Linux活用日記起動ディスクの作り方に詳しく載っていました。
mkbootdiskってコマンドを使えばいいのね~。

で、試したのですが、
mkbootdiskってなコマンドは無い!って怒られてしまいます。
そんなバカな!と思い、VineLinuxのSynapticからmkbootdiskを探したところ、インストールされていませんでした。(汗)
Synapticを使ってインストールすると、使えるようになりました。

まず、rootでログイン。
# uname -r
とコマンドして、OSのリリース番号を表示し、メモっておきます。
フォーマット済み(DOS用フォーマットでOK)のフロッピーを入れて、
# mkbootdisk 2.4.27-0vl7
(2.4.27-0vl7ってのはさっきのOSのリリース番号です。もちろん環境によって異なります。)
とコマンドすると、起動ディスクが出来上がります。
この起動ディスク、Win98とのデュアル環境で作ったのですが、Linuxの起動のみしか対応していません。
Linux専用起動ディスクなわけです。


現在の環境なんですが、
ハードディスク1個目の
基本領域にWindows98
拡張領域にFAT32(Windows98のマイドキュメント用)と
VineLinux用のパーティションが入っています。(liloでのデュアルブート環境
そこに、ハードディスクを1個追加し、追加したハードディスクにWindows2000をインストールします。


さて、Windows2000をインストールすることになるのですが、
その前に念のためにMBMを使って、Linuxのパーティションを隠しパーティションにします。
(ヘルプを見ると解ると思いますが、F4で詳細を表示してからF7で隠せます)
あとは普通にWindows2000をインストールします。

基本領域にWindows98が入っているので、勝手にNTLDRを使ったWindows98とWindows2000のデュアル環境が出来上がります。
でも、liloが上書きされているのでLinuxは起動できません。
そこで、さっき作った起動ディスクで起動します。

Linuxが起動したら、liloを上書きします。
Vine Linux ワークステーションWindows98とWindows2000とLinuxをliloを使ってトリプルブートを参考にしました。

NTLDRは、Windows98がインストールされているPBRから起動されているので、Windows98のデュアルブート時のLiloの設定を変更することなくそのまま使えます。(ラベル名変えたりとかはすると思うけど。)
そんなわけで、rootで
# /sbin/lilo
とコマンドするだけでliloの再インストールが完了します。


いちおう、私の環境の /etc/lilo.conf を載せておきます。

prompt
timeout=150
default=linux
boot=/dev/hda
map=/boot/map
install=menu
message=/boot/message

image=/boot/vmlinuz-2.4.27-0vl7
    label=linux
    initrd=/boot/initrd-2.4.27-0vl7.img
    read-only
    root=/dev/hda7
    append=" resume2=swap:/dev/hda8"

other=/dev/hda1
    optional
    label=Windows

timeoutを50(5秒)から150(15秒)に、
otherのlabelをwin98だったのをWindowsに変更しました。


起動ディスクを抜いて再起動したところ・・・・

できました!やった~!
最初にliloが起動し、LinuxかWindowsかを選択します。
Windowsを選択すると、今度はNTLDRが起動し、98か2000かを選択します。

デュアル環境構築には散々辛酸をなめさせられていただけに、かなり覚悟をしていたのですが、思っていたより簡単でした。

| | コメント (0) | トラックバック (0)

Windows2000の時刻合わせ

私は普段Windows2000をメインに使っていますが、この間このマシンの電池が切れて、時刻がめちゃめちゃになりました。(汗)
電池を交換して事なきを得たのですが、
せっかくWebサーバにntpサーバを入れているんだから、定期的にこいつを見に行くようにしようと思いました。

参考ページ
藤本さんのページの、コンピュータの時刻をNTPで正確に!です。

コマンドプロンプトを起動して、以下のコマンドを入力
C:\> net time /setsntp:サーバのIP
で、設定完了
C:\> net time /querysntp
と入力して、サーバのIPが表示されればOKです。

Windows2000は、デフォルトではWindows Timeサービスが動いていないので、
コントロールパネル→管理ツール→サービス から
Windows Timeを、自動、開始、に設定しておきます。

これで、1週間に1回、時刻をサーバに同期します。

設定するNTPサーバのIPなんですが、私の場合は自宅サーバなんで他の方の参考になりません。(笑)
ネットで調べるといろいろ見つかると思います。
また、時刻を合わせる間隔も、レジストリで変更できるそうですが、これもネットで調べればいろいろ情報が出てくると思います。(やったことないけど)

| | コメント (0) | トラックバック (0)

2006/01/03

Webサーバ構築時の全コマンド(VineLinux2.6)

Webサーバ構築時にコマンドをコピーしておいたので、それを載せます。
新しいWebサーバを購入してから、その後すぐにインストール&設定等済ませていたのですが、なかなかココログに載せる暇が無くて、今になってしまいました。(汗)

Vine Linux2.5をインストールしてから、Webサーバとして動かすまでの全コマンドです。(一部抜けがあるかもしれません(汗))
Linuxで自宅サーバを参考にさせてもらってます。


○Webminの設定 --------------------------------------------------
Vine Linux2.5のWebminは自動アップデートできないので、
手動でアップデートする必要がある。
・WebminのRPMをダウンロードし、Webminの
「ソフトウェアパッケージ」→「新たなパッケージをインストール」という項目があるので、
「ローカルファイルから」を選択しアップデートする
その後、setup コマンドで、システム起動時にwebminを自動起動するように設定する
・IPアクセス制限の設定を行う


○sshのセキュリティ設定 ---------------------------------------------
特定ユーザー 以外の接続を禁止
/etc/ssh/sshd_config に以下を追加
# AllowUsers
AllowUsers ユーザー名

sshdの再起動
# /etc/init.d/sshd restart
sshdを停止中: [ OK ]
sshdを起動中: [ OK ]


○TELNETの停止 --------------------------------------------------
setupコマンドから、telnetの自動起動を停止させる→既に止まってた
/etc/inetd.confの、telnetをコメントする
#telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd

inetdの再起動
# /etc/init.d/inet restart
Stopping INET services: [ OK ]
Starting INET services: [ OK ]


○PostgreSQLの設定 ----------------------------------------------
PostgreSQLを起動する
# /etc/init.d/postgresql start
データベースを初期化中: [ OK ]
Starting postgresql service: [ OK ]

postgresユーザーのパスワード設定
# passwd postgres
Changing password for user postgres
New UNIX password: パスワード入力
Retype new UNIX password: パスワード入力
passwd: all authentication tokens updated successfully


tcpip接続の許可(Windowsからcseなどのツールで接続する場合に必要)
/var/lib/pgsql/data/postgresql.conf を編集
#tcpip_socket = false
tcpip_socket = true

/var/lib/pgsql/data/pg_hba.conf を編集
#host all 127.0.0.1 255.255.255.255 trust
のコメントを取って
host all 127.0.0.1 255.255.255.255 trust
にする
他のIPから接続するために、以下を追加
host all 接続するIP マスク trust


一度再起動する
# /etc/init.d/postgresql restart
PostgreSQLサービスを停止中: [ OK ]
Starting postgresql service: [ OK ]


特定ユーザーにPostgreSQLの権限を与える
# su postgres
bash-2.05$ createuser ユーザー名
Shall the new user be allowed to create databases? (y/n) y
Shall the new user be allowed to create more new users? (y/n) n
CREATE USER

特定ユーザーでデータベースの作成
特定ユーザーでログイン
$ createdb データベース名
CREATE DATABASE

SQLの実行などなど・・・
Windowsからcseで接続できればOK

# setup
でセットアップを表示し、システムサービス設定からpostgresqlにチェックを付ける


○JAVAのインストール----------------------------------------------
j2sdk-1_4_2_09-linux-i586-rpm.binをダウンロード
JAVAのダウンロードページのインストールガイド通りにインストール

RPMパッケージ名を検索
# rpm -qa | grep j2sdk
j2sdk-1.4.2_09-fcs

RPMのインストール先を検索
# rpm -qs j2sdk-1.4.2_09-fcs | less
/usr/java/j2sdk1.4.2_09/bin/ に、java,javac があるのがわかる

リンクの作成(/usr/java/jdkから使用できるようにする)
# cd /usr/java
# ls
j2sdk1.4.2_09
# ln -s j2sdk1.4.2_09 jdk
# ls
j2sdk1.4.2_09 jdk

環境変数の設定
/etc/profileの最終行に以下を追加
# PATH
export JAVA_HOME=/usr/java/jdk
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/lib

設定を反映
# source /etc/profile


○TOMCATのインストール -------------------------------------------
jakarta-tomcat-5.0.28.tar.gz をダウンロード
MD5チェック
# cd /tmp
# md5sum jakarta-tomcat-5.0.28.tar.gz
2a189b6be6d8d6801097d4a658edfa05 jakarta-tomcat-5.0.28.tar.gz

ファイルを展開
# cd /usr/local/
# tar xzvf /tmp/jakarta-tomcat-5.0.28.tar.gz

リンクの作成(/usr/locdal/tomcatから使用できるようにする)
# ln -s jakarta-tomcat-5.0.28 tomcat

環境変数の設定
/etc/profileの最終行に以下を追加
export TOMCAT_HOME=/usr/local/tomcat

設定を反映
# source /etc/profile

起動テスト
# /usr/local/tomcat/bin/startup.sh
停止
# /usr/local/tomcat/bin/shutdown.sh

管理者の設定
# cd /usr/local/tomcat/conf/
# vi tomcat-users.xml
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>部分に
<role rolename="manager"/>←追加
<role rolename="admin"/>←追加
<user username="ユーザー名" password="パスワード" roles="admin,manager"/>←追加
</tomcat-users>

JDBCドライバを探す
# find / -name jdbc*
/usr/share/pgsql/jdbc7.1-1.1.jar
/usr/share/pgsql/jdbc7.1-1.2.jar
/usr/share/pgsql/jdbc7.2dev-1.1.jar
/usr/share/pgsql/jdbc7.2dev-1.2.jar
4つあった
TOMCATにPostgreSQLのJDBCドライバを設置
# cp /usr/share/pgsql/jdbc7.1-1.2.jar /usr/local/tomcat/common/lib/

Administration Toolでデータソースの設定をする
リソース→データソースに、
新規でデータソースを作成
JNDI名: jdbc/データソース名
データソースURL: jdbc:postgresql:データベース名
JDBCドライバクラス: org.postgresql.Driver
ユーザ名: データベースユーザー名
パスワード: データベースパスワード
有効な最大接続数: 4(デフォルト)
アイドル状態の最大接続数: 2(デフォルト)
最大接続待ち時間: 5000(デフォルト)
クエリの検証: ?テスト用に適当なSQLを記入すればいいの?(未記入)

Administration Toolでリソースリンクの登録をする
サービス→ホスト→コンテキスト から、Webアプリケーションを選択
そこの リソース→リソースリンク
名前: jdbc/データソース名
グローバル: 上記のJNDI名
型: javax.sqlDataSource

WARファイルの設置

TOMCAT5.0.28では、デフォルトでGETから送られてきたリクエストの
request.setCharacterEncoding()を無視する仕様の為、
server.xmlを変更する必要がある。
Administration Toolで、
サービス→コネクタ→8080と
サービス→コネクタ→8009の←Apacheと連携している時
URIクエリパラメータにボディのエンコーディングを使用:TRUE に設定

TOMCATの再起動


○ApacheとTomcatの連携 -------------------------------------------
jakarta-tomcat-connectors-jk2-src-current.tar.gz をダウンロード
aprとapr-util ver0.9.4がなかったので、ver.0.9.7をダウンロード
ファイル3つとも/usr/local/src に置いて、tarする

コンパイル
# cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/
# ./configure --with-apxs=/usr/sbin/apxs --with-apr=/usr/local/src/apr-0.9.7 --with-apr-util=/usr/local/src/apr-util-0.9.7
# make

作成したモジュール、設定ファイルのコピー
# cd ../
# cp build/jk2/apache13/mod_jk2.so /etc/httpd/modules
# cp conf/workers2.properties /etc/httpd/conf/

/etc/httpd/conf/httpd.conf に
LoadModule jk2_module modules/mod_jk2.so
AddModule mod_jk2.c
を追加


/etc/httpd/conf/workers2.properties の設定
[uri:/Webアプリケーションのディレクトリ/*]
info=適当に記入 ←単なる説明

Apacheを再起動する
# /etc/init.d/httpd restart

htmlファイルをApacheに置く


TOMCATでファイル一覧を出さないように設定
# cd /usr/local/tomcat/conf/
web.xml を修正
<servlet>の
<init-param>
<param-name>listings</param-name>部分
<param-value>false</param-value>←trueをfalseに変更
</init-param>
</servlet>

Apacheのhttpd.confを設定する
/etc/httpd/conf/httpd.confに追加
#
# My Contents Directry
#
<Directory 絶対パス/htmlファイルのあるディレクトリ名(最後の/はいらない)>
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>


○Diceの設定 -----------------------------------------------------
diced01912.tar.gz をダウンロード
# cd /usr/local/bin/
# mv /tmp/diced01912.tar.gz ./

展開
# tar xzvf diced01912.tar.gz
diceの実行
# cd DiCE/
# ./diced
質問に答える

デーモン起動
# ./diced -d -l
確認
# ps -C diced
PID TTY TIME CMD
19907 ? 00:00:00 diced ←いればOK


○タイムサーバの設定 ----------------------------------------------
IP取得にDHCPを使用していないのが条件(DHCPを使用していると起動時に設定が上書きされる)

現在の設定ファイルのバックアップ
# cp /etc/ntp.conf /etc/ntp.conf.back
/etc/ntp.conf に以下を追加
# Security Setting
# Default
restrict default ignore

# Local Allow
restrict 127.0.0.1

# Lan Allow
restrict 許可するIP mask マスク nomodify notrap

# NTP Servers
restrict 210.173.160.87 mask 255.255.255.255 nomodify notrap noquery

server 210.173.160.87 # MFEED ntp3.jst.mfeed.ad.jp

一度ntpdateで時刻を設定しておく
# ntpdate 210.173.160.87

ntpdの起動
# /etc/init.d/ntpd start

# setup からシステム設定を行い、ntpdを自動起動させる

数分経ってから
# ntpq -p

remote refid st t when poll reach delay offset jitter
==============================================================================
*ntp2.jst.mfeed. nttpf-isdn0.cr1 2 u 31  64 377 14.074 -21.121 0.676
LOCAL(0) LOCAL(0) 10 l 30 64 17 0.000 0.000 0.008

*が付いていればOK

| | コメント (4) | トラックバック (1)

« 2005年11月 | トップページ | 2006年3月 »