mirror of
https://github.com/vitodeploy/vito.git
synced 2025-04-19 09:51:37 +00:00
fix letsencrypt for aliases & blank php deployment fix (#204)
This commit is contained in:
parent
88223a61f9
commit
30ef8ad5eb
@ -6,6 +6,7 @@
|
|||||||
use App\Enums\SslType;
|
use App\Enums\SslType;
|
||||||
use App\Models\Site;
|
use App\Models\Site;
|
||||||
use App\Models\Ssl;
|
use App\Models\Ssl;
|
||||||
|
use App\SSH\Services\Webserver\Webserver;
|
||||||
use Illuminate\Support\Facades\Validator;
|
use Illuminate\Support\Facades\Validator;
|
||||||
use Illuminate\Validation\Rule;
|
use Illuminate\Validation\Rule;
|
||||||
use Illuminate\Validation\ValidationException;
|
use Illuminate\Validation\ValidationException;
|
||||||
@ -30,11 +31,16 @@ public function create(Site $site, array $input): void
|
|||||||
$ssl->save();
|
$ssl->save();
|
||||||
|
|
||||||
dispatch(function () use ($site, $ssl) {
|
dispatch(function () use ($site, $ssl) {
|
||||||
$site->server->webserver()->handler()->setupSSL($ssl);
|
/** @var Webserver $webserver */
|
||||||
|
$webserver = $site->server->webserver()->handler();
|
||||||
|
$webserver->setupSSL($ssl);
|
||||||
$ssl->status = SslStatus::CREATED;
|
$ssl->status = SslStatus::CREATED;
|
||||||
$ssl->save();
|
$ssl->save();
|
||||||
$site->type()->edit();
|
$site->type()->edit();
|
||||||
});
|
})->catch(function () use ($ssl) {
|
||||||
|
$ssl->status = SslStatus::FAILED;
|
||||||
|
$ssl->save();
|
||||||
|
})->onConnection('ssh');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -30,7 +30,7 @@ public function run(Site $site): Deployment
|
|||||||
'deployment_script_id' => $site->deploymentScript->id,
|
'deployment_script_id' => $site->deploymentScript->id,
|
||||||
'status' => DeploymentStatus::DEPLOYING,
|
'status' => DeploymentStatus::DEPLOYING,
|
||||||
]);
|
]);
|
||||||
$lastCommit = $site->sourceControl()->provider()->getLastCommit($site->repository, $site->branch);
|
$lastCommit = $site->sourceControl()?->provider()?->getLastCommit($site->repository, $site->branch);
|
||||||
if ($lastCommit) {
|
if ($lastCommit) {
|
||||||
$deployment->commit_id = $lastCommit['commit_id'];
|
$deployment->commit_id = $lastCommit['commit_id'];
|
||||||
$deployment->commit_data = $lastCommit['commit_data'];
|
$deployment->commit_data = $lastCommit['commit_data'];
|
||||||
|
@ -117,9 +117,16 @@ public function changePHPVersion(Site $site, $version): void
|
|||||||
*/
|
*/
|
||||||
public function setupSSL(Ssl $ssl): void
|
public function setupSSL(Ssl $ssl): void
|
||||||
{
|
{
|
||||||
|
$domains = '-d '.$ssl->site->domain;
|
||||||
|
if ($ssl->site->aliases) {
|
||||||
|
foreach ($ssl->site->aliases as $alias) {
|
||||||
|
$domains .= ' -d '.$alias;
|
||||||
|
}
|
||||||
|
}
|
||||||
$command = $this->getScript('nginx/create-letsencrypt-ssl.sh', [
|
$command = $this->getScript('nginx/create-letsencrypt-ssl.sh', [
|
||||||
'email' => $ssl->site->server->creator->email,
|
'email' => $ssl->site->server->creator->email,
|
||||||
'domain' => $ssl->site->domain,
|
'domain' => $ssl->site->domain,
|
||||||
|
'domains' => $domains,
|
||||||
'web_directory' => $ssl->site->getWebDirectoryPath(),
|
'web_directory' => $ssl->site->getWebDirectoryPath(),
|
||||||
]);
|
]);
|
||||||
if ($ssl->type == 'custom') {
|
if ($ssl->type == 'custom') {
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
if ! sudo certbot certonly --force-renewal --nginx --noninteractive --agree-tos --cert-name __domain__ -m __email__ -d __domain__ --verbose; then
|
if ! sudo certbot certonly --force-renewal --nginx --noninteractive --agree-tos --cert-name __domain__ -m __email__ __domains__ --verbose; then
|
||||||
echo 'VITO_SSH_ERROR' && exit 1
|
echo 'VITO_SSH_ERROR' && exit 1
|
||||||
fi
|
fi
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
listen 443 ssl;
|
listen 443 ssl;
|
||||||
server_name __domain__ www.__domain__;
|
server_name __domain__ __aliases__;
|
||||||
root __path__/__web_directory__;
|
root __path__/__web_directory__;
|
||||||
|
|
||||||
ssl on;
|
|
||||||
ssl_certificate __certificate__;
|
ssl_certificate __certificate__;
|
||||||
ssl_certificate_key __private_key__;
|
ssl_certificate_key __private_key__;
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
server_name __domain__ www.__domain__;
|
server_name __domain__ __aliases__;
|
||||||
root __path__/__web_directory__;
|
root __path__/__web_directory__;
|
||||||
|
|
||||||
add_header X-Frame-Options "SAMEORIGIN";
|
add_header X-Frame-Options "SAMEORIGIN";
|
||||||
|
@ -1,31 +0,0 @@
|
|||||||
server {
|
|
||||||
listen __port__;
|
|
||||||
server_name _;
|
|
||||||
root /home/vito/phpmyadmin;
|
|
||||||
|
|
||||||
add_header X-Frame-Options "SAMEORIGIN";
|
|
||||||
add_header X-Content-Type-Options "nosniff";
|
|
||||||
|
|
||||||
index index.php;
|
|
||||||
|
|
||||||
charset utf-8;
|
|
||||||
|
|
||||||
location / {
|
|
||||||
try_files $uri $uri/ /index.php?$query_string;
|
|
||||||
}
|
|
||||||
|
|
||||||
location = /favicon.ico { access_log off; log_not_found off; }
|
|
||||||
location = /robots.txt { access_log off; log_not_found off; }
|
|
||||||
|
|
||||||
error_page 404 /index.php;
|
|
||||||
|
|
||||||
location ~ \.php$ {
|
|
||||||
fastcgi_pass unix:/var/run/php/php__php_version__-fpm.sock;
|
|
||||||
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
|
|
||||||
include fastcgi_params;
|
|
||||||
}
|
|
||||||
|
|
||||||
location ~ /\.(?!well-known).* {
|
|
||||||
deny all;
|
|
||||||
}
|
|
||||||
}
|
|
@ -4,7 +4,6 @@ server {
|
|||||||
server_name __domain__ __aliases__;
|
server_name __domain__ __aliases__;
|
||||||
root __path__;
|
root __path__;
|
||||||
|
|
||||||
ssl on;
|
|
||||||
ssl_certificate __certificate__;
|
ssl_certificate __certificate__;
|
||||||
ssl_certificate_key __private_key__;
|
ssl_certificate_key __private_key__;
|
||||||
|
|
||||||
|
@ -4,7 +4,6 @@ server {
|
|||||||
server_name __domain__ __aliases__;
|
server_name __domain__ __aliases__;
|
||||||
root __path__/__web_directory__;
|
root __path__/__web_directory__;
|
||||||
|
|
||||||
ssl on;
|
|
||||||
ssl_certificate __certificate__;
|
ssl_certificate __certificate__;
|
||||||
ssl_certificate_key __private_key__;
|
ssl_certificate_key __private_key__;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user