クラウドサーバーをCentOS6で構築しました。

忘れないように、メモしておきます。

CentOSはプリインストール

apache2をインスールしました
vsftpdをインストールしました

———————————————————
PHPおよびmySQLの導入

インストール
# yum -y install php php-mbstring php-mysql

# vi /etc/httpd/conf/httpd.conf
 DirectoryIndex index.html index.htm index.cgi index.php
 AddType application/x-httpd-php .php

# vi /etc/php.ini
 short_open_tag = On
 max_execution_time = 300
 default_charset = “UTF-8″

apach再起動
# /etc/rc.d/init.d/httpd restart

———————————————————
wget導入
# yum instal wget

———————————————————
postgreSQL9.1の導入

ダウンロード
# wget http://yum.postgresql.org/9.1/redhat/rhel-6-i386/pgdg-centos91-9.1-4.noarch.rpm

インストール
# rpm -ivh pgdg-centos91-9.1-4.noarch.rpm

# yum –disableplugin=priorities install postgresql91-server

# service postgresql-9.1 initdb

# service postgresql-9.1 start

# chkconfig postgresql-9.1 on
# chkconfig –list | grep postgresql
postgresql-9.1     0:off    1:off    2:on    3:on    4:on    5:on    6:off

設定
su – postgres
psql -l

   Name     |   Owner   |  Encoding
————————————
 template0  | postgres  | SQL_ASCII
 template1  | postgres  | SQL_ASCII
(2 rows)

————————————————————-
phpPgAdminにてログインを行えるようにする

su – postgres
cd 9.1
cd data
vi pg_hba.conf

# TYPE  DATABASE  USER   IP-ADDRESS    IP-MASK           METHOD
# IPv4-style  local   connections:
#host   all       all     127.0.0.1    255.255.255.255   crypt
# IPv6-syyle  local   connections:
#host   all       all     ::1          ffff:ffff:ffff:ffff:ffff:ffff:ffff:   crypt

# Using sockets credentials for improved security. Not available everywhere.
# but works on Linux, *BSD (and probable some others)

local   all       all     password

sampleテーブル作成
パスワードを作成しておく
 postgres
  *****
 sample
  *****

postgreSQLの起動
/etc/init.d/postgresql-9.1 start

とりあえずデータベースtemplate1に接続
psql -U postgres template1

———————————————————
phpでpostgreSQLを使えるようにする
# yum install php-pgsql

# find / -name pgsql.so
 /usr/lib64/php/modules/pgsql.so

# vi /etc/php.ini
 ;パス
 extension_dir=”/usr/lib64/php/modules”
 ;↓追加する
 extension=pgsql.so

# /etc/rc.d/init.d/httpd restart

———————————————————
rz/szを使えるようにする
# yum install lrzsz

———————————————————
機能確認用phpの設置
phpinfo()で確認

———————————————————-
FFFTPの設定
サーバーで
 # vi /etc/sysconfig/selinux
 SELINUX=disabled
 リブート

FFFTP
 pasvモードをはずす
 サーバー
  /var/www/html/

———————————————————–
phpPgAdmin の設定
オーナーをapacheの実行者にする
# chown -R apach:apach *.*
FTPからのアップではすべてルート権限になってしまう。
今回はしていないが、FTP用のユーザーを作ってFTP接続する必要がある

———————————————————–
外部IPからの接続許可設定

su – postgres
cd 9.1
cd data

pg_hba.phpに設定追加
 host   all    all     ***.***.***.***    255.255.255.0    password
 特定外部IPからの接続のみ許可

local  all    all             password
ローカルからの接続設定

postgresql.conf
 listen_addresses = ‘*’
 port 5432

ポートを開ける
 5432ポート

/etc/init.d/postgresql restart
再起動

—————————————————————
自動vacuum設定
.pgpass    権限600  /root/  に保存
*:*:*:postgres:password

cron
0 2 * * * /usr/bin/vacuumdb -a -U postgres

—————————————————————
ロケールの違う文字コードのデータベースを作成する
$ createdb –locale=ja_JP.EUC-JP –encoding=EUC-JP –template=template0 newdb

—————————————————————

参考URL 助かりました。
基本事項
http://centossrv.com/
PHPとmySQLのインストール
http://centos.server-manual.com/centos5_apache2_php5.html
postgreSQL9.1のインストール
http://symfoware.blog68.fc2.com/blog-entry-950.html
PHPからpostgreSQLを制御できるようにする
http://shoyu-ramen23.jugem.jp/?eid=204
rz/szのインストール
http://www.rainorshine.asia/2008/03/07/post139.html
FFFTPによるCentOSへの接続 vsftpd関連
http://okwave.jp/qa/q3337950.html
ポートチェック
http://www.cman.jp/network/support/port.html
vsftpdの設定
http://kajuhome.com/vsftpd.shtml
外部からのpostgreSQLへの接続
http://blog.elkc.net/?p=143
外部からのpostgreSQLへの接続
http://rina.jpn.ph/~rance/linux/postgresql/connect.html