CentOS の初期設定

仕事で WEB+DB システムを開発する際、開発環境も稼働環境も OS は CentOS で統一しています。久しぶりに CentOS を載せたサーバを設置したのですが、いろいろ忘れているのでメモ。

大学内ネットワークへの設置で外部からのポートはほとんど閉じられている環境。サーバの設置目的は Apache + MySQL + PHP で作成したシステムの稼働。

目次

CentOS のインストール

DVD イメージをダウンロードして焼いてインストール。サーバ目的ですが納入先の担当者の方も使うことがあるので GNOME もインストールします。CentOS 5.x の DVD イメージのダウンロードはこちらのリストから

あとは Apache, MySQL, PHP 関係、開発用ツールと Firefox, Emacs などをインストールしておけばOK。途中で必要になったら随時インストールします。

IP アドレスの設定

/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
HWADDR=XX:XX:XX:XX:XX
ONBOOT=yes
BOOTPROTO=none
NETMASK=255.255.255.0
IPADDR=XXX.XXX.XXX.XXX
GATEWAY=XXX.XXX.XXX.XXX
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=yes

ホスト名の設定

/etc/sysconfig/network

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=hostname.example.com

ついでに /etc/hosts も編集。
[shell]
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost hostname
xxx.xxx.xxx.xxx hostname.example.com hostname
[/shell]

DNS の設定

/etc/resolv.conf を編集。

nameserver XXX.XXX.XXX.XXX

HTTP プロキシの設定

外部へのアクセスはすべてプロキシ経由。アプリケーションごとに設定するのは面倒なので一括で設定します。

GNOME 上で動作するプログラムについては、GNOME の 【システム】 → 【設定】 → 【ネットワークのプロキシ】 から設定します。ここを設定し、Firefox のプロキシ設定を 【システムのプロキシ設定を利用する】 にすれば、とりあえず Firefox は使えるようになります。

コンソールや ssh 接続で利用する場合も想定して、/etc/profile.d/proxy.sh と /etc/profile.d/proxy.csh を作成して、実行属性を設定します。

/etc/profile.d/proxy.sh

export http_proxy=http://xxx.xxx.xxx.xxx:8080/
export ftp_proxy=http://xxx.xxx.xxx.xxx:8080/
export HTTP_PROXY=http://xxx.xxx.xxx.xxx:8080/
export FTP_PROXY=http://xxx.xxx.xxx.xxx:8080/

/etc/profile.d/proxy.csh

setenv http_proxy http://xxx.xxx.xxx.xxx:8080/
setenv ftp_proxy http://xxx.xxx.xxx.xxx:8080/
setenv HTTP_PROXY http://xxx.xxx.xxx.xxx:8080/
setenv FTP_PROXY http://xxx.xxx.xxx.xxx:8080/

これで ssh 接続して yum なども使えるようになります。が、svn は個別にプロキシ設定が必要なようです。

~/.subversion/servers

[global]
http-proxy-host=xxx.xxx.xxx.xxx
http-proxy-port=8080

yum の fastestmirror プラグインのインストール

入れておかないと話にならない fastestmirror プラグインをインストールします。

# yum -y install yum-fastestmirror

デーモンの起動設定

# /sbin/chkconfig httpd on
# /sbin/chkconfig mysqld on

MySQL の設定

root のパスワード設定と、システムで使用するユーザの追加など。

# mysqladmin -u root password 'new_password'
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.0.77 Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database `foodb`;
Query OK, 1 row affected (0.02 sec)

mysql> grant all on `foodb`.* to 'sa' identified by 'foo_passowrd';
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
#

phpMyAdmin のインストール

yum ではインストールできないので 『MySQL用GUI設定ツール導入(phpMyAdmin) – CentOSで自宅サーバー構築』 を参考にして、『phpMyAdmin – Download』 から 2.11.10 をダウンロードしてインストール。 ((SourceForge の最新版は PHP 5.2 以上が必要なので現状では動作しませんでした。 ))

mcrypt のエラーが表示されたら yum でインストール。

iptables の設定

HTTP(S) のみ外部公開なので、/etc/sysconfig/iptables に以下の行を追加。

RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

HTTPS は予め設定されている模様。


最後に yum update して完了。とりあえず以上で最低限の稼働環境が出来ました。

スポンサーリンク
レクタングル(大)
レクタングル(大)

フォローする