bitbucketのwikiをgit cloneからローカルで編集してpushする

bitbucketのwikiはMercurialのリポジトリらしいですのでローカルで編集しましょう。前提としてgitかhgが入っていないと使えないと思います(☝ ՞ਊ ՞)☝

wikiをローカルにcloneする

ボクはgitを使っているのでwikiのpathを指定してgit cloneします。

git clone https://bitbucket.org/pugiemonn/huga/wiki
Cloning into ‘wiki’…
Username for ‘https://bitbucket.org’: pugiemonn
Password for ‘https://pugiemonn@bitbucket.org’:
remote: Counting objects: 93, done.
remote: Compressing objects: 100% (83/83), done.
remote: Total 93 (delta 33), reused 0 (delta 0)
Unpacking objects: 100% (93/93), done.
Checking connectivity… done

途中でユーザー名とパスワードの入力を求められました。

cloneしたwikiを確認します。

ls
wiki

bitbucketから持ってきたwikiがwikiディレクトリとして作成されています。

wikiを更新してpushする

wikiを編集して更新します。

cd wiki

wikiのホームページを編集します。

vi Home.md
なにか編集する

拡張子がmdなのでマークダウン記法で書くことができます。

編集したHome.mdをaddしてcommitします。

git add Home.md
git commit -m “edit Home.md”

あとはpushすればokです。

git push
・・中略

See ‘git help config’ and search for ‘push.default’ for further information.
(the ‘simple’ mode was introduced in Git 1.7.11. Use the similar mode
‘current’ instead of ‘simple’ if you sometimes use older versions of Git)

Counting objects: 5, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 424 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
To https://bitbucket.org/pugiemonn/huga/wiki
9a3509a..4520257 master -> master

これでwikiが変更されました。

ローカルから編集できましたバンジャーイ٩(๑❛ᴗ❛๑)۶

nfsを使用してVagrantの速度を改善する

Vagrantって遅いですよねーなんて思っていたんですがなんと早くする設定があるとか(☝ ՞ਊ ՞)

synced_folderにnfsを設定する

Vagrantfileを編集しconfig.vm.synced_folderにnftを指定します。

config.vm.synced_folder “/Users/kawasakiosamu/Documents/workspace”, “/var/www/html”, :nfs => true

また、config.vm.networkでprivate_networkを有効にします。

config.vm.network :private_network, ip: “192.168.33.10”

この指定なしに、vagrant reloadなどを実行しようとするとhost-only networkにしろみたいなエラーがでます。

NFS requires a host-only network with a static IP to be created.
Please add a host-only network with a static IP to the machine
for NFS to work.

vagnrat upをしてみると速度が劇的に変わったことを体験できますよー(☝ ՞ਊ ՞)

参考
https://coderwall.com/p/uaohzg

特定のディレクトリでrbenvを使って指定したバージョンのrubyを使う

rbenvを使っていて特定のディレクトリに入った時に指定のrubyのバージョンを選択してほしいときのやりかたです。

.ruby-versionでrubyのバージョンを指定

rubyを使うディレクトリに.ruby-versionというファイルを用意するみたいです。

rbenv local 1.9.3-p429

とすると.ruby-versionファイルが出来上がります。
この例ではrubyの1.9.3を使うように指定しています。

rvmを使う場合は以下
特定のディレクトリでrvmを使って指定したバージョンのrubyを使う

sshdを再起動するとBadly formatted port number.とエラーがでる

sshdを再起動したらおこられました(☝ ՞ਊ ՞)

sshdの再起動エラー

sshdを再起動します。

service sshd restart
Stopping sshd: [FAILED]
Starting sshd: /etc/ssh/sshd_config line 14: Badly formatted port number.
[FAILED]

エラーでて失敗しました。

ポートの指定を変える

sshd_configを編集してPort番号を変更します。

vi /etc/ssh/sshd_config
#Port 22
Port 789798

今回は適当に789798という数字を指定しました。Portが22とか102222とかだとBadly formatted port numberのエラーが出るみたいです。

再起動します。

service sshd restart
Stopping sshd: [FAILED]
Starting sshd: [ OK ]

今度は再起動が成功しました。

やったね(☝ ՞ਊ ՞)

エラー出たvagrantなにこれ

エラーとかやめてくださいしんでしまいます(☝ ՞ਊ ՞)

vagrant upでエラー

vagrant upがエラーでこけます。

