CentOS 6 再構築

ちょっとCentOSを再構築

やったこと
・通常利用するユーザを作成
・rootになれるユーザを管理者グループ(wheel)のユーザのみに変更
・追加したユーザを管理者グループ(wheel)に追加

・RSA公開鍵でのログイン設定
・sshでの制限を追加
 パスワードではログインできないようにする。
 rootではログインできないようにする。
 ※root権限が必要な際はsudoでrootになる。
 sshのポートを変更する。

・iptableの設定
・不要なデーモンの停止(後回し)
 sudo chkconfig yum-updateonboot
 sudo chkconfig acpid off
・yum update
・パッケージの自動更新設定(常駐型からcron型へ変更)
・環境を日本語に設定する
・root ユーザー宛てのメールを転送する(gmailを指定したら迷惑メールと判断されてた。)

macのOpenSSLを1.0.1hにアップデート

OpenSSLのheartbeat拡張に情報漏えいの脆弱性があったため1.0.1hにバージョンアップ

homebrewを使って、前にバージョンアップしてたんですが、
どうもhomebrewで入れたほうにリンクが張られてなかったみたいです。

なのでちゃんと入れ直し。

MyMac:~ hogehoge$ brew uninstall openssl
MyMac:~ hogehoge$ which openssl
/usr/bin/openssl ←はい。macに最初から入ってるやつ。
MyMac:~ hogehoge$ openssl version
OpenSSL 0.9.8y 5 Feb 2013 ←はい。古いですね。
MyMac:~ hogehoge$ brew install openssl
This formula is keg-only, so it was not symlinked into /usr/local. ←リンクしてないよって書いてある。
MyMac:~ hogehoge$ brew cleanup
MyMac:~ hogehoge$ which openssl
/usr/bin/openssl ←はい。homebrewで入れたほうをみてない。
MyMac:~ hogehoge$ openssl version
OpenSSL 0.9.8y 5 Feb 2013 ←はい。古いまま。
MyMac:~ hogehoge$ brew link openssl --force
Linking /usr/local/Cellar/openssl/1.0.1h... 1139 symlinks created
MyMac:~ hogehoge$ which openssl
/usr/local/bin/openssl ←はい。homebrewで入れたほうをみてる。
MyMac:~ hogehoge$ openssl version
OpenSSL 0.9.8y 5 Feb 2013 ←あれ?

ターミナルを一回閉じて再度試したらちゃんとかわってた

MyMac:~ hogehoge$ openssl version
OpenSSL 1.0.1h 5 Jun 2014

brew doctorするとWarning出るけど、気にしなくていい?
しかも同じWarningが2回。。

nvm から nodebrewへ乗り換え

nvmでも全然問題ないけど
.bash_profileにnvm use v0.10.25とか書いて
環境設定しないといけないので、バージョンを上げた際に
.bash_profileも直さないといけないので、乗り換えてみる。

【nvmのアンインストール】

.bash_profileの記述を削除

MyMac:~ hogehoge$  vi ~/.bash_profile
 . ~/.nvm/nvm.sh
 nvm use v0.10.25

nvmとインストールしているnodeを削除

MyMac:~ hogehoge$ rm -rf ~/.nvm

【nodebrewのインストール】

nodebrewのインストール

MyMac:~ hogehoge$ curl -L git.io/nodebrew | perl - setup

nodebrewでnodeをインストールすると~ /.nodebrewディレクトリいかにパスを通す。

MyMac:~ hogehoge$ vi ~/.bash_profile
export PATH=$HOME/.nodebrew/current/bin:$PATH

設定を反映

MyMac:~ hogehoge$ source ~/.bash_profile

【nodebrewを使ってnodeをインストール】

安定版をインストール

MyMac:~ hogehoge$ nodebrew install stable
MyMac:~ hogehoge$ nodebrew use v0.10.28

Sublime Text + SCSS

sublime textでscss保存したらSassのコンパイルが走ってcssが出来上がるようにする。

