From 01a81156cca8da725ede70c402577f53fb47948d Mon Sep 17 00:00:00 2001 From: dami Date: Sun, 13 Apr 2025 15:58:27 +0800 Subject: [PATCH] Create install.old.sh --- plugins/webstats/install.old.sh | 160 ++++++++++++++++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100755 plugins/webstats/install.old.sh diff --git a/plugins/webstats/install.old.sh b/plugins/webstats/install.old.sh new file mode 100755 index 000000000..bbf82e3fd --- /dev/null +++ b/plugins/webstats/install.old.sh @@ -0,0 +1,160 @@ +#!/bin/bash +PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin +export PATH=$PATH:/opt/homebrew/bin + + +## https://www.yangshuaibin.com/detail/392251 +# cd /www/server/mdserver-web/plugins/webstats && bash install.sh install 0.2.5 +# /Users/midoks/Desktop/mwdev/server/mdserver-web/plugins/webstats && bash install.sh install 0.2.5 + +curPath=`pwd` +rootPath=$(dirname "$curPath") +rootPath=$(dirname "$rootPath") +serverPath=$(dirname "$rootPath") + +VERSION=$2 +sys_os=`uname` + +HTTP_PREFIX="https://" +LOCAL_ADDR=common +cn=$(curl -fsSL -m 10 -s http://ipinfo.io/json | grep "\"country\": \"CN\"") +if [ ! -z "$cn" ] || [ "$?" == "0" ] ;then + LOCAL_ADDR=cn + HTTP_PREFIX="https://" +fi + +PIPSRC="https://pypi.python.org/simple" +if [ "$LOCAL_ADDR" != "common" ];then + PIPSRC="https://pypi.tuna.tsinghua.edu.cn/simple" +fi + + +if [ "$sys_os" == "Darwin" ];then + BAK='_bak' +else + BAK='' +fi + +if [ -f ${rootPath}/bin/activate ];then + source ${rootPath}/bin/activate +fi + +get_latest_release() { + curl -sL "https://api.github.com/repos/$1/releases/latest" | grep '"tag_name":' | cut -d'"' -f4 +} + +Install_App() +{ + echo '正在安装脚本文件...' + mkdir -p $serverPath/source/webstats + mkdir -p $serverPath/webstats + + # 下载源码安装包 + # curl -O $serverPath/source/webstats/lua-5.1.5.tar.gz https://www.lua.org/ftp/lua-5.1.5.tar.gz + # cd $serverPath/source/webstats && tar xvf lua-5.1.5.tar.gz + # cd lua-5.1.5 + # make linux test && make install + + + # luarocks + if [ ! -f $serverPath/source/webstats/luarocks-3.5.0.tar.gz ];then + wget --no-check-certificate -O $serverPath/source/webstats/luarocks-3.5.0.tar.gz http://luarocks.org/releases/luarocks-3.5.0.tar.gz + fi + + if [ ! -d $serverPath/source/webstats/luarocks-3.5.0 ];then + cd $serverPath/source/webstats && tar xvf luarocks-3.5.0.tar.gz + fi + + cd $serverPath/source/webstats/luarocks-3.5.0 && ./configure --prefix=$serverPath/webstats/luarocks \ + --with-lua-include=$serverPath/openresty/luajit/include/luajit-2.1 \ + --with-lua-bin=$serverPath/openresty/luajit/bin + make -I${serverPath}/openresty/luajit/bin + make install + + + # lsqlite3_fsl09y + if [ ! -f $serverPath/source/webstats/lsqlite3_fsl09y.zip ];then + wget --no-check-certificate -O $serverPath/source/webstats/lsqlite3_fsl09y.zip http://lua.sqlite.org/index.cgi/zip/lsqlite3_fsl09y.zip?uuid=fsl_9y + + fi + + if [ ! -d $serverPath/source/webstats/lsqlite3_fsl09y ];then + cd $serverPath/source/webstats && unzip lsqlite3_fsl09y.zip + fi + + PATH=${serverPath}/openresty/luajit:${serverPath}/openresty/luajit/include/luajit-2.1:$PATH + export PATH=$PATH:$serverPath/webstats/luarocks/bin + + if [ ! -f $serverPath/webstats/lua/lsqlite3.so ];then + if [ "${sys_os}" == "Darwin" ];then + cd $serverPath/source/webstats/lsqlite3_fsl09y + # SQLITE_DIR=/usr/local/Cellar/sqlite/3.36.0 + BREW_DIR=`which brew` + BREW_DIR=${BREW_DIR/\/bin\/brew/} + echo "BREW_DIR:"${BREW_DIR} + find_cfg=`cat Makefile | grep 'SQLITE_DIR'` + if [ "$find_cfg" == "" ];then + LIB_SQLITE_DIR=`brew info sqlite | grep ${BREW_DIR}/Cellar/sqlite | cut -d \ -f 1 | awk 'END {print}'` + echo "LIB_SQLITE_DIR:"${LIB_SQLITE_DIR} + sed -i $BAK "s#\$(ROCKSPEC)#\$(ROCKSPEC) SQLITE_DIR=${LIB_SQLITE_DIR}#g" Makefile + fi + make + else + cd $serverPath/source/webstats/lsqlite3_fsl09y && make + fi + fi + + # copy to code path + DEFAULT_DIR=$serverPath/webstats/luarocks/lib/lua/5.1 + if [ -f ${DEFAULT_DIR}/lsqlite3.so ];then + mkdir -p $serverPath/webstats/lua + cp -rf ${DEFAULT_DIR}/lsqlite3.so $serverPath/webstats/lua/lsqlite3.so + fi + + # https://github.com/P3TERX/GeoLite.mmdb + pip install geoip2 -i $PIPSRC + # if [ ! -f $serverPath/webstats/GeoLite2-City.mmdb ];then + # wget --no-check-certificate -O $serverPath/webstats/GeoLite2-City.mmdb https://github.com/P3TERX/GeoLite.mmdb/releases/download/2022.10.16/GeoLite2-City.mmdb + # fi + + # 缓存数据 + GEO_VERSION=$(get_latest_release "P3TERX/GeoLite.mmdb") + if [ ! -f $serverPath/source/webstats/GeoLite2-City.mmdb ];then + if [ "$LOCAL_ADDR" == "cn" ];then + wget --no-check-certificate -O $serverPath/source/webstats/GeoLite2-City.mmdb https://dl.midoks.icu/soft/webstats/GeoLite2-City.mmdb + else + wget --no-check-certificate -O $serverPath/source/webstats/GeoLite2-City.mmdb https://github.com/P3TERX/GeoLite.mmdb/releases/download/${GEO_VERSION}/GeoLite2-City.mmdb + fi + fi + + if [ -f $serverPath/source/webstats/GeoLite2-City.mmdb ];then + cp -rf $serverPath/source/webstats/GeoLite2-City.mmdb $serverPath/webstats/GeoLite2-City.mmdb + fi + + cd $rootPath && python3 plugins/webstats/index.py start + echo "${VERSION}" > $serverPath/webstats/version.pl + + echo '网站统计安装完成' + + # delete install data + if [ -d $serverPath/source/webstats/lsqlite3_fsl09y ];then + rm -rf $serverPath/source/webstats/lsqlite3_fsl09y + fi + if [ -d $serverPath/source/webstats/luarocks-3.5.0 ];then + rm -rf $serverPath/source/webstats/luarocks-3.5.0 + fi +} + +Uninstall_App() +{ + cd $rootPath && python3 plugins/webstats/index.py stop + rm -rf $serverPath/webstats + echo "网站统计卸载完成" +} + +action=$1 +if [ "${1}" == 'install' ];then + Install_App +else + Uninstall_App +fi