<commit_before>#!/usr/bin/env sh
#
# setup
#
# <NAME> (c) 2015 <<EMAIL>>
#
# WTF
#

echo ""
echo ">>>>>>>>>>>>>>>>>>>  "$0" <<<<<<<<<<<<<<<<<<<<< "
echo ""

MC_CONTAINER_D_DIR="/root/container.d"

#########################
# HOSTNAME STUFF TO FIX #
#########################
# nome dominio utilizzatore (ad esempio: positronic.ch)
MC_DOMINIO=""
# nome dominio host macchina (ad esempio: positronic.ch)
MC_DOMINIO_HOST=""
# nome host del dominio host (ad esempio: ip100 CNAME)
MC_NOMEHOST=""
# composizione totale (ip100.positronic.ch)
MC_NOMECOMPLETO=""
# CNAME del dominio ospitante (esempio t29 di t29.hoster.tld)
MC_HOSTNAME=""
# dominio.tld
MC_DOMINIOHOST=""
# mail
MC_NOMEHOST=""
# mail.dominio.tld
MC_NOMECOMPLETO=$MC_NOMEHOST"."$MC_DOMINIO
MC_DOMINIO_CLIENTE=$MC_NOMECOMPLETO

#########################
# PARAMETRI CERTIFICATO #
#########################
C="IT"
ST="Italy"
L="Rome"
O="Positronic"
OU="Dipartimento IT"
CN="$MC_DOMINIO"


####################
# NOME CERTIFICATO #
####################
# eventuale nome file certificato e chiave se diversa da "certificato.[pem,key]"
MC_CERTIFICATO_CHAIN=""
MC_CERTIFICATO_KEY=""

DEBIAN_FRONTEND=noninteractive  apt-get install --force-yes --assume-yes -y  pwgen
wait
apt-get clean


if [ $MC_DOMINIO = "" ]
then

  echo "Attenzione per generare una chiave dkim valida è necessario un nome di dominio valido"
  echo "    della macchina che spedisce fisicamente le email (var MC_DOMINIO)"
  echo "esco!"
  exit 0

else
:
fi

# se le variabili non sono state scritte dal bulder allora la volonta è di operare secondo il default del builder che
# gia provvede a scrivere l'hostname
if [ "$MC_NOMECOMPLETO" = "" ]
then
:
else

  hostname $MC_NOMECOMPLETO
  echo $MC_NOMECOMPLETO > /etc/hostname
  sed -i "1s/^/127.0.0.1 $MC_NOMECOMPLETO localhost/" /etc/hosts

fi

#######################################
# CERTIFICATI E CRITTOGRAFIA GENERICA #
#######################################

# assicuriamoci di generare un nuovo snakeoil di emergenza
apt-get install --assume-yes ssl-cert
make-ssl-cert generate-default-snakeoil --force-overwrite


# genera in automatico un certificato self signed comprensivo quindi di csr con chiave da 8192 bit
# utilizzabile eventualmente per richiesta di certificati trusted dai root (ad esempio startssl)
cd /root
rm certificato.*
openssl genrsa -des3 -passout pass:x -out server.pass.key 8192
openssl rsa -passin pass:x -in server.pass.key -out certificato.key
rm server.pass.key
openssl req -new -key certificato.key -out certificato.csr -subj "/C=$C/ST=$ST/L=$L/O=$O/OU=$OU/CN=$CN"
openssl x509 -req -days 365 -in certificato.csr -signkey certificato.key -out certificato.pem
# posizionalo
cp certificato.pem /etc/ssl/certs/
cp certificato.key /etc/ssl/private/

###############
# MYSQL STUFF #
###############

MYSQL_RANDOM_PASSWORD="$(pwgen -s 25 1)"
wait

echo "$MYSQL_RANDOM_PASSWORD" > /root/mysql_pwd.txt
wait
mysqladmin -u root password $MYSQL_RANDOM_PASSWORD
wait

