とりあえずサーバー完成しました。

勉強がてら日曜日にサーバー初期化してから新たにCentOS6で構築しなおしました。
Apache(webサーバー)のインストール
MySQLのインストール
PostgreSQLのインストール
phpのインストール
minecraftサーバーの設置
wordpressの設置
もろもろ、ファイヤーウォールやら

環境は
SakuraインターネットのVPS 1Gプラン
使用エディタ vim

勉強にはなったと思いますが、いろんなサイトを参考にしすぎて覚えれないと思ったので、やったことを以下にメモ。
サーバー初期化時点から上から順にやったこと書いてあります。
暇なときもうちょっときれいに整形します。wordpressのいじり方も勉強していろいろとやりたい。とりあえずまっさらになってよかった。

#rootパス変更
コマンド passwd

#日本語化
vi /etc/sysconfig/i18n

LANG=”C”→LANG=”ja_JP.UTF-8″

#作業ユーザー追加
useradd hoge
passwd hoge

#作成ユーザーを管理者グループに
usermod -G wheel hoge

#sudo設定
visudo
## Allows people in group wheel to run all commands
#%wheel  ALL=(ALL)       ALL

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

#SSH設定
rootでのログイン禁止
vi /etc/ssh/sshd_config
PermitRootLogin no
#Port 20の下に
Port ****追加
ログイン試行時間
LoginGraceTime 20

/etc/init.d/sshd restart #sshd再起動

#viでvim使うようにする(全ユーザー)
vi /etc/profile
最終行に
alias vi=’vim’
追加
source /etc/profile
変更反映

#ファイアーウォール(iptables設定)
rootで適当な所に
iptablesファイルを作る

以下内容、httpとsshとSQLとマイクラ用ポートだけあける。
===================================================================================

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT – [0:0]

-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp –icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp –dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp –dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp –dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

# SSH, HTTP, MySQL, Postgres, Minecraft
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 10022 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 5432 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 25565 -j ACCEPT

-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited

COMMIT

====================================================================================
作ったファイルを /etc/sysconfig/iptables にコピー
/etc/rc.d/init.d/iptables restart で設定反映
iptables -Lで確認できる。

#不要デーモン停止
コンソールでそのままはりつけ

chkconfig auditd off
chkconfig autofs off
chkconfig avahi-daemon off
chkconfig bluetooth off
chkconfig cups off
chkconfig firstboot off
chkconfig gpm off
chkconfig haldaemon off
chkconfig hidd off
chkconfig kudzu off
chkconfig lvm2-monitor off
chkconfig mcstrans off
chkconfig mdmonitor off
chkconfig messagebus off
chkconfig netfs off
chkconfig nfslock off
chkconfig pcscd off
chkconfig portmap off
chkconfig rawdevices off
chkconfig restorecond off
chkconfig rpcgssd off
chkconfig rpcidmapd off
chkconfig smartd off
chkconfig xfs off
chkconfig yum-updatesd off

#Apacheインストール(webサーバー)
root権限でインストール
yum install httpd
自動起動ONにする
chkconfig httpd on

#Apache設定
設定いじる前に設定のコピーとっておく
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak

vi/etc/httpd/conf/httpd.conf
44行目付近
ServerTokens OS からServerTokens Prodに変更
536行目付近 ServerSignature OnからOff
331行目付近 Options Indexes FollowSymLinks を Options -Indexes FollowSymLinks に
保存。
httpd起動 service httpd start
service httpd configtest で設定内容のSyntaxテストできる。

ついで、ドキュメントルート変更とかDirectoryIndexにindex.phpとか追加。
ドキュメントルートをユーザーディレクトリに設定した場合
ユーザーディレクトリも実行可能でないとだめ
chmod +x /home/hoge

#PHPのインストール
sudo yum install php php-mbstring php-mysql php-gd php-mcrypt php-xml php-pgsql
install php 以下は必要に応じてですが
wordpress用にmysql、それとpostgres用のモジュール入れます。

#postgreSQLのインストール
yumを利用してインストールするので以下のページでCentOS用のリポジトリを追加。
http://yum.postgresql.org/repopackages.php
今回Postgresql9.2をインストールするので
http://yum.postgresql.org/9.2/redhat/rhel-6-x86_64/pgdg-centos92-9.2-6.noarch.rpm
これになります。
rpm -ivh http://yum.postgresql.org/9.2/redhat/rhel-6-x86_64/pgdg-centos92-9.2-6.noarch.rpm
でリポジトリ追加
yum install postgresql92-server
でポスグレ9.2インストール