vagrant up
Bringing machine ‘default’ up with ‘virtualbox’ provider…
[default] Clearing any previously set forwarded ports…
[Berkshelf] This version of the Berkshelf plugin has not been fully tested on this version of Vagrant.
[Berkshelf] You should check for a newer version of vagrant-berkshelf.
[Berkshelf] If you encounter any errors with this version, please report them at https://github.com/RiotGames/vagrant-berkshelf/issues
[Berkshelf] You can also join the discussion in #berkshelf on Freenode.
[Berkshelf] Updating Vagrant’s berkshelf: ‘/Users/kawasakiosamu/.berkshelf/default/vagrant/berkshelf-20131027-43928-m95zam-default’
[Berkshelf] Using mysql (3.0.12)
[Berkshelf] Using wordpress (1.2.0)
[Berkshelf] Using openssl (1.1.0)
[Berkshelf] Using build-essential (1.4.2)
[Berkshelf] Using php (1.2.6)
[Berkshelf] Using xml (1.2.0)
[Berkshelf] Using apache2 (1.8.4)
[default] Creating shared folders metadata…
[default] Clearing any previously set network interfaces…
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: [“hostonlyif”, “create”]

Stderr: 0%…
Progress state: NS_ERROR_FAILURE
VBoxManage: error: Failed to create the host-only adapter
VBoxManage: error: VBoxNetAdpCtl: Error while adding new interface: failed to open /dev/vboxnetctl: No such file or directory
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component HostNetworkInterface, interface IHostNetworkInterface
VBoxManage: error: Context: “int handleCreate(HandlerArg*, int, int*)” at line 66 of file VBoxManageHostonly.cpp

エラーがでた:(;゙゚’ω゚’):

VirtulaBoxを再起動する

VirtualBox4.3なので以下を実行します。

sudo launchctl load /Library/LaunchDaemons/org.virtualbox.startup.plist

これでvagrant upすれば立ち上がります。

再起動したけどvagrantがあがってこない

VirtualBoxを再起動したのに最初と同じエラーが出る場合です。
ボクはVagrantfileの以下の行をコメントにしないと立ち上がらないみたいでした。

config.vm.network :private_network, ip: “192.168.33.10”

コメントにしてvagrant upしたら成功(☝ ՞ਊ ՞)

ふーむなんかおかしいですね。
ということでgrepでしらべたらVirtualBoxのプロセスが大量に生まれていました。こいつらを全部killしてからvagrant upしたらいけました

vagrant upするとサポートしてるVirtualBoxのバージョンじゃないと言われる

MacをMervericksにしてvagrantが立ち上がらなくなったので困っていると、VirtualBoxのバージョンを上げれば直るという話を聞きました(☝ ՞ਊ ՞)

VirtualBoxのバージョンを4.3に上げると

VirtualBoxのバージョンをあげてvagrant upしました。

vagrant up
Vagrant has detected that you have a version of VirtualBox installed
that is not supported. Please install one of the supported versions
listed below to use Vagrant:

4.0, 4.1, 4.2

VirtualBoxは4.0, 4.1, 4.2しかサポートしていないと言われます。

そんな:(;゙゚’ω゚’):

けれどこれはvagrantのバージョンを上げると解消するみたいです。

例えばボクの場合は以下から1.3.5に上げたら解消しました(☝ ՞ਊ ՞)
http://downloads.vagrantup.com/tags/v1.3.5

使われているjQueryのバージョンを調べる

ブラウザのアドレスバーからjQueryのバージョンを調べる方法です(☝ ՞ਊ ՞)

jQueryのバージョンを出力

$().jqueryを実行するとログに吐いてくれます。

console.log($().jquery);

うーんこれは便利。

いま見ているサイトのjQueryのバージョンを見る

ブラウザからjavascript:と打てばjavascriptを実行できるようです。

javascript:console.log($().jquery);

あるいは

javascript:alert($().jquery);

と打てば其のサイトで使われているjQueryのバージョンがわかります(☝ ՞ਊ ՞)

vagrantを起動する終了する

vagrantを起動するのと終了する場合のやり方です(☝ ՞ਊ ՞)

vagrant起動

vagrantを起動します。vagrant up を使用します。

Bringing machine ‘default’ up with ‘virtualbox’ provider…
[default] Clearing any previously set forwarded ports…
[default] Creating shared folders metadata…
[default] Clearing any previously set network interfaces…
[default] Preparing network interfaces based on configuration…
[default] Forwarding ports…
[default] — 22 => 2222 (adapter 1)
[default] Booting VM…
[default] Waiting for machine to boot. This may take a few minutes…
[default] Machine booted and ready!
[default] The guest additions on this VM do not match the installed version of
VirtualBox! In most cases this is fine, but in rare cases it can
cause things such as shared folders to not work properly. If you see
shared folder errors, please update the guest additions within the
virtual machine and reload your VM.

