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したらいけました

wordpressのテーマCSSをSassで書く

Macでwordpressのテーマ編集作業しています(☝ ՞ਊ ՞)

Sassをインストール

Sassをインストールします。

sudo gem install sass

これでok

バージョンを確認。

sass -v
Sass 3.2.12 (Media Mark)

wordpressのテーマディレクトリへ移動

いまhogeという名前のテーマを扱っているとしてテーマのディレクトリに移動します。

cd
/Users/kawasakiosamu/wordpress/wp-content/themes/hoge/

ディレクトリを確認

pwd
/Users/kawasakiosamu/wordpress/wp-content/themes/hoge/

sass用ディレクトリとscssファイルを作成

同ディレクトリsassディレクトリを作成します。

mkdir sass

./にstyle.cssがあり、sassディレクトリ内にsass/style.scssを置きます。

style.scssを編集します。

vi sass/style.scss
/*
cssを色々書く
*/

scssからcssファイルを作成

sassコマンドを使ってstyle.scssファイルをstyle.cssに変換します。

sass 変換前のscss:変換後のcss

というように指定します。

この場合は、

sass sass/style.scss:style.css

これでstyle.cssが生成されます。

scssからcssファイルを作成

前回のコマンドを毎回叩くのは面倒なのですが、sassはcssへの変換を自動でやってくれます。
新しくタブを開き、sassディレクトリのscssファイルをテーマディレクトリに変換するコマンドを実行します。

sass --watch sass:./

hoge/sass/style.scssを更新すると自動変換され、hoge/style.cssが更新されます。

かなりべんりですねー(☝ ՞ਊ ՞)

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

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

rvmでrubyのバージョンに合わせたgemを指定する

rvmでrubyのバージョンを変更したつもりがgemの指定が変わっていなかったようです。

rails s や bundle installをしようとしたらエラーが

ruby2.0とrails4でrails s や bundle installをするとエラーが出て失敗しました。

bundle install
Fetching gem metadata from https://rubygems.org/……….
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies….
Using rake (10.1.0)

Installing activesupport (4.0.0)
Gem::InstallError: activesupport requires Ruby version >= 1.9.3.
An error occurred while installing activesupport (4.0.0), and Bundler cannot continue.
Make sure that `gem install activesupport -v ‘4.0.0’` succeeds before bundling.

なにかおかしいです。

使用しているgemを確認する

gemがどこを見ているかwhichコマンドで確認します。

which gem
/Users/kawasakiosamu/.rvm/rubies/ruby-1.9.2-p0/bin/gem

アレ?なんと1.9.2を見ています。2.0をみて欲しいのですがおかしいです。

rvmのruby2.0のディレクトリを見ました。

ls ~/.rvm/rubies/ruby-2.0.0-p247/
.irbrc bin/ config include/ lib/ patches.list share/

gemのディレクトリがそもそもありません。

default.gemsを作成

一度ruby1.9.2に変更します。

rvm use 1.9.2
ruby-1.9.2-p320 is not installed.
To install do: ‘rvm install ruby-1.9.2-p320’

gemsetをexportします。

rvm gemset export
Exporting current environments gemset to default.gems

gemsetを読込み

使いたいrubyは2.0なのでruby2.0に変更します

rvm use 2.0
Using /Users/kawasakiosamu/.rvm/gems/ruby-2.0.0-p247

gemsetを読み込みます。

rvm gemset import

Processing of default.gems is complete.

このimportかなり時間がかかりました。

再び使用しているgemを確認する

rubyのバージョンとgemがどこを見ているか確認します。

ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.5.0]

which gem
/Users/kawasakiosamu/.rvm/rubies/ruby-2.0.0-p247/bin/gem

おお!今度はruby2.0のほうのgemを見に行っています。

WEBrickを起動

rails sでWEBrickを起動します。

rails s
=> Booting WEBrick
=> Rails 4.0.0 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server

やりました。最初は失敗したWEBrickが起動しました。バンジャーイヽ(´ー`)ノ

rvmでrailsのバージョンを指定する

rvmで使いたいrailsを指定したいです(☝ ՞ਊ ՞)☝

railsのバージョンを複数用意する3ステップ

rvmでrailsのバージョンを複数存在させるには3つの手順で実現出来ました。

  • gemsetを作成する
  • gemsetを選択する
  • 使いたいrailsのversionをインストールする

上記2ステップの前にrails –versionをしてRailsのバージョンを確認しました。

rails –version
Rails 4.0.0

現在はRails 4が入っています。

gemsetを作成する

gemsetを作成します。使用したいのはRails3.2.14ですのでrails3214という名前のgemsetにしました。

rvm gemset create rails3214

これでgemsetが作られたみたいです。

gemsetを選択する

作ったgemsetを使用するにはrvm useの後ろに@で名前を指定します。

rvm use 1.9.3-p429@rails3214
Using /Users/kawasakiosamu/.rvm/gems/ruby-1.9.3-p429 with gemset rails3214

gemのlistを確認してみます。

gem list

*** LOCAL GEMS ***

bundler (1.3.5)
rake (10.0.4)
rubygems-bundler (1.1.1)
rvm (1.11.3.7)

railsが入ってないみたいです。

railsのバージョンを指定してインストール

rails3.2.14をインストールします。

gem install rails -v 3.2.14

以下略

railsのバージョンを確認します。

rails –version
Rails 3.2.14

Rails3.2.14がつかえるようになりました。やったね(☝ ՞ਊ ՞)

参考:rvm 入門 … 複数バージョンの Ruby と Rails を混在させる