さくらのVPSと契約して初期設定しました
再び更新が途絶えてしまいました。
夏休みを頂いたので、まとまった時間を使ってWebの勉強をしていたりします。
今日はさくらのVPSを契約したので、その環境設定を行っていました。
2012.3.18追記:CentOS6.2で動作確認しました。いくつか加筆修正しています。
rootパスワード変更・ユーザ追加・rootユーザのSSHログイン禁止
root (管理者権限)のパスワードの変更
[root@ ~]# passwd
パスワードを2回聞かれるので、同じものを打ち込む。
新たにユーザを作成、管理者グループに追加
root以外のユーザを作成し、そちらからログインするようにする。
[root@ ~]# useradd hogehoge [root@ ~]# passwd hogehoge
同じくパスワードを2回聞かれる。次に、作成したアカウントを管理者グループに追加する。
[root@ ~]# usermod -G wheel hogehoge
この変更を有効にするために、visudoを編集し以下のコメントアウトを消す。
その前に、PATHを追加しておく。
vi ~/.bash_profile # for sudo commands PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin $ source ~/.bash_profile
これを行ったあと、visudoの編集。
# visudo
以下のコメントアウトを外す。
%wheel ALL=(ALL) ALL wheel ALL=(ALL) ALL
/etc/ssh/sshd_configの設定
- rootログインができないようにする
#PermitRootLogin yes PermitRootLogin no AllowUsers hogehoge
- SSHのポート番号変更
#Port 22 Port 10022
[root@ ~]# service sshd restart
rootになれるユーザを管理者グループのみとする
[root@ ~]# vi /etc/pam.d/su
以下のように変更。
#auth required pam_wheel.so use_uid auth required pam_wheel.so use_uid
セキュリティ強化(iptablesの設定)
- iptablesの設定
iptables(アイピーテーブルズ)は、Linuxに実装されたパケットフィルタリング機能、またはその操作をするコマンドのこと。
vi /etc/sysconfig/iptables
これで適当に設定する。iptablesの中身の例はぐぐればでてくるし長いので省略。
さくらのVPS - iptablesの設定メモ - Rubellum fly light
/etc/rc.d/init.d/iptables restart
ただハマりポイントがあって、これの記法をミスると再起動したときにうまくいかない。
no command specified~ってでたときは、行末に不要な空白がある場合か、終わりの「COMMIT」の後にきちんと改行を入れていないとき。
各種インストール(yum・emacs・Apache・php・phpMyAdmin)
emacs
yum install emacs
Apache
sudo yum install httpd sudo /etc/rc.d/init.d/httpd start #Apacheの起動 sudo /sbin/chkconfig httpd on #サーバ起動時に自動的に起動
- httpd.confの設定
ここのサイトが非常に参考になったので、こちらを参照してください。
http://curiosity-drives.me/linux/sakura-vps-4-apache/
nginx
こちらを参考にしました。
さくらVPS 開発環境編 (Rails+nginx+unicorn) - プログラミングノート
MySQL
sudo yum -y install mysql-server
- 設定ファイルの編集
sudo emacs -nw /etc/my.cnf
以下を変更・追加
# character-set default-character-set=utf8 skip-character-set-client-handshake [client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqldump] default-character-set=utf8
- ハマりポイント
- mysqlのrestartがうまくいかなかった。
/var/log/mysqld.logを見るとTable 'mysql.host' doesn't existとでていた。
mysql_install_dbと入れるとうまく行った。
PHP
リポジトリの追加
wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm wget http://rpms.famillecollet.com/el5.i386/remi-release-5-8.el5.remi.noarch.rpm rpm -Uvh remi-release-5-8.el5.remi.noarch.rpm epel-release-5-4.noarch.rpm
インストール
yum --enablerepo=remi install php-devel php-mbstring php-mysq
PHPMyAdmin
インストール
[root@ ~]# svn checkout https://phpmyadmin.svn.sourceforge.net/svnroot/phpmyadmin/tags/STABLE/phpMyAdmin phpmyadmin [root@ ~]# mv phpmyadmin/ /var/www/ [root@ ~]# cp /var/www/phpmyadmin/config.sample.inc.php /var/www/phpmyadmin/config.inc.php [root@ ~]# chmod 660 /var/www/phpmyadmin/config.inc.php [root@ ~]# yum -y install expect
初期設定
[root@ ~]# mkpasswd -l 46 ***** #パスワードが出る [root@ ~]# vi /var/www/phpmyadmin/config.inc.php $cfg['blowfish_secret'] = ‘*****’; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ パス*****を挿入 $cfg['Lang'] = ‘ja-utf-8′; (追加) [root@ ~]# chown -R root.apache /var/www/phpmyadmin/ [root@ ~]# vi /etc/httpd/conf.d/phpmyadmin.conf Alias /phpmyadmin /var/www/phpmyadmin [root@ ~]# /etc/rc.d/init.d/httpd restart
その他
利用されていないデーモンを終了する
bluetooth など通常は使わないサービスが起動しているので、それを終了。
/sbin/chkconfig auditd off /sbin/chkconfig autofs off /sbin/chkconfig avahi-daemon off /sbin/chkconfig bluetooth off /sbin/chkconfig cups off /sbin/chkconfig firstboot off /sbin/chkconfig gpm off /sbin/chkconfig haldaemon off /sbin/chkconfig hidd off /sbin/chkconfig isdn off /sbin/chkconfig kudzu off /sbin/chkconfig lvm2-monitor off /sbin/chkconfig mcstrans off /sbin/chkconfig mdmonitor off /sbin/chkconfig messagebus off /sbin/chkconfig netfs off /sbin/chkconfig nfslock off /sbin/chkconfig pcscd off /sbin/chkconfig portmap off /sbin/chkconfig rawdevices off /sbin/chkconfig restorecond off /sbin/chkconfig rpcgssd off /sbin/chkconfig rpcidmapd off /sbin/chkconfig smartd off /sbin/chkconfig xfs off /sbin/chkconfig yum-updatesd off
CentOS の環境を日本語に設定
sudo vi /etc/sysconfig/i18n
以下の項目を編集・追加
LANG="ja_JP.UTF-8" SYSFONT="latarcyrheb-sun16"