Cygwinではuseradd(UNIXでのユーザ追加コマンド)が存在しません。
■ユーザ登録
ユーザの追加はWindowsのユーザを/etc/passwdファイルに追記します。
mkpasswd -l -u UserName >> /etc/passwd
以上です。
mkpasswd -l -u UserName >> /etc/passwd
# groupadd appmng
# useradd -g appmng appmng
# ls -l /home/
合計 4
drwx------ 2 appmng appmng 4096 7月 1 15:28 2011 appmng
⇒作成されていること
# passwd appmng
ユーザー appmng のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: 全ての認証トークンが正しく更新できました。
# cp -pi /etc/sudoers /etc/sudoers.YYYYMMDD
# vim /etc/sudoers
ppmng ALL=(ALL) ALL
# exit
$ ssh appmng@xxx.xxx.xxx.xxx
$ uname -n
⇒ホスト名が表示される
$ id
uid=500(appmng) gid=500(appmng) 所属グループ=500(appmng)
$ gem update --system
Updating RubyGems
ERROR: http://gems.rubyforge.org/ does not appear to be a repository
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
Errno::ECONNREFUSED: 対象のコンピュータによって拒否されたため、接続できませ
んでした。 - connect(2) (http://gems.rubyforge.org/yaml)
gem update --system --http-proxy http://User:Passward@Proxy_Server:Port_No
$ vim Capfile
set :user, 'app' // 実行ユーザを指定。ここでは前回作成したappユーザを指定します。
task :diskcheck, :hosts => "192.168.251.131" do // タスク名と実行ホストを指定。
run "df -kh" // 実行コマンドを指定。ここではリモートサーバのディスク使用量を確認するコマンドを指定してみます。
end
$cap diskcheck
* executing `diskcheck'
* executing "df -kh"
servers: ["192.168.251.131"]
[192.168.251.131] executing command
** [out :: 192.168.251.131] Filesystem サイズ 使用 残り 使用% マウント位置
** [out :: 192.168.251.131] /dev/mapper/VolGroup00-LogVol00
** [out :: 192.168.251.131] 18G 5.9G 11G 36% /
** [out :: 192.168.251.131] /dev/sda1 99M 12M 82M 13% /boot
** [out :: 192.168.251.131] tmpfs 506M 0 506M 0% /dev/shm
command finished in 130ms
$sudo gem update --system
Password:
Updating RubyGems
Updating rubygems-update
Successfully installed rubygems-update-1.8.4
Updating RubyGems to 1.8.4
Installing RubyGems 1.8.4
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/commands/update_command.rb:153: warning: Insecure world writable dir /usr/local/share in PATH, mode 040777
RubyGems 1.8.4 installed
=== 1.8.4 / 2011-05-25
* 1 minor enhancement:
* Removed default_executable deprecations from Specification.
------------------------------------------------------------------------------
RubyGems installed the following executables:
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/gem
$gem list capistrano
*** LOCAL GEMS ***
$sudo gem install capistrano
Password:
Fetching: highline-1.6.2.gem (100%)
Fetching: net-ssh-2.1.4.gem (100%)
Fetching: net-sftp-2.0.5.gem (100%)
Fetching: net-scp-1.0.4.gem (100%)
Fetching: net-ssh-gateway-1.1.0.gem (100%)
Fetching: capistrano-2.6.0.gem (100%)
Successfully installed highline-1.6.2
Successfully installed net-ssh-2.1.4
Successfully installed net-sftp-2.0.5
Successfully installed net-scp-1.0.4
Successfully installed net-ssh-gateway-1.1.0
Successfully installed capistrano-2.6.0
6 gems installed
Installing ri documentation for highline-1.6.2...
Installing ri documentation for net-ssh-2.1.4...
Installing ri documentation for net-sftp-2.0.5...
Installing ri documentation for net-scp-1.0.4...
Installing ri documentation for net-ssh-gateway-1.1.0...
Installing ri documentation for capistrano-2.6.0...
Installing RDoc documentation for highline-1.6.2...
Installing RDoc documentation for net-ssh-2.1.4...
Installing RDoc documentation for net-sftp-2.0.5...
Installing RDoc documentation for net-scp-1.0.4...
Installing RDoc documentation for net-ssh-gateway-1.1.0...
Installing RDoc documentation for capistrano-2.6.0...
$cap --version
Capistrano v2.6.0
$scp -p .ssh/id_rsa.pub radengineer@192.168.251.131:~
radengineer@192.168.251.131's password:
id_rsa.pub 100% 410 0.4KB/s 00:00
$ mkdir -m 700 .ssh
$ cat id_rsa.pub >> .ssh/authorized_keys
$ sudo /usr/sbin/useradd -m app
$ sudo -u app mkdir -m 700 /home/app/.ssh
$ sudo -u app touch /home/app/.ssh/authorized_keys
$ sudo sh -c "cat id_rsa.pub >> /home/app/.ssh/authorized_keys"
$ ssh-agent bash
$ ssh-add
Enter passphrase for /Users/Radengineer/.ssh/id_rsa:
Identity added: /Users/Radengineer/.ssh/id_rsa (/Users/Radengineer/.ssh/id_rsa)
$ ssh 192.168.251.131パスワードなしでログインできれば設定完了。
$ ssh app@192.168.251.131
$ heroku config
App not found
$ vi .git/config
・
・
・
[remote "heroku"]
url = git@heroku.com:[GUI側でRenameしたアプリケーション名].git
fetch = +refs/heads/*:refs/remotes/heroku/*
function toggleMenu() {
$('#header ul').toggleClass('hide');
$('#header .leftButton').toggleClass('pressed');
}