Guest User

Untitled

a guest
Oct 30th, 2016
28
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.59 KB | None | 0 0
  1. #!/bin/bash
  2. #base installation
  3. apt-get update -y
  4. apt-get upgrade -y
  5. apt-get install sudo -y
  6. apt-get install nano -y
  7. apt-get install wget -y
  8. #festlegen von mail/domain
  9. read -p "Mail.Domain eingeben:" maildomain
  10. read -p "Domain eingeben:" domain
  11. timedatectl set-timezone Europe/Berlin
  12. hostnamectl set-hostname $maildomain
  13. sed -i '9i1.2.3.4 '$maildomain' mail' /etc/hosts
  14. export DEBIAN_FRONTEND=noninteractive
  15. apt-get -q -y install mysql-server
  16. echo "Time for server ..."
  17. sleep 5
  18. mysql -uroot -e <<EOSQL "UPDATE mysql.user SET Password=PASSWORD('base123') WHERE User='root'; FLUSH PRIVILEGES;"
  19. EOSQL
  20. apt-get -y install nginx-full php-auth-sasl php-http-request php-mail php-mail-mime php-mail-mimedecode php-net-dime php-net-smtp php-net-socket php-net-url php-pear php-soap php5 php5-cli php5-common php5-curl php5-fpm php5-gd php5-imap php-apc php5-intl php5-mcrypt php5-mysql libawl-php php5-xmlrpc mysql-client ca-certificates
  21. openssl req -new -newkey rsa:4096 -sha256 -days 1095 -nodes -x509 -subj "/C=DE/ST=STATE/L=CITY/O=MAIL/CN=`hostname -f`" -keyout /etc/ssl/`hostname -f`.key -out /etc/ssl/`hostname -f`.cer
  22. chmod 600 /etc/ssl/`hostname -f`.key
  23. cp /etc/ssl/`hostname -f`.cer /usr/local/share/ca-certificates/
  24. update-ca-certificates
  25. sed -i -e 's/\;date.timezone \=/date.timezone = Europe\/Berlin/g' /etc/php5/fpm/php.ini
  26. systemctl reload php5-fpm.service
  27. #config ziehen
  28. mailserverconf="http://pastebin.com/raw/C5K0dMzK"
  29. #config pull
  30. wget $mailserverconf -P /etc/nginx/sites-available/
  31. #verzeichniss
  32. cd /etc/nginx/sites-available/
  33. #rename
  34. mv C5K0dMzK mailserver
  35. sed -i -e 's/mdom/'$maildomain'/g' /etc/nginx/sites-available/mailserver
  36. ln -s /etc/nginx/sites-available/mailserver /etc/nginx/sites-enabled/
  37. systemctl reload nginx.service
  38. # ViMbAdmin: Datenbankname vimbadmin, Username vimbadmin
  39. mysql --defaults-file=/etc/mysql/debian.cnf -e "CREATE DATABASE vimbadmin; GRANT ALL ON vimbadmin.* TO 'vimbadmin'@'localhost' IDENTIFIED BY 'base123'; FLUSH PRIVILEGES;"
  40. # Roundcube: Datenbankname roundcube, Username roundcube
  41. mysql --defaults-file=/etc/mysql/debian.cnf -e "CREATE DATABASE roundcube; GRANT ALL ON roundcube.* TO 'roundcube'@'localhost' IDENTIFIED BY 'base123'; FLUSH PRIVILEGES;"
  42. apt-get install -y git curl
  43. cd /var/www/html
  44. wget --content-disposition -O - http://sourceforge.net/projects/roundcubemail/files/latest/download | tar xfvz -
  45. mv roundcubemail-* webmail
  46. #config ziehen
  47. webmailconf="http://pastebin.com/raw/SZyL3pJK"
  48. wget $webmailconf -P /var/www/html/webmail/config
  49. cd /var/www/html/webmail/config
  50. mv SZyL3pJK config.inc.php
  51. sed -i -e 's/mdom/'$maildomain'/g' /var/www/html/webmail/config/config.inc.php
  52. mysql --defaults-file=/etc/mysql/debian.cnf roundcube < /var/www/html/webmail/SQL/mysql.initial.sql
  53. chown -R www-data: /var/www/html
  54. curl -sS https://getcomposer.org/installer | php
  55. php composer.phar config -g secure-http false
  56. mv composer.phar /usr/local/bin/composer
  57. composer create-project opensolutions/vimbadmin /srv/vimbadmin -s dev -n --keep-vcs
  58. chown -R www-data: /srv/vimbadmin/{public,var}
  59. ln -s /srv/vimbadmin/public/ /var/www/html/admin
  60. #config ziehen
  61. applicationconf="http://pastebin.com/raw/wefBmMW8"
  62. wget $applicationconf -P /srv/vimbadmin/application/configs/
  63. cd /srv/vimbadmin/application/configs/
  64. mv wefBmMW8 application.ini
  65. sed -i -e 's/mdom/'$maildomain'/g' /srv/vimbadmin/application/configs/application.ini
  66. sed -i -e 's/example.com/'$domain'/g' /srv/vimbadmin/application/configs/application.ini
  67. cp /srv/vimbadmin/public/.htaccess.dist /srv/vimbadmin/public/.htaccess
  68. cd /srv/vimbadmin/
  69. ./bin/doctrine2-cli.php orm:schema-tool:create
  70. echo "bitte öffne mail.domain/admin"
  71. read -p "securitysalt angeben:" changesecuritysalt
  72. sed -i -e 's/changesecuritysalt1/'$changesecuritysalt'/g' /srv/vimbadmin/application/configs/application.ini
  73. read -p "resources angeben:" changeresources
  74. sed -i -e 's/changeresources1/'$changeresources'/g' /srv/vimbadmin/application/configs/application.ini
  75. read -p "defaults angeben:" changedefaults
  76. sed -i -e 's/changedefaults1/'$changedefaults'/g' /srv/vimbadmin/application/configs/application.ini
  77. crontab -e
  78. sed -i -e '$a10 \*\/2 \* \* \* \/srv\/vimbadmin\/bin\/vimbtool\.php \-a archive\.cli\-archive\-pendings' /srv/vimbadmin/application/configs/application.ini
  79. sed -i -e '$a30 \*\/2 \* \* \* \/srv\/vimbadmin\/bin\/vimbtool.php \-a archive\.cli\-restore\-pendings' /srv/vimbadmin/application/configs/application.ini
  80. sed -i -e '$a15 3 \* \* \* \/srv\/vimbadmin\/bin\/vimbtool\.php \-a mailbox\.cli\-delete\-pending' /srv/vimbadmin/application/configs/application.ini
  81. # -- postfix start --
  82. apt-get install postfix-mysql postfix-pcre postfix -q -y
  83. mkdir /etc/postfix/mysql/
  84. #datenbaneken postfix ziehen
  85. #download files
  86. postfixdb1="http://pastebin.com/raw/pk536rEX"
  87. postfixdb2="http://pastebin.com/raw/yWi9FLRk"
  88. postfixdb3="http://pastebin.com/raw/QUqx3hqh"
  89. postfixdb4="http://pastebin.com/raw/uqDACJ2n"
  90. #pull
  91. wget $postfixdb1 -P /etc/postfix/mysql/
  92. wget $postfixdb2 -P /etc/postfix/mysql/
  93. wget $postfixdb3 -P /etc/postfix/mysql/
  94. wget $postfixdb4 -P /etc/postfix/mysql/
  95. #verzeichniss
  96. cd /etc/postfix/mysql/
  97. #rename
  98. mv pk536rEX postfix-mysql-virtual_alias_maps.cf
  99. mv yWi9FLRk postfix-mysql-virtual_domains_maps.cf
  100. mv QUqx3hqh postfix-mysql-virtual_mailbox_maps.cf
  101. mv uqDACJ2n postfix-mysql-virtual_transport_maps.cf
  102. chown -R root:postfix /etc/postfix/mysql
  103. chmod 750 /etc/postfix/mysql/
  104. chmod 640 /etc/postfix/mysql/*
  105. rm /etc/postfix/main.cf
  106. #main config download
  107. postmainconf="http://pastebin.com/raw/ztciKg4N"
  108. #pull
  109. wget $postmainconf -P /etc/postfix/
  110. #verzeichniss
  111. cd /etc/postfix/
  112. #rename
  113. mv ztciKg4N main.cf
  114. sed -i -e 's/mdom/'$maildomain'/g' /etc/postfix/main.cf
  115. rm /etc/postfix/master.cf
  116. #master config download
  117. postmainconf="http://pastebin.com/raw/DRisGvqP"
  118. #pull
  119. wget $postmainconf -P /etc/postfix/
  120. #verzeichniss
  121. cd /etc/postfix/
  122. #rename
  123. mv DRisGvqP master.cf
  124. # -- postifx end --
  125. # -- devcote start --
  126. echo 'deb http://xi.rename-it.nl/debian/ stable-auto/dovecot-2.2 main' > /etc/apt/sources.list.d/dovecot.list
  127. apt-get update -y
  128. apt-get install -y --force-yes debian-dovecot-auto-keyring
  129. apt-get install -y --force-yes dovecot-common dovecot-core dovecot-imapd dovecot-lmtpd dovecot-managesieved dovecot-sieve dovecot-mysql
  130. groupadd -g 5000 vmail
  131. useradd -g vmail -u 5000 vmail -d /var/vmail
  132. mkdir /var/vmail
  133. chown -R vmail: /var/vmail/
  134. rm /etc/dovecot/dovecot.conf
  135. #dovecot config download
  136. dovecotconf="http://pastebin.com/raw/Upsuk3pG"
  137. #pull
  138. wget $dovecotconf -P /etc/dovecot/
  139. #verzeichniss
  140. cd /etc/dovecot/
  141. #rename
  142. mv Upsuk3pG dovecot.conf
  143. sed -i -e 's/mdom/'$maildomain'/g' /etc/dovecot/dovecot.conf
  144. sed -i -e 's/dom/'$domain'/g' /etc/dovecot/dovecot.conf
  145. #dovecotmysql config download
  146. dovecotmyqsqlconf="http://pastebin.com/raw/wFmxpn1H"
  147. #pull
  148. wget $dovecotmyqsqlconf -P /etc/dovecot/
  149. #verzeichniss
  150. cd /etc/dovecot/
  151. #rename
  152. mv wFmxpn1H dovecot-mysql.conf
  153. chown root:vmail /etc/dovecot/dovecot-mysql.conf
  154. chmod 640 /etc/dovecot/dovecot-mysql.conf
  155. #Content-Filter
  156. apt-get -y install zip unzip p7zip-full amavisd-new clamav-daemon spamassassin
  157. #dovecot config download
  158. userconf="http://pastebin.com/raw/PHZXyHzi"
  159. #pull
  160. wget $userconf -P /etc/amavis/conf.d/
  161. #verzeichniss
  162. cd /etc/amavis/conf.d/
  163. #rename
  164. mv PHZXyHzi 50-user
  165. sed -i -e 's/mmddoomm/'$maildomain'/g' /etc/amavis/conf.d/50-user
  166. sed -i -e 's/ddoomm/'$domain'/g' /etc/amavis/conf.d/50-user
  167. amavisd-new genrsa /var/lib/amavis/db/dkim_$domain.key 1024
  168. systemctl restart {dovecot,postfix,amavis,spamassassin,clamav-daemon,nginx,php5-fpm,mysql}
  169. amavisd-new showkey $domain
  170. cd /root/
  171. rm 1.sh
Add Comment
Please, Sign In to add comment