mirror of https://github.com/hauke68/Magallanes
Jérémy Huet
10 years ago
2 changed files with 54 additions and 32 deletions
@ -1,32 +0,0 @@ |
|||||||
<?php |
|
||||||
namespace Mage\Task\BuiltIn\Filesystem; |
|
||||||
|
|
||||||
/** |
|
||||||
* Task for giving Apache write permissions on given paths. |
|
||||||
* |
|
||||||
* Usage : |
|
||||||
* pre-deploy: |
|
||||||
* - filesystem/permissions-writable-by-apache: {paths: /var/www/myapp/app/cache:/var/www/myapp/app/cache, recursive: false, checkPathsExist: true} |
|
||||||
* on-deploy: |
|
||||||
* - filesystem/permissions-writable-by-apache: {paths: app/cache:app/logs, recursive: false, checkPathsExist: true} |
|
||||||
* |
|
||||||
* @author Jérémy Huet <jeremy.huet@gmail.com> |
|
||||||
*/ |
|
||||||
class PermissionsWritableByApacheTask extends PermissionsTask |
|
||||||
{ |
|
||||||
public function init() |
|
||||||
{ |
|
||||||
parent::init(); |
|
||||||
|
|
||||||
$this->setGroup('www-data') |
|
||||||
->setRights('g+w'); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* @return string |
|
||||||
*/ |
|
||||||
public function getName() |
|
||||||
{ |
|
||||||
return "Gives write permissions to Apache user for given paths [built-in]"; |
|
||||||
} |
|
||||||
} |
|
@ -0,0 +1,54 @@ |
|||||||
|
<?php |
||||||
|
namespace Mage\Task\BuiltIn\Filesystem; |
||||||
|
|
||||||
|
use Mage\Task\SkipException; |
||||||
|
|
||||||
|
/** |
||||||
|
* Task for giving web server write permissions on given paths. |
||||||
|
* |
||||||
|
* Usage : |
||||||
|
* pre-deploy: |
||||||
|
* - filesystem/permissions-writable-by-web-server: {paths: /var/www/myapp/app/cache:/var/www/myapp/app/cache, recursive: false, checkPathsExist: true} |
||||||
|
* on-deploy: |
||||||
|
* - filesystem/permissions-writable-by-web-server: {paths: app/cache:app/logs, recursive: false, checkPathsExist: true} |
||||||
|
* |
||||||
|
* @author Jérémy Huet <jeremy.huet@gmail.com> |
||||||
|
*/ |
||||||
|
class PermissionsWritableByWebServerTask extends PermissionsTask |
||||||
|
{ |
||||||
|
/** |
||||||
|
* Set group with web server user and give group write permissions. |
||||||
|
*/ |
||||||
|
public function init() |
||||||
|
{ |
||||||
|
parent::init(); |
||||||
|
|
||||||
|
$this->setGroup($this->getParameter('group', $this->getWebServerUser())) |
||||||
|
->setRights('g+w'); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* @return string |
||||||
|
*/ |
||||||
|
public function getName() |
||||||
|
{ |
||||||
|
return "Gives write permissions to web server user for given paths [built-in]"; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Tries to guess the web server user by going thru the running processes. |
||||||
|
* |
||||||
|
* @return string |
||||||
|
* @throws SkipException |
||||||
|
*/ |
||||||
|
protected function getWebServerUser() |
||||||
|
{ |
||||||
|
$this->runCommand("ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1", $webServerUser); |
||||||
|
|
||||||
|
if (empty($webServerUser)) { |
||||||
|
throw new SkipException("Can't guess web server user. Please check if it is running or force it by setting the group parameter"); |
||||||
|
} |
||||||
|
|
||||||
|
return $webServerUser; |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue