リナックスで自宅サーバーの構築を始めた頃に躓いてめちゃくちゃ苦労した嵌りどころ!
では、最初から痛い目にあったFTPから…
ascii_upload_enable = YES ←デフォルト値 = NO
※転送したCGIスクリプトが動作しない原因がコレだったんです!
作成中…
歳をとって物忘れが激しくなりましたねぇ。
リナックスOSの新しいバージョンが出る頃には今回の初期設定などきれいさっぱり忘れてるかもなぁ(笑)
そこで次回のために“インストール〜初期設定までの備忘録”を書いています。
また、これから、私と同じように古いPCを再生してレガシーな自宅サーバーを構築する初心者の方のお役に立てれば幸いです。
ただし、リファレンスなら諸先輩の秀逸なウェブサイトを参照して下さい。
このホームページでは、私が使用中の NEC Mate のハードウェア相性問題や強制空冷システムやランニングコストなど他ではあまり取り上げていない話題について可能な限り詳しく書いています。
なお、稼動させているのはウェブサーバーのみです、メールサーバーやファイルサーバーに関する情報はございません。
私とほぼ同じPC環境なら以下の設定でとりあえず動くはずです…
■BIOSの設定
OS 「その他」 ←UNIXのみ使用するので変更
電源の管理 「自動」 ←変更、
■インストール〜初期設定
時計 ←標準時のラジオボタンをはずす
サーバー ←選択
言語 日本語 ←選択
自動 ←オフ
IPv6 ←オフ
設定 192.168.0.*** 255.255.255.0
※***部分は 〜255までの数字から任意で設定
※インストール完了したら…
# yum -y update ←必ず最初に実行!
※次回のアップデートをyumで自動化…
# yum -y install yum-cron ←インストール
# /etc/rc.d/init.d/yum-cron start ←夜間自動更新開始
# /sbin/chkconfig --list yum-cron ←確認
※ただし、WWWサーバー機のyum-updatesdデーモンは停止が常識!
理由は万が一アップデート中に停電したら修復不能の危険あり!?
常時セキュリティ向上のためには更新があったら速やかに手動でアップデートします。
どうしても自動化したいならその前に絶対に停電しない構造を考えること。
最低でもコンセントが抜けない工夫とかUPSの設置くらいはやりましょう。
DNSの設定
現在IP : 空白
SElinuxの変更
# /etc/sysconfig/selinux
Permissive ←選択
※パーミッションのチェックはするがアクセス拒否しない
起動レベルの変更
# vi /etc/inittab
id:3:initdefault: ←変更
新規ユーザー作成
# useradd ←hoge
# passwd ←********
ドキュメントルート所有者変更
# chown hoge. /var/www/html/
# chown hoge. /var/www/cgi-bin/
■インストール後にすべきこと
CentOSのインストールも初期設定も済んでホッと一息。
では、のんびり、不要なデーモンでも停止させましょうか?
最近までは個々のデーモンについての詳しい解説が無くて四苦八苦してたのですが…
この説明も、お便利サーバー.com様が先月アップしてくださって感謝♪
CentOS 4 or 5 …CentOSインストール後の設定>不要なデーモンの停止> を参照してください。
■vsftpdの設定
yum -y install vsftpd
# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO ←匿名ログイン禁止
ascii_upload_enable=YES ←アスキーモード許可
ascii_download_enable=YES ←アスキーモード許可
ls_recurse_enable=YES ←ディレクトリ削除許可
# /etc/rc.d/init.d/vsftpd start ←起動
# /sbin/chkconfig vsftpd on ←自動起動設定
# /sbin/chkconfig --list vsftpd ←自動起動設定確認
vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
※ホームディレクトリより上層へのアクセス制限
chroot_local_user=YES ←変更
chroot_list_enable=YES ←変更
chroot_list_file=/etc/vsftpd/chroot_list (デフォルト、空ファイル)
local_root=public_html ←追加 ※一般ユーザはpublic_htmlに限定。
■SSHの設定
# vi /etc/ssh/sshd_config
PermitRootLogin no ←変更 ※rootログイン拒否
# /etc/rc.d/init.d/sshd reload ←再起動
■メールの設定
# sed -i '/^root:/d' /etc/aliases ←設定削除
# echo "root: webmaster@hoge.com" >> /etc/aliases ←設定変更
# newaliases ←設定反映
/etc/aliases: 77 aliases, longest 25 bytes, 794 bytes total
# echo test|mail root ←テスト送信
■FFFTPの設定
※所有者がrootのままでは転送できない。
# ll /var/www/
html hoge/hoge ←確認
cgi-bin hoge/hoge ←確認
■Apacheの設定
# vi /etc/httpd/conf/httpd.conf
ServerTokens Prod ←変更 ※非表示
ServerAdmin admin@hoge.com ←変更 ※変えなくてもよい
ServerName www.hoge.com:80 ←変更
Directory "/var/www/html"
Options FollowSymLinks ←変更 ※Indexesを削除
ServerSignature Off ←変更 ※非表示
AddHandler cgi-script .cgi .pl ←変更 ※.plを追加
#AddDefaultCharset UTF-8 ←変更 ※停止
# /etc/rc.d/init.d/httpd restart ←再起動
# /sbin/chkconfig httpd on ←自動起動
# /sbin/chkconfig --list httpd ←確認
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
■CGIスクリプトのパーミッション
past [707] ←必須 ※過去ログ
image [707] ←必須 ※画像ディレクトリ
# chmod 707 /var/www/html/img
# chmod 707 /var/www/cgi-bin/yy-bbs/past
■DiCEの設定
@ダウンロード
# cd /usr/local/bin
←ディレクトリ移動
# wget http://www.hi-ho.ne.jp/cgi-bin/user/yoshihoge_e/download.cgi?p=diced019
←ダウンロード
# tar zxvf diced01913.tar.gz
←展開
# rm -f diced01913.tar.gz
←削除
A設定
※TeratermProのUTF-8をEUCに変更
# /usr/local/bin/DiCE/diced
←DiCEを呼び出す
: setup
←現在のIPアドレス取得
> 2
> http://www.dyndns.org/cgi-bin/check_ip.cgi
Bイベント作成
:add
hoge.com
*
ネーム
パスワード
空白
C確認
:list ← 登録したイベントを確認
(No.) (イベント名) (スケジュール) (次回予定)
0 * hoge.comIPアドレス更新 IPアドレス変化時 (7日毎) 11/30 18:57
1 * *.honyarara.comIPアドレス更新 IPアドレス変化時 (7日毎) 11/30 18:57
:ex 0 ←確認 ※0のイベントを実行してみる
:exit ←終了
:add ←続けてイベントを追加する場合
D保存
# /usr/local/bin/DiCE/diced -d -l
←デーモン ※常駐モード
# echo "/usr/local/bin/DiCE/diced -d -l" >> /etc/rc.local
←自動起動設定
# reboot
←サーバー機を再起動
# yum -y install yum-fastestmirror
←fastestmirrorプラグインインストール
※たまには掃除も必要…
# yum clean all ←allまたはcacheを指定
※スクリプトへの実行権限付与
# chmod +x /etc/cron.daily/yum.cron
※アップデートデーモンの一時停止
# /etc/rc.d/init.d/yum-updatesd stop ←停止
yum-updates を停止中: [ OK ]
Copyright © 2001-2007 hiroci. All Rights Reserved