さくらのVPSに(CentOS6より良い)Scientific Linux6をインストール

Scientific Linux

▼参考サイト
Scientific Linux 6|カスタムOSインストールガイド
http://support.sakura.ad.jp/manual/vps/mainte/custom_scientificlinux.html

上記を参考にまずはインストールと起動まで進める。
その後の設定は以下。

更新可能なパッケージのアップデート

# yum update

※特に更新は無かった

言語設定

# vi /etc/sysconfig/i18n
LANG="C"
  ↓
LANG="ja_JP.UTF-8"

iptables の設定

# vi /etc/sysconfig/iptables

※以下の内容を書き込む

*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
-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 -j REJECT --reject-with icmp-host-prohibited

COMMIT

※SSH は後で説明しますが、セキュリティ的にデフォルトの22番ポート
ではなく、任意のポートに変更します
ここでは、10022番にしました

・iptables の再起動

# /etc/init.d/iptables restart

・設定確認

# /sbin/iptables -L

一般ユーザの作成

# useradd -m 任意のユーザ名
# passwd 任意のユーザ名

続いて、作成したユーザーがsudo コマンドでroot になれるように
wheel グループに追加

# usermod -G wheel 任意のユーザ名

パスワード無しでsudo が使えるように

# visudo

# %wheel        ALL=(ALL)       NOPASSWD: ALL

