interfaccia tra i portali e IS della Regione per l'autenticazione CNS SPID e CIE
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 
 

77 righe
2.9 KiB

#!/bin/sh -e
set -x
SERVER_NAME='autenticazione.lavoripubblici.sicilia.it'
CERTBOT_EMAIL='admin@mwg.it'
DOCUMENT_ROOT='/var/www/html'
MARIADB_USERNAME='mwg'
MARIADB_PASSWORD='Aw42#1e_w.as'
MARIADB_DATABASE='autenticazione'
FOLDER="$(dirname $(realpath $0))"
apt update
apt -y dist-upgrade
apt install -y apache2 certbot cron libapache2-mod-auth-openidc mariadb-server php php-mysql python
# OpenSSL
sed -i -e 's/^CipherString = .*/CipherString = DEFAULT@SECLEVEL=1/' /etc/ssl/openssl.cnf
# MariaDB
# mysql -e "DROP DATABASE IF EXISTS \`$MARIADB_DATABASE\`;"
if [ "0" = "$(mysql -B -N -e "SHOW DATABASES LIKE '$MARIADB_DATABASE';" | wc -l)" ]; then
mysql < $FOLDER/file/autenticazione.sql
fi
if [ "0" = "$(mysql -B -N -e \
"SELECT \`User\` FROM \`mysql\`.\`user\` WHERE \`User\`='$MARIADB_USERNAME' AND \`Host\`='localhost';" | \
wc -l)" ]; then
mysql -e "GRANT ALL PRIVILEGES ON \`$MARIADB_DATABASE\`.* TO '$MARIADB_USERNAME'@'localhost' IDENTIFIED BY \
'$MARIADB_PASSWORD'"
fi
sed -i -e "s/\\(\\s*'password'\\s*=>\\s*\\).*/\\1'$MARIADB_PASSWORD',/" /var/www/App/Config/database.php
# Sshd
mkdir -p /etc/ssh/sshd_config.d
echo 'PasswordAuthentication no' > /etc/ssh/sshd_config.d/mwg.conf
# Autenticazione
cp $FOLDER/usr-local-bin/* /usr/local/bin
. /usr/local/bin/project_env.sh
echo "export SERVER_NAME=$SERVER_NAME" >> /usr/local/bin/project_env.sh
echo "export APPLICATION_URL=https://$SERVER_NAME:443" >> /usr/local/bin/project_env.sh
# Apache
cp $FOLDER/file/ssl-params.conf /etc/apache2/conf-available/
if [ "$(grep /usr/local/bin/project_env.sh /etc/apache2/envvars | wc -l)" = "0" ]; then
echo '. /usr/local/bin/project_env.sh' >> /etc/apache2/envvars
fi
a2enconf ssl-params
a2enmod headers
a2enmod rewrite
a2enmod ssl
cd /etc/apache2/sites-enabled
find /etc/apache2/sites-enabled -type l -exec sh -c 'a2dissite $(basename {})' \;
cp $FOLDER/file/0certbot.conf /etc/apache2/sites-available
a2ensite 0certbot
systemctl restart apache2
certbot certonly -d $SERVER_NAME --webroot --webroot-path /var/www/certbot -m $CERTBOT_EMAIL --agree-tos \
--non-interactive --no-eff-email --expand
mkdir -p /etc/apache2/keys
cp $FOLDER/metadata/private.pem $FOLDER/metadata/public.pem /etc/apache2/keys
cp $FOLDER/file/1autenticazione.conf /etc/apache2/sites-available
a2ensite 1autenticazione
/usr/local/bin/auto-update-gov-certificates
# Cronjob
cp $FOLDER/cron/* /etc/cron.d
echo Installazione terminata
# apt purge --auto-remove apache2 certbot cron libapache2-mod-auth-openidc mariadb-server php php-mysql python;rmdir /var/lib/apache2/;rm -Rf /etc/ssl/itaca/
# openssl req -key private.pem -new -x509 -days 3650 -subj /C=IT/ST=Sicilia/O=Regione Siciliana/OU=Autenticazione Lavori Pubblici/CN=Autenticazione Lavori Pubblici -out cert.pem
# openssl pkcs12 -export -inkey private.pem -in cert.pem -out keys.pfx -name autenticazione
# keytool -v -list -keystore keys.pfx