feat(installer): install yeswiki from repo

This commit is contained in:
mrflos 2023-02-01 13:22:42 +03:00
parent 350cd9d982
commit dc280fa089
3 changed files with 28 additions and 8 deletions

View file

@ -18,3 +18,11 @@ phpservice='php8.1-fpm'
# Reserved names
maindomain='yeswiki.pro'
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

View file

@ -217,14 +217,26 @@ function removePhpFpmConfig($user)
exec('service '.$_SERVER['phpservice'].' reload', $output);
}
function copyYesWikiFiles($domain, $user)
function copyYesWikiFiles($domain, $user, $dbUser)
{
$tmpFile = '/tmp/yeswiki.zip';
$destDir = '/home'.'/'.$user.'/'.$domain;
exec('sudo -u '.$user.' mkdir -p '.$destDir, $output);
// exec('sudo -u '.$user.' mkdir -p '.$destDir.'/cache', $output);
// exec('sudo -u '.$user.' mkdir -p '.$destDir.'/custom', $output);
// exec('sudo -u '.$user.' mkdir -p '.$destDir.'/files', $output);
// TODO : install yeswiki from source
$sudo = 'sudo -u '.$user.' ';
exec($sudo.' mkdir -p '.$destDir, $output);
if (file_exists($tmpFile)) {
unlink($tmpFile);
}
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;
}

View file

@ -76,7 +76,7 @@ if (0 == posix_getuid()) {
if ($confirm || $input->confirmed()) {
$unixUser = createUnixUserWithQuota($user, $quota);
$dbUser = createSQLUserAndDatabase($user, $type);
copyYesWikiFiles($domain, $user);
copyYesWikiFiles($domain, $user, $dbUser);
createNginxConfig($domain, $user, $herseUser, $hersePass);
createPhpFpmConfig($user);
$climate->shout(