mirror of
https://github.com/mail-in-a-box/mailinabox.git
synced 2024-12-24 07:37:04 +00:00
merge upstream V56
This commit is contained in:
commit
e2bfe62939
24
CHANGELOG.md
24
CHANGELOG.md
@ -1,12 +1,28 @@
|
|||||||
CHANGELOG
|
CHANGELOG
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
Version 56 (January 19, 2022)
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
In Development
|
Software updates:
|
||||||
--------------
|
|
||||||
|
|
||||||
Mail:
|
* Roundcube updated to 1.5.2 (from 1.5.0), and the persistent_login and CardDAV (to 4.3.0 from 3.0.3) plugins are updated.
|
||||||
* Roundcube's persistent_login plugin update to better support Roundcube 1.5
|
* Nextcloud updated to 20.0.14 (from 20.0.8), contacts to 4.0.7 (from 3.5.1), and calendar to 3.0.4 (from 2.2.0).
|
||||||
|
|
||||||
|
Setup:
|
||||||
|
|
||||||
|
* Fixed failed setup if a previous attempt failed while updating Nextcloud.
|
||||||
|
|
||||||
|
Control panel:
|
||||||
|
|
||||||
|
* Fixed a crash if a custom DNS entry is not under a zone managed by the box.
|
||||||
|
* Fix DNSSEC instructions typo.
|
||||||
|
|
||||||
|
Other:
|
||||||
|
|
||||||
|
* Set systemd journald log retention to 10 days (from no limit) to reduce disk usage.
|
||||||
|
* Fixed log processing for submission lines that have a sasl_sender or other extra information.
|
||||||
|
* Fix DNS secondary nameserver refesh failure retry period.
|
||||||
|
|
||||||
Version 55 (October 18, 2021)
|
Version 55 (October 18, 2021)
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
@ -20,9 +20,9 @@ _If you're seeing an error message about your *IP address being listed in the Sp
|
|||||||
|
|
||||||
### Modifying your `hosts` file
|
### Modifying your `hosts` file
|
||||||
|
|
||||||
After a while, Mail-in-a-Box will be available at `192.168.50.4` (unless you changed that in your `Vagrantfile`). To be able to use the web-based bits, we recommend to add a hostname to your `hosts` file:
|
After a while, Mail-in-a-Box will be available at `192.168.56.4` (unless you changed that in your `Vagrantfile`). To be able to use the web-based bits, we recommend to add a hostname to your `hosts` file:
|
||||||
|
|
||||||
$ echo "192.168.50.4 mailinabox.lan" | sudo tee -a /etc/hosts
|
$ echo "192.168.56.4 mailinabox.lan" | sudo tee -a /etc/hosts
|
||||||
|
|
||||||
You should now be able to navigate to https://mailinabox.lan/admin using your browser. There should be an initial admin user with the name `me@mailinabox.lan` and the password `12345678`.
|
You should now be able to navigate to https://mailinabox.lan/admin using your browser. There should be an initial admin user with the name `me@mailinabox.lan` and the password `12345678`.
|
||||||
|
|
||||||
|
@ -117,7 +117,7 @@ Clone this repository and checkout the tag corresponding to the most recent rele
|
|||||||
|
|
||||||
$ git clone https://github.com/mail-in-a-box/mailinabox
|
$ git clone https://github.com/mail-in-a-box/mailinabox
|
||||||
$ cd mailinabox
|
$ cd mailinabox
|
||||||
$ git checkout v55
|
$ git checkout v56
|
||||||
|
|
||||||
Begin the installation.
|
Begin the installation.
|
||||||
|
|
||||||
|
2
Vagrantfile
vendored
2
Vagrantfile
vendored
@ -9,7 +9,7 @@ Vagrant.configure("2") do |config|
|
|||||||
# the machine's box will let anyone log into it. So instead we'll put the
|
# the machine's box will let anyone log into it. So instead we'll put the
|
||||||
# machine on a private network.
|
# machine on a private network.
|
||||||
config.vm.hostname = "mailinabox.lan"
|
config.vm.hostname = "mailinabox.lan"
|
||||||
config.vm.network "private_network", ip: "192.168.50.4"
|
config.vm.network "private_network", ip: "192.168.56.4"
|
||||||
|
|
||||||
config.vm.provision :shell, :inline => <<-SH
|
config.vm.provision :shell, :inline => <<-SH
|
||||||
# Set environment variables so that the setup script does
|
# Set environment variables so that the setup script does
|
||||||
|
@ -501,7 +501,7 @@ def write_nsd_zone(domain, zonefile, records, env, force):
|
|||||||
# @ the PRIMARY_HOSTNAME. Hopefully that's legit.
|
# @ the PRIMARY_HOSTNAME. Hopefully that's legit.
|
||||||
#
|
#
|
||||||
# For the refresh through TTL fields, a good reference is:
|
# For the refresh through TTL fields, a good reference is:
|
||||||
# http://www.peerwisdom.org/2013/05/15/dns-understanding-the-soa-record/
|
# https://www.ripe.net/publications/docs/ripe-203
|
||||||
|
|
||||||
# Time To Refresh – How long in seconds a nameserver should wait prior to checking for a Serial Number
|
# Time To Refresh – How long in seconds a nameserver should wait prior to checking for a Serial Number
|
||||||
# increase within the primary zone file. An increased Serial Number means a transfer is needed to sync
|
# increase within the primary zone file. An increased Serial Number means a transfer is needed to sync
|
||||||
|
1165
management/dns_update.py.bak
Normal file
1165
management/dns_update.py.bak
Normal file
File diff suppressed because it is too large
Load Diff
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
<h2>Backup Status</h2>
|
<h2>Backup Status</h2>
|
||||||
|
|
||||||
<p>The box makes an incremental backup each night. By default the backup is stored on the machine itself, but you can also store in on S3-compatible services like Amazon Web Services (AWS).</p>
|
<p>The box makes an incremental backup each night. By default the backup is stored on the machine itself, but you can also store it on S3-compatible services like Amazon Web Services (AWS).</p>
|
||||||
|
|
||||||
<h3>Configuration</h3>
|
<h3>Configuration</h3>
|
||||||
|
|
||||||
|
@ -15,12 +15,6 @@ sed -i "s/#\& stop/\& stop/g" /etc/rsyslog.d/20-ufw.conf
|
|||||||
|
|
||||||
restart_service rsyslog
|
restart_service rsyslog
|
||||||
|
|
||||||
# decrease time journal is stored
|
|
||||||
tools/editconf.py /etc/systemd/journald.conf MaxRetentionSec=2month
|
|
||||||
tools/editconf.py /etc/systemd/journald.conf MaxFileSec=1week
|
|
||||||
|
|
||||||
hide_output systemctl restart systemd-journald.service
|
|
||||||
|
|
||||||
# Create forward for root emails
|
# Create forward for root emails
|
||||||
cat > /root/.forward << EOF;
|
cat > /root/.forward << EOF;
|
||||||
administrator@$PRIMARY_HOSTNAME
|
administrator@$PRIMARY_HOSTNAME
|
||||||
|
@ -24,7 +24,7 @@ if [ -z "$TAG" ]; then
|
|||||||
|
|
||||||
elif [ "$(lsb_release -d | sed 's/.*:\s*//' | sed 's/18\.04\.[0-9]/18.04/' )" == "Ubuntu 18.04 LTS" ]; then
|
elif [ "$(lsb_release -d | sed 's/.*:\s*//' | sed 's/18\.04\.[0-9]/18.04/' )" == "Ubuntu 18.04 LTS" ]; then
|
||||||
# This machine is running Ubuntu 18.04.
|
# This machine is running Ubuntu 18.04.
|
||||||
TAG=v55
|
TAG=v56
|
||||||
|
|
||||||
elif [ "$(lsb_release -d | sed 's/.*:\s*//' | sed 's/14\.04\.[0-9]/14.04/' )" == "Ubuntu 14.04 LTS" ]; then
|
elif [ "$(lsb_release -d | sed 's/.*:\s*//' | sed 's/14\.04\.[0-9]/14.04/' )" == "Ubuntu 14.04 LTS" ]; then
|
||||||
# This machine is running Ubuntu 14.04.
|
# This machine is running Ubuntu 14.04.
|
||||||
|
@ -9,6 +9,39 @@ source /etc/mailinabox.conf # load global vars
|
|||||||
|
|
||||||
echo "Installing Nextcloud (contacts/calendar)..."
|
echo "Installing Nextcloud (contacts/calendar)..."
|
||||||
|
|
||||||
|
# Nextcloud core and app (plugin) versions to install.
|
||||||
|
# With each version we store a hash to ensure we install what we expect.
|
||||||
|
|
||||||
|
# Nextcloud core
|
||||||
|
# --------------
|
||||||
|
# * See https://nextcloud.com/changelog for the latest version.
|
||||||
|
# * Check https://docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html
|
||||||
|
# for whether it supports the version of PHP available on this machine.
|
||||||
|
# * Since Nextcloud only supports upgrades from consecutive major versions,
|
||||||
|
# we automatically install intermediate versions as needed.
|
||||||
|
# * The hash is the SHA1 hash of the ZIP package, which you can find by just running this script and
|
||||||
|
# copying it from the error message when it doesn't match what is below.
|
||||||
|
nextcloud_ver=22.2.3
|
||||||
|
nextcloud_hash=58d2d897ba22a057aa03d29c762c5306211fefd2
|
||||||
|
|
||||||
|
# Nextcloud apps
|
||||||
|
# --------------
|
||||||
|
# * Find the most recent tag that is compatible with the Nextcloud version above by
|
||||||
|
# consulting the <dependencies>...<nextcloud> node at:
|
||||||
|
# https://github.com/nextcloud-releases/contacts/blob/maaster/appinfo/info.xml
|
||||||
|
# https://github.com/nextcloud-releases/calendar/blob/master/appinfo/info.xml
|
||||||
|
# https://github.com/nextcloud/user_external/blob/master/appinfo/info.xml
|
||||||
|
# * The hash is the SHA1 hash of the ZIP package, which you can find by just running this script and
|
||||||
|
# copying it from the error message when it doesn't match what is below.
|
||||||
|
contacts_ver=4.0.7
|
||||||
|
contacts_hash=8ab31d205408e4f12067d8a4daa3595d46b513e3
|
||||||
|
calendar_ver=3.0.4
|
||||||
|
calendar_hash=6fb1e998d307c53245faf1c37a96eb982bbee8ba
|
||||||
|
user_external_ver=2.1.0
|
||||||
|
user_external_hash=6e5afe7f36f398f864bfdce9cad72200e70322aa
|
||||||
|
|
||||||
|
# Clear prior packages and install dependencies from apt.
|
||||||
|
|
||||||
apt-get purge -qq -y owncloud* # we used to use the package manager
|
apt-get purge -qq -y owncloud* # we used to use the package manager
|
||||||
|
|
||||||
apt_install php php-fpm \
|
apt_install php php-fpm \
|
||||||
@ -56,23 +89,11 @@ InstallNextcloud() {
|
|||||||
# their github repositories.
|
# their github repositories.
|
||||||
mkdir -p /usr/local/lib/owncloud/apps
|
mkdir -p /usr/local/lib/owncloud/apps
|
||||||
|
|
||||||
contacts_cutoff="3.5.1" # this version was the last posted version on 12/27/2021 that supported the old url format
|
wget_verify https://github.com/nextcloud-releases/contacts/releases/download/v$version_contacts/contacts-v$version_contacts.tar.gz $hash_contacts /tmp/contacts.tgz
|
||||||
if [ ${contacts_cutoff//.} -gt ${version_contacts//.} ]; then
|
|
||||||
wget_verify https://github.com/nextcloud/contacts/releases/download/v$version_contacts/contacts.tar.gz $hash_contacts /tmp/contacts.tgz
|
|
||||||
else
|
|
||||||
wget_verify https://github.com/nextcloud-releases/contacts/releases/download/v$version_contacts/contacts-v$version_contacts.tar.gz $hash_contacts /tmp/contacts.tgz
|
|
||||||
fi
|
|
||||||
|
|
||||||
tar xf /tmp/contacts.tgz -C /usr/local/lib/owncloud/apps/
|
tar xf /tmp/contacts.tgz -C /usr/local/lib/owncloud/apps/
|
||||||
rm /tmp/contacts.tgz
|
rm /tmp/contacts.tgz
|
||||||
|
|
||||||
calendar_cutoff="2.0.5" # this version was the last posted version on 12/27/2021 that supported the old url format
|
wget_verify https://github.com/nextcloud-releases/calendar/releases/download/v$version_calendar/calendar-v$version_calendar.tar.gz $hash_calendar /tmp/calendar.tgz
|
||||||
if [ ${calendar_cutoff//.} -gt ${version_calendar//.} ]; then
|
|
||||||
wget_verify https://github.com/nextcloud/calendar/releases/download/v$version_calendar/calendar.tar.gz $hash_calendar /tmp/calendar.tgz
|
|
||||||
else
|
|
||||||
wget_verify https://github.com/nextcloud-releases/calendar/releases/download/v$version_calendar/calendar.tar.gz $hash_calendar /tmp/calendar.tgz
|
|
||||||
fi
|
|
||||||
|
|
||||||
tar xf /tmp/calendar.tgz -C /usr/local/lib/owncloud/apps/
|
tar xf /tmp/calendar.tgz -C /usr/local/lib/owncloud/apps/
|
||||||
rm /tmp/calendar.tgz
|
rm /tmp/calendar.tgz
|
||||||
|
|
||||||
@ -118,16 +139,6 @@ InstallNextcloud() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Nextcloud Version to install. Checks are done down below to step through intermediate versions.
|
|
||||||
nextcloud_ver=22.2.3
|
|
||||||
nextcloud_hash=58d2d897ba22a057aa03d29c762c5306211fefd2
|
|
||||||
contacts_ver=4.0.7
|
|
||||||
contacts_hash=8ab31d205408e4f12067d8a4daa3595d46b513e3
|
|
||||||
calendar_ver=3.0.2
|
|
||||||
calendar_hash=dcc62633f81c2cb53ce202348c79a0ab5bf4c9a8
|
|
||||||
user_external_ver=2.1.0
|
|
||||||
user_external_hash=6e5afe7f36f398f864bfdce9cad72200e70322aa
|
|
||||||
|
|
||||||
# Current Nextcloud Version, #1623
|
# Current Nextcloud Version, #1623
|
||||||
# Checking /usr/local/lib/owncloud/version.php shows version of the Nextcloud application, not the DB
|
# Checking /usr/local/lib/owncloud/version.php shows version of the Nextcloud application, not the DB
|
||||||
# $STORAGE_ROOT/owncloud is kept together even during a backup. It is better to rely on config.php than
|
# $STORAGE_ROOT/owncloud is kept together even during a backup. It is better to rely on config.php than
|
||||||
|
@ -75,7 +75,14 @@ then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Certbot doesn't require a PPA in Debian
|
# ### Set log retention policy.
|
||||||
|
|
||||||
|
# Set the systemd journal log retention from infinite to 10 days,
|
||||||
|
# since over time the logs take up a large amount of space.
|
||||||
|
# (See https://discourse.mailinabox.email/t/journalctl-reclaim-space-on-small-mailinabox/6728/11.)
|
||||||
|
tools/editconf.py /etc/systemd/journald.conf MaxRetentionSec=10day
|
||||||
|
|
||||||
|
hide_output systemctl restart systemd-journald.service
|
||||||
|
|
||||||
# ### Update Packages
|
# ### Update Packages
|
||||||
|
|
||||||
|
@ -28,16 +28,21 @@ apt_install \
|
|||||||
# Install Roundcube from source if it is not already present or if it is out of date.
|
# Install Roundcube from source if it is not already present or if it is out of date.
|
||||||
# Combine the Roundcube version number with the commit hash of plugins to track
|
# Combine the Roundcube version number with the commit hash of plugins to track
|
||||||
# whether we have the latest version of everything.
|
# whether we have the latest version of everything.
|
||||||
|
# For the latest versions, see:
|
||||||
VERSION=1.5.0
|
# https://github.com/roundcube/roundcubemail/releases
|
||||||
HASH=2a9d11d9c10c8e8756120606c47eef702f00fe6d
|
# https://github.com/mfreiholz/persistent_login/commits/master
|
||||||
|
# https://github.com/stremlau/html5_notifier/commits/master
|
||||||
|
# https://github.com/mstilkerich/rcmcarddav/releases
|
||||||
|
# The easiest way to get the package hashes is to run this script and get the hash from
|
||||||
|
# the error message.
|
||||||
|
VERSION=1.5.2
|
||||||
|
HASH=208ce4ca0be423cc0f7070ff59bd03588b4439bf
|
||||||
PERSISTENT_LOGIN_VERSION=59ca1b0d3a02cff5fa621c1ad581d15f9d642fe8
|
PERSISTENT_LOGIN_VERSION=59ca1b0d3a02cff5fa621c1ad581d15f9d642fe8
|
||||||
HTML5_NOTIFIER_VERSION=68d9ca194212e15b3c7225eb6085dbcf02fd13d7 # version 0.6.4+
|
HTML5_NOTIFIER_VERSION=68d9ca194212e15b3c7225eb6085dbcf02fd13d7 # version 0.6.4+
|
||||||
CONTEXT_MENU_VERSION=602a3812922fb8f71814eb3b8d91e9b7859aab7e # version 3.2.1
|
|
||||||
TWOFACT_COMMIT=a3944c4604fe86fc020847f281beea031e14e58e # master @ 17-10-2021
|
|
||||||
|
|
||||||
CARDDAV_VERSION=4.3.0
|
CARDDAV_VERSION=4.3.0
|
||||||
CARDDAV_HASH=4ad7df8843951062878b1375f77c614f68bc5c61
|
CARDDAV_HASH=4ad7df8843951062878b1375f77c614f68bc5c61
|
||||||
|
CONTEXT_MENU_VERSION=602a3812922fb8f71814eb3b8d91e9b7859aab7e # version 3.2.1
|
||||||
|
TWOFACT_COMMIT=a3944c4604fe86fc020847f281beea031e14e58e # master @ 17-10-2021
|
||||||
|
|
||||||
UPDATE_KEY=$VERSION:$PERSISTENT_LOGIN_VERSION:$HTML5_NOTIFIER_VERSION:$CARDDAV_VERSION:$CONTEXT_MENU_VERSION:$TWOFACT_COMMIT
|
UPDATE_KEY=$VERSION:$PERSISTENT_LOGIN_VERSION:$HTML5_NOTIFIER_VERSION:$CARDDAV_VERSION:$CONTEXT_MENU_VERSION:$TWOFACT_COMMIT
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user