MC_RC_USERPASSWORD="$(pwgen -s 25 1)"
wait
echo "$MC_RC_USERPASSWORD" > /root/mysql_roundcube_pwd.txt

MC_RC_DBNAME="roundcubemail"
MC_RC_USERNAME="roundcube"
ROOT_PWD="$(cat /root/mysql_pwd.txt)"

# POSTFIXADMIN / DOVECOT
mysql -u root --password=$ROOT_PWD -e "CREATE DATABASE mail;"
wait

# ROUNDCUBE
mysql -u root --password=$ROOT_PWD -e "CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;"
wait
mysql -u root --password=$ROOT_PWD -e "DROP USER 'roundcube'@'localhost'; FLUSH PRIVILEGES;"
wait
mysql -u root --password=$ROOT_PWD -e "CREATE USER 'roundcube'@'localhost' IDENTIFIED BY '"$MC_RC_USERPASSWORD"'; FLUSH PRIVILEGES;"
wait
mysql -u root --password=$ROOT_<PASSWORD> -e "GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube'@'localhost'IDENTIFIED BY '"$MC_RC_USERPASSWORD"';"
wait
mysql -u root --password=$ROOT_PWD roundcubemail < /root/container.d/roundcube/mysql.initial.sql
wait

# THE FINAL CUT
mysql -u root --password=$ROOT_<PASSWORD> -e 'show databases;' > /root/the_final_cut.txt
wait

##########
# SYSTEM #
##########
DEBIAN_FRONTEND=noninteractive apt-get install --force-yes --assume-yes -y \
  php-apc \
  php5-mcrypt \
  php5-memcache \
  php5-curl \
  php5-gd \
  php-xml-parser

wait<commit_msg>[165476004]<commit_after>#!/usr/bin/env sh
#
# setup
#
# <NAME> (c) 2015 <<EMAIL>>
#
# WTF
#

echo ""
echo ">>>>>>>>>>>>>>>>>>>  "$0" <<<<<<<<<<<<<<<<<<<<< "
echo ""

MC_CONTAINER_D_DIR="/root/container.d"

#########################
# HOSTNAME STUFF TO FIX #
#########################
# nome dominio utilizzatore (ad esempio: positronic.ch)
MC_DOMINIO=""
# nome dominio host macchina (ad esempio: positronic.ch)
MC_DOMINIO_HOST=""
# nome host del dominio host (ad esempio: ip100 CNAME)
MC_NOMEHOST=""
# composizione totale (ip100.positronic.ch)
MC_NOMECOMPLETO=""
# CNAME del dominio ospitante (esempio t29 di t29.hoster.tld)
MC_HOSTNAME=""
# dominio.tld
MC_DOMINIOHOST=""
# mail
MC_NOMEHOST=""
# mail.dominio.tld
MC_NOMECOMPLETO=$MC_NOMEHOST"."$MC_DOMINIO
MC_DOMINIO_CLIENTE=$MC_NOMECOMPLETO

#########################
# PARAMETRI CERTIFICATO #
#########################
C="IT"
ST="Italy"
L="Rome"
O="Positronic"
OU="Dipartimento IT"
CN="$MC_DOMINIO"


####################
# NOME CERTIFICATO #
####################
# eventuale nome file certificato e chiave se diversa da "certificato.[pem,key]"
MC_CERTIFICATO_CHAIN=""
MC_CERTIFICATO_KEY=""

DEBIAN_FRONTEND=noninteractive  apt-get install --force-yes --assume-yes -y  pwgen
wait
apt-get clean


if [ $MC_DOMINIO = "" ]
then

  echo "Attenzione per generare una chiave dkim valida è necessario un nome di dominio valido"
  echo "    della macchina che spedisce fisicamente le email (var MC_DOMINIO)"
  echo "esco!"
  exit 0

else
:
fi

