読者です 読者をやめる 読者になる 読者になる

さくらのVPSでの最初にやる設定

さくらのVPSを借りてみた。ip制限も含め、設定がほとんどされてなかったので、色々なサイトを参考に設定してみたメモ。この後サイト固有の設定はしたけど、そこは省略。

rootでログイン

rootパスワード変更

passwd

作業用アカウント追加

useradd ******

作業用アカウントパスワード設定

passwd ******

作業用アカウントでsudo可能に

visudo

以下を追加

ユーザ名 ALL=(ALL) ALL

作業用アカウントで別ログイン

OKならrootで開いていた方を閉じる。

鍵認証でログイン確認、パスワード認証不可を確認

パスワード認証、rootログインを禁止し、SSHのポートを変更する。

http://www.nabe.bne.jp/linux/ssh.html

  • 設定

vi /etc/ssh/sshd_config

Port *****
PasswordAuthentication no
#PermitRootLogin yes

  • sshを再起動

sudo /etc/init.d/sshd restart

iptablesの設定

http://d.hatena.ne.jp/rubellum/20100909/1284009646

ssh、80、443以外は閉じる。

yumのアップデート

http://wiki.minaco.net/index.php?VMwareFusion/CentOS5/05.yum%E3%81%AE%E3%82%A2%E3%83%83%E3%83%97%E3%83%87%E3%83%BC%E3%83%88

sudo yum -y install yum-fastestmirror
sudo yum -y update

vimをインストール

yum list vim-enhanced
yum install vim-enhanced

screenをインストール

yum list screen
yum install screen

日本語対応

http://www.ideaxidea.com/archives/2010/10/centos_ja_jp.html

vim /etc/sysconfig/i18n

LANG="ja_JP.UTF-8"

apacheを入れる

yum -y install httpd

apacheセキュリティ設定変更

http://kazmax.zpp.jp/apache/apache1.html

  • サーバ情報の送信を最小限に

vim /etc/httpd/conf/httpd.conf

ServerTokens OS

ServerTokens Prod

ServerSignature On

ServerSignature Off

PHP最新を入れるために、設定変更

http://d.hatena.ne.jp/sotarok/20100717/modern_phpenv

sudo rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
sudo vim /etc/yum.repos.d/remi.repo

### [remi] セクションで 0 を 1 に
enabled=1

PHPのインストール

yum -y install php php-devel php-pear php-mbstring php-gd php-mysql

APCのインストール

  • インストール

pecl install APC

  • php.iniの設定

/etc/php.d/apc.iniを作成、中身は以下のみ。

extension=apc.so

PHPのメモリを制限

  • php.iniの設定

vim /etc/php.ini

memory_limit = 128M ⇒ memory_limit = 16M

これは戻すかも…

/etc/init.d/httpd restart

MySQLのインストール

yum -y install mysql-server

MySQL文字コード設定

http://wota.jp/ac/?date=20061011

vim /etc/my.cnf

[mysqld]
default-character-set=utf8
skip-character-set-client-handshake

再起動

/etc/init.d/mysqld restart

MySQLのユーザ設定

  • ログイン

mysql -u root -p mysql

  • 匿名ユーザ削除

delete from user where user='';
select host,user,password from user;

  • rootパスワード設定

set password for root@localhost=PASSWORD('********');

  • 通常ユーザ作成

create database データベース名
grant select,insert,delete,update,create,drop,file,alter,index on *.* to ユーザ identified by 'パスワード';

サーバ起動時のプロセス自動起動設定

chkconfig mysqld on
chkconfig sshd on
chkconfig iptables on
chkconfig httpd on

不要サービスの停止

http://tanaka.sakura.ad.jp/archives/001065.html

chkconfig acpid off
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

サーバを再起動

reboot