※rubyも必要だけどmacには入ってるので割愛

最初にmacにコンパイラをインストールする。
//gemをアップデート
$ gem update --system
//compassをインストール ここでsassもインストールされる。
//単独でgem install sassとするよりも古いバージョンが入るけどとりあえずは気にしない。
$ sudo gem install compass
Fetching: sass-3.2.18.gem (100%)
Successfully installed sass-3.2.18
Fetching: chunky_png-1.3.0.gem (100%)
Successfully installed chunky_png-1.3.0
Fetching: fssm-0.2.10.gem (100%)
Successfully installed fssm-0.2.10
Fetching: compass-0.12.4.gem (100%)
Successfully installed compass-0.12.4
Parsing documentation for chunky_png-1.3.0
Installing ri documentation for chunky_png-1.3.0
Parsing documentation for compass-0.12.4
Installing ri documentation for compass-0.12.4
Parsing documentation for fssm-0.2.10
Installing ri documentation for fssm-0.2.10
Parsing documentation for sass-3.2.18
Installing ri documentation for sass-3.2.18
4 gems installed

次にsublime textにてパッケージをインストール

  • SCSS
  • SCSS Snippets
  • Compass

次に環境ファイルを生成
config.rbファイルをsublimeのプロジェクトフォルダ直下に保存
中身はこんな感じ
http_path = "/"
css_dir = "public/css"
sass_dir = "public/sass"
images_dir = "public/img"
javascripts_dir = "public/js"
# output_style = :nested
line_comments = false

ここの段階でscssファイルを作ってcommand+bでコンパイルできるはず。

次に自動コンパイルだけど そこは また後日

sublime text 2から3へ

text2時代に入れていたパッケージとセッティングの覚え書き

パッケージ

  • BracketHighlighter
  • CSS Snippets
  • CSScomb
  • HTML Snippets
  • HTML5
  • jQuery
  • jQuery Snippets pack
  • JSHint
  • MacTerminal
  • Nodejs
  • Package Control
  • SideBarEnhancements
  • SublimeCodeIntel
  • SublimeLinter
  • Theme – Flatland

各セッティング

preferences.sublime-settings
{
"bold_folder_labels": true,
"color_scheme": "Packages/Theme - Flatland/Flatland Monokai.tmTheme",
"fade_fold_buttons": false,
"find_selected_text": true,
"ignored_packages":
[
"Vintage"
],
"line_padding_top": 2,
"tab_completion": false,
"tab_size": 2,
"theme": "Flatland Dark.sublime-theme",
"trim_trailing_white_space_on_save": true
}

SublimeLinter.sublime-settings
/*
SublimeLinter user settings
*/
{
//SublimeLinterの構文チェックで日本語を含むコードがエラーになるので対応
"sublimelinter_executable_map": {
"javascript": "/Users/daiki/.nvm/v0.10.21/bin/node"
},

// Use ~/.jshintrc instead
"jshint_options": {
//Enforcing Options
//"camelcase": true, // キャメルケース
"eqeqeq": true, // ==、!=の使用禁止
"indent": 2, // インデントの深さ
"latedef": true, // 宣言する前に変数を利用することを禁止
"undef": true, // グローバル変数へのアクセスを禁止
//"unused": true, // 宣言のみで使用していない変数を検出
//"strict": true, // "use strict" を強制

//Relaxing Options
"laxcomma": true,

//Environments
"browser": true, // ブラウザで定義されているグローバルな要素の使用を許可する
"devel": true, // console、alertを許可
"jquery": true, // jQueryで定義されているグローバルな要素の使用を許可する
"node": true,
"predef": ["Backbone", "_"]
}
}

HTML 5.sublime-settings
{
"extensions":
[
"ejs"
]
}

sublime text 3で入れたパッケージ

  • BracketHighlighter
  • HTML5
  • JQuery
  • SublimeLinter
  • SublimeLinter-jshint
  • Theme – itg.flat
  • Theme – Spacegray
  • SideBarEnhancements

