forked from hestiacp/hestiacp
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNextcloudSetup.php
More file actions
56 lines (46 loc) · 1.83 KB
/
NextcloudSetup.php
File metadata and controls
56 lines (46 loc) · 1.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
namespace Hestia\WebApp\Installers\Nextcloud;
use \Hestia\WebApp\Installers\BaseSetup as BaseSetup;
class NextcloudSetup extends BaseSetup {
protected $appInfo = [
'name' => 'Nextcloud',
'group' => 'cloud',
'enabled' => true,
'version' => '21.0.0',
'thumbnail' => 'nextcloud-thumb.png'
];
protected $appname = 'nextcloud';
protected $config = [
'form' => [
'username' => ['value'=>'admin'],
'password' => 'password'
],
'database' => true,
'resources' => [
'archive' => [ 'src' => 'https://download.nextcloud.com/server/releases/nextcloud-21.0.0.tar.bz2' ]
],
];
public function install(array $options = null) : bool
{
parent::install($options);
$this->appcontext->runUser('v-copy-fs-file',[$this->getDocRoot(".htaccess.txt"), $this->getDocRoot(".htaccess")]);
// install nextcloud
$this->appcontext->runUser('v-run-cli-cmd', ['/usr/bin/php',
$this->getDocRoot('occ'),
'maintenance:install',
'--database mysql',
'--database-name '.$this->appcontext->user() . '_' .$options['database_name'],
'--database-user '.$this->appcontext->user() . '_' .$options['database_user'],
'--database-pass '.$options['database_password'],
'--admin-user '.$options['username'],
'--admin-pass '.$options['password']
], $status);
$this->appcontext->runUser('v-run-cli-cmd',
['/usr/bin/php',
$this->getDocRoot('occ'),
'config:system:set',
'trusted_domains 2 --value='.$this->domain
], $status2);
return ($status->code === 0 && $status2->code === 0);
}
}