※上記のコメント(#)を外す

公開鍵を設定する

# cd /home/任意のユーザ名/
# mkdir .ssh
# chmod 700 .ssh
# vi .ssh/authorized_keys

※公開鍵の作成方法等、詳しくは以下を参照
・公開・秘密鍵ペアの作成
http://9jp.info/archives/11485

# chown -R 任意のユーザ名:任意のユーザ名 .ssh
# chmod 600 .ssh/authorized_keys

SSH設定の変更

# vi /etc/sysconfig/sshd

※ポート番号変更
※パスワード認証を拒否
※rootでのログインを拒否

OPTIONS="-p 10022 -o PermitRootLogin=no -o PasswordAuthentication=no"

=============
ほとんどのブログでは「/etc/ssh/sshd_config」を
書き換えているのが主流のようですが、

「/etc/sysconfig/sshd」の方を書き換えた方が
アップデートの時にrpmnewが出来て~、diffして~、書き換えて反映して~
って作業が無くなるので楽だと思います。
=============

SSHの再起動

# /etc/init.d/sshd restart

ここまでやったら、一旦ログアウトして
作成した一般ユーザーでログイン出来るか試す。

続きの記事は、
さくらのVPS ログレポート(logwatch)と不正アクセス拒否(denyhosts)のインストール」です

更に続きのLAMP環境構築の記事は、
さくらのVPS Apache+MySQL+PHPのインストール(LAMP環境構築)

以上です。

参考サイト

VPSの初期設定とLAMP環境を構築する方法。
http://9jp.info/archives/11485

VPS 借りたら、せめてこれくらいはやっとけというセキュリティ設定 : dogmap.jp
http://dogmap.jp/2011/05/12/vps-security/

「ServersMan@VPS」にPHP5.3,MySQL5.1,PostgreSQL8 をインストールする

DTI(ドリーム・トレイン・インターネット)が提供中の「ServersMan@VPS
(仮想専用サーバー)を契約してみてPHP5.3,MySQL5.1,PostgreSQL8 をインストールしてみました。

ServersMan@VPS」とは?
初期費用0円
月額料金490円~(今なら2ヶ月無料キャンペーン中)
メモリ:256MB
HDD:10GB

という、とってもお得な仮想専用サーバーです。
料金プランは3種類あって、Entry 、Standard、Proです。
自分は、Standardプランを契約しました。

さて、実際のコマンドですが自分用メモなので凄く簡単にまとめたものになっています。

▼yum
※「–enablerepo=remi」は、PHP、MySQLの最新バージョンを入れる為に必要です。
詳しくは、「PHP5.3 やMySQL5.1 などの最新版をyum でインストールする方法」をご参照下さい。

$ sudo yum --enablerepo=remi install mysql mysql-{server,devel}
$ sudo yum --enablerepo=remi install postgresql postgresql-{server,devel}
$ sudo yum --enablerepo=remi install php php-{devel,gd,mbstring,mcrypt,mysql,pgsql,pear}

▼mysql

$ sudo /sbin/chkconfig mysqld on
$ sudo /etc/init.d/mysqld start

$ /usr/bin/mysql_secure_installation

$ sudo mv /etc/my.cnf /etc/my.cnf.org
$ sudo cp /usr/share/doc/mysql-server-5.1.50/my-medium.cnf /etc/my.cnf

▼postgres

$ sudo /sbin/chkconfig postgresql on
$ sudo /etc/init.d/postgresql start

$ sudo /usr/bin/passwd postgres
$ sudo -u postgres psql template1

▼phpMyAdminのインストール。

$ sudo yum --enablerepo=remi install phpMyAdmin

※インストールすると以下の所にファイル等があります
/etc/phpMyAdmin
/etc/httpd/conf.d/phpMyAdmin.conf
/etc/phpMyAdmin/config.inc.php
/usr/share/phpMyAdmin
/var/lib/phpMyAdmin



$ sudo cp -p /etc/phpMyAdmin/config.inc.php /etc/phpMyAdmin/config.inc.php.org
     ※$cfg['blowfish_secret'] の値を適当な値に書き換えます

$ sudo vi /etc/httpd/conf.d/phpMyAdmin.conf
     ※allow from [IPアドレス]

$ sudo /etc/init.d/httpd restart

▼phpPgAdmin のインストール

$ sudo yum --enablerepo=remi install phpPgAdmin

※インストールすると以下の所にファイル等があります
/etc/phpPgAdmin
/etc/httpd/conf.d/phpPgAdmin.conf
/etc/phpPgAdmin/config.inc.php-dist
/usr/share/phpPgAdmin

$ sudo mv /etc/phpPgAdmin/config.inc.php-dist /etc/phpPgAdmin/config.inc.php
$ sudo /etc/init.d/httpd restart

▼php.iniの変更

$ sudo cp -p /etc/php.ini /etc/php.ini.20100821
$ sudo vi /etc/php.ini
$ diff /etc/php.ini.20100821 /etc/php.ini
> error_log = /var/log-php/php_errors.log
> default_charset = "UTF-8"
> include_path = ".:/usr/share/pear/"
> mbstring.language = Japanese
> mbstring.internal_encoding = UTF-8
> mbstring.http_output = UTF-8
> mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII

$ sudo /etc/init.d/httpd restart

▼CentOSにphpコンパイラのapcをインストール

$ sudo yum --enablerepo=remi install php-pecl-apc
$ sudo /etc/init.d/httpd restart

以上です。

CentOS5.5にPHP5.3 やMySQL5.1 などの最新版をyum でインストールする方法

2010/7/11 現在

CentOS 5系(RedHat Enterprise Linux 5系)で
PHPの最新版(5.3.x系)を使いたくなった為バージョンアップすることにした。

出来ることなら、yumでのパッケージ管理をしたいので、「Les RPM de Remi」で公開されているRPMリポジトリを活用し、PHP(やMySQL)の最新版を導入することにした。

現時点での環境

$ cat /etc/redhat-release
CentOS release 5.5 (Final)

$ php -v
PHP 5.1.6 (cli) (built: Mar 31 2010 02:44:37)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies

$ mysql --version
mysql  Ver 14.12 Distrib 5.0.77, for redhat-linux-gnu (i686) using readline 5.1

Les RPM de Remiのリポジトリ登録

以下を実行します。

$ sudo rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
$ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

そうすると、「/etc/yum.repos.d/」配下に以下の設定ファイルが出来上がります。

・/etc/yum.repos.d/epel.repo
・/etc/yum.repos.d/remi.repo

PHPのバージョンアップ(rpmで5.1=>5.3)

登録したリポジトリを有効にする感じでインストールする。

$ sudo yum --enablerepo=remi install php

ここで、mysql の競合エラーが出たので先に mysql をインストール(アップデート)しておく

$ sudo yum --enablerepo=remi install mysql

もう一度、PHPのインストール(アップデート)実行

$ sudo yum --enablerepo=remi install php

php.ini の変更をして完了

$ sudo mv /etc/php.ini /etc/php.ini.old
$ sudo cp /usr/share/doc/php-common-5.3.2/php.ini-production /etc/php.ini

バージョン確認

$ php -v
PHP 5.3.2 (cli) (built: Apr 27 2010 20:28:18)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

$ mysql --version
mysql  Ver 14.14 Distrib 5.1.48, for redhat-linux-gnu (i686) using readline 5.1