mirror of
https://github.com/serghey-rodin/vesta.git
synced 2024-11-21 13:00:08 -08:00
100 lines
3.2 KiB
Bash
Executable File
100 lines
3.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
RHOST='r.vestacp.com'
|
|
CHOST='c.vestacp.com'
|
|
REPO='cmmnt'
|
|
VERSION='rhel'
|
|
VESTA='/usr/local/vesta'
|
|
os=$(cut -f 1 -d ' ' /etc/redhat-release)
|
|
release=$(grep -o "[0-9]" /etc/redhat-release |head -n1)
|
|
codename="${os}_$release"
|
|
vestacp="http://$CHOST/$VERSION/$release"
|
|
servername=$(hostname -f)
|
|
|
|
|
|
# PATH fix
|
|
if [ ! -f "/etc/profile.d/vesta.sh" ]; then
|
|
echo "export VESTA='$VESTA'" > /etc/profile.d/vesta.sh
|
|
fi
|
|
if [ $( grep -ic "vesta" /root/.bash_profile ) -eq 0 ]; then
|
|
echo 'PATH=$PATH:'$VESTA'/bin' >> /root/.bash_profile
|
|
fi
|
|
|
|
|
|
# Linking /var/log/vesta
|
|
if [ ! -L "/var/log/vesta" ]; then
|
|
ln -s $VESTA/log /var/log/vesta
|
|
fi
|
|
|
|
|
|
# Added default install "expect" to work for backup sftp
|
|
yum -y install expect > /dev/null 2>&1
|
|
|
|
|
|
# Roundcube Vesta password driver - changing password_vesta_host (in config) to server hostname
|
|
if [ -f "/usr/share/roundcubemail/plugins/password/config.inc.php" ]; then
|
|
sed -i "s/localhost/$servername/g" /usr/share/roundcubemail/plugins/password/config.inc.php
|
|
fi
|
|
|
|
|
|
# Workaround for OpenVZ/Virtuozzo
|
|
if [ "$release" -eq '7' ] && [ -e "/proc/vz/veinfo" ]; then
|
|
if [ $( grep -ic "Vesta: workraround for networkmanager" /etc/rc.local ) -eq 0 ]; then
|
|
if [ -f "/etc/nginx/nginx.conf" ] ; then
|
|
echo "#Vesta: workraround for networkmanager" >> /etc/rc.local
|
|
echo "sleep 3 && service nginx restart" >> /etc/rc.local
|
|
fi
|
|
if [ -f "/etc/httpd/conf/httpd.conf" ] ; then
|
|
echo "#Vesta: workraround for networkmanager" >> /etc/rc.local
|
|
echo "sleep 2 && service httpd restart" >> /etc/rc.local
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
|
|
# Fix for Spamassassin user_prefs
|
|
if [ -f "/etc/mail/spamassassin/local.cf" ] ; then
|
|
if [ ! -d "/var/lib/spamassassin" ] ; then
|
|
if [ "$release" -eq '7' ]; then
|
|
groupadd -g 1001 spamd
|
|
useradd -u 1001 -g spamd -s /sbin/nologin -d \
|
|
/var/lib/spamassassin spamd
|
|
mkdir /var/lib/spamassassin
|
|
chown spamd:spamd /var/lib/spamassassin
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
|
|
# Fix for clamav: /var/run ownership and foreground option
|
|
if [ -f "/etc/clamd.conf" ] ; then
|
|
if [ ! -d "/var/run/clamav" ]; then
|
|
mkdir /var/run/clamav
|
|
fi
|
|
chown -R clam:clam /var/run/clamav
|
|
chown -R clam:clam /var/log/clamav
|
|
if [ "$release" -eq '7' ]; then
|
|
sed -i "s/nofork/foreground/" /usr/lib/systemd/system/clamd.service
|
|
file="/usr/lib/systemd/system/clamd.service"
|
|
if [ $( grep -ic "mkdir" $file ) -eq 0 ]; then
|
|
sed -i "s/Type = simple/Type = simple\nExecStartPre = \/usr\/bin\/mkdir -p \/var\/run\/clamav\nExecStartPre = \/usr\/bin\/chown -R clam:clam \/var\/run\/clamav/g" $file
|
|
fi
|
|
systemctl daemon-reload
|
|
/bin/systemctl restart clamd.service
|
|
fi
|
|
fi
|
|
|
|
|
|
# Fixing empty NAT ip
|
|
ip=$(ip addr|grep 'inet '|grep global|head -n1|awk '{print $2}'|cut -f1 -d/)
|
|
pub_ip=$(curl -s vestacp.com/what-is-my-ip/)
|
|
file="$VESTA/data/ips/$ip"
|
|
if [ -f "$file" ] && [ $( grep -ic "NAT=''" $file ) -eq 1 ]; then
|
|
if [ ! -z "$pub_ip" ] && [ "$pub_ip" != "$ip" ]; then
|
|
v-change-sys-ip-nat $ip $pub_ip
|
|
fi
|
|
fi
|
|
|
|
# Dovecot logrorate script
|
|
wget $vestacp/logrotate/dovecot -O /etc/logrotate.d/dovecot
|