« 東芝HDDレコーダーRDシリーズからVineLinuxへダビングする | トップページ | Windows2000の時刻合わせ »

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

|

« 東芝HDDレコーダーRDシリーズからVineLinuxへダビングする | トップページ | Windows2000の時刻合わせ »

Apache」カテゴリの記事

Postgresql」カテゴリの記事

Tomcat」カテゴリの記事

VineLinux」カテゴリの記事

コメント

# 本題とは違いますが…

 どうやら、Oさんはあちらこちらにトラックバックしているみたいですね。後で気がついたのですが、私の所にはもう一つトラックバックが付いてました(?_?)。

 はい。世間的には「OSはなんだっていい」筈です。今や、携帯も HDDレコーダーも中身は Linux化してますけど、誰も気にせず使ってますし…(笑)。
 パソコンで何かやりたい事がある。その為に一番簡単なのは Windowsがプリインストールされたマシンを購入するのが最も簡単ですし、元記事にあるそれを消して Linuxを入れるためには…なんて普通の人はしないでしょう。それをやる私らみたいなのは、酔狂な部類なんでしょうネ…(苦笑)。

 が、私は Linuxそのものに興味がありますし、Linuxだからこそ出来る事に興味ありますし…。だからやりたいことをやる為に Linuxなんです(正直、別荘だとか定住だとか、大きなお世話だなと…)。

投稿: starboze | 2006/01/14 20:27

コメントありがとうございます。
「酔狂な部類」、まったくもって、そのとおりです。
自分でもたまに、何故わざわざこんなイバラの道を選ぶかな!?と思うことがあります。(笑)

私がLinuxに出会ったきっかけは、Windows版のTomcatの勉強をしていてネットを検索したところ、VineLinuxでサーバを立てていらっしゃる方のページに行き着き、読んでいるうちにすごく興味を惹かれたのです。
ま、タダでここまでできるの!?ってな感想だったんですが。(汗)
その方の影響で、今もVineLinuxを愛用しています。

投稿: ひろちゃん | 2006/01/14 20:41

 私が Linuxに初めて触れたのは…、まだカーネルが v0.9とかの '93年頃だったりします(笑)。当時は Net/FreeBSD vs Linuxな頃でした。その後しばしブランクがあって、久々に触った時には世界が激変しているのにぶったまげました。なので、未だに判ってない部分が多いです(^^;。

 私も Vine Linuxは好きなディストリビューションの一つです。流石日本産だけあって、日本で著名な周辺機器が動いてくれますし、ftp, nfsインストールが出来ますし。最近では FMV-BIBLO 5100NC/Sへの Gentoo Linuxインストールのブートストラッブに使いましたv(^_^)。
 が、困ったのはソースからビルドしていると上手く出来ない…。が、Turbolinux10, RedHat9, FedoraCore1ならスッキリ通る…(?_?)。今考えると gcc, glibc等のツールチェーンの問題だったのでしょうが…。
 他、共通の問題で rpmのパッケージ管理が…。考えて見れば、rpmのバイナリが作られた環境は gccやら glibcやらツールチェーンが私の環境と違ってて当たり前と言えば当たり前…。

 結果、行き着いたのは Gentoo Linuxです。すっごく手間がかかるし、スキルも要求されますが、私には最高!。加えて Gentoo Linuxを使っていると「CPUだって、なんだっていいじゃん」と思えて来るんです(笑)。今、iMac G3が中古で一万円以下で売られてて…(^Q^)ジュル (でも、デカイ…)。
 あるいは 玄箱 + GameCubeによるクラスターシステム。どちらも PowerPCですし、openMosixでクラスター化出来ないかなって…。GameCubeを三台繋いでプラス玄箱なら面白そうだなって…。

 だから Linuxなんです(笑)。

投稿: starboze | 2006/01/14 21:49

ひえ~。私とは年期が違いますね。
私の場合、MSXでZ80を触って以来パソコンから遠ざかっていて、気が付けばWindowsXPが出てました。(T_T)
OSが必要なパソコンを触って、まだ数年の経験です・・・。

だから、幸か不幸かLinux自体が非常にマニアックで難しかった時代を経験していないんですよね。
あっさりインストールできた時は、拍子抜けしました。

「GameCubeによるクラスターシステム」って・・・。
もっと普通にやれば・・・って言ってもダメなんでしょうね。
なんたってLinuxなんだし。(笑)

投稿: ひろちゃん | 2006/01/14 22:39

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/54336/7969558

この記事へのトラックバック一覧です: Webサーバ構築時の全コマンド(VineLinux2.6):

» 僕の考えるLinuxのサンプル提供の方法 [FreeDiary]
Linux コミュニティやユーザーのために [続きを読む]

受信: 2006/01/12 13:08

« 東芝HDDレコーダーRDシリーズからVineLinuxへダビングする | トップページ | Windows2000の時刻合わせ »