カテゴリー : サーバー

CentOS 5 操作備忘録 2

少し時間を空けただけで操作を忘れてしまう、そんなおバカな自分の参照用です。

固定IPアドレスの設定とDNSのIPアドレス設定

サーバー公開のためDHCPサーバーを利用せず固定IPアドレスを設定する場合、gatewayアドレスやDNSサーバーのアドレス設定が必要になる。DNSサーバーの設定はファイルが異なる。

固定IPアドレスの設定
/etc/sysconfig/network-scripts/ifcfg-eth* *はカード番号(0)
DEVICE=eth0
BOOTPROTO=none #DHCPを利用するときはdhcp
ONBOOT=yes
GATEWAY=192.168.0.254
IPADDR=192.168.0.1
NETMASK=255.255.255.0
DNSサーバーのアドレス設定
/etc/resolv.conf
nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx

CentOS 5 操作備忘録 1

少し時間を空けただけで操作を忘れてしまう、そんなおバカな自分の参照用です。

インストールパッケージの確認

#yum list | grep xxxxxx

grep で見たいパッケージを絞らないと大変な事に。

ホスト名の変更

/etc/hosts と /etc/sysconfig/network の2ファイルの行を変更する。

/etc/hosts
127.0.0.1    xxxxxx localhost.localdomain localhost

/etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=xxxxxx

書き換えたらリブート。

管理ユーザー設定

/etc/group の wheel グループに管理ユーザーを追加して、root になれるユーザーを管理者のみとする。

/etc/group
wheel:x:10:root,xxxxxx

/etc/pam.d/su
#auth    required    pam_wheel.so use_uid のコメント「#」を削除

root に移行するとき「su -」としないと、環境が切り替わらないので「-」を忘れずに。

SELinuxの無効化

SELinux の動作確認、停止、設定ファイルで disabled に変更する。

#getenforce
Enforcing
#setenforce 0

/etc/sysconfig/selinux
SELINUX=enforcing -> disabled

パケットフィルタリングの停止

ファイアウォールはルーターに任せてしまおう、ってことで、iptables を停止し、サービスも起動しないように変更。

#/etc/init.d/iptables stop
#chkconfig iptables off
#chkconfig ip6tables off

SSHで外から接続

root でのログインはできないようにする。ルーターの22番ポートを通すように。

/etc/ssh/sshd_config
PermitRootLogin no

ntpサーバー設定

同期をとるサーバーを指定してサーバー設定。

/etc/ntp.conf
server ntp.nict.jp
server ntp.mfeed.ad.jp
server ntp.ring.gr.jp

#chkconfig ntpd on
#ntpq -p で確認

Apache 2.2.15 VirtualHostの設定

Apache 2.2.15、PHP 5.3.2 で、バーチャルホストを設定して WordPress 動作させようとした際、ちょっと躓いたのでその覚書です。

ルートディレクトリが「www.example.com」で、バーチャルホスト「www.example.com」を設定する際の httpd.conf と extra/httpd-vhosts.conf の設定について。

httpd.conf
extra/httpd-vhosts.conf の読み込み指示がコメントアウトされているので、有効にする。

URIにファイル名が指定されなかった場合のデフォルト指定で、<IfModule dir_module> の DirectoryIndex に、index.php を追加する。セパレータは空白でOK。

httpd-vhost.conf

<VirtualHost *:80>
	ServerAdmin webmaster@www.example.com
	DocumentRoot "D:/httpd/www/htdocs"
	ServerName www.example.com
	ErrorLog "D:/httpd/www/logs/error.log"
	CustomLog "D:/httpd/www/logs/access.log" common
	<Directory "D:/httpd/www/htdocs">
		Options FollowSymLinks
		AllowOverride All
		Order Deny,Allow
		Allow from all
	</Directory>
</VirtualHost>

10行目の「Order Deny,Allow」の設定が「Order Allow,Deny」になっていると、「http://www.example.com/」のアクセスで、 DocumentRoot で設定したディレクトリの index.html が読み込まれ、「http://www.example.com/index.html」で、VirtualHost で設定したディレクトリの index.html が読み込まれるという動作をする。

WinXPにApache2.2.15、PHP5.3.2をインストールするときはThread Safe版で

Windows XP 上で、Apache と PHP のバージョンアップをしようといつものように作業を進めていた所、再起動で PHP のプログラムが動作しない。そう言えば、PHP のインストールのとき Webサーバの選択で IIS とその他しか選択肢がなかった。前は Apache やそれ以外のものがあったはずなのに。Apaceh の config.httpd を見ると php5 の dll の指定も登録されていない。

そこで直接 config.httpd に書き込もうかと思い、php のディレクトリで dll ファイルの確認をした所、 php5apache2_2.dll ファイルがない。google 先生に質問しても、なかなかそれらしい情報が見当たらない。で、ようやく見つけたディレクトリ構成の図に、「non thread safe 版には含まれてない」というコメントがあった。

と言うことで、Windows XP + Apache2.2.15 + PHP5.3.2 のときは、VC6 x86 Thread Safe 版がよろしいかと。

ところで、インストールも無事終了し再起動した所、う・ご・か・な・い orz

これは前回のメモのおかげで、すぐにクリアできた。折角なので、拡張モジュールを追加したり外したりしながらいくつか試してみた。そうした所、PostgreSQLを外すと起動するようになった。どうやら、PostgreSQL がインストールされていなかったのが、起動しなかった原因だったようだ。

WinXPにApache2.2.14、PHP5.3.1インストールでエラー

PHP 5.3 がリリースされたので、新しく追加された機能を利用してみようかと自宅サーバーにインストールを試みた。自宅サーバーは Windows XP に Apache 2.0.63 を実行していたので、2.2.14 に切り替えることにした。

Apache のインストールは何事もなく進んだのだが、PHP 5.3.1 でインストールディレクトリを変更し、拡張モジュールはデフォルトのままインストールし、Apache の再起動をするとエラーとなって動作しない。

Apache 2.2.14 には、open_ssl 付きと無しがある。また、PHP 5.3.1 には thread-safe と non thread-safe 版がある。組み合わせを替えてみたが、どれも結果は同じで動作しない。コントールパネルから管理ツールにあるイベントビューワを実行し、アプリケーション項目のメッセージを見ると、「エラー発生モジュール php5ts.dll、バージョン 5.3.1」と表示されている。

しばらく悩んだ末、PHP のインストールで拡張モジュールの指定を全て切ってインストールしたところ、見事に Apache が起動し PHP も利用できるようになった。再度、PHP のインストーラを起動し、必要となる拡張モジュール 「Multi-Byte String」と「MySQL」を含めて再起動してみた。これも無事再起動した。めでたし、めでたし。

もし自分と同じようなエラーが発生するようでしたら、拡張モジュールの実行が影響しているかもしれませんので、お試しあれ。