$データベースクラスタの初期化
よくわかりませんが必要っぽいです
su – postgres でポスグレユーザーに切り替え
vi ~postgres/.bash_profile
で.bash_profile開く
最下行に以下を追加

export PATH=$PATH:/usr/pgsql-9.2/bin
export POSTGRES_HOME=/usr/pgsql-9.2
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=/var/lib/pgsql/9.2/data
export MANPATH=”$MANPATH”:$POSTGRES_HOME/share/man
export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH”:”$PGLIB”

バージョンはその都度変えてください
反映
source ~postgres/.bash_profile

データベースクラスタの初期化
initdb –no-locale -D /var/lib/pgsql/9.2/data -E UTF-8

英語と日本語データ扱う場合は–no-localeオプション加えておいた方が良いらしい
-Dオプションは データベースの保存場所

$postgreユーザー作成
postgresユーザーでログインして
createuser -s hoge
-sオプションはスーパーユーザー

$pg_hba.confの編集する場合、場所ここ
vi /var/lib/pgsql/9.1/data/pg_hba.conf

chkconfig で自動起動設定しときます
chkconfig postgresql-9.2 on

#mySQLインストール
yum -y install mysql-server
起動
/etc/rc.d/init.d/mysqld start
自動起動設定
chkconfig mysqld on

$パスを通す
# vi /etc/profile
export PATH=$PATH:/usr/local/mysql/bin

$mysql設定wordpress用
mysql開く
mysql

$DB作成&ユーザ作成

CREATE DATABASE hoge;
GRANT ALL ON hoge.* to hoge@localhost;
FLUSH PRIVILEGES;
パス設定
SET PASSWORD FOR hoge@localhost=password(‘hoge’);

文字コード指定
ALTER DATABASE hoge default character set=utf8;

権限追加
GRANT ALTER ON db名.* TO user名@localhost;

#wordpress導入
最新版DL、公開する適当なディレクトリに配置
rm readme*.html (ReadMeファイルを削除)
chown -R apache:apache {公開フォルダパス}
ワードプレスおいてあるディレクトリパーミッションを707にする

$httpd.confの修正
PHPスクリプトとして動くようにする。
AddType application/x-httpd-php .php

あとはブラウザからみるだけです。

#minecraftサーバーを設置して起動するまで。~~~~~

#javaインストール
javaのサイトでLinux用 X64 RPMリンクを探す
2013/06/17日現在のリンク
http://javadl.sun.com/webapps/download/AutoDL?BundleId=76852

wgetコマンドで
wget -O jre-7u21-linux-x64.rpm http://javadl.sun.com/webapps/download/AutoDL?BundleId=76852

適当なディレクトリに保存
保存したrpmファイルに実行権限とかつける
chmod a+x jre-7u21-linux-x64.rpm

できたら実行
rpm -ivh jre-7u21-linux-x64.rpm

インストールされたかチェックする場合は
java -versionでバージョンがでる。

インストール後環境変数を変更する必要があるらしい
vi /etc/profile
で最下行に以下の分を追加
export JAVA_HOME=/usr/java/default
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

javaのインストール終わり。

#screenのインストール(バックグラウンドで動作させるにはこれが必要)
yum -y install screen
でインストール。

#起動用シェルスプリクトを作る
vi hoge.sh
内容

#!/bin/sh
cd “${0%/*}”
screen -AmdS {screenで呼び出すときの名前} java -Xms1024M -Xmx1024M -jar {サーバーのjarファイルパス} nogui

見本
screen -AmdS mc java -Xms1024M -Xmx1024M -jar mine/minecraft.jar nogui

作ったやつに実行権限付与
chmod a+x hoge.sh

./hoge.sh で起動
スクリーンをアタッチ(開く)には
起動後
screen -r {つけた名前}
で開ける。
デタッチ(閉じる)には
Ctrl+A を押した後にDキー

とりあえずマイクラサーバーはこれで完成です。

後々シェルスクリプトとかでバックアップとかの自動化とかやってみたい。

#小技系

yumインストール済みの物を表示する方法
yum list installed
で全部でる
yum list installed | grep ‘php’
とすれば検索結果からphpが当てはまる物だけ表示できる。

free
でメモリ使用状況みれる

zip {option} {保存名} {圧縮するファイルもしくはディレクトリパス}
option一覧
-r フォルダごと
-u 変更または新しいファイルのみ圧縮ファイルに追加
-e パスかける

Hello world!

WordPress へようこそ。これは最初の投稿です。編集もしくは削除してブログを始めてください !