自分とこのサーバ(実家サーバ)はFedoraCore3で構築しているが、仕事でCentOSを使ってLAN用サーバ(メールサーバ、FTPサーバ、WWWサーバ、内向けDNSサーバ、ファイルサーバ)を構築する機会に恵まれたのでせっかくなので手順をメモっておいた。
基本的にはFedoraCoreシリーズと設定ファイル等ほとんど同じなので、構築自体はたった数時間で終了。
以下、メモ。
OS選定
- CentOS4.2を採用
→CentOSはRed Hat Enterprise Linux(企業向けの有償版Red Hat Linux)のクローンであることから、企業内サーバー並に安定運用が可能。
基本方針
- インストールパッケージは必要最小限におさえ、あとで必要なものを個別にインストールしていく
- サーバの利用は社内からのみ(外部からの接続は不可)
- 以下のサーバ機能が使えるようにRPMパッケージをインストールして構築する
- メールサーバ:Postfix(postfix-2.1.5-4.2.RHEL4)+Dovecot(dovecot-0.99.11-2.EL4.1)
- FTPサーバ:Proftp(proftpd-1.2.10-10.2.el4.rf)
- WEBサーバ:Apache(httpd-2.0.52-22)
→主に社内グループウェア用
→これに付随してPHPも利用可能としておく:PHP(php-4.3.9-3.9) - DNSサーバ:Bind(bind-9.2.4-2)
→社内からIPアドレスではなくホスト名でサーバが引けるようにするため - TELNETサーバ:Telnet(telnet-server-0.17-31.EL4.3)
→管理用(社内LANからのみなのでSSH等セキュリティは特に考慮せず) - ファイルサーバ:Samba(samba-3.0.10-1.4E.2)
- メール用ユーザID等は後から設定する
- インストール済みパッケージのアップデートは自動で日々行う
- ログ監視、その他エラーログはユーザ:centos宛てに日々送られてくるようにする(念のため)
- 日々指定ディレクトリのバックアップを行い、Windowsに転送しておく
- 最低限の構築手順をまとめておき、万が一、一から再インストールすることになった場合に最短で再構築可能としておく(本メモ)
インストール時注意点
- パッケージは「開発ツール」のみ選択(後から何かをインストールする際にgccやmakeが使えるように)
- なぜかネットワーク関連の設定がインストール時にできないようなので、以下初期設定で実施する
初期設定
- 管理者(root)になれるユーザはcentosのみ
- ホスト名:(例)linux
- IPアドレス:(例)192.168.1.2
- ドメイン名:(例)example.jp
→上記は/etc/hostsに設定 (例)127.0.0.1 linux linux.example.jp localhost - ゲートウェイ:(例)192.168.1.1
★設定ファイル→/etc/sysconfig/network
例)
NETWORKING=yes
HOSTNAME=linux
GATEWAY=192.168.1.1
GATEWAYDEV=eth0 - ルートの設定
★設定ファイル→/etc/sysconfig/network-scripts/route-eth0
GATEWAY0=192.168.1.1
NETMASK0=0.0.0.0
ADDRESS0=0.0.0.0 - その他ネットワーク設定
★設定ファイル→/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
IPADDR=192.168.1.2
NETMASK=255.255.255.0
NETWORK=192.168.1.0
GATEWAY=192.168.1.1
HWADDR=00:15:60:A0:D1:D4
ONBOOT=yes
TYPE=Ethernet - システムの文字コードをEUCに変更(デフォルトはUTF-8)
★設定ファイル→/etc/sysconfig/i18n
例)
LANG="ja_JP.eucJP"
SUPPORTED="ja_JP.eucJP:ja_JP:ja"
SYSFONT="latarcyrheb-sun16" - SELINUXの無効化
★設定ファイル→/etc/sysconfig/selinux
SELINUX=disabled
メールサーバ
- 基本方針
- 社内メールサーバなのでメール不正中継の設定は行わない(内部⇔内部のみなので必要ない)
- 社内LANでのみ使用のため、認証や暗号化は設けない
- 192.168.1.0/24 および 127.0.0.0/8 からのアクセスのみ許可する
- メールサーバ名はPOP3、SMTP、IMAPともに mail.example.jp →メールアドレスは(ユーザ名)@mail.example.jpとする
- 構築手順 →参考URL: http://centossrv.com/postfix.shtml http://sakura.take-labo.jp/freebsd/mail_postfix_simple.html http://www.miloweb.net/mail.html
- 設定ファイル /etc/postfix/main.cf /etc/dovecot.conf
- ログファイル /var/log/maillog
- メール用ユーザ追加手順
[root@linux ~]# useradd -s /sbin/nologin centos2 ← ユーザ追加(例)
★これでoutlookやOutlookExpress等を設定すればOK
[root@linux ~]# passwd xxxxx ← パスワード設定(例)
Changing password for user centos2.
New UNIX password: ← パスワード応答
Retype new UNIX password: ← パスワード応答(確認)
passwd: all authentication tokens updated successfully.
WEBサーバ
- 基本方針
- 社内(同一LAN内)からのアクセスしかありえない
- 上記のためSSLは設定しない
- http://www.example.jp/ あるいは http://linux/ のいずれでもアクセス可能とする
- CGIやPHPも実行可能(DocumentRoot以下の任意のディレクトリから実行可能)
- DocumentRootは/var/www/html
- 構築手順 →参考URL http://centossrv.com/apache.shtml
- 設定ファイル /etc/httpd/conf/httpd.conf
- ログファイル /var/log/httpd/access.log /var/log/httpd/error.log
FTPサーバ
- 基本方針
- 社内(同一LAN内)からのアクセスしかありえない
- 上記のため特に通信の暗号化は設けない
- >ftp linuxあるいは >ftp ftp.example.jpのようにしてアクセス、またはFTPクライアント
- 構築手順 →参考URL http://centossrv.com/proftpd.shtml
- 設定ファイル /etc/proftpd.conf
- ログファイル /var/proftpd/access.log
DNSサーバ
- 基本方針
- 社内向けのみ
- 社内からホスト名(linuxあるいはwww.example.jp、ftp.example.jp、mail.example.jpのような名前でサーバにアクセスできるようにする)
- 外部のホスト名が引けるようにする(正引き・逆引き)
- ルータのDNSを192.168.1.2に変更してから全クライアントが有効となる(クライアントがルータのIPアドレスを優先DNSサーバに設定してある場合)
- 構築手順 →参考URL http://centossrv.com/bind-lan.shtml
- 設定ファイル /var/named/chroot/etc/named.conf(メイン設定ファイル) /var/named/chroot/var/named/example.jp.db(正引き用) /var/named/chroot/var/named/1.168.192.in-addr.arpa.db(逆引き用)
- ログファイル /var/log/messages
ファイルサーバ
- 基本方針
- 社内LANのみ
- Windowsクライアントから「ファイル名を指定して実行」などで「\\linux」でアクセス可能
- WindowsからはSJISでファイル名、ファイルの内容ともに参照可能(LINUX側からはnkf -e ファイル名などとする必要があるが、LINUX側からは特に見る必要もないのでこれでよい)
- ゲストログインでも特にパスワードはなしでアクセス可能(パスワードを設定することも可能)
- 構築手順 →参考URL http://centossrv.com/samba.shtml
- 設定ファイル /etc/samba/samba.conf
- ログファイル /var/log/messages







