仕事で 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 して完了。とりあえず以上で最低限の稼働環境が出来ました。