95 lines
2.6 KiB
Plaintext
95 lines
2.6 KiB
Plaintext
# !/bin/bash
|
|
|
|
WFCRootDir=/opt/wfc
|
|
SystemdRootDir=/usr/lib/systemd/system
|
|
WFCEtcDir=${WFCRootDir}/etc
|
|
FERootDir=${WFCRootDir}/nginx/html/dist
|
|
wfcBinDir=${WFCRootDir}/bin
|
|
UsrLocalBinDir=/usr/local/bin
|
|
wfcDaemon=wfcd
|
|
NginxEtcDir=/etc/nginx
|
|
NginxConfDir=${NginxEtcDir}/conf.d
|
|
CFileList="restconf.yaml crontask.yaml tasks.yaml sshsvc.yaml capconf.yaml wfc.conf"
|
|
LogoFileList="zh_brand.png zh_icon.png en_brand.png en_icon.png"
|
|
|
|
echo ""
|
|
echo "* To start/stop/restart/status wfc service, please run:"
|
|
echo " sudo systemctl start/stop/restart/status restagent.service"
|
|
echo " or run: "
|
|
echo " sudo /usr/local/wfc/bin/wfcsvc.sh start/stop/restart/status"
|
|
echo ""
|
|
|
|
chmod +rx ${WFCRootDir}/bin/*
|
|
chmod +rx ${WFCRootDir}/*
|
|
chmod +rx ${UsrLocalBinDir}/*
|
|
chmod -R 755 ${WFCRootDir}/htdocs/front
|
|
|
|
for CFile in ${CFileList}; do
|
|
if [ ! -e "${WFCEtcDir}/${CFile}" ]; then
|
|
cp -f ${WFCEtcDir}/default/${CFile} ${WFCEtcDir}
|
|
else
|
|
# mv -f ${WFCEtcDir}/${CFile} ${WFCEtcDir}/${CFile}.bak
|
|
# cp -f ${WFCEtcDir}/default/${CFile} ${WFCEtcDir}
|
|
if [ -e "${WFCBinDir}/upgconf.sh" ]; then
|
|
${WFCBinDir}/upgconf.sh
|
|
fi
|
|
fi
|
|
done
|
|
|
|
if [ ! -e "${FERootDir}/config.js" ]; then
|
|
cp ${FERootDir}/default/config.js ${FERootDir};
|
|
fi
|
|
|
|
for LogoFile in ${LogoFileList}; do
|
|
if [ ! -e "${WFCStaticDir}/logo/${LogoFile}" ]; then
|
|
cp ${WFCStaticDir}/wfc.d/logo/${LogoFile} ${WFCStaticDir}/logo;
|
|
fi
|
|
done
|
|
|
|
if ! id -u wfc >/dev/null 2>&1 ; then
|
|
useradd -d /opt/wfc -m -s /bin/bash -pwfc123 wfc;
|
|
mkdir -p /opt/wfc/ftp
|
|
else
|
|
echo "user wfc exist";
|
|
fi
|
|
|
|
if [ ! -e "${NginxConfDir}/wfc.conf" ]; then
|
|
mkdir -p ${NginxConfDir}
|
|
cp -f ${WFCEtcDir}/nginx/wfc.conf ${NginxConfDir};
|
|
fi
|
|
|
|
systemctl daemon-reload
|
|
|
|
# disable auto upgrade
|
|
systemctl disable --now unattended-upgrades
|
|
|
|
systemctl enable restagent.service
|
|
systemctl enable crontask.service
|
|
systemctl enable sshsvc.service
|
|
systemctl enable captrace.service
|
|
|
|
systemctl daemon-reload
|
|
|
|
# read environment parameter and to do
|
|
if [ "$M_PARAM" = "install" -o "$M_PARAM" = "upgrade" ]; then
|
|
echo "M parameter: $M_PARAM"
|
|
if [ -n "$C_PARAM" ]; then
|
|
echo "C parameter: $C_PARAM"
|
|
${WFCRootDir}/bin/setwfc.sh -m $M_PARAM -c $C_PARAM
|
|
else
|
|
${WFCRootDir}/bin/setwfc.sh -m $M_PARAM
|
|
fi
|
|
# exit while failed to run setwfc.sh
|
|
if [ $? -ne 0 ]; then
|
|
echo "setwfc.sh execution failed. Exiting."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
echo -n "Starting WFC service ... "
|
|
systemctl start crontask.service
|
|
systemctl start sshsvc.service
|
|
systemctl start captrace.service
|
|
systemctl start restagent.service
|
|
echo "done"
|