メモしていたのをそのまま流用したので、とても文章が乱雑です。
PCA-6154L サーバー設定(その他のPCにも応用可能)
先日、通販でPCA-6154/Lを入手しました。
これに、メインサーバーを再構築する際に仮のサーバーとしてLinuxをインストールすることにしました。
基本的に以下の手順で設定を行っています。
ちなみに最良の設定方法ではないと思います。(当たり前(^_^;))
ハードウェア設定
・CPUボードとISA用LANボードをライザーカードにより接続
状況によりLANボードのI/Oポート及びIRQを設定する(設定ツールで変更確認)
LANボードはメルコ製ISAボードを使用。
・今回はX WINDOWでマウスが正常動作しないため、テキストログインでの使用とする
(テキストの方がのちのちLinuxの設定・仕組み等を覚えると思います)
ソフトウェア設定
viコマンドが使用できるという前提で書いています
○Linuxのインストール(今回はTurboLinux Server6.1)
・パッケージはオールインワンを選択
・途中DNSのIP入力があるが後からでも入力可能
・使用したLANボード(BUFFALO製LGY-ISA-TR)はそのままでは認識しないため
/etc/modules.confにeth0(LANボード)の下記の設定を追加する
alias eth0 ne
options ne io=0x340 <0x340の340はLANボードのI/Oポートである。ボード付属の設定変更ツールで確認して書き換える。
○インストール完了後LAN関係の設定を行う
・今回のLinuxではturbonetcfgのコマンドで設定
・/etc/sysconfig/network-scripts/ifcfg-eth0に自IPアドレス等の設定
IPADDR=192.168.xxx.xxx < ルータ経由のためプライベートアドレスです
NETMASK=255.255.255.0
NETWORK=192.168.xxx.xxx
BROADCAST=192.168.xxx.xxx
ONBOOT=yes
・/etc/resolv.confにドメイン名及びDNSの設定
domain ドメイン名.com
nameserver 0.0.0.0 < 自分がネームサーバという意味(と思う)、後に判明これは追加しない方がいいらしい。でもバーチャルドメインではいるような気がする。
nameserver xxx.xxx.xxx.xxx < プロバイダのDNSアドレス
nameserver yyy.yyy.yyy.yyy < 上記に同じ
・/etc/hostsにホスト名及びドメイン名の設定
127.0.0.1 localhost.localdomain localhost
192.168.xxx.xxx ホスト名.ドメイン名.com
ホスト名 < このサーバ
192.168.xxx.xxx その他ホスト名.ドメイン名.com
その他ホスト名 <その他のホスト。Log等にホスト名解決問題がある場合に追加するといいようです。
・turbonetcfgのテスト機能によりチェックオールOKだったら終了
○ユーザーの追加
・ユーザー登録のコマンドもありますが手動で設定すると後々の勉強になります(多分)
・/etc/passwdにユーザー名を追加する(ユーザー名及びユーザーディレクトリの指定)
username:x:1000:1000::/home/username/./public_html:/bin/true
@ A B C
@追加するユーザーの名前を入力
A1000:1000はユーザー固有の数字(多分)。システムで設定されているものと区別するために1000等の見分けやすい番号を使うといいらしい
BユーザーのFTP及びHTTPで接続されるディレクトリの場所
途中の"./"を追加するとusernameの所が親ディレクトリになるため、それ以上階層が戻れなくなりセキュリティー上安心
C通常"/bin/bash"だが"/bin/true"に変更するとTELNETが使えなくなるため、セキュリティー上安心
・/etc/groupにユーザー名を追加(グループ指定ファイル)
username:x:1000:
1000の部分はpasswdファイルと同じする(と思う)
また、"wheel::10:root,username"の行のrootのあとにユーザー名(グループ名)を追加すると、そのユーザしかスーパーユーザー(suコマンド)にログインできない
・/etc/shadowにユーザー名を追加する(ユーザーのパスワード管理)
username:!!:11497:0:99999:7:::
当方は"squid:!!:11497:0:99999:7:::"をコピー&ペーストしsquidの部分をusernameに書き換えて使用
追加後、"passwd username"のコマンドによりパスワードの変更を行う
・ユーザーディレクトリの作成及び設定
/home/username(usernameの部分はpasswdの指定と同じにする)にディレクトリを追加する
/home/ftpのディレクトリにある"bin","etc","lib"のディレクトリを/home/usernameのディレクトリにコピーする。これをしないとFTPでファイル名が表示されませんでした。
併せて、/home/usernameのディレクトリにpublic_html等passwdで指定したディレクトリを作成し、chownコマンドでusernameにオーナーの変更をする(しないとFTPで操作できない)
○メールの転送方法
・/home/username/pubilic_htmlなどFTPもしくはTELNET接続で表示される、各ユーザーのホームディレクトリに".forward"というファイルを作成し以下の内容を記述する
\username,abc@def.ne.jp
usernameは受信元のアカウント名です
abc@def.ne.jpは転送先アドレス
この場合は受信元にもメールを保存しています。転送だけで保存しない場合は"\username,"を削除し転送先アドレスのみの記述とする
ちなみに".forward"は"ls"コマンドでは見えないらしい
○マウスが動かなかったためgpmを追加する(X
WINDOWで動かないのが困る) このPCA-6154ではこれをインストールしないとマウスが無反応です。
・turbolinuxのホームページに行きgpmのRPMパッケージをダウンロードする
今回はTurboLinux Server6.1のRPMより"gpm-1.19.3-6.i386.rpm"をダウンロード
turbopkgにより上記のRPMをインストールする
手動(コマンド)の場合"rpm -ivh failename"でインストールする
ちゃんと動くようになりました
turboserviceによりRunLevelは5に設定しています
○1時間毎に来るroot宛のメールを停止する
・/var/log/messagesの内容を1時間毎に送られるメールを停止するには
"chmod -x /etc/cron.hourly/logcheck"を実行し実行権限を停止する(削除でも可)
○/etc/inetd.confの設定(スーパーサーバ)
・スーパーサーバで使用するサービスをコメントアウトの解除をする
ftp,telnet,pop-3を解除すればいいと思います
telnetはローカルでしか使っていないので解除しています
○webサーバーの設定
・メインとなる設定ファイル(httpd.conf)の編集
ServerAdmin info@kandume.com <サーバー管理者のメールアドレス
ServerName domain.kandume.com <サーバー名、そのままです
<IfModule mod_userdir.c>
UserDir /home/*/public_html <ユーザーディレクトリ表示の設定
</IfModule>
<Directory /home/*/public_html> <コメントアウトを解除,上記の設定
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch
IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
<Directory /home/httpd/html/*/cgi-bin> <ユーザーディレクトリのcgi設定
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.shtml
index.htm <indexの設定
</IfModule>
ScriptAlias /cgi-bin/ "/home/httpd/html/cgi-bin/" <利用上、htmlを追加
<Directory "/home/httpd/html/cgi-bin"> <上記と同じくhtmlを追加
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
AddHandler cgi-script .cgi <コメントアウトを解除
AddType text/html .shtml .html .htm <コメントアウトを解除,SSI使用の設定
AddHandler server-parsed .shtml .html .htm <上記と同じ
AddHandler image/gif .gif <cgi実行ディレクトリの画像表示設定
AddHandler image/jpg .jpg <上記と同じ
・バーチャルホストの設定におけるhttpd.confの編集
BindAddress * <コメントアウトを解除
#ServerAdmin 管理者用メールアカウント@ドメイン名.com <下記で設定するためコメントアウト(多分)
#ServerName ホスト名.ドメイン名.com <コメントアウト
#DocumentRoot "/home/httpd/html" <コメントアウト
NameVirtualHost 192.168.xxx.xxx <サーバーのIPアドレス,ルータ等で接続している場合はグローバルアドレスではなく、プライベートアドレスある
<VirtualHost 192.168.xxx.xxx> <既存のweb情報設定
ServerAdmin 管理者用メールアカウント@ドメイン名.com
ServerName www.ドメイン名.com
DocumentRoot "/home/httpd/html"
</VirtualHost>
<VirtualHost 192.168.xxx.xxx> <追加のホスト情報設定
ServerAdmin 管理者用メールアカウント@追加ドメイン名.com
ServerName www.追加ドメイン名.com
DocumentRoot /home/追加ドメイン名のパス/html
ScriptAlias /cgi-bin/ "/home/追加ドメイン名のパス/html/cgi-bin/"
Addhandler cgi-script .cgi
Addhandler cgi-script .pl
<Directory "/home/追加ドメイン名のパス/html">
Options Indexes Includes FollowSymLinks
MultiViews ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>
UserDir disabled
ErrorLog logs/追加ドメイン-error_log < これは任意の名前
CustomLog logs/追加ドメイン-access_log
common < これも任意の名前
</VirtualHost>
○FTPの設定
・/etc/ftpd/ftpaccessの編集
class all real,guest * <anonymousを消す,anonymousの使用をキャンセル
guestuser * <追加
compress yes all
tar yes all
chmod no guest,anonymous <削除
delete no guest,anonymous <削除
overwrite no guest,anonymous <削除
rename no guest,anonymous <削除
○/etc/shellsの編集
/usr/bin/passwd <この2行を追加.この行は関係ないような気もする
/bin/true <ユーザー追加時に指定したshellを登録しないとftp等使えない
○sendmailの設定
・sendmail.defに追加項目
[smtpcheck] LOCAL_HOST_IPADDR=192.168.1 <192.168.1から始まるアドレスからは送信する
[option.v8] ALIAS_FILE_PATH='/etc/mail/aliases'に変更
・項目の設定が終了したら make sendmail.cf
をsendmail.defのあるディレクトリで実行 して、sendmail.cfを作成する
また、上記のcfファイルを /etc へコピーする
○sendmailの設定(バーチャルドメイン使用時 当方ドメインの場合)
・sendmail.defに追加項目
[usertable] USERTABLE_MAPS='kandume.com=hash:/etc/mail/mail.vdkandume
\
tuningcar.info=hash:/etc/mail/mail.vdtuningcar'
・上記の元になるファイルを適当な場所で作成する
/etc/mail.vdkandume <@kandume.comで受信したいメールアカウント
user1:maildrop user1
user2:maildrop user2
user3:maildrop user3
/etc/mail.vdtuningcar <@tuningcar.infoで受信したいメールアカウント
user4:maildrop user4
・上記で作成したファイルをdbファイルに変換する
makemap hash mail.vdkandume < mail.vdkandume
makemap hash mail.vdtuningcar < mail.vdtuningcar
すると、先ほどファイル名の末尾に.dbが付いたファイルが出来ます
それを /etc/mailへコピーもしくは移動して完了
sendmailを再起動して終わりです
・追加ドメイン名で受信したい場合はユーザーを追加してdbファイを再度作成し前のファイルと置き換える
○SSHの利用
・sshを利用したいユーザーでログイン後に ssh-keygen を実行する
保存場所はデフォルトで、パスフレーズを入力する。
・/etc/ssh/sshd_config の変更
PasswordAuthentication yes → PasswordAuthentication
no
・tera term(以下tera)で使用の場合は
teraを使用するPCへidnetityファイルのコピー
・/home/ユーザー名/public_html/.ssh/identity.pubを同じフォルダへauthorized_keys のファイル名でコピーする
するとsshでのログインが出来るようになります。
○qpopperのインストール
・まず http://www.eudora.com/ (qpopperのホーム)にて、qpopperのダウンロード
いろいろリンクをたどって、今回は qpopper4.0.4.tar.gz
をダウンロードしました
・# tar xzvf qpopperのファイル
# ./configure --enable-specialauth :シャドウパスワード使用の場合のオプション
# make
# cp popper/popper /usr/sbin 作成したファイルの実行フォルダへのコピー
・inetd.confのpop-3の行の実行ファイル名から後ろを
/usr/sbin/popper popper -s へ変更
・inetdの再起動
○5分ごとにpingする
うちの回線が不安定な為pingで安定させる
・/etc/crontab の # run-partsへ
*/5 * * * * root /bin/ping -c 1 210.252.128.8
> /dev/null 2>&1 を追加する。
○重要部分のバックアップを取る(個人的に重要と思う部分)
・以下のコマンドを書いたファイルを作る
tar cpzf /home/etc.tar.gz /etc
tar cpzf /home/var.tar.gz /var
作成後に、実行権限を与えて実行する
***** とりあえずサーバーの設定はここまでですが設定完了後にいろいろと設定を変更している箇所もあると思います *****