Webサーバー Apacheの設定

Apacheをダウンロード。ソースからビルドします。

[root@localhost ~]# wget http://archive.apache.org/dist/httpd/httpd-2.2.17.tar.gz

ダウンロードしたファイルが正しいものかどうか検証するには次のコマンドを実行します。

[root@localhost ~]# md5sum httpd-2.2.17.tar.gz

これがダウンロードリンクにあるmd5チェックサムと一致するかを確認します。 またはチェックサムファイルを確認します。

[root@localhost ~]# cat httpd-2.2.17.tar.gz.md5

解凍後は解凍されたディレクトリに移動します。

[root@localhost ~]# tar zxvf httpd-2.2.17.tar.gz -C /usr/local/src
[root@localhost ~]# cd /usr/local/src/httpd-2.2.17/
[root@localhost httpd-2.2.17]# ./configure --enable-ssl --enable-so --enable-module=so --enable-module=rewrite  //予め各モジュールはインストールしておきます。
[root@localhost httpd-2.2.17]# make
[root@localhost httpd-2.2.17]# make install
[root@localhost httpd-2.2.17]# cd
[root@localhost ~]# cp /usr/local/src/httpd-2.2.17/build/rpm/httpd.init  /etc/rc.d/init.d/httpd
[root@localhost ~]# vi /etc/rc.d/init.d/httpd
 起動スクリプトを以下に修正します。
#httpd=${HTTPD-/usr/sbin/httpd}
httpd=/usr/local/apache2/bin/httpd
#pidfile=${PIDFILE-/var/log/httpd/httpd.pid}
pidfile=/usr/local/apache2/logs/httpd.pid
#       CONFFILE=/etc/httpd/conf/httpd.conf
CONFFILE=/usr/local/apache2/conf/httpd.conf
[root@localhost ~]# chmod 755 /etc/rc.d/init.d/httpd
[root@localhost ~]# chkconfig --add httpd
[root@localhost ~]# chkconfig httpd on

“Webサーバー Apacheの設定” の続きを読む

DNSサーバーBind(バインド)の設定。(CentOS)

p>サーバー管理の中でもっともややこしいといわれるDNSサーバー。設定もややこしいのですが、他のソフトウェアと違って、DNSの仕組みを理解していないと簡単に触れない、まさにインターネットの基幹システムなのです。

小悪魔女子大生のサーバエンジニア日記様でその内容を丁寧に説明されています。

DNSサーバには、世界で13台しかないトップレベルドメインを管理する上位サーバーがあり、プロバイダさんが管理する中位のDNSサーバーがあり、私の管理する最下層のDNSサーバーがあります。

とりあえず今ドメインがあって、グローバルIPアドレスがあって、これらを紐付けていく作業、がDNSサーバーを構築することだと思います。

BING関係をインストール

BINDはバインドと読みます。

サーバーにSSHで接続し、rootアカウントを使用してログインします。

[root@localhost ~]# yum install bind
[root@localhost ~]# yum install bind-chroot
[root@localhost ~]# yum install caching-nameserver

と、DNSサーバー構築に必要なパッケージをインストールします。 chrootは、CentOS5からbindの設定に組み込まれており、このソフトは必須で設定することになります。 chrootのことは後で述べるとして、まずbindの設定ファイルを定義していきます。

bindの設定ファイルは初期状態では/etc/named.caching-nameserver.confにあるのですが、このファイルを使ってchrootなども使っていく場合、ちょっと設定が面倒そうなので、本来のbindの設定ファイルであるnamed.confをCentOS本家からダウンロードして、こちらのファイルで設定していきます。

[root@localhost ~]# cd /var/named/chroot/etc/   
[root@localhost etc]# wget http://www.obenri.com/_dnsserver/image/named.conf  //named.confを取得。 
--07:04:12-- http://www.obenri.com/_dnsserver/image/named.conf 
中略 
07:04:13 (97.16 KB/s) - `named.conf' を保存しました [1390/1390] 

[root@localhost etc]# chown root.named named.conf //所有者を設定します。  
[root@localhost etc]# chmod 640 named.conf  //パーミッションを設定します。   
[root@localhost etc]# cd /etc/  //シンボリックリンクの作成先に移動します。
[root@localhost etc]# ln -s /var/named/chroot/etc/named.conf//カレントディレクトリにシンボリックリンクを作成します。  
[root@localhost etc]# cd

注意:最新のbind(9.5以降)view 定義がある場合で view のスコープ外に zone 定義があると起動エラーが発生します。

“DNSサーバーBind(バインド)の設定。(CentOS)” の続きを読む

CentOS セキュリティ設定など

SSHの設定

最低限のセキュリティ設定をします。

[root@localhost ~]# vi /etc/ssh/sshd_config
#Port 22
Port 10022 //ポート番号を変更。22ポートが主に外部から攻撃されるため。
PermitRootLogin no //rootによるログインを許可しない
PermitEmptyPasswords no //空パスワードを許可しない
ChallengeResponseAuthentication no  //チャレンジレスポンス認証を禁止する

SSHでログインする一般ユーザーを作成。

[root@localhost ~]# useradd (ユーザー名)
パスワードの設定
[root@localhost ~]# passwd (ユーザー名)

SSH公開鍵生

SSHでログインする一般ユーザー(例としてuser)で鍵を作成する。

[root@localhost ~]# exit //一般ユーザーに変わる。
logout 
[user@localhost ~]$ ssh-keygen -t rsa
Generating public/private rsa1 key pair.
Enter file in which to save the key (/home/user/.ssh/identity)://Enter
Created directory '/home/user/.ssh'.
Enter passphrase (empty for no passphrase)://パスフレーズを入力
Enter same passphrase again://もう一度パスフレーズを入力
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
・・・・

SSH公開鍵をサーバーにセット。

[root@localhost ~]# cd /home/user/.ssh
[root@localhost .ssh]# ls
id_rsa  id_rsa.pub
[root@localhost .ssh]# mv id_rsa.pub authorized_keys
[root@localhost .ssh]# chmod 400 authorized_keys
[root@localhost .ssh]# mv id_rsa /var/www/html  //ftpなどでクライアントサイドにダウンロード
[root@localhost .ssh]# cd
 //SSHの設定
[root@localhost ~]# vi /etc/ssh/sshd_config
PasswordAuthentication no
AllowUsers user //sshログインユーザーを限定。左記の1行を追加します。
#複数のユーザーを指定する場合
AllowUsers user1 user2 user3 //スペースで区切って指定します。

設定を反映させます。

“CentOS セキュリティ設定など” の続きを読む