個人的に良く設定する事を忘れないようにメモします
yumアップデート
$ sudo yum update -y
vimの設定をする
プラグイン管理ツールNeobundleをインストール
$ mkdir -p ~/.vim/bundle
$ sudo yum -y install git
$ git clone git://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim
.vimrcの記述
コピペする時:set paste
すると自動インデントとかしないから嬉しい
.vimrc
" 最初に記述しておいたほうが良いもの============
" 文字コードの指定
scriptencoding utf-8
" ミュートにする。
set t_vb=
set visualbell
set noerrorbells
" プラグイン管理 NeoBundle ==============================================
" ファイルタイプの自動検出をしないようになる。
" neobundleなどのプラグインを読み込むときは一度filetypeをoffにしておく必要がある
filetype off
if has('vim_starting')
set runtimepath+=~/.vim/bundle/neobundle.vim/
endif
call neobundle#begin(expand('~/.vim/bundle/'))
" Let NeoBundle manage NeoBundle
NeoBundleFetch 'Shougo/neobundle.vim'
" Recommended to install
" After install, turn shell ~/.vim/bundle/vimproc, (n,g)make -f
" your_machines_makefile
" ここから使いたいプラグインを書く =========================
" Dirのtree表示
NeoBundle 'scrooloose/nerdtree'
" ソースをVim上で実行
NeoBundle 'thinca/vim-quickrun'
" Markdown記法をHTMLに変換
NeoBundle 'Markdown'
" クオートや括弧の対を自動入力
NeoBundle 'Townk/vim-autoclose'
" シンタックスチェックをする
NeoBundle 'scrooloose/syntastic'
" ファイルタイプの自動検出、ファイルタイプ用の プラグインとインデント設定を自動読み込みするようになる。
filetype plugin indent on
" Installation check.
NeoBundleCheck
call neobundle#end( )
" シンタックスチェック scrooloose/syntasticの設定============================
let g:syntastic_check_on_open = 0
let g:syntastic_enable_signs = 1
let g:syntastic_echo_current_error = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_enable_highlighting = 1
let g:syntastic_php_checkers = ['php', 'phpcs', 'phpmd']
" なんでか分からないけど php コマンドのオプションを上書かないと動かなかった
let g:syntastic_php_php_args = '-l'
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
" 自分のセッティング===========================================================
" ハイライト
syntax on
" スワップファイルはいらない
set noswapfile
" バックアップファイルもいらない
set nobackup
" タブ文字を半角スペースが挿入"
set expandtab
" 対応する括弧やブレースを表示する
set showmatch
" 行を超えてもバックスペースキーによる編集が可能
set backspace=2
" 行番号表示
set number
" ステータス行に表示させる情報の指定
set statusline=%<%f\ %m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}%=%l,%c%V%8P
" ショートカットキー マッピング ====================================================
" プラグインコマンドショートカット
map ,n <ESC>:NERDTreeToggle<CR>
map ,r <ESC>::QuickRun<CR>
map ,m <ESC>::QuickRun markdown<CR>
" 開いているPHPファイルを自動整形する
map ,f <ESC>:! php-cs-fixer fix %<CR>
" 貼り付け用
map ,a <ESC>::set paste<CR>
" Ctrl-jにESCの役割を担ってもらう。
imap <c-j> <esc>
" for php
map ,p <ESC>:!php -l %<CR>
" for perl
map ,t <ESC>:%! perltidy -q -pbp<CR>
map ,w <ESC>:!perl -wc %<CR>
" 全角スペースの表示================================================================
function! ZenkakuSpace()
highlight ZenkakuSpace cterm=underline ctermfg=lightblue guibg=darkgray
endfunction
if has('syntax')
augroup ZenkakuSpace
autocmd!
autocmd ColorScheme * call ZenkakuSpace()
autocmd VimEnter,WinEnter,BufRead * let w:m1=matchadd('ZenkakuSpace', ' ')
augroup END
call ZenkakuSpace()
endif
" インデント Indent ==============================================================
set autoindent " 自動でインデント
"set paste " ペースト時にautoindentを無効に(onにするとautocomplpop.vimが動かない)
set smartindent " 新しい行を開始したときに、新しい行のインデントを現在行と同じ量にする。
set cindent " Cプログラムファイルの自動インデントを始める
" softtabstopはTabキー押し下げ時の挿入される空白の量,0の場合はtabstopと同じ,BSにも影響する
set tabstop=2 shiftwidth=2 softtabstop=0
" 連続インデント
vnoremap < <gv
vnoremap > >gv
if has("autocmd")
"ファイルタイプの検索を有効にする
filetype plugin on
"そのファイルタイプにあわせたインデントを利用する
filetype indent on
" これらのftではインデントを無効に
"autocmd FileType php filetype indent off
autocmd FileType apache setlocal sw=4 sts=4 ts=4 et
autocmd FileType aspvbs setlocal sw=4 sts=4 ts=4 et
autocmd FileType c setlocal sw=4 sts=4 ts=4 et
autocmd FileType cpp setlocal sw=4 sts=4 ts=4 et
autocmd FileType cs setlocal sw=4 sts=4 ts=4 et
autocmd FileType css setlocal sw=2 sts=2 ts=2 et
autocmd FileType diff setlocal sw=4 sts=4 ts=4 et
autocmd FileType eruby setlocal sw=4 sts=4 ts=4 et
autocmd FileType html setlocal sw=2 sts=2 ts=2 et
autocmd FileType java setlocal sw=4 sts=4 ts=4 et
autocmd FileType javascript setlocal sw=2 sts=2 ts=2 et
autocmd FileType perl setlocal sw=4 sts=4 ts=4 et
autocmd FileType php setlocal sw=4 sts=4 ts=4 et
autocmd FileType python setlocal sw=4 sts=4 ts=4 et
autocmd FileType ruby setlocal sw=2 sts=2 ts=2 et
autocmd FileType haml setlocal sw=2 sts=2 ts=2 et
autocmd FileType sh setlocal sw=4 sts=4 ts=4 et
autocmd FileType sql setlocal sw=4 sts=4 ts=4 et
autocmd FileType vb setlocal sw=4 sts=4 ts=4 et
autocmd FileType vim setlocal sw=2 sts=2 ts=2 et
autocmd FileType wsh setlocal sw=4 sts=4 ts=4 et
autocmd FileType xhtml setlocal sw=4 sts=4 ts=4 et
autocmd FileType xml setlocal sw=4 sts=4 ts=4 et
autocmd FileType yaml setlocal sw=2 sts=2 ts=2 et
autocmd FileType zsh setlocal sw=4 sts=4 ts=4 et
autocmd FileType scala setlocal sw=2 sts=2 ts=2 et
endif
screenの設定をする
.screenrc
escape ^Tt
shelltitle "$ |bash"
hardstatus alwayslastline "[%c]%`%-w%{=b bw}%n %t%{-}%+w"
bind s
startup_message off
autodetach on
defscrollback 1024
screen
screen
screen
screen
screen
grepより超早い検索ツールThe Silver Searcher
# sudo yum install the_silver_searcher
ログ解析にmultitail
# yum -y install multitail
# cd /var/log/httpd
# multitail -f access_log -f error_log
障害調査時に使うコマンドをインストール
# yum -y install dstat sysstat iotop
ファイルツリー表示にtree
# yum -y install tree
Ctrl + s でコンソールストップするのを無効にする
~/.bashrcに以下を追記
~/.bashrc
# No use terminal STOP (ctrl + s)
stty stop undef
日本時間(JST)にする
yum update してもUTCに戻らないやり方
# vim /etc/sysconfig/clock
ZONE="Asia/Tokyo"
UTC=false
# cp /usr/share/zoneinfo/Japan /etc/localtime
# date
Thu Sep 4 10:37:21 JST 2014
※再起動
# /etc/init.d/crond restart
swap追加
# free
# dd if=/dev/zero of=/mnt/swapfile bs=1M count=1280
# mkswap /mnt/swapfile
# swapon /mnt/swapfile
# chmod 0644 /mnt/swapfile
# free
# sudo vim /etc/fstab
これを追記
/mnt/swapfile swap swap defaults 0 0
日本語環境にする
# echo "LANG=ja_JP.UTF-8" > /etc/sysconfig/i18n
# yum install -y man-pages-ja
個人のユーザを作る
頻繁に作るかもなので、以下のシェルスクリプトを作っておく。
引数にユーザ名入れよう。
自動でwheelにもいれる
標準出力された鍵は忘れずにコピーして保存
useradd.sh
#!/bin/bash
if [ $# -ne 1 ]; then
echo "指定された引数は$#個です。" 1>&2
exit 1
fi
cat <<__EOT__
ユーザ名 $1 ユーザを作ります。
__EOT__
user=$1
useradd $user -G wheel
passwd $user
mkdir /home/$user/.ssh
cd /home/$user/.ssh
ssh-keygen -t rsa
mv /root/.ssh/id_rsa.pub /home/$user/.ssh/authorized_keys
mv /root/.ssh/id_rsa /home/$user/.ssh/${user}_rsa
chmod 600 /home/$user/.ssh/authorized_keys
chmod 700 /home/$user/.ssh
chown -R $user:$user /home/$user/.ssh
cat /home/$user/.ssh/${user}_rsa
権限変更してrootで実行する
# chmod 700 useradd.sh
# ./useradd.sh hoge
sudoしたいならvisudoでwheelを有効にする。
# visudo
%wheel ALL=(ALL) ALL
ec2-userにパスワードを設定する
初期のec2-userにはパスワードが無いので設定しておく
# passwd ec2-user
New password: 任意の文字列
Retype new password: 任意の文字列
# visudo -f /etc/sudoers.d/cloud-init
NOPASSWDを消して、以下に変更する。
ec2-user ALL=(ALL) ALL
# User rules for ec2-user
ec2-user ALL=(ALL) ALL
最後に
自分の技術ブログではフリーランス界隈の情報や最新のIT情報の発信していますので、よろしくお願いします。