さくらVPSの初期設定
さくらのVPS (1G)を借りたのでその設定メモ
初めてのサーバ設定ということでかなりつまづいて時間かかったのである程度ログを残しておく
初期設定いろいろ
- root以外のユーザー作成
- rootログインの禁止&sudoの有効化
- ssh設定(ポート番号、rootログインの禁止)
sudo service sshd restart
この辺は適当にぐぐれば出てくるはず
sshの設定がおかしいとログイン出来なくなるので慎重に。
ファイアウォール
iptablesの設定
sudo cat /etc/sysconfig/iptables *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] # :SERVICES - [0:0] :RH-Firewall-1-INPUT - [0:0] -A OUTPUT -o lo -j ACCEPT -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 -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 -A INPUT -p tcp --dport 1234 -m hashlimit --hashlimit-name ssh --hashlimit 2/m --hashlimit-burst 10 --hashlimit-mode srcip --hashlimit-htable-expire 60000 -j ACCEPT # FTP1, FTP2, SSH, HTTP, Rails, MySQL, SFTP, HTTPS,GITなどなど -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 53 -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 115 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1234 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3000 -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 9418 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT
こうしてから
sudo service iptables restart # ファイアウォールを再起動 sudo iptables -L # 設定を見る
ファイアウォールの設定の仕方に
- 全てDROP(拒否)してから必要なものだけを許可する
- 全てACCEPT(許可)してから必要なものだけを許可すれば許可されなかったものはDROPされる
といった2パターンがある?
結局よくわからずに適当にコピペしてちょこっと弄ってこんな感じ
厳しくしすぎてyumとかgit cloneとかwgetとかが通らなくなってしまったので緩くした。
その結果セキュリティが甘くなってしまった可能性があるので今後改善していく予定。
甘くなったかどうかもわからないのが勉強不足。
使用するアプリケーション等のインストール
最初からyumとgitは入っていた。
下準備
yum -y update mkdir ~/tmp git clone ~~~ # dotfiles の設定(.vimrc, .zshrc, .tmux.confなど)
アンチウィルス
ここを参考にclamdというソフトを導入した。
zshのインストール
yum -y install zsh # 既に入ってた chsh -s /usr/bin/zsh # シェルの変更 source ~/.zshrc
tmuxのインストール
yum -y install tmux # これだけで良かった気がする
python2.7.3のインストール
cd ~/tmp wget http:www/python.org/ftp/python/2.7.3/Python-2.7.3.tgz tar zxvf Python-2.7.3.tgz # 以下のは.zshrcにでもあとで書いておく export PYTHONPATH=/usr/local export PYTHONHOME=/usr/local cd Python-2.7.3 ./configure --prefix=/usr/local make sudo make install
vim73のインストール
cd ~/tmp # あとあと必要になるらしい? sudo yum install ncurses-devel sudo yum install lua lua-devel wget ftp://ftp.vim.org/pub/vim/unix/vim-7.3.tar.bz2 tar jxvf vim-7.3.tar.bz.2 cd .vim73 mkdir patches cd patches curl -O 'ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.[001-884]' #2013/4/9時点 cd ../ cat patches/7.3* | patch -p0 # configure と make は sudo いらんかも? sudo ./configure --prefix=/usr/local/vim73 --with-features=huge --enable-multibyte --enable-pythoninterp=yes --enable-tclinterp --enable-cscope --enable-fontset --enable-gui --enable-gnome-check --without-x --enable-gpm --disable-darwin --disable-netbeans --disable-selinux sudo make sudo make install # .zshrcに # alias vim="/usr/local/bin/vim"
おまけ
vim --version VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Apr 9 2013 21:27:38) 適用済パッチ: 1-884 Compiled by hoge@fuga.piyo.com Huge 版 without GUI. 機能の一覧 有効(+)/無効(-) +arabic +file_in_path +mouse_sgr +tag_binary +autocmd +find_in_path -mouse_sysmouse +tag_old_static -balloon_eval +float +mouse_urxvt -tag_any_white -browse +folding +mouse_xterm -tcl ++builtin_terms -footer +multi_byte +terminfo +byte_offset +fork() +multi_lang +termresponse +cindent +gettext -mzscheme +textobjects -clientserver -hangul_input -netbeans_intg +title -clipboard +iconv +path_extra -toolbar +cmdline_compl +insert_expand -perl +user_commands +cmdline_hist +jumplist +persistent_undo +vertsplit +cmdline_info +keymap +postscript +virtualedit +comments +langmap +printer +visual +conceal +libcall +profile +visualextra +cryptv +linebreak +python +viminfo +cscope +lispindent -python3 +vreplace +cursorbind +listcmds +quickfix +wildignore +cursorshape +localmap +reltime +wildmenu +dialog_con -lua +rightleft +windows +diff +menu -ruby +writebackup +digraphs +mksession +scrollbind -X11 -dnd +modify_fname +signs -xfontset -ebcdic +mouse +smartindent -xim +emacs_tags -mouseshape -sniff -xsmp +eval +mouse_dec +startuptime -xterm_clipboard +ex_extra -mouse_gpm +statusline -xterm_save +extra_search -mouse_jsbterm -sun_workshop +farsi +mouse_netterm +syntax システム vimrc: "$VIM/vimrc" ユーザ vimrc: "$HOME/.vimrc" ユーザ exrc: "$HOME/.exrc" 省略時の $VIM: "/usr/local/share/vim" コンパイル: gcc -c -I. -Iproto -DHAVE_CONFIG_H -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 リンク: gcc -L/usr/local/lib -Wl,--as-needed -o vim -lm -ltinfo -ldl -L/usr/lib64/python2.6/config -lpython2.6 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic
感想
色んな分野の知識つけたい。
設定終えるだけで5日ほどかかった気がする。
ここまで書いて、apatch(webサーバー)も設定したこと思い出したけど元気が無いのでここまで。