※テーマはitg.flatとSpacegrayと迷い中。

各セッティング

preferences.sublime-settings
{
"color_scheme": "Packages/User/Monokai (SL).tmTheme",
"ignored_packages":
[
"Vintage"
],
"bold_folder_labels": true,
"fade_fold_buttons": false, //折りたたみボタンを隠すかの設定
"line_padding_top": 1, //行の上側の余白
"tab_size": 2,
"trim_trailing_white_space_on_save": true, //行末の空白を保存時に削除
//itg.flat
"color_scheme": "Packages/User/itg.dark (SL).tmTheme",
"theme": "itg.flat.dark.sublime-theme",
"itg_xsmall_tabs": true,
//Spacegray
"color_scheme": "Packages/User/base16-eighties.dark (SL).tmTheme",
"theme": "Spacegray.sublime-theme",
}

さくらVPSのCentOSにmongoDBをインストール

CentOSにyumでMongoDBをインストールする。

【10genリポジトリを追加】

[hogehoge@ ~]$ cd /etc/yum.repos.d/
[hogehoge@ ~]$ sudo vi 10gen.repo
 [10gen]
 name=10gen Repository
 baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64
 gpgcheck=0
 enabled=1

【mongoDBのインストール】

[hogehoge@ ~]$ sudo yum install mongo-10gen mongo-10gen-server
[hogehoge@ ~]$ sudo chkconfig mongod on

起動スクリプト: /etc/rc.d/init.d/mongod
設定ファイル:/etc/mongod.conf
DBファイルの出力先は/etc/mongod.confにdbpathとして記述されている。

node v0.8.8に変更

node v0.8.8にアップデートしたことに伴い、Expressも3.0.0へアップデートした。

プロジェクト作成時のオプションの指定方法が変わってる

↓こんな感じ
Usage: express [options]

Options:

-h, –help output usage information
-V, –version output the version number
-s, –sessions add session support
-e, –ejs add ejs engine support (defaults to jade)
-J, –jshtml add jshtml engine support (defaults to jade)
-h, –hogan add hogan.js engine support
-c, –css add stylesheet support (less|stylus) (defaults to plain css)
-f, –force force on non-empty directory

Express + Mongo + Socket.ioで付箋アプリ(準備)

Express + MongoDB(Mongoose) + Socket.ioにて付箋アプリを作ります。

別に付箋アプリなのでsocket.io(websocket)を使う必要は無いんですけど、

せっかくなので付箋の移動をプッシュするようにします。

環境

・node:0.6.17

・express:2.5.8

・mongoose:2.6.0

・mongoDB:2.0.4

・socket.io:0.9.6

MongoDBをHomebrewから入れる

MongoDBのインストール

MyMac:~ hogehoge$ brew install mongodb

DBの保存先になってる場所を作成(デフォルトでは /data/dbになっている)

MyMac:~ hogehoge$ sudo mkdir -p ~/data/mongoDB

起動

MyMac:~ hogehoge$ mongod --dbpath ~/data/mongoDB

expressにて雛形作成

オプションは
-t=add template <engine>
-s=add session support

MyMac:workspace hogehoge$ express -t ejs -s fusen
MyMac:workspace hogehoge$ cd fusen && npm install

npmからMongoose、socket.ioを入れる

MyMac:fusen hogehoge$ npm install mongoose
MyMac:fusen hogehoge$ npm install socket.io

エディタはCloud9を使います。

(npmからはうまく入らなかったのでgitから持ってきました。)

ワークスペースを指定してcloud9を起動

MyMac:fusen hogehoge$ ~/dev/node/cloud9/bin/cloud9.sh -w ~/dev/node/workspace/fusen

別途ターミナルを起動し、mongodbを起動

MyMac:fusen hogehoge$ mongod --dbpath ~/data/mongodb