mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-01 05:56:16 +00:00
* added enum
* add config for caddy
* add svg icon
* add caddy service class
* wip
* install caddy
* create base Caddyfile with common snippets
* Create a systemd service to run Caddy in the background.
* create uninstall file
* wip
* create path
* create vhost
* get vhost
* delete site
* add php version change file
* add custom ssl
* create redirect file
* add vhost for caddy site & load balancer
* update svg
* fix caddy icon
* fix style
* add systemctl reload method
* Reload systemd after modifying the Caddy service file.
* add caddy
* added tests
* format with pint
* prevent multiple web server installations
* added error log & access log
(cherry picked from commit 2318e1b1df
)
40 lines
1.1 KiB
PHP
Executable File
40 lines
1.1 KiB
PHP
Executable File
<?php
|
|
|
|
namespace App\SSH\Services\Webserver;
|
|
|
|
use App\SSH\Services\AbstractService;
|
|
use Closure;
|
|
|
|
abstract class AbstractWebserver extends AbstractService implements Webserver
|
|
{
|
|
public function creationRules(array $input): array
|
|
{
|
|
return [
|
|
'type' => [
|
|
'required',
|
|
function (string $attribute, mixed $value, Closure $fail): void {
|
|
$webserverExists = $this->service->server->webserver();
|
|
if ($webserverExists) {
|
|
$fail('You already have a webserver service on the server.');
|
|
}
|
|
},
|
|
],
|
|
];
|
|
}
|
|
|
|
public function deletionRules(): array
|
|
{
|
|
return [
|
|
'service' => [
|
|
function (string $attribute, mixed $value, Closure $fail): void {
|
|
$hasSite = $this->service->server->sites()
|
|
->exists();
|
|
if ($hasSite) {
|
|
$fail('Cannot uninstall webserver while you have websites using it.');
|
|
}
|
|
},
|
|
],
|
|
];
|
|
}
|
|
}
|