Merge pull request #190 from nodemailer/setup_logs

Setup logs
This commit is contained in:
Andris Reinman 2020-03-16 13:41:33 +02:00 committed by GitHub
commit aca4c7b1ac
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 63 additions and 1 deletions

32
setup/00_install_global_functions_variables.sh Normal file → Executable file
View file

@ -253,3 +253,35 @@ sudo $SYSTEMCTL_PATH restart $1 || echo \"Failed restarting service\"" > "/var/o
chmod +x "/var/opt/$1.git/hooks/update" chmod +x "/var/opt/$1.git/hooks/update"
} }
export -f hook_script_bower export -f hook_script_bower
function log_script {
SERVICE_NAME=$1
# Ensure required files and permissions
echo "d /var/log/${SERVICE_NAME} 0750 syslog adm" > /etc/tmpfiles.d/${SERVICE_NAME}-log.conf
# Redirect MongoDB log output from syslog to mongodb log file
echo "if ( \$programname startswith \"$SERVICE_NAME\" ) then {
action(type=\"omfile\" file=\"/var/log/${SERVICE_NAME}/${SERVICE_NAME}.log\")
stop
}" > /etc/rsyslog.d/25-${SERVICE_NAME}.conf
# Setup log rotate
echo "/var/log/${SERVICE_NAME}/${SERVICE_NAME}.log {
daily
ifempty
missingok
rotate 7
compress
create 640 syslog adm
su root root
sharedscripts
postrotate
systemctl kill --signal=SIGHUP --kill-who=main rsyslog.service 2>/dev/null || true
endscript
}" > /etc/logrotate.d/${SERVICE_NAME}
}
export -f log_script

0
setup/01_install_commits.sh Normal file → Executable file
View file

0
setup/02_install_prerequisites.sh Normal file → Executable file
View file

0
setup/03_install_check_running_services.sh Normal file → Executable file
View file

0
setup/04_install_import_keys.sh Normal file → Executable file
View file

0
setup/05_install_packages.sh Normal file → Executable file
View file

0
setup/06_install_enable_services.sh Normal file → Executable file
View file

4
setup/07_install_wildduck.sh Normal file → Executable file
View file

@ -60,6 +60,10 @@ npm install --unsafe-perm --production
chown -R deploy:deploy /var/opt/wildduck.git chown -R deploy:deploy /var/opt/wildduck.git
chown -R deploy:deploy /opt/wildduck chown -R deploy:deploy /opt/wildduck
echo "d /opt/wildduck 0755 deploy deploy
d /etc/wildduck 0755 wildduck wildduck" > /etc/tmpfiles.d/zone-mta.conf
log_script "wildduck-server"
echo "[Unit] echo "[Unit]
Description=WildDuck Mail Server Description=WildDuck Mail Server
Conflicts=cyrus.service dovecot.service Conflicts=cyrus.service dovecot.service

4
setup/08_install_haraka.sh Normal file → Executable file
View file

@ -101,6 +101,10 @@ error=false' > config/clamd.ini
cp plugins/wildduck/config/wildduck.yaml config/wildduck.yaml cp plugins/wildduck/config/wildduck.yaml config/wildduck.yaml
sed -i -e "s/secret value/$SRS_SECRET/g" config/wildduck.yaml sed -i -e "s/secret value/$SRS_SECRET/g" config/wildduck.yaml
# Ensure required files and permissions
echo "d /opt/haraka 0755 deploy deploy" > /etc/tmpfiles.d/haraka.conf
log_script "haraka"
echo '[Unit] echo '[Unit]
Description=Haraka MX Server Description=Haraka MX Server
After=mongod.service redis.service After=mongod.service redis.service

6
setup/09_install_zone_mta.sh Normal file → Executable file
View file

@ -111,6 +111,12 @@ npm install --unsafe-perm --production
chown -R deploy:deploy /var/opt/zone-mta.git chown -R deploy:deploy /var/opt/zone-mta.git
chown -R deploy:deploy /var/opt/zonemta-wildduck.git chown -R deploy:deploy /var/opt/zonemta-wildduck.git
chown -R deploy:deploy /opt/zone-mta chown -R deploy:deploy /opt/zone-mta
chown -R wildduck:wildduck /etc/zone-mta
# Ensure required files and permissions
echo "d /opt/zone-mta 0755 deploy deploy
d /etc/zone-mta 0755 wildduck wildduck" > /etc/tmpfiles.d/zone-mta.conf
log_script "zone-mta"
echo '[Unit] echo '[Unit]
Description=Zone Mail Transport Agent Description=Zone Mail Transport Agent

4
setup/10_install_wildduck_webmail.sh Normal file → Executable file
View file

@ -43,6 +43,10 @@ chown -R deploy:deploy /opt/wildduck-webmail
HOME=/home/deploy sudo -u deploy npm install HOME=/home/deploy sudo -u deploy npm install
HOME=/home/deploy sudo -u deploy npm run bowerdeps HOME=/home/deploy sudo -u deploy npm run bowerdeps
echo "d /opt/wildduck-webmail 0755 deploy deploy" > /etc/tmpfiles.d/zone-mta.conf
log_script "wildduck-www"
echo '[Unit] echo '[Unit]
Description=Wildduck Webmail Description=Wildduck Webmail
After=wildduck.service After=wildduck.service

0
setup/11_install_nginx.sh Normal file → Executable file
View file

0
setup/12_install_ufw_rules.sh Normal file → Executable file
View file

0
setup/13_install_ssl_certs.sh Normal file → Executable file
View file

6
setup/14_install_start_services.sh Normal file → Executable file
View file

@ -4,6 +4,12 @@ OURNAME=14_install_start_services.sh
echo -e "\n-- Executing ${ORANGE}${OURNAME}${NC} subscript --" echo -e "\n-- Executing ${ORANGE}${OURNAME}${NC} subscript --"
# Run tmpfiles definitions to ensure required directories/files
systemd-tmpfiles --create --remove
# Restart rsyslog for the changes to take effect
systemctl restart rsyslog
# update reload script for future updates # update reload script for future updates
echo "#!/bin/bash echo "#!/bin/bash
$SYSTEMCTL_PATH reload nginx $SYSTEMCTL_PATH reload nginx

0
setup/15_install_deploy.sh Normal file → Executable file
View file

View file

@ -53,6 +53,10 @@ Configuration files are installed to the following locations:
3. WildDuck Webmail: /etc/wildduck/wildduck-webmail.toml 3. WildDuck Webmail: /etc/wildduck/wildduck-webmail.toml
4. Haraka: /opt/haraka/config 4. Haraka: /opt/haraka/config
## Log files
All `stdout` and `stderr` is written to service specific log files. For example WildDuck server logs can be found from `/var/log/wildduc-server/wildduck-server.log`.
## Code changes ## Code changes
Install script sets up applications as remote git repositories. You can clone these to your own machine using a special deploy user. If you push changes back to the remote repo, related services are restarted automatically. Install script sets up applications as remote git repositories. You can clone these to your own machine using a special deploy user. If you push changes back to the remote repo, related services are restarted automatically.

4
setup/get_install.sh Normal file → Executable file
View file

@ -1,7 +1,9 @@
#! /bin/bash #! /bin/bash
BRANCH="${1:-master}"
# This script downloads all the installation files. # This script downloads all the installation files.
BASEURL="https://raw.githubusercontent.com/nodemailer/wildduck/master/setup/" BASEURL="https://raw.githubusercontent.com/nodemailer/wildduck/$BRANCH/setup/"
## declare an array ## declare an array
declare -a arr=( declare -a arr=(