Joshua Tauberer
302eae3fd3
Merge pull request #167 from hjjg/feature-owncloudadmin
...
Add a helper script to unlock ownClouds admin features
2014-08-27 07:43:01 -04:00
Joshua Tauberer
8586723e70
Merge pull request #168 from hjjg/feature-localehandling1
...
locale-safe check if we have enough memory installed
2014-08-27 07:41:49 -04:00
Joshua Tauberer
aa3bc3225e
expose the control panel only on PRIMARY_HOSTNAME since /admin might conflict with other stuff hosted on other domains
2014-08-27 02:38:43 +00:00
Joshua Tauberer
da2af2ea5c
once the user has a signed SSL cert, simplify the message at the end of setup
2014-08-27 02:37:03 +00:00
Joshua Tauberer
6a311ee7d9
show the tag or commit the user is on in the output to aid debugging when a user posts the output somewhere
2014-08-27 02:37:03 +00:00
Joshua Tauberer
ac767dc87b
Merge pull request #163 from empurium/master
...
CLI usage for aliases with multiple recipients
2014-08-26 16:59:50 -04:00
Joshua Tauberer
5c29275d8f
Merge pull request #164 from hjjg/bugfix-roundcubekeylength
...
reads from /dev/random need to use count= to actually get that many bytes or else reads might be shorter
2014-08-26 16:26:38 -04:00
Joshua Tauberer
699923d605
Merge pull request #166 from benschumacher/master
...
Fix typo in dns_update.py.
2014-08-26 16:13:11 -04:00
Joshua Tauberer
43fe2fe282
Merge pull request #162 from skosch/patch-2
...
Replace spaces by tabs in 106-109. See 92c7815d2c .
2014-08-26 14:12:34 -04:00
Joshua Tauberer
92c7815d2c
Merge pull request #156 from skosch/patch-1
...
Allow users to insert custom nginx configuration directives through new optional files.
2014-08-26 10:24:22 -04:00
Joshua Tauberer
06a4046d13
fix link to /cloud in the admin, fixes #160
2014-08-26 11:51:47 +00:00
Joshua Tauberer
9b8d85de45
if there are no admins when trying to access the control panel, tell the user how to make an admin from SSH
2014-08-26 11:31:45 +00:00
Joshua Tauberer
c0f4618bef
normalize some whitespace
2014-08-26 07:13:47 -04:00
Joshua Tauberer
245864caac
bug in the IPV6 question
2014-08-26 10:34:22 +00:00
Joshua Tauberer
b76cbae5a0
document the DNS API in the control panel
...
see #140 , #155 , df20d447a9
2014-08-25 23:52:41 +00:00
Joshua Tauberer
ed8ce16fb5
show custom DNS records in the control panel too, fixes #155
2014-08-25 23:35:44 +00:00
Joshua Tauberer
a32806da32
create STORAGE_ROOT/backup/duplicity if it doesn't exist
...
fixes #158
2014-08-25 23:29:00 +00:00
Joshua Tauberer
18f0406541
update comments in backup.py
2014-08-25 23:28:43 +00:00
Joshua Tauberer
bc9d670981
prettify mail guide
2014-08-25 23:24:41 +00:00
Joshua Tauberer
844f744a09
Merge branch 'usedialog'
2014-08-25 08:30:19 -04:00
Joshua Tauberer
d1c7617cdb
Merge branch 'master' into usedialog
2014-08-25 08:26:59 -04:00
Joshua Tauberer
ea32af1f0e
Merge commit 'b0d6473c3c6748a68f4845324fee13f3153bc18f' into usedialog
...
Conflicts:
setup/start.sh (changes are in questions.sh now)
2014-08-25 08:26:39 -04:00
Joshua Tauberer
c18200d9b1
Merge commit '09d2a08ce620928d0398068197951e5acebca0f0' into usedialog
...
Conflicts:
setup/start.sh (change was already applied)
2014-08-25 08:23:28 -04:00
Joshua Tauberer
bf5016a8ac
bootstrap.sh: allow overring the tag to checkout by setting the TAG environment variable (helpful for debugging)
2014-08-25 08:18:46 -04:00
Joshua Tauberer
7cec45b436
tools/mail.py should not list archived mailboxes
...
broken by b30d7ad80a when the API began to list both real users and archived mailboxes in the JSON response
2014-08-25 08:13:46 -04:00
Joshua Tauberer
e0dc8ff04a
when deleting my old /usr/local/bin/mailinabox-exchange-autodiscover.php file from existing systems, don't emit an error if the file doesn't exist (added -f)
2014-08-25 08:10:54 -04:00
Joshua Tauberer
faf6f87a63
move the user-interactive questions and other parts of start.sh into new files
2014-08-25 08:09:37 -04:00
Joshua Tauberer
4ed69cbae5
replace '-t 0' test with an environment variable since '-t 0' is false when standard input has been redirected and doesn't tell us whether or not we can use dialog for input, but Vagrant must be non-interactive
2014-08-25 07:54:11 -04:00
Joshua Tauberer
28231ac248
Merge pull request #150 from hjjg/secretkeyfix
...
The secret key that encrypts the backups should not be world readable.
2014-08-24 17:21:38 -04:00
Joshua Tauberer
df20d447a9
add an api for setting custom DNS records
...
Works like this:
```curl -d "" --user email:password https://.../admin/dns/set/qname/rtype/value ```
where the rtype and value default to "A" and the remote IP address of the request, so that a simple, empty POST to
```https://.../admin/dns/set/desktop.mydomain.com ```
will point desktop.mydomain.com to the caller's IPv4 address.
closes #140
2014-08-23 23:03:45 +00:00
Joshua Tauberer
5d42c125eb
update the first goal to match what's on the website: s/email appliance/easy email/
2014-08-23 18:09:07 -04:00
Joshua Tauberer
de864b998b
fix double negation in README, fixes #154
2014-08-23 18:08:03 -04:00
Joshua Tauberer
6e3b04ce83
when generating SSL CSRs, using SHA256 as SHA1 is being phased out, per @konklone
2014-08-23 17:49:33 -04:00
Joshua Tauberer
b0d6473c3c
Merge branch 'box-in-a-name' of github.com:hjjg/mailinabox
2014-08-23 12:43:47 +00:00
Joshua Tauberer
03bbd25a10
re-do allow apt to perform security updates on its own
...
Move this into system.sh rather than anagement.sh.
This reverts commit eab28c97ff .
2014-08-23 12:35:59 +00:00
Joshua Tauberer
a0b056ae29
put a sterner warning in nginx local.conf about not modifying it
2014-08-23 12:35:59 +00:00
Joshua Tauberer
f7c7d5b9c3
Merge pull request #146 from ls42/zpush/auto-timezone
...
Read timezone from /etc/timezone.
2014-08-21 17:21:47 -04:00
Joshua Tauberer
4b75148f01
Merge pull request #148 from koptein/typos
...
Typo in introduction "later later"
2014-08-21 17:06:31 -04:00
Joshua Tauberer
9576594cfe
bootstrap script should check out a particular tag rather than master
2014-08-21 17:28:20 +00:00
Joshua Tauberer
76dcab3139
now that we use dialog for input we can pipe the bootstrap script to bash
2014-08-21 17:28:12 +00:00
Joshua Tauberer
7e8e104964
when asking for a CSR country code, give the user a list
2014-08-21 17:28:04 +00:00
Joshua Tauberer
7ea4d33e06
simplify the input_box function
2014-08-21 16:01:12 +00:00
Joshua Tauberer
eab28c97ff
allow apt to perform security updates on its own
2014-08-21 11:47:28 +00:00
Joshua Tauberer
2d5097345a
move the package update check into the system status checks
2014-08-21 11:24:40 +00:00
Joshua Tauberer
294d19e0af
rename whats_next.py to status_checks.py
2014-08-21 10:43:55 +00:00
Joshua Tauberer
6b52105b62
update features list in README
2014-08-19 15:11:52 +00:00
Joshua Tauberer
a501256fb9
fix the include path for our second use of z-push
2014-08-19 15:07:55 +00:00
Joshua Tauberer
80a05c3bbf
short_open_tag=Off was mistakenly left in the earlier merge (was a fix for my old autodiscover.php but not needed with z-push), also regrouping the nginx directive to be near the rest of Z-Push
2014-08-19 12:07:54 +00:00
Joshua Tauberer
aaea954072
remove my old Exchange autodiscover PHP script from systems
2014-08-19 11:50:00 +00:00
Joshua Tauberer
b6dd407aa7
z-push autodiscover should use the primary hostname for the mail server and not the domain part of the email address (both may work, but the primary hostname is more likely to have a signed SSL cert)
2014-08-19 11:49:20 +00:00
Joshua Tauberer
28eaf7cba9
Merge branch 'fixes' of github.com:jkaberg/mailinabox into jkaberg-fixes
2014-08-19 11:22:12 +00:00
Joshua Tauberer
46f3d05034
add the network checks to whats_next
...
* zen.spamhaus.org
* dbl.spamhaus.org
* checks if a connection to Google's MTA on port 25 works
2014-08-19 11:16:49 +00:00
Joshua Tauberer
91821adfd7
nameserver checks should be case insensitive
2014-08-18 22:41:27 +00:00
Joshua Tauberer
92acef9b87
fix PHP path for Z-Push so it can see libawl-php
...
broken in 04454b35c6
fixes #143
2014-08-17 22:53:46 +00:00
Joshua Tauberer
b30d7ad80a
web-based administrative UI
...
closes #19
2014-08-17 22:46:06 +00:00
Joshua Tauberer
ba8e015795
dns_update: dont restart the opendkim process if nothing changed
2014-08-17 20:42:17 +00:00
Joshua Tauberer
919a5a8f0b
whats_next: when there are multiple responses like for NS records sort the responses so we can compare to a fixed order
2014-08-17 19:55:03 +00:00
Joshua Tauberer
f299825a95
in the nginx override YAML file, change how proxies are specified into a mapping
2014-08-17 19:40:45 +00:00
Joshua Tauberer
04454b35c6
(merge) CardDAV, CalDAV via ownCloud and move to z-push fork fork
...
Merges branch 'owncloud' of github.com:jkaberg/mailinabox
which is pull request #135 , closes #135
thanks @jkaberg, @fmbiete, @owncloud
2014-08-17 15:31:08 -04:00
Joshua Tauberer
56c7d7436e
warn that generating DNSSEC keys takes a while (still slow in some virtualized environments)
2014-08-17 11:50:05 -04:00
Joshua Tauberer
062e8b839e
failed network checks should result in start.sh exiting with a non-zero exit status
2014-08-17 11:50:05 -04:00
Joshua Tauberer
f41ec93cbe
management: dont raise an exception on a poorly formatted authentication header
2014-08-17 11:50:05 -04:00
Joshua Tauberer
7e62131fbc
a bootstrapping script to support a one-line install command
...
based on a script by @jkaberg in #141
2014-08-16 13:31:42 -04:00
Joshua Tauberer
647ab4abeb
remove old notes/dspam.sh file
2014-08-16 13:08:03 -04:00
Joshua Tauberer
73b2751dc4
credit myself since it's not apparent who runs the project once it's been forked
2014-08-16 10:20:57 -04:00
Joshua Tauberer
e1606df237
s/joshdata/mailinabox/ due to repo moving to the org account
2014-08-16 13:16:01 +00:00
Joshua Tauberer
bbd35f4906
ownCloud: do cron the same way we do the others
2014-08-16 13:00:36 +00:00
Joshua Tauberer
ae1e69a5e3
ownCloud: code a way to add admins from our users table, but dont use it
2014-08-16 12:59:29 +00:00
Joshua Tauberer
9e86c67534
make setup/owncloud.sh idempotent: don't wreck user data on second run
2014-08-16 12:38:03 +00:00
Joshua Tauberer
6e380ade17
owncloud will only let users access it from the PRIMARY_HOSTNAME (due to its trusted_domains option being set statically), so only include /cloud in the nginx configuration for PRIMARY_HOSTNAME
2014-08-16 12:33:10 +00:00
Joshua Tauberer
277f98aac8
drop the owncloud mail app for now
2014-08-16 12:19:40 +00:00
Joshua Tauberer
ce4505b72b
remove owncloud step from README, no longer needed since 398b538e2b
2014-08-16 12:14:57 +00:00
Joshua Tauberer
6fdef379ad
owncloud: fix regex in nginx config
...
/cloud/index.php/apps/files/ajax/scan.php would not be parsed right because of two .php's
2014-08-15 23:17:16 +00:00
Joshua Tauberer
8c9f278166
owncloud: support MOD_X_ACCEL_REDIRECT_ENABLED
...
This lets downloads from the file app work.
2014-08-15 23:16:54 +00:00
Joshua Tauberer
398b538e2b
owncloud: automatically set it up with an administrator account that even the box owner doesn't have access to, because we do not want to have the user hit ownCloud's setup page on first visit
2014-08-15 23:07:20 +00:00
Joshua Tauberer
ca45c88a32
owncloud: set forcessl to be true to get the corret HSTS header (would be better if we could prevent ownCloud from sending one)
2014-08-15 22:32:01 +00:00
Joshua Tauberer
5ecbaa2b41
Merge branch 'owncloud' of github.com:jkaberg/mailinabox into owncloud
2014-08-15 18:30:17 -04:00
Joshua Tauberer
a10b828d5c
when modifying php.ini, use ; as the comment char not # because php emits horrid deprecation warnings otherwise
2014-08-15 18:29:05 -04:00
Joshua Tauberer
e625a424fd
whats_next: check that the TLSA record is correct, fixes #139
2014-08-13 19:42:49 +00:00
Joshua Tauberer
d03bc0cefa
more owncloud configuration tweaks
2014-08-13 00:30:09 +00:00
Joshua Tauberer
05cc63b5d5
Merge branch 'owncloud' of github.com:jkaberg/mailinabox into owncloud
...
Conflicts:
conf/nginx.conf
setup/zpush.sh
2014-08-12 23:10:51 +00:00
Joshua Tauberer
c9bf57eacd
Merge branch 'master' into owncloud (php5-fpm)
2014-08-12 13:30:55 +00:00
Joshua Tauberer
791e68a3af
automate more of the initial configuration
2014-08-12 13:29:44 +00:00
Joshua Tauberer
4d64246b22
tweak z-push/owncloud installation scripts: hide output, check if z-push needs an update, dont use /etc/timezone because its contents would need to be escaped before being passed into sed
2014-08-12 13:29:44 +00:00
Joshua Tauberer
9d6dc78b15
keep Roundcube working too, put owncloud at /cloud rather than at /
2014-08-12 13:29:43 +00:00
Joshua Tauberer
cf4f519cc0
zpush/owncloud: inject mail using 'sendmail' not SMTP
2014-08-12 11:18:45 +00:00
Joshua Tauberer
7b81ea1834
simplify zpush configuration files, no need to preserve copyright message
2014-08-12 11:12:10 +00:00
Joshua Tauberer
0eceb2012f
use php5-fpm rather than our own custom launcher script for PHP+FastCGI
2014-08-12 11:00:54 +00:00
Joshua Tauberer
1312b0254b
backup: dont remove old increments because then we lose the backup history right before the last full backup, instead let them disappear along with full backups when a whole chain becomes very old
2014-08-11 11:45:40 +00:00
Joshua Tauberer
f66914d634
backup: automatically take a full backup when the sum of the increments get very large
2014-08-11 11:38:32 +00:00
Joshua Tauberer
b6713d9a17
tools/mail.py should return a non-zero exit status when invalid command line args are given
2014-08-11 11:17:30 +00:00
Joshua Tauberer
58e300e113
backup must be full on the first run because incremental backup will fail, fixes #134
2014-08-11 07:16:58 -04:00
Joshua Tauberer
140c508ff6
increase dovecot imap_idle_notify_interval to 4 minutes
...
Doesn't seem like 2 minutes is a problem, but 4 minutes seems better. A little less bandwidth, possibly less battery usage (though we don't have evidence that's actually true), and the interval should be shorter than any peer timeouts that might occur due to inactivity
fixes #129
2014-08-10 11:39:29 +00:00
Joshua Tauberer
e294f7c181
create the Drafts folder for users so K-9 mail doesn't poll unnecessarily, see #129
2014-08-09 16:49:57 +00:00
Joshua Tauberer
b56f82cb92
make a privileges column in the users table and mark the first user as an admin
2014-08-08 12:31:22 +00:00
Joshua Tauberer
880ec44a0c
if the machine didn't have resolvconf before (my box didn't after an upgrade from Ubuntu 13.xx), make sure it has it now and archive any old resolv.conf since it should now only list 127.0.0.1 for bind9
2014-08-07 14:00:16 +00:00
Joshua Tauberer
5db12be507
migrate the migration state from MIGRATIONID in /etc/mailinabox.conf to STORAGE_ROOT/mailinabox.version so that the data format of STORAGE_ROOT is stored in the directory itself
2014-08-03 17:44:17 -04:00
Joshua Tauberer
64cb00b9d6
add reject_unlisted_recipient before greylisting, fixes #127
2014-08-03 00:06:54 +00:00
Joshua Tauberer
b86656243f
avoid mail.log warnings about untrusted certificates on outgoing mail, fixes #124
2014-08-02 15:39:47 +00:00
Joshua Tauberer
6a512042dc
after creating the local encrypted backup, execute the after-backup script if the user has provided one to copy the files to a remote location
2014-08-02 14:16:08 +00:00