Intial Commit

This commit is contained in:
2020-10-02 14:21:35 +02:00
commit 3a20caeac7
5 changed files with 175 additions and 0 deletions

9
conf/account.conf Normal file
View File

@@ -0,0 +1,9 @@
#LOG_FILE="/etc/acmesh/data/acme.sh.log"
#LOG_LEVEL=1
AUTO_UPGRADE="1"' >> /etc/acmesh/data/account.conf
NOTIFY_LEVEL='1'' >> /etc/acmesh/data/account.conf
#NO_TIMESTAMP=1' >> /etc/acmesh/data/account.conf
LE_WORKING_DIR="/opt/acmesh"' >> /etc/acmesh/data/account.conf
LE_CONFIG_HOME="/etc/acmesh/data"' >> /etc/acmesh/data/account.conf
CERT_HOME='/etc/acmesh/certs'
USER_PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin'

3
conf/acme.sh.env Normal file
View File

@@ -0,0 +1,3 @@
export LE_WORKING_DIR="/opt/acmesh"
export LE_CONFIG_HOME="/etc/acmesh/data"
alias acmesh="/opt/acmesh/acme.sh --config-home '/etc/acmesh/data'"

139
install-AcmeSH.sh Normal file
View File

@@ -0,0 +1,139 @@
#############################
# SingleModuleInstaller #
#############################
##-----------------##
# Defining Vars #
##-----------------##
#SMI specific Vars
SMI_config=no
SMI_ModuleName=<ModuleName>
#Enforcing Legacy Mode
APTMODE="apt"
OUTPUT='/dev/tty'
IMODE=l
#PackageManager-config
dist_ver=$(grep --color=never -Po "^VERSION_ID=\K.*" "/etc/os-release")
dist=$(grep --color=never -Po "^ID=\K.*" "/etc/os-release")
if [[ "${dist}" == *"ubuntu"* ]] && [[ "${dist_ver}" == *"18.04"* ]]; then
echo "Ubuntu 18.04 Detected"
PKGM="$APTMODE"
PKGI="${PKGM} install -y --no-install-recommends"
PKGLIST="apt"
shortdist=ubu1804
elif [[ "${dist}" == *"ubuntu"* ]] && [[ "${dist_ver}" == *"20.04"* ]]; then
echo "Ubuntu 20.04 Detected"
PKGM="$APTMODE"
PKGI="${PKGM} install -y --no-install-recommends"
PKGLIST="apt"
shortdist=ubu2004
elif [[ "${dist}" == *"debian"* ]] && [[ "${dist_ver}" == *"10"* ]]; then
echo "Debian 10 Detected"
PKGM="$APTMODE"
PKGI="${PKGM} install -y --no-install-recommends"
PKGLIST="apt"
shortdist=deb10
elif [[ "${dist}" == *"centos"* ]] && [[ "${dist_ver}" == *"8"* ]]; then
echo "Centos 8 Detected"
PKGM="dnf"
PKGI="${PKGM} install --setopt=install_weak_deps=False --best -y"
PKGLIST="dnf"
shortdist=cent8
else
echo "This os in not supported"
exit
fi
unset dist_ver dist APTMODE
#Repo Vars
repo=https://git.ictmaatwerk.com/VPS-scripts/AcmeSH
branch=main
branchtype=branch
#SelfBuilding Vars
mtype=""$repo"/raw/"$branchtype"/"$branch""
##---------------##
# Functions #
##---------------##
msg () {
echo "$1"
}
#Checking if Config var has been set
if [ $SMI_config = no ]; then
msg " Script is not configured"
exit
fi
##--------------------------##
# Installer-Requirements #
##--------------------------##
msg " Starting installer" 8 78
$PKGM update > $OUTPUT 2>&1
$PKGI curl > $OUTPUT 2>&1
##-------------------------##
# Generating APT list #
##-------------------------##
#General aptList
if curl --retry 2 --retry-delay 1 --output /dev/null --silent --head --fail "$mtype"/generic.pkg.list; then
curl "$mtype"/generic.pkg.list >>/tmp/pkg.list
fi
if curl --retry 2 --retry-delay 1 --output /dev/null --silent --head --fail "$mtype"/"$PKGLIST".pkg.list; then
curl "$mtype"/"$PKGLIST".pkg.list >>/tmp/pkg.list
fi
##--------------------##
# Pre-Requirements #
##--------------------##
msg " Preconfiguring"
curl --retry 7 --retry-delay 5 -s https://git.ictmaatwerk.com/VPS-scripts/General/raw/branch/Main/Setup-Repo.sh |repo=init osrel=$shortdist bash > $OUTPUT 2>&1
$PKGM update
$PKGM upgrade -y
##-------------------##
# Pre-configuring #
##-------------------##
if curl --retry 2 --retry-delay 1 --output /dev/null --silent --head --fail "$mtype"/preconf.sh; then
source <(curl --retry 7 --retry-delay 5 -s "$mtype"/preconf.sh)
fi
##-------------##
# Installer #
##-------------##
$PKGM update
sed -i 's/PHPver/'$phpver'/g' /tmp/pkg.list
cat /tmp/pkg.list | xargs $PKGI
##---------------##
# Configuring #
##---------------##
if curl --retry 2 --retry-delay 1 --output /dev/null --silent --head --fail "$mtype"/conf.sh; then
source <(curl --retry 7 --retry-delay 5 -s "$mtype"/conf.sh)
fi
##-------##
# end #
##-------##
msg " Done!"

22
preconf.sh Normal file
View File

@@ -0,0 +1,22 @@
###Fetch Config
mrepo=https://git.ictmaatwerk.com/VPS-scripts/AcmeSH
mbranch=main
if [ -z ${email+x} ]; then echo 'Error $email is not set' ; fi
mkdir -p /opt/acmesh /etc/acmesh/data /etc/acmesh/certs
curl -s https://codeload.github.com/acmesh-official/acme.sh/tar.gz/master -o /tmp/acmesh.tar.gz
tar -zxf /tmp/acmesh.tar.gz -C /opt/acmesh --strip-components=1
curl --retry 7 --retry-delay 5 -s "$mrepo"/raw/branch/"$mbranch"/conf/account.conf -o /etc/acmesh/data/account.conf
curl --retry 7 --retry-delay 5 -s "$mrepo"/raw/branch/"$mbranch"/conf/acme.sh.env -o /opt/acmesh/acme.sh.env
echo '. "/opt/acmesh/acme.sh.env"' >> ~/.bashrc
echo '42 0 * * * root "/opt/acmesh/acme.sh" --cron --home "/opt/acmesh/" --config-home "/etc/acmesh/data" > /dev/null' >> /etc/crontab
openssl dhparam -out /etc/acmesh/certs/ssl-dhparams.pem 4096
#openssl dhparam -out /etc/acmesh/certs/ssl-dhparams.pem 2048 #use for quick generation, only for testing
/opt/acmesh/acme.sh --home "/opt/acmesh/" --config-home "/etc/acmesh/data" --upgrade
/opt/acmesh/acme.sh --config-home "/etc/acmesh/data" --register-account
/opt/acmesh/acme.sh --config-home "/etc/acmesh/data" --update-account --accountemail "$email"

2
readme.md Normal file
View File

@@ -0,0 +1,2 @@
# Acme.sh, alternative to certbot