HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux vps-320ddf0a 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: lamphim (1008)
PHP: 7.4.3-4ubuntu2.29
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //var/lib/dpkg/info/fastpanel2-phpmyadmin.postinst
#!/bin/bash

export SYSTEMD_PAGER=''

function criticalError {
    echo "Installing failed with the following error: $1"
    exit 1
}

function checkConnect {
    if [ -f /usr/local/fastpanel2/app/config/.my.cnf ] && mysql --defaults-file=/usr/local/fastpanel2/app/config/.my.cnf -e ''; then
        export MYCNF="/usr/local/fastpanel2/app/config/.my.cnf"
    elif [ -f /root/.my.cnf ] && mysql --defaults-file=/root/.my.cnf -e ''; then
        export MYCNF="/root/.my.cnf"
    elif [ -f /etc/mysql/debian.cnf ] && mysql --defaults-file=/etc/mysql/debian.cnf -e ''; then
        export MYCNF="/etc/mysql/debian.cnf"
    fi
}

function createDatabase {
    mysql --defaults-file=$MYCNF -e 'source /usr/share/fastpanel2-phpmyadmin/sql/create_tables.sql'
}

function createControlUser {
    export BLOWFISH=`pwgen 32 1`
    export PMAPASS=`pwgen 16`
    sed -i "s|pmafish|${BLOWFISH}|;s|pmapass|${PMAPASS}|" /etc/fastpanel2-phpmyadmin/config.inc_controluser.php
    mysql --defaults-file=$MYCNF -e "CREATE USER 'fp2phpmyadmin'@'localhost' IDENTIFIED WITH mysql_native_password;"
    mysql --defaults-file=$MYCNF -e "ALTER USER 'fp2phpmyadmin'@'localhost' IDENTIFIED BY '$PMAPASS';"
    mysql --defaults-file=$MYCNF -e "GRANT SELECT, INSERT, DELETE, UPDATE, ALTER ON \`fp2phpmyadmin\`.* to fp2phpmyadmin@localhost"
}

function installPackage {
    createDatabase
    createControlUser
    fixPermissions
    reloadNginx
}

function upgradePackage {
    createDatabase
    fixPermissions
    reloadNginx
}

function fixPermissions {
    chown 33:33 /etc/fastpanel2-phpmyadmin
    chmod 750 /etc/fastpanel2-phpmyadmin
    chown 33:33 /usr/share/fastpanel2-phpmyadmin/tmp/
    chmod 750 /usr/share/fastpanel2-phpmyadmin/tmp/
}

function reloadNginx {
    service fastpanel2-nginx status && service fastpanel2-nginx reload || echo 'WARNING: Web service for FASTPANEL not running, please check "systemctl status fastpanel2-nginx"!' 
}

checkConnect

if [ -z "$2" ]; then
    installPackage
else
    upgradePackage
fi