2012-06-24 25 views
6

ayarı görmezden yapar kurulum Ben Capistrano beklenen için chown root ile klasörleri: www-datagrup I www-data grubuna ayarlayın benim dağıtma-dosyasında

Ancak tüm klasörler ve dosyalar root: root.

Bu sorunun nereden gelebileceği ile ilgili herhangi bir fikir var mı?

Bilgi: Kullanıyorum sistem-wide-rvm.

+2

Kök olarak dağıtmak oldukça kötü bir uygulamadır, bir kullanıcı oluşturup dağıtmanızı öneririm. –

cevap

8

Anlayışımla ilgili olarak manuel olarak yapmanız gereken, kullanıcının kurulum için kullanacağı dizinin haklarını ayarlamak için değil.

Capistrano için grup ayarı bulamadım, belki bunun için bazı uzantıları kullanıyordunuz?

after "deploy:setup", :setup_group 
task :setup_group do 
    run "chown -R :#{group} #{deploy_to} && chmod -R g+s #{deploy_to}" 
end 

Ama @Julian açıklamada bahseder gibi ilk etapta daha iyi uygulama bunun için ayrı bir kullanıcı kullanmaktır, dağıtım için kök kullanmamalısınız:

değiştirmek için yapabileceği ne olabilir Görevini yapın ve grubunu uygun gruba ayarlayın, sonra yukarıdaki görevi gerektirmeyecek ve otomatik olarak çalışacaktır.

+0

Artık neden çalışmadığını bilmiyorum, ancak bu yardımcı olur, THX. Kök dışı konuşlandırmayla ilgili değişiklikler üzerinde çalışıyorum ama bu çok yeni sorunlar sunuyor – PascalTurbo

+0

Tanrım, yıllarca 'set: group' kullanıyordum! Asla fark etmedim, çünkü genellikle benim kullanıcı adı ve grup aynıdır :) –

2

Sadece içeri girme: 'den bahsedilmiyor: Capistrano'daki kaynak kodunda ne olursa olsun. Sanırım bir kargo kült seçeneği. Ve: kullanıcı seçeneği sadece SSH bağlantısı için kullanılır.

Sorunuzda, Capistrano'nun oluşturduğu dizinler ve dosyalar varsayılan izinlerle oluşturulur; hiçbir zaman chown s hiçbir şekilde; root olarak dağıtıyorsanız, root:root'a ait olacaktır.

2

bir sorun ilk etapta bunu kalmaması olduğunu tespit daha iyi:

  1. Birincisi, (as Julien suggests) ile dağıtmak için başka bir kullanıcı oluşturun.
    Ona diyoruz ki deployer.
  2. Sonra SSH bağlantısı
    set :user, 'deployer'
  3. Son olarak onu kullanmak, biz kullanım sudo olmak istiyorum, bu yüzden deploy.rb için
    set :use_sudo, false
    ekleyerek kapatmayın.
+0

Bunu yaptığımda apache, dosyayı dağıtan kullanıcıya farklı bir kullanıcı/grup altında çalıştığı için okuyamaz. Daha sonra web sunucusu kullanıcısına -R'yi manuel olarak seçersem, site çalışır. Baska öneri? –

+1

@ joshua.paling www-data grubuna dağıtıcının eklenmesinden ne haber? Bu benim için çalıştı. (Ubuntu: '' sudo adduser kurucusu www-data''') – marvin