feat(installer): install yeswiki from repo
This commit is contained in:
parent
350cd9d982
commit
dc280fa089
3 changed files with 28 additions and 8 deletions
10
.env.example
10
.env.example
|
@ -17,4 +17,12 @@ phpservice='php8.1-fpm'
|
||||||
|
|
||||||
# Reserved names
|
# Reserved names
|
||||||
maindomain='yeswiki.pro'
|
maindomain='yeswiki.pro'
|
||||||
reservedsubdomains='www,stats,mail,sql,cron,modelesolo,modeleferme'
|
reservedsubdomains='www,stats,mail,sql,cron,modelesolo,modeleferme'
|
||||||
|
|
||||||
|
# URLs and paths
|
||||||
|
source_archive_url=https://repository.yeswiki.net/doryphore/yeswiki-doryphore-latest.zip
|
||||||
|
|
||||||
|
# Default admin for yeswiki
|
||||||
|
admin_id=YesWikiProAdmin
|
||||||
|
admin_password='A very strong password should be used for admin access!'
|
||||||
|
admin_email=contact@yeswiki.pro
|
||||||
|
|
|
@ -217,14 +217,26 @@ function removePhpFpmConfig($user)
|
||||||
exec('service '.$_SERVER['phpservice'].' reload', $output);
|
exec('service '.$_SERVER['phpservice'].' reload', $output);
|
||||||
}
|
}
|
||||||
|
|
||||||
function copyYesWikiFiles($domain, $user)
|
function copyYesWikiFiles($domain, $user, $dbUser)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
$tmpFile = '/tmp/yeswiki.zip';
|
||||||
$destDir = '/home'.'/'.$user.'/'.$domain;
|
$destDir = '/home'.'/'.$user.'/'.$domain;
|
||||||
exec('sudo -u '.$user.' mkdir -p '.$destDir, $output);
|
$sudo = 'sudo -u '.$user.' ';
|
||||||
// exec('sudo -u '.$user.' mkdir -p '.$destDir.'/cache', $output);
|
exec($sudo.' mkdir -p '.$destDir, $output);
|
||||||
// exec('sudo -u '.$user.' mkdir -p '.$destDir.'/custom', $output);
|
if (file_exists($tmpFile)) {
|
||||||
// exec('sudo -u '.$user.' mkdir -p '.$destDir.'/files', $output);
|
unlink($tmpFile);
|
||||||
// TODO : install yeswiki from source
|
}
|
||||||
|
exec($sudo.'curl -o '.$tmpFile.' '.$_SERVER['source_archive_url']);
|
||||||
|
exec($sudo.'unzip '.$tmpFile.' "doryphore/*" -d '.$destDir);
|
||||||
|
unlink($tmpFile);
|
||||||
|
|
||||||
|
exec($sudo.'curl -X POST "https://'.$domain.'/?PagePrincipale&installAction=install" -F "config[default_language]=fr" -F "config[wakka_name]='.$domain.'" \
|
||||||
|
-F "config[root_page]=PagePrincipale" -F "config[mysql_host]=localhost" \
|
||||||
|
-F "config[mysql_database]='.$dbUser['database'].'" -F "config[mysql_user]='.$dbUser['user'].' -F "config[mysql_password]='.$dbUser['password'].'" -F "config[table_prefix]=yeswiki_" \
|
||||||
|
-F "admin_name='.$_SERVER['admin_id'].'" -F "admin_password='.$_SERVER['admin_password'].'" -F "admin_password_conf='.$_SERVER['admin_password'].'" \
|
||||||
|
-F "admin_email='.$_SERVER['admin_email'].'" -F "config[rewrite_mode]=1" -F "submit=Continue"');
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -76,7 +76,7 @@ if (0 == posix_getuid()) {
|
||||||
if ($confirm || $input->confirmed()) {
|
if ($confirm || $input->confirmed()) {
|
||||||
$unixUser = createUnixUserWithQuota($user, $quota);
|
$unixUser = createUnixUserWithQuota($user, $quota);
|
||||||
$dbUser = createSQLUserAndDatabase($user, $type);
|
$dbUser = createSQLUserAndDatabase($user, $type);
|
||||||
copyYesWikiFiles($domain, $user);
|
copyYesWikiFiles($domain, $user, $dbUser);
|
||||||
createNginxConfig($domain, $user, $herseUser, $hersePass);
|
createNginxConfig($domain, $user, $herseUser, $hersePass);
|
||||||
createPhpFpmConfig($user);
|
createPhpFpmConfig($user);
|
||||||
$climate->shout(
|
$climate->shout(
|
||||||
|
|
Loading…
Add table
Reference in a new issue