Installed VirtualBox + CentOS7.0
背景 Background
最近はMacで直接開発等を行っていたのですが、
CentOSで調査したい事があったため、CentOSをインストールしようとした所、
CentOS7が出ていたため、前回の『Installed VirtualBox + CentOS6.4』の違いを記録します。
手順 Operation
VirtualBox設定
新規
- システム
メモリ
2048MB
- 起動順序
- CD/DVD-ROM
- ハードディスク
オーディオ
無効化
ネットワーク
ポートフォワーディング
名前 プロトコル ホストIP ホストポート ゲストIP ゲストポート SSHD TCP (空) 2222 (空) 22 HTTPD TCP (空) 2223 (空) 80
OSインストール後
- システム
- 起動順序
- ハードディスク
- 起動順序
パスワードなしのsudo権限付与
# visudo (アカウント名) ALL=(ALL)ALL
SELinuxの無効化
# getenforce Enforcing # vi /etc/sysconfig/selinux SELINUX=disabled
インストール済パッケージ更新
# yum -y update
SSH自動起動設定
# chkconfig sshd on # service sshd start
ローカルPCからSSH接続確認
(localPC) $ ssh -l (アカウント名) -p 2222 localhost
再起動
(ウィンドウ無し)VM起動
(localPC) $ VBoxManage startvm (host名) --type=headless
ローカルPCからSSH接続
(localPC) $ ssh -l (アカウント名) -p 2222 localhost
SELinux確認
$ sudo getenforce Disabled
作業領域設定
$ sudo chown -R (アカウント名):(アカウント名) /usr/local $ mkdir -p $HOME/work
yumレポジトリ追加
epel
$ sudo rpm --import http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-7 $ sudo rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
ius
$ sudo rpm --import http://dl.iuscommunity.org/pub/ius/IUS-COMMUNITY-GPG-KEY $ sudo rpm -ivh http://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/ius-release-1.0-13.ius.centos7.noarch.rpm
remi
$ sudo rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi $ sudo rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpmforge
$ sudo rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt $ sudo rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
$ sudo rpm -ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
各リポジトリの設定状況確認
$ cd /etc/yum.repos.d 各リポジトリの設定をチェック
公開鍵生成
GitHubに登録する。
$ cd $ ssh-keygen $ cat .ssh/id_rsa.pub
必要なパッケージインストール
$ sudo yum install \ colordiff ctags \ gcc \ httpd \ libcurl-devel lynx \ make man-pages-ja mercurial \ ncurses-devel \ openssl openssl-devel \ perl-core perl-devel php php-devel python-devel \ ruby ruby-devel \ tree \ wget
dotfiles設定
GitHubに登録している設定ファイルを設置する
$ cd $ git clone https://github.com/KazuakiM/dotfiles work/dotfiles $ diff $HOME/work/dotfiles/.bash_logout .bash_logout $ diff $HOME/work/dotfiles/.bash_profile .bash_profile $ diff $HOME/work/dotfiles/.ctags .ctags $ diff $HOME/work/dotfiles/.gitconfig .gitconfig $ diff $HOME/work/dotfiles/.vimrc .vimrc
問題ない事を確認した上で適用する。
$ ln -sf $HOME/work/dotfiles/.bash_logout .bash_logout $ ln -sf $HOME/work/dotfiles/.bash_profile .bash_profile $ cp $HOME/work/dotfiles/.bash_profile.local . $ ln -sf $HOME/work/dotfiles/.ctags .ctags $ ln -sf $HOME/work/dotfiles/.gitconfig .gitconfig $ cp $HOME/work/dotfiles/.gitconfig.local . $ ln -sf $HOME/work/dotfiles/.mplayer .mplayer $ ln -sf $HOME/work/dotfiles/.vim .vim $ ln -sf $HOME/work/dotfiles/.vimrc .vimrc $ cp $HOME/work/dotfiles/.vimrc.local . $ ln -sf $HOME/work/dotfiles/.w3m .w3m $ exec $SHELL -l
アプリインストール
Vim pluginのQuickRunでPHPUnitを実行する
VimでPHPUnitを実行する方法は『VimからPHPUnitを実行する環境を整える』を参考にしました。
設定
設計思想
phpunit.xmlを使用しない設計としました。phpunit.xmlはプロジェクト全体で使っているため、
個人用にカスタマイズするのは現実的ではありません。
そこで、"--no-configuration"を使用します。これはphpunit.xmlを読み込めるディレクトリにいたとしてもphpunit.xmlを読み込みません。
読み込まない事によるエラーは個別で対処します。
Laravelでは"--bootstrap '〜'"を設定する必要がありました。
ココらへんのオプションなどは"phpunit --help"とプロジェクトにあるphpunit.xmlを見比べれば察する事が出来ます。
あとは実行結果をsyntax highlightで良さ気にすれば完成です。
今回は通常のPHPファイルを開いている場合には全てのテストを実行し、PHPTestファイルを開いている場合は個別に実行するという、自然な感じにしたつもりです。
問題点、改善点などありましたら、コメント頂けると助かります。
Vim でSQLの整形
VimでSQLを整形する方法を探していた所、Perlを利用するのが良さ気だったため、
試しに導入してみました。
最新版はSQL-Beautify-x.xxをご確認下さい。
SQL-Beautify設定
Perlを使った事が無いため、スマートでないかもしれません。
$ mkdir -p $HOME/.vim/SQL-Beautify $ cd /tmp $ wget http://search.cpan.org/CPAN/authors/id/J/JK/JKRAMER/SQL-Beautify-0.04.tar.gz $ tar -zxvf SQL-Beautify-*.tar.gz $ rm -f SQL-Beautify-*.tar.gz $ mv SQL-Beautify-*/* $HOME/.vim/SQL-Beautify $ cd $HOME/.vim/SQL-Beautify $ perl Build installdeps $ perl Build.PL $ perl Build
Perl スクリプト と .vimrc設定
感想
Alignを使用している場合にはSQLUtilitiesで簡単に整形できます。ただ、私は使いやすさからvim-easy-alignを使用しています。Alignとvim-easy-alignを共存させようとしましたが競合しているのかうまくいきませんでした。そこで今回の設定がいい感じに機能するわけです。
Perl初見さんなため、エライ疲れますた。。。
(追記 2014/09/15 12:05)
vim-easy-alignの設定不足が原因でAlignが悪さをしていている様に見えていた事が発覚しました(検証大事、絶対)
なので、普通にSQLUtilitiesを使った方がスマートかと思われます。
参考
.vimrcのミニマイズについての考察
先日、LingrでVimが遅いという話になり、
KoRoNさんのVimの起動が遅い場合の原因と対策ページが紹介されたのをROMってました。
私の.vimrcは自分なりにチューニングを行って早くしているつもりではありますが、
可読性を意識して設定しているため、遅くなる設定になっていました。
ただ、遅くなるのは望んだ結果ではないため、JavaScript/CSSでよく見るミニマイズを行うとどうなるのか興味がわいたので調べました。
検証方法は以前ネットサーフィンをしている際に見つけた id:thincaさんのvimrc のどこが重いのかを調べるもう1つの方法のページに記載れている方法で試したいと思います。
まずはプログラムを組まずに手頃に出来る"set"処理部分のみをミニマイズしました(手動力)
その結果を見る限りでも起動を短縮出来ている事が伺えます。
まだ、誰もやっていないか調べて、やって無さそうだったら(なぜやらないのか)も含めて調べて
コード書いてみようかなと思います。
サンプルコード
.vimrc profiling. 100 startup total average time.
検証結果
.vimrc_normal
MBA $ sh vimrcStartTimeChecker.sh .000596 MBA $ sh vimrcStartTimeChecker.sh .000597 MBA $ sh vimrcStartTimeChecker.sh .000598
.vimrc_min
MBA $ sh vimrcStartTimeChecker.sh .000535 MBA $ sh vimrcStartTimeChecker.sh .000507 MBA $ sh vimrcStartTimeChecker.sh .000484
感想
50行程度のset処理でゴクゴク僅かではありますが、処理時間に差異が出ました。
予想どうり雀の涙程度でしたが...。
もう少し処理する行数を増やせばいい感じに効果が期待できるかもです。
momonga.vim #6 で mkmkしてきた
初めてのVim系勉強会で緊張している中、会場であるドワンゴさんを訪問しました。
ドワンゴさんの会場は綺麗でとっても広くて羨ましく感じました。(かなり)
今日は以前作成したvim-qfsignsにジャンプ機能を追加がメインな感じでした。
以前、signはジャンプ出来るから良いと言いながら、ジャンプ機能を提供していなかった事に最近気づいたので、さくっと機能を追加しました。
あとは、vim-refのソースを読んだり、
XMLとSQLの整形方法についてネットで調べて.vimrcに設定追加を行いました。
追加機能 release note
vim-qfsignsにジャンプ機能追加
vim-qfsignsで設定されるsignを対象にジャンプ機能を提供するcommandを追加しました。
vim-qfsignsに(画面分割)オートジャンプ機能追加
Syntaxエラー時に該当行にオートジャンプする機能を実装しました。
および画面を横分割してオートジャンプする機能を実装しました。
どちらもデフォルトオフとしてます。
感想 Impressions
『Vimmer こわい』はウソでした(要出典)。
初めてのmkmk会で緊張しつつ、楽しくコーディングできました。
会社や家とはまた違ったコーディングが楽しめて良かったです。
vim-refは頑張れば、参照するマニュアルを制御出来そうでしたが、設定が難しそうだったので、
今はまだその時ではないと結論づけました。(まる)
vim-precious がいい感じ
背景 Background
PHPのテンプレートファイルを修正する際に、インデントがうまくいかない問題に悩まされていました。当初は下記記事を参考にインデントを行っていましたが、vim-preciousを活用することでsyntax等々含めて問題解決するのではと思い、設定してみました。
設定 Setting
感想 Impressions
常々問題なく動いてて、これで私もテンプレートファイルをイジイジできそうです。
HTMLの正規表現がまだ若干ツメきれていないのが心残りですね。基本的には問題なく動く事は確認しましたが、HTMLタグの始まり"<"でinsertモードに変更してもfiletypeがhtmlに変更されません。こちらはおいおい、正規表現を調整したいと思います。
Laravelに触れてみる
背景 Background
herokuがPHPサポートしたという事なので、Laravelをインストールしてみたいと思い、まずはLaravelをMac上で動かしてみたいと思います。
目標 Goal
- Laravelのインストール
環境 Environment
手順 Operation
Composerのインストール @ Mac OS X
PHPの外部ライブラリ管理アプリです。PEAR、GitHubなど分散していライブリ群をComposerの設定ファイルに記載する事で、簡単に利用できます。
$ brew search composer $ brew info composer $ brew install composer
MCrypt PHP Extensionのインストール @ Mac OS X
Laravel4 - 始めよう/インストール/サーバ要件に記載があるため、インストールします。
$ brew search Mcrypt libtomcrypt mcrypt php53-mcrypt php54-mcrypt php55-mcrypt php56-mcrypt $ php --version PHP 5.5.12 (cli) (built: May 3 2014 00:13:45) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans $ brew info php55-mcrypt $ brew info mcrypt $ brew info mhash $ brew install php55-mcrypt
Laravelのインストール
Laravel4 - 始めよう/インストールのページを参考に作業を進めます。
$ composer create-project laravel/laravel {ProjectName} --prefer-dist
動作確認
Apache等の設定を変更して動作確認を行います。