저는 내 서버에 Symfony2 응용 프로그램을 배포하기 위해 Capifony를 사용하고 있으며 몇 달 동안 사용하고 있습니다. 그러나 오늘 서버에 배포 할 때 갑자기 오류가 거부되었습니다. 나는 이전에이 프로그램을 사용 해 본 적이 없으며 실제로 서버 사용 권한을 변경하지 않았습니다. 실제로는 한 시간 정도 밖에 배포하지 않았으므로 괜찮 았습니까?! 다음은 오류의 예입니다.Symfony2 Capifony 배포시 사용 권한이 거부되었습니다.
** [out :: xx.xxx.xxx.xxx]
** [out :: xx.xxx.xxx.xxx] rm:
** [out :: xx.xxx.xxx.xxx] cannot remove `/var/www/vhosts/xyz.co.uk/releases/20130604203446/web/bundles/website/lib/frontend/img/blog/pop-2.jpg': Permission denied
** [out :: xx.xxx.xxx.xxx]
** [out :: xx.xxx.xxx.xxx] rm:
** [out :: xx.xxx.xxx.xxx] cannot remove `/var/www/vhosts/xyz.co.uk/releases/20130604203446/web/bundles/website/lib/frontend/img/awaitingimages.jpg': Permission denied
** [out :: xx.xxx.xxx.xxx]
** [out :: xx.xxx.xxx.xxx] rm:
** [out :: xx.xxx.xxx.xxx] cannot remove `/var/www/vhosts/xyz.co.uk/releases/20130604203446/web/bundles/website/lib/frontend/img/ratingsprite.gif': Permission denied
** [out :: xx.xxx.xxx.xxx]
command finished in 561ms
failed: "sh -c 'if [ `readlink /var/www/vhosts/xyz.co.uk/current` != /var/www/vhosts/xyz.co.uk/releases/20130604203446 ]; then rm -rf /var/www/vhosts/xyz.co.uk/releases/20130604203446; fi'" on xx.xxx.xxx.xxx
이러한 오류가 발생합니다. 항상 같은 배포 사용자를 사용하고 있습니다. 나는 그것이 작곡가가 업데이트 할 때 할 일이 있는지 궁금합니다. 여기
{
"name": "symfony/framework-standard-edition",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
"psr-0": { "": "src/" }
},
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.2.*",
"doctrine/orm": "~2.2,>=2.2.3",
"doctrine/doctrine-bundle": "1.2.*",
"twig/extensions": "1.0.*",
"symfony/assetic-bundle": "2.1.*",
"symfony/swiftmailer-bundle": "2.2.*",
"symfony/monolog-bundle": "2.2.*",
"sensio/distribution-bundle": "2.2.*",
"sensio/framework-extra-bundle": "2.2.*",
"sensio/generator-bundle": "2.2.*",
"jms/security-extra-bundle": "1.4.*",
"jms/di-extra-bundle": "1.3.*",
"egeloen/ckeditor-bundle": "2.*",
"knplabs/knp-menu-bundle": "1.1.*",
"doctrine/doctrine-fixtures-bundle": "dev-master",
"doctrine/data-fixtures": "dev-master",
"egeloen/google-map-bundle": "*",
"willdurand/geocoder": "*",
"kriswallsmith/buzz": "*",
"phpunit/phpunit": "3.7.*",
"phpunit/php-invoker": "*",
"doctrine/doctrine-migrations-bundle": "dev-master",
"liuggio/rackspace-cloud-files-streamwrapper": ">=2.1",
"liuggio/rackspace-cloud-files-bundle": ">=2.1",
"avalanche123/imagine-bundle": "v2.1"
},
"scripts": {
"post-install-cmd": [
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
],
"post-update-cmd": [
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
]
},
"config": {
"bin-dir": "bin",
"bin-dir": "/usr/local/bin/"
},
"minimum-stability": "dev",
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web",
"symfony-assets-install": "symlink",
"branch-alias": {
"dev-master": "2.2-dev"
}
}
}
내 deploy.rb 스크립트입니다 :
이
set :stage_dir, 'app/config/deploy' # needed for Symfony2 only
set :stages, %w(production staging development)
require 'capistrano/ext/multistage'
set :application, "xyz.co.uk"
set :user, "deployer" # The server's user for deploys
set :normalize_asset_timestamps, false
set :repository, "[email protected]/xyz.co.uk.git"
set :scm, :git
set :keep_releases, 5
after "deploy:update", "deploy:cleanup"
set :use_sudo, true
set :web_path, "web"
set :shared_files, ["app/config/parameters.yml", "web/.htaccess"]
set :shared_children, [app_path + "/logs", web_path + "/uploads", "vendor"]
set :use_composer, true
set :update_vendors, true
set :dump_assetic_assets, true
set :deploy_via, :remote_cache
set :writable_dirs, ["app/cache", "app/logs", "web/uploads"]
set :webserver_user, "www-data"
set :permission_method, :acl
set :use_set_permissions, true
logger.level = Logger::MAX_LEVEL
내 production.rb 스크립트 :
server 'xx.xxx.xxx.xxx', :app, :web, :primary => true
ssh_options[:port] = xxxx
ssh_options[:forward_agent] = true
default_run_options[:pty] = true
set :deploy_to, "/var/www/vhosts/xyz.co.uk/"
set :symfony_env_prod, "prod"
set :branch, "master"
after 'deploy:finalize_update', 'symfony:project:clear_controllers'
감사합니다. 그것은 단지 막 시작한 이유는 무엇입니까? 작곡가가 설치/업데이트 할 때 의존성 중 하나와 관련이 있어야한다고 생각했습니다. – user1961082
내 composer.json 파일과 스크립트가 이전에 언급 한 것과 별개로 프로덕션 환경에서 올바르게 표시됩니까? symfony 버전 등 – user1961082
"bin-dir"을 한 번만 사용하고 "minimum-stability"행을 제거하십시오 : "dev"및 ""branch-alias : { "dev-master": "2.2- dev "}',하지만 나머지는 좋아 보인다. 또한 버전을'symfony-standard' 배포본 [composer.json] (https://github.com/symfony/symfony-standard/blob/v2.2.2/composer.json)과 [composer.lock] (https : /github.com/symfony/symfony-standard/blob/v2.2.2/composer.lock) –