2012-02-04 6 views
3

capifony 용 프로덕션 서버를 설정하려고합니다. 내 deploy.rb 다음과 같이 설정을했습니다 : 그것은 생성하려고cap 배포가있는 디렉토리를 만들 때 권한이 거부되었습니다. 설정

set :application, "myappname" 
set :domain,  "#{application}.eu" 
set :deploy_to,  "/#{application}" # I don't know if this is correct? 

default_run_options[:pty] = true 
#set :repository, "#{domain}:/var/repos/#{application}.git" 
set :repository, "/home/username/myappname" 
set :scm,   :git 
set :deploy_via, :rsync_with_remote_cache 

set :model_manager, "doctrine" 

role :web,  domain       
role :app,  domain       
role :db,   domain, :primary => true  

set :keep_releases, 3 

set :user,  "mylogintossh" 
set :use_sudo, false 

/myappname/myappname/릴리스/myappname/공유/myappname/공유/응용 프로그램/로그/myappname/공유/웹/업로드

하지만 권한이 거부되었습니다. 여기서 내가 뭘 잘못하고 있니? :) Thx.

답변

1

사용자 mylogintossh에 디렉토리를 만들 권한이 있습니까? 로그인하여 해당 디렉토리의 사용 권한을 확인하십시오.

는 해결 방법으로 당신의 sudoers에 사용자를 넣을 수 있습니다 및 777/myappnametrue 또는 권한을 설정에 use_sudo을 설정합니다.

+0

mylogintossh를 사용하여 퍼티에 로그인하여 디렉토리를 만들려고했으나 제대로 작동합니다. 또한/myappname 디렉토리를 만든 다음 cap deploy : setup 명령을 실행 해 보았지만 그 중 하나도 작동하지 않았습니다. "deploy_to"에서 설정 한 디렉토리, 필자가 filezilla로 로그인 할 때 볼 수있는 root-dir과 동일합니까? – mattyh88

+0

소리가납니다. 해당 사용자와 함께'/ myappname'을 직접 만들고 777과 같은 사용 권한이 있는지 확인하십시오. 도움이됩니까? 그렇지 않은 경우 질문에 더 많은 오류 메시지를 표시하십시오. –

+0

나는 그것을 시도했다. 그러나 그것은 효과가 없었다. 오늘부터 전체 오류 메시지를 게시합니다. – mattyh88

0

당신은 설정/deploy.rb에

set :admin_runner, "my_apps_username" 

를 추가 할 수 있습니다. 또는 다음과 같이 deploy : setup 태스크를 덮어 쓸 수 있습니다.

namespace :deploy do 
    task :setup, :except => { :no_release => true } do 
    dirs = [deploy_to, releases_path, shared_path] 
    dirs += shared_children.map { |d| File.join(shared_path, d.split('/').last) } 
    run "mkdir -p #{dirs.join(' ')}" 
    run "chmod g+w #{dirs.join(' ')}" if fetch(:group_writable, true) 
    end 
end 
관련 문제