Skip to content

Instantly share code, notes, and snippets.

@hfm
Last active December 18, 2015 14:18
Show Gist options
  • Save hfm/5795684 to your computer and use it in GitHub Desktop.
Save hfm/5795684 to your computer and use it in GitHub Desktop.
maglicaでvm作ってからいろいろやったことのコマンド履歴

1. まずはGitとか

groupinstallで便利ツールズをたらふく入れる。

# yum groupinstall "Development Tools"

1.1 Gitをアップデートする

yumからだと1.7系なので、1.8系をsource installする。

$ cd /usr/local/src
$ sudo wget https://git-core.googlecode.com/files/git-1.8.3.1.tar.gz
$ sudo tar xzvf git-1.8.3.1.tar.gz
$ cd git-1.8.3.1
$ sudo ./configure --prefix=/usr/local/git
$ sudo make
$ sudo make install

インストールが終わるので、/binにシンボリックリンクを貼る

$ sudo ln -s /usr/local/git/bin/git /usr/local/bin

2. userつくる

2.1 GID 1000なグループを作って、sudo使えるような権限を与えておく

# groupadd -g 1000 sampleapp
# visudo
+ %sampleapp        ALL=(ALL)       ALL

2.2 UID 1000なユーザを作る

# useradd -u 1000 -g 1000 okkun 
# passwd okkun
ENTER PASSWORD

3. nginx

$ su -
# yum install nginx
# chkconfig nginx on
# service nginx start

まだ/etc/nginx/nginx.confやってないです。

4. mysql

4.1 初期設定

$ su -
# yum install mysql-server
# vi /etc/my.cnf => character-set-server = utf8
# mysql_secure_installation 
# chkconfig mysqld on
# service mysqld start

4.2 ユーザとDBつくる

$ mysql -u root -p
mysql> GRANT ALL PRIVILEGES ON sampleapp.* TO okkun@localhost IDENTIFIED BY '********';
mysql> exit
$ mysql -u okkun -p
mysql> CREATE DATABASE sampleapp;

5. rbenv + ruby 2.0.0-p195

5.1 rbenvをsystem wideに入れる

$ su -
# git clone git://github.com/sstephenson/rbenv.git /usr/local/rbenv
# cd /usr/local/rbenv
# mkdir shims
# mkdir versions
# mkdir plugins
# git clone git://github.com/sstephenson/ruby-build.git plugins/ruby-build
# sh plugins/ruby-build/install.sh
# git clone https://github.com/sstephenson/rbenv-default-gems.git plugins/rbenv-default-gems
# echo "bundler" >> default-gems
# echo "pry" >> default-gems

5.2 環境変数を通しておく

$ sudo vi /etc/profile.d/rbenv.sh
export RBENV_ROOT="/usr/local/rbenv"
export PATH="/usr/local/rbenv/bin:$PATH"
eval "$(rbenv init -)"

5.3 ruby 2.0.0-p195を入れる

# rbenv install 2.0.0-p195
# gem update --system

6. Rails

sampleapp

$ cd
$ git clone [email protected]:Tacahilo/sample_app.git
$ cd sample_app/
$ 

まだやれてないけど、Gemfileにunicornとか入れる。

unicorn

このあたりを見てやる予定

まだやれてないけど忘れたらアカンこと

  • Railsの実動作は``RAILS_ENV=production``` でやる。
  • mysqlのgrantは、必要最低限な権限だけ付与するというにする

実はよく分かっていなかったこと

  • yum install hogeyum install hoge-devel なパッケージ、何が違うの?
  • hogehoge-devel の違いの調べ方ってなんだろう?
  • /bin とか /usr/local とか、ディレクトリ構成について
    • gitの最新版を入れたい => どのディレクトリに入れよう???
  • 環境変数を通すときに、どのファイルに記述しておくのが理想的?
    • /etc/profile
    • visudo
@glidenote
Copy link

ファイル編集した記録はdiff -u my.cnf.before my.cnfみたいな感じでdiff残しておくと良いですよ。添削する方もどこを修正したか分かりやすいです。

$ diff -u my.cnf.dist my.cnf
--- my.cnf.dist 2013-06-18 11:05:30.000000000 +0900
+++ my.cnf      2013-06-18 11:05:03.000000000 +0900
@@ -148,7 +148,7 @@
 [mysqldump]
 quick
 max_allowed_packet = 16M
-character-set-server = ujis
+character-set-server = utf8

 [mysql]
 no-auto-rehash

diffからpatchが作れるので、次回以降はそのpatchを使って、ファイル修正が出来ます。

diffを取る習慣が身につくと、バックアップは必ず取るようになりますが、ファイル修正する場合は必ずバックアップを取りましょう。gitで管理してgit diffでも良いです。
設定変えたら動かなくなったけど、バックアップ無いから元にも戻せない!みたいな障害が防げます。

@hfm
Copy link
Author

hfm commented Jun 19, 2013

@glidenote
ありがとうございます!
恥ずかしながらpatchコマンドを知りませんでした。これから使っていきます!

@hfm
Copy link
Author

hfm commented Jun 20, 2013

https://gist.github.com/Tacahilo/5820097
上記の内容をpuppetで再現するための記録を展開しています。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment