use perl instead sed

Now there should be no issues with f.e. complex passwords and so on.
I had problems with mine, because it has a lot of special characters...
This commit is contained in:
dor_pauli 2023-03-23 18:27:36 +01:00
parent d7c15e84f0
commit c20a1c3e50
No known key found for this signature in database
GPG Key ID: B2F6B1E15963F107
3 changed files with 51 additions and 51 deletions

View File

@ -14,15 +14,15 @@ fi
# Configure z-ocsinventory-server file
if [ ! -f ${SRV_CONF_FILE} ]; then
cp /tmp/conf/ocsinventory-server.conf ${SRV_CONF_FILE}
sed -i 's/VERSION_MP/2/g' ${SRV_CONF_FILE}
sed -i 's/DATABASE_SERVER/'"$OCS_DB_SERVER"'/g' ${SRV_CONF_FILE}
sed -i 's/DATABASE_PORT/'"$OCS_DB_PORT"'/g' ${SRV_CONF_FILE}
sed -i 's/DATABASE_NAME/'"$OCS_DB_NAME"'/g' ${SRV_CONF_FILE}
sed -i 's/DATABASE_USER/'"$OCS_DB_USER"'/g' ${SRV_CONF_FILE}
sed -i 's/DATABASE_PASSWD/'"$OCS_DB_PASS"'/g' ${SRV_CONF_FILE}
sed -i 's/"PATH_TO_LOG_DIRECTORY"/'"${OCS_LOG_DIR//\//\\/}"'/g' ${SRV_CONF_FILE}
sed -i 's/"PATH_TO_PLUGINS_PERL_DIRECTORY"/'"${OCS_PERLEXT_DIR//\//\\/}"'/g' ${SRV_CONF_FILE}
sed -i 's/"PATH_TO_PLUGINS_CONFIG_DIRECTORY"/'"${OCS_PLUGINSEXT_DIR//\//\\/}"'/g' ${SRV_CONF_FILE}
perl -i -p -e 's/VERSION_MP/2/g' ${SRV_CONF_FILE}
perl -i -p -e 's/DATABASE_SERVER/$ENV{OCS_DB_SERVER}/g' ${SRV_CONF_FILE}
perl -i -p -e 's/DATABASE_PORT/$ENV{OCS_DB_PORT}/g' ${SRV_CONF_FILE}
perl -i -p -e 's/DATABASE_NAME/$ENV{OCS_DB_NAME}/g' ${SRV_CONF_FILE}
perl -i -p -e 's/DATABASE_USER/$ENV{OCS_DB_USER}/g' ${SRV_CONF_FILE}
perl -i -p -e 's/DATABASE_PASSWD/$ENV{OCS_DB_PASS}/g' ${SRV_CONF_FILE}
perl -i -p -e 's/"PATH_TO_LOG_DIRECTORY"/$ENV{OCS_LOG_DIR}/g' ${SRV_CONF_FILE}
perl -i -p -e 's/"PATH_TO_PLUGINS_PERL_DIRECTORY"/$ENV{OCS_PERLEXT_DIR}/g' ${SRV_CONF_FILE}
perl -i -p -e 's/"PATH_TO_PLUGINS_CONFIG_DIRECTORY"/$ENV{OCS_PLUGINSEXT_DIR}/g' ${SRV_CONF_FILE}
fi
# Replace Variables
@ -45,4 +45,4 @@ fi
chown -R $APACHE_RUN_USER: $OCS_LOG_DIR
# Enable conf
a2enconf z-ocsinventory-server
a2enconf z-ocsinventory-server

View File

@ -4,44 +4,44 @@ REPORTS_CONF_FILE="/etc/apache2/conf-available/ocsinventory-reports.conf"
DB_CONFIG_INC_FILE="${OCS_WEBCONSOLE_DIR}/ocsreports/dbconfig.inc.php"
if [ ! -z "${OCS_DISABLE_WEB_MODE}" ]; then
echo "+---------------------------------------------------------------------------+"
echo "| Warning: OCS_DISABLE_WEB_MODE environment variable is set! |"
echo "| Administration console, which allows administrators to query the database |"
echo "| server using their favorite browser (Apache, php) will be DISABLED! |"
echo "+---------------------------------------------------------------------------+"
exit 0
echo "+---------------------------------------------------------------------------+"
echo "| Warning: OCS_DISABLE_WEB_MODE environment variable is set! |"
echo "| Administration console, which allows administrators to query the database |"
echo "| server using their favorite browser (Apache, php) will be DISABLED! |"
echo "+---------------------------------------------------------------------------+"
exit 0
fi
if [ ! -f $OCS_WEBCONSOLE_DIR/ocsreports/var.php ]; then
cp -r /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}/ocsreports/ ${OCS_WEBCONSOLE_DIR}
rm -rf ${DB_CONFIG_INC_FILE}
cp -r /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}/ocsreports/ ${OCS_WEBCONSOLE_DIR}
rm -rf ${DB_CONFIG_INC_FILE}
fi
# Configure ocsinventory-reports file
if [ ! -f ${REPORTS_CONF_FILE} ]; then
cp /tmp/conf/ocsinventory-reports.conf ${REPORTS_CONF_FILE}
sed -i 's/OCSREPORTS_ALIAS/\/ocsreports/g' ${REPORTS_CONF_FILE}
sed -i 's/PATH_TO_OCSREPORTS_DIR/'"${OCS_WEBCONSOLE_DIR//\//\\/}"'\/ocsreports/g' ${REPORTS_CONF_FILE}
sed -i 's/PACKAGES_ALIAS/\/download/g' ${REPORTS_CONF_FILE}
sed -i 's/PATH_TO_PACKAGES_DIR/'"${OCS_VARLIB_DIR//\//\\/}"'download/g' ${REPORTS_CONF_FILE}
sed -i 's/SNMP_ALIAS/\/snmp/g' ${REPORTS_CONF_FILE}
sed -i 's/PATH_TO_SNMP_DIR/'"${OCS_VARLIB_DIR//\//\\/}"'snmp/g' ${REPORTS_CONF_FILE}
cp /tmp/conf/ocsinventory-reports.conf ${REPORTS_CONF_FILE}
perl -i -p -e 's/OCSREPORTS_ALIAS/\/ocsreports/g' ${REPORTS_CONF_FILE}
perl -i -p -e 's/PATH_TO_OCSREPORTS_DIR/$ENV{OCS_WEBCONSOLE_DIR}\/ocsreports/g' ${REPORTS_CONF_FILE}
perl -i -p -e 's/PACKAGES_ALIAS/\/download/g' ${REPORTS_CONF_FILE}
perl -i -p -e 's/PATH_TO_PACKAGES_DIR/$ENV{OCS_VARLIB_DIR}download/g' ${REPORTS_CONF_FILE}
perl -i -p -e 's/SNMP_ALIAS/\/snmp/g' ${REPORTS_CONF_FILE}
perl -i -p -e 's/PATH_TO_SNMP_DIR/${OCS_VARLIB_DIR}snmp/g' ${REPORTS_CONF_FILE}
fi
# Generate dbconfig.inc.php
if [ ! -f ${DB_CONFIG_INC_FILE} ]; then
cp /tmp/conf/dbconfig.inc.php $OCS_WEBCONSOLE_DIR/ocsreports
sed -i 's/OCS_DB_NAME/'"$OCS_DB_NAME"'/g' ${DB_CONFIG_INC_FILE}
sed -i 's/OCS_READ_NAME/'"$OCS_DB_SERVER"'/g' ${DB_CONFIG_INC_FILE}
sed -i 's/OCS_WRITE_NAME/'"$OCS_DB_SERVER"'/g' ${DB_CONFIG_INC_FILE}
sed -i 's/OCS_DB_PORT/'"$OCS_DB_PORT"'/g' ${DB_CONFIG_INC_FILE}
sed -i 's/OCS_DB_USER/'"$OCS_DB_USER"'/g' ${DB_CONFIG_INC_FILE}
sed -i 's/OCS_DB_PASS/'"$OCS_DB_PASS"'/g' ${DB_CONFIG_INC_FILE}
sed -i 's/OCS_SSL_ENABLED/'"$OCS_SSL_ENABLED"'/g' ${DB_CONFIG_INC_FILE}
sed -i 's/OCS_SSL_WEB_MODE/'"$OCS_SSL_WEB_MODE"'/g' ${DB_CONFIG_INC_FILE}
sed -i 's/OCS_SSL_KEY/'"${OCS_SSL_KEY//\//\\/}"'/g' ${DB_CONFIG_INC_FILE}
sed -i 's/OCS_SSL_CERT/'"${OCS_SSL_CERT//\//\\/}"'/g' ${DB_CONFIG_INC_FILE}
sed -i 's/OCS_SSL_CA/'"${OCS_SSL_CA//\//\\/}"'/g' ${DB_CONFIG_INC_FILE}
cp /tmp/conf/dbconfig.inc.php $OCS_WEBCONSOLE_DIR/ocsreports/
perl -i -p -e 's/OCS_DB_NAME/$ENV{OCS_DB_NAME}/g' ${DB_CONFIG_INC_FILE}
perl -i -p -e 's/OCS_READ_NAME/$ENV{OCS_DB_SERVER}/g' ${DB_CONFIG_INC_FILE}
perl -i -p -e 's/OCS_WRITE_NAME/$ENV{OCS_DB_SERVER}/g' ${DB_CONFIG_INC_FILE}
perl -i -p -e 's/OCS_DB_PORT/$ENV{OCS_DB_PORT}/g' ${DB_CONFIG_INC_FILE}
perl -i -p -e 's/OCS_DB_USER/$ENV{OCS_DB_USER}/g' ${DB_CONFIG_INC_FILE}
perl -i -p -e 's/OCS_DB_PASS/$ENV{OCS_DB_PASS}/g' ${DB_CONFIG_INC_FILE}
perl -i -p -e 's/OCS_SSL_ENABLED/$ENV{OCS_SSL_ENABLED}/g' ${DB_CONFIG_INC_FILE}
perl -i -p -e 's/OCS_SSL_WEB_MODE/$ENV{OCS_SSL_WEB_MODE}/g' ${DB_CONFIG_INC_FILE}
perl -i -p -e 's/OCS_SSL_KEY/$ENV{OCS_SSL_KEY}/g' ${DB_CONFIG_INC_FILE}
perl -i -p -e 's/OCS_SSL_CERT/$ENV{OCS_SSL_CERT}/g' ${DB_CONFIG_INC_FILE}
perl -i -p -e 's/OCS_SSL_CA/$ENV{OCS_SSL_CA}/g' ${DB_CONFIG_INC_FILE}
fi
# Permissions
@ -50,8 +50,8 @@ chown -R $APACHE_RUN_USER: $OCS_WEBCONSOLE_DIR
# rm install.php
if [ -f $OCS_WEBCONSOLE_DIR/ocsreports/install.php ]; then
rm $OCS_WEBCONSOLE_DIR/ocsreports/install.php
rm $OCS_WEBCONSOLE_DIR/ocsreports/install.php
fi
# Enable conf
a2enconf ocsinventory-reports
a2enconf ocsinventory-reports

View File

@ -9,24 +9,24 @@ if [ ! -z "${OCS_DISABLE_API_MODE}" ] || [ ! -z "${OCS_DISABLE_COM_MODE}" ]; the
exit 0
fi
API_CONF_FILE="/etc/apache2/conf-available/zz-ocsinventory-restapi.conf"
API_ROUTE=$(perl -e "print \"@INC[2]\"")
API_ROUTE_LOADER="${API_ROUTE}/Api/Ocsinventory/Restapi/Loader.pm"
export API_CONF_FILE="/etc/apache2/conf-available/zz-ocsinventory-restapi.conf"
export API_ROUTE=$(perl -e "print \"@INC[2]\"")
export API_ROUTE_LOADER="${API_ROUTE}/Api/Ocsinventory/Restapi/Loader.pm"
cp -R /tmp/OCSNG_UNIX_SERVER-${OCS_VERSION}/Api/ ${API_ROUTE}
# Configure zz-ocsinventory-restapi file
if [ ! -f ${API_CONF_FILE} ]; then
cp /tmp/conf/ocsinventory-restapi.conf ${API_CONF_FILE}
sed -i 's/DATABASE_SERVER/'"$OCS_DB_SERVER"'/g' ${API_CONF_FILE}
sed -i 's/DATABASE_PORT/'"$OCS_DB_PORT"'/g' ${API_CONF_FILE}
sed -i 's/DATABASE_NAME/'"$OCS_DB_NAME"'/g' ${API_CONF_FILE}
sed -i 's/DATABASE_USER/'"$OCS_DB_USER"'/g' ${API_CONF_FILE}
sed -i 's/DATABASE_PASSWD/'"$OCS_DB_PASS"'/g' ${API_CONF_FILE}
sed -i 's/OCS_SSL_ENABLED/'"$OCS_SSL_ENABLED"'/g' ${API_CONF_FILE}
sed -i 's/REST_API_PATH/'"${API_ROUTE//\//\\/}"'/g' ${API_CONF_FILE}
sed -i 's/REST_API_LOADER_PATH/'"${API_ROUTE_LOADER//\//\\/}"'/g' ${API_CONF_FILE}
perl -i -p -e 's/DATABASE_SERVER/$ENV{OCS_DB_SERVER}/g' ${API_CONF_FILE}
perl -i -p -e 's/DATABASE_PORT/$ENV{OCS_DB_PORT}/g' ${API_CONF_FILE}
perl -i -p -e 's/DATABASE_NAME/$ENV{OCS_DB_NAME}/g' ${API_CONF_FILE}
perl -i -p -e 's/DATABASE_USER/$ENV{OCS_DB_USER}/g' ${API_CONF_FILE}
perl -i -p -e 's/DATABASE_PASSWD/$ENV{OCS_DB_PASS}/g' ${API_CONF_FILE}
perl -i -p -e 's/OCS_SSL_ENABLED/$ENV{OCS_SSL_ENABLED}/g' ${API_CONF_FILE}
perl -i -p -e 's/REST_API_PATH/$ENV{API_ROUTE}/g' ${API_CONF_FILE}
perl -i -p -e 's/REST_API_LOADER_PATH/$ENV{API_ROUTE_LOADER}/g' ${API_CONF_FILE}
fi
# Enable conf
a2enconf zz-ocsinventory-restapi
a2enconf zz-ocsinventory-restapi