Guest Additions Version: 4.2.16
VirtualBox Version: 4.3
[default] Configuring and enabling network interfaces…
[default] Mounting shared folders…
[default] — /vagrant

この起動にしばらく時間がかかります。

vagrantの状態を確認

vagrantのステータスを確認します。vagrant status を使用します。

vagrant status
Current machine states:

default running (virtualbox)

The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.

ここでVMを停止するにはどうすればいいか書いてありますね。

vagrant終了

vagrantを終了します。vagrant haltを使用します。

vagrant halt
[default] Attempting graceful shutdown of VM…

vagrantを終了しました。

状態を確認します。vagrant statusを使用します。

vagrant status
Current machine states:

default poweroff (virtualbox)

The VM is powered off. To restart the VM, simply run `vagrant up`

電源切れているからvagrant upしろと言われます。

これでバッチリですね(☝ ՞ਊ ՞)

vagrant upしようとするとエラーがでる

Mervericksにしたらvagrantではまり中です(☝ ՞ਊ ՞)

vagrant upでエラーがでました

boxをaddしてからのvagrant upです。

vagrant up
The local file Vagrant uses to store data “.vagrant” already exists
and is a directory! If you are in your home directory, then please run
this command in another directory. If you aren’t in a home directory,
then please rename “.vagrant” to something else, or configure Vagrant
to use another filename by modifying `config.vagrant.dotfile_name`.

なにこれ:(;゙゚’ω゚’):

.vagrant/を削除

Vagrantfileと同じディレクトリにある.vagrant/を削除します。

rm -rf .vagrant

消しました

vagrant upを実行

もういちどvagrant upです

vagrant up
[default] Importing base box ‘centos64’…
[default] Matching MAC address for NAT networking…
[default] Clearing any previously set forwarded ports…
[default] Forwarding ports…
[default] — 22 => 2222 (adapter 1)
[default] Creating shared folders metadata…
[default] Clearing any previously set network interfaces…
[default] Preparing network interfaces based on configuration…
[default] Booting VM…
[default] Waiting for VM to boot. This can take a few minutes.
[default] VM booted and ready for use!
[default] The guest additions on this VM do not match the install version of
VirtualBox! This may cause things such as forwarded ports, shared
folders, and more to not work properly. If any of those things fail on
this machine, please update the guest additions and repackage the
box.

Guest Additions Version: 4.2.16
VirtualBox Version: 4.2.18

たちあがりました。やったね(☝ ՞ਊ ՞)

CentOSにknife-soloを入れようとしたらエラーがでた

vagrantにCentOS6.4のbox環境を作ってvagrant sshしてからknife-soloを入れようとしたらエラーがでました。

環境について

rubyのバージョンは1.8.7

ruby -v
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]

gemのバージョンは1.3.7です。

gem -v
1.3.7

インストールコマンドを実行

curl -L https://www.opscode.com/chef/install.sh | sudo bash

を実行した状態からのスタートです(☝ ՞ਊ ՞)

問題のエラー

gem install で knife-solo を入れようとしたら怒られました。

sudo gem install knife-solo
Building native extensions. This could take a while…
ERROR: Error installing knife-solo:
ERROR: Failed to build gem native extension.

/usr/bin/ruby extconf.rb
mkmf.rb can’t find header files for ruby at /usr/lib/ruby/ruby.h

Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/yajl-ruby-1.1.0 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/yajl-ruby-1.1.0/ext/yajl/gem_make.out

どうやらこれはruby-develというgemを入れるといいみたいです。

sudo yum install ruby-devel
Loaded plugins: fastestmirror


Installed:
ruby-devel.x86_64 0:1.8.7.352-12.el6_4

Complete!

ruby-develが入ったので

knife-soloをインストールします。

sudo gem install knife-solo

Installing RDoc documentation for erubis-2.7.0…
Installing RDoc documentation for chef-11.6.2…
Installing RDoc documentation for knife-solo-0.3.0…

入ったぽいので

gemのlistを確認

gem list
*** LOCAL GEMS ***

chef (11.6.2)
erubis (2.7.0)
highline (1.6.20)
ipaddress (0.8.0)
json (1.5.5)
knife-solo (0.3.0)

chefとknife-soloが入っています。

knife configureも実行しておきます。

knife configure

とりあえずきょうはここまでです(☝ ՞ਊ ՞)