Example #1
0
 public function actionDoDeploy()
 {
     $etcDir = $this->getEtcDir();
     if (!is_dir($etcDir)) {
         throw new InvalidParamException("Non existing Nginx etcDir: {$etcDir}");
     }
     $enabledDir = $etcDir . DIRECTORY_SEPARATOR . 'sites-enabled';
     $availableDir = $etcDir . DIRECTORY_SEPARATOR . 'sites-available';
     static::mkdir($enabledDir);
     static::mkdir($availableDir);
     foreach ($this->getItems() as $vhost) {
         $conf = $vhost->renderConf();
         $name = $vhost->getDomain() . '.conf';
         $file = File::plain($availableDir . DIRECTORY_SEPARATOR . $name);
         $file->save($conf);
         $file->symlink($enabledDir . DIRECTORY_SEPARATOR . $name);
     }
     $this->actionRestart();
 }