TEXT 88
Basic_installer_gen_0.5.1.sh Guest on 13th September 2021 09:47:46 PM
  1. #!/bin/bash
  2. ##########################################################################################
  3. #               .--.
  4. #              |o_o |
  5. #              |:_/ |
  6. #             //   \ \
  7. #            (|     | )
  8. #            /'\_   _/`\
  9. #            \___)=(___/
  10. #
  11. # ____            _        ___           _        _ _
  12. #| __ )  __ _ ___(_) ___  |_ _|_ __  ___| |_ __ _| | | ___ _ __
  13. #|  _ \ / _` / __| |/ __|  | || '_ \/ __| __/ _` | | |/ _ \ '__|
  14. #| |_) | (_| \__ \ | (__   | || | | \__ \ || (_| | | |  __/ |
  15. #|____/ \__,_|___/_|\___| |___|_| |_|___/\__\__,_|_|_|\___|_|
  16. #
  17. #
  18. #    (c) Patrick Asmus
  19. #        https://www.media-techport.de
  20. ##########################################################################################
  21. # Letzte Anpassung: 16. Mai 2021
  22. # Version 0.5.1
  23. ##########################################################################################
  24. clear
  25. sleep 2
  26. exec > >(tee -i "/var/log/basic_installer.log")
  27. exec 2>&1
  28. HOSTNAME="$(hostname)"
  29. #Globale Funktion zur Aktualisierung und Bereinigung der Umgebung
  30. function update_and_clean {
  31. apt update
  32. apt full-upgrade -y
  33. apt autoclean -y
  34. apt autoremove -y
  35. }
  36. #START
  37. echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
  38. echo "System auf den neuesten Stand bringen und Pakete installieren"
  39. echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
  40. sleep 2
  41. update_and_clean
  42. apt install sudo -y
  43. apt install curl zip git zsh unzip tree ranger htop net-tools screen openssh-server wget htop sed -y
  44. timedatectl set-timezone Europe/Berlin
  45. #Deutsche Zeitzone festlegen, Deutsches Sprachpaket installieren und aktivieren
  46. locale-gen de_DE.UTF-8
  47. cat <<EOF >/etc/locale.gen
  48. de_DE.UTF-8 UTF-8
  49. EOF
  50. cat <<EOF >/etc/default/locale
  51. LANG=de_DE.UTF-8
  52. LANGUAGE=de_DE.UTF-8
  53. LC_MESSAGES=de_DE.UTF-8
  54. EOF
  55. cat <<EOF >/etc/environment
  56. PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
  57. LC_ALL=de_DE.UTF-8
  58. LANG=de_DE.UTF-8
  59. EOF
  60. #Script zum Updaten des Systems erstellen
  61. echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
  62. echo "Script zum Updaten des Systems erstellen und Cronjob für das wöchentliche Update anlegen"
  63. echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
  64. sleep 2
  65. mkdir -p /home/scripts/default
  66. chmod 755 -R /home/scripts/default
  67. touch /home/scripts/default/weekly_update.sh
  68. cat <<EOF >/home/scripts/default/weekly_update.sh
  69. #!/bin/bash
  70. #Weekly Update
  71. function update_and_clean {
  72. apt update
  73. apt full-upgrade -y
  74. apt autoclean -y
  75. apt autoremove -y
  76. }
  77. #START
  78. update_and_clean
  79. cat /dev/null > ~/.bash_history && history -c && history -w
  80. exit 0
  81. EOF
  82. chmod +x /home/scripts/default/weekly_update.sh
  83. #Cronjob für das wöchentliche Update anlegen
  84. echo "#Minute Stunde  Tag     Monat   W-Tag   Befehl" | crontab -
  85. (crontab -l ; echo "@weekly /home/scripts/default/weekly_update.sh") | crontab -
  86. #MSMTP einrichten
  87. echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
  88. echo "MSMTP Client installieren, Einstellungen setzen und Emailversand testen"
  89. echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
  90. sleep 2
  91. apt update
  92. apt full-upgrade -y
  93. apt install msmtp-mta mailutils msmtp -y
  94. clear
  95. echo ""
  96. read -p "Gebe den SMTP Hostname für deinen Email Anbieter an: " SMTPHOST
  97. echo "SMTP Hostname: "$SMTPHOST
  98. echo ""
  99. read -p "Gebe den Port für die Anmeldung am SMTP Server an [587->STARTLS | 465->SSL/TLS]: " SMTPPORT
  100. echo ""
  101. echo "SMTP Port: "$SMTPPORT
  102. echo ""
  103. echo ""
  104. read -p "Gebe die Emailadresse an, mit der zukuenftig Benachrichtigungsmails versendet werden sollen: " ABSENDERMAIL
  105. echo ""
  106. echo "Absender Emailadresse: "$ABSENDERMAIL
  107. echo ""
  108. echo ""
  109. read -p "Gebe die Emailadresse an, auf der zukünftig die Benachrichtigungsmails empfangen werden sollen: " EMPFAENGERMAIL
  110. echo ""
  111. echo "Empfaenger Emailadresse: "$EMPFAENGERMAIL
  112. echo ""
  113. echo ""
  114. read -p "Gebe den Username an, mit der die Anmeldung am SMTP Server erfolgen soll: " USERNAME
  115. echo ""
  116. echo "Username: "$USERNAME
  117. echo ""
  118. echo ""
  119. read -p "Gebe das Passwort für die Anmeldung am SMTP Server an: " PASSWORD
  120. echo "Passwort: "$PASSWORD
  121. echo ""
  122. cat <<EOF >/etc/msmtprc
  123. # Set default values for all following accounts.
  124. defaults
  125.  
  126. # Use the mail submission port 587 instead of the SMTP port 25.
  127. port $SMTPPORT
  128.  
  129. # Always use TLS.
  130. tls on
  131.  
  132. # Set a list of trusted CAs for TLS. The default is to use system settings, but
  133. # you can select your own file.
  134. tls_trust_file /etc/ssl/certs/ca-certificates.crt
  135.  
  136. # Mail account
  137. account root
  138.  
  139. # Host name of the SMTP server
  140. host $SMTPHOST
  141.  
  142. # Envelope-from address
  143. from $ABSENDERMAIL
  144.  
  145. # Authentication. The password is given using one of five methods, see below.
  146. auth on
  147.  
  148. # Use your own user name fpr the mail account
  149. user $USERNAME
  150.  
  151. # loginpassword
  152. password $PASSWORD
  153.  
  154. # Set a default account
  155. account default: root
  156.  
  157. # Map local users to mail addresses (for crontab)
  158. aliases /etc/aliases
  159. EOF
  160. chmod 600 /etc/msmtprc
  161. cat <<EOF >/etc/aliases
  162. default: root
  163. webmaster: root
  164. root: $EMPFAENGERMAIL
  165. EOF
  166. cat <<EOF >/etc/mail.rc
  167. set sendmail="/usr/bin/msmtp -t"
  168. EOF
  169. echo "Dies ist eine Mail um zu pruefen, ob der Mailversand vom Server ${HOSTNAME} funktioniert." | mail -s "Hostname: ${HOSTNAME}" $EMPFAENGERMAIL
  170. #Oh my ZSH Bash Install
  171. sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
  172. echo Fertig. Zeit fuer ein Bierchen.
  173. cat /dev/null > ~/.bash_history && history -c && history -w
  174. exit 0

Paste is for source code and general debugging text.

Login or Register to edit, delete and keep track of your pastes and more.

Recent Pastes
Raw Paste

Login or Register to edit or fork this paste. It's free.