# se le variabili non sono state scritte dal bulder allora la volonta è di operare secondo il default del builder che
# gia provvede a scrivere l'hostname
if [ "$MC_NOMECOMPLETO" = "" ]
then
:
else

  hostname $MC_NOMECOMPLETO
  echo $MC_NOMECOMPLETO > /etc/hostname
  sed -i "1s/^/127.0.0.1 $MC_NOMECOMPLETO localhost/" /etc/hosts

fi

#######################################
# CERTIFICATI E CRITTOGRAFIA GENERICA #
#######################################

# assicuriamoci di generare un nuovo snakeoil di emergenza
apt-get install --assume-yes ssl-cert
make-ssl-cert generate-default-snakeoil --force-overwrite


# genera in automatico un certificato self signed comprensivo quindi di csr con chiave da 8192 bit
# utilizzabile eventualmente per richiesta di certificati trusted dai root (ad esempio startssl)
cd /root
rm certificato.*
openssl genrsa -des3 -passout pass:x -out server.pass.key 8192
openssl rsa -passin pass:x -in server.pass.key -out certificato.key
rm server.pass.key
openssl req -new -key certificato.key -out certificato.csr -subj "/C=$C/ST=$ST/L=$L/O=$O/OU=$OU/CN=$CN"
openssl x509 -req -days 365 -in certificato.csr -signkey certificato.key -out certificato.pem
# posizionalo
cp certificato.pem /etc/ssl/certs/
cp certificato.key /etc/ssl/private/

###############
# MYSQL STUFF #
###############

MYSQL_RANDOM_PASSWORD="$(pwgen -s 25 1)"
wait

echo "$MYSQL_RANDOM_PASSWORD" > /root/mysql_pwd.txt
wait
mysqladmin -u root password $MYSQL_RANDOM_PASSWORD
wait

MC_RC_USERPASSWORD="$(pwgen -s 25 1)"
wait
echo "$MC_RC_USERPASSWORD" > /root/mysql_roundcube_pwd.txt

MC_RC_DBNAME="roundcubemail"
MC_RC_USERNAME="roundcube"
ROOT_PWD="$(cat /root/mysql_pwd.txt)"

# MYSQL: POSTFIXADMIN / DOVECOT
mysql -u root --password=$ROOT_PWD -e "CREATE DATABASE mail;"
wait

# MYSQL: ROUNDCUBE
mysql -u root --password=$ROOT_PWD -e "CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;"
wait
mysql -u root --password=$ROOT_<PASSWORD> -e "DROP USER 'roundcube'@'localhost'; FLUSH PRIVILEGES;"
wait
mysql -u root --password=$ROOT_<PASSWORD> -e "CREATE USER 'roundcube'@'localhost' IDENTIFIED BY '"$MC_RC_USERPASSWORD"'; FLUSH PRIVILEGES;"
wait
mysql -u root --password=$ROOT_<PASSWORD> -e "GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube'@'localhost'IDENTIFIED BY '"$MC_RC_USERPASSWORD"';"
wait
mysql -u root --password=$ROOT_PWD roundcubemail < /root/container.d/roundcube/mysql.initial.sql
wait

# MYSQL: THE FINAL CUT
mysql -u root --password=$ROOT_<PASSWORD> -e 'show databases;' > /root/the_final_cut.txt
wait

##########
# SYSTEM #
##########
DEBIAN_FRONTEND=noninteractive apt-get install --force-yes --assume-yes -y \
  php-apc \
  php5-mcrypt \
  php5-memcache \
  php5-curl \
  php5-gd \
  php-xml-parser

wait
{'fraction_non_alphanumeric': 0.18172157279489903, 'fraction_numerical': 0.014051245719683551, 'mean_word_length': 5.024182076813656, 'pattern_counts': {'":': 0, '<': 59, '<?xml version=': 0, '>': 61, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 2}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '661931', 'n_tokens_mistral': 3383, 'n_tokens_neox': 3244, 'n_words': 794}