Hi Marc,
Sorry for the delay, I was not working on James for some days.
Le 01/12/2016 à 02:57, Marc Chamberlin a écrit :
Hi guys, I am attempting to upgrade our James 2.3.1 version of the
server to the just released 3.0Beta 5 since we are anxious to provide
an IMAP server. And I have to admit that I am having all kinds of
troubles figuring out how to do so. Much of the documentation seems to
be very incomplete, poorly written, and has lots of grammatical errors
making comprehension even more challenging. That said, I have made
progress and even have managed to get the new server up and running,
albeit without enabling any of the IMAP, SMTP or POP3 services yet. I
will report where I am at, troubles I have encountered, and what I
have done to workaround things or am just plain stumped. If this is
not the right forum for me to report/ask questions about installing
3.0 please redirect me to the right place.
It is the right place to talk about that, but PRs or Issues with link to
actual problems are always better to receive than rants. We'll talk
about specific problems mentioned below.
1. The first major problem I have encountered is that according to the
instructions at https://james.apache.org/server/3/config-system.html
it talks about the spring-server.xml file and states
"In James distribution, the spring files are located under
conf/context folder and splitted into a main file
(james-server-context.xml) which imports 4 other files (1 per mailbox
type): james-mailbox-jcr-context.xml, james-mailbox-jpa-context.xml,
james-mailbox-maildir-context.xml, james-mailbox-memory-context.xml."
I cannot locate any of these files and it appears that they were not
included in the zip file that I downloaded. It appears, from other
docs that I may need to configure these in regards to my database
setup, but for now I am just punting on this and assuming that there
is a default configuration in the jar files somewhere else.
I won't help you on spring, we try to maintain it on a working state but
won't spend time documenting or trying to dig into its code. We rather
use guice products that are way easier to manage for us.
People interested in using spring can do the job, we won't try to get
ride of it if there's some interest.
If you want to try the guice version, we can definitely help.
2. This second issue is mostly a heads up/FYI but it cost me a lot of
time trying to figure out what the problems were and track down so
this ought to get fixed. On the website at
https://james.apache.org/server/3/config.html it states -
"We ship with default configuration (embedded in jars) and -template
files you can use to override the default configuration. Simply copy
in conf folder *-template.xml to *.xml (example:
smtpserver-template.xml to smtpserver.xml), and change in *.xml the
settings to map your needs."
I do not believe this is true. There are a number of these template
configuration files for which I HAD to remove the "-template" portion
of the name in order for me to get the server up and running. So I am
going to presume that for at least the following set of these config
files there is NOT a default. (Incidentally, it is very difficult to
grok the exception messages and stack walk backs to understand what
was going wrong and I am not certain that I have captured all of these
in my report here...)
indexer-template.xml
quota-template.xml
events-template.xml
managesieveserver-template.xml
Configuration in dockerfiles/run/* are working quite well, it's what we
use to produce our docker images.
We know that there's too many config file in the source tree but didn't
found the time to do a clean-up yet.
3. Another heads up/FYI. On the website at
https://james.apache.org/server/3/config-mailrepositorystore.html it
states -
"If the administrator wants to configure a database other than MySQL,
it will be necessary to add the jar or zip file containing the JDBC
driver classes to the lib subdirectory of the installation directory."
Again I am going to say this is not true. (Maybe for Derby?) I am
going to want to use MySQL as I have it tied in with my Apache Tomcat
server to better manage mail users and list members via a servlet. I
had a devil of a time figuring out that I needed the
mysql-connector-java-5.1.28-bin.jar and where to find it. But without
it, trying to get the server up and running failed. It would be very
helpful to mention where one can get connectors for the different
kinds of databases commonly used/supported, IMHO.
We are not very experienced about that neither, sorry. Feel free to
propose a PR to fix the doc.
4. Now I am stuck on this last issue, trying to grok the instructions
at http://james.apache.org/server/3/upgrade-2.3.html First of all
someone needs to re-write this page, the English and grammar is pretty
bad and confusing.
Sorry, but it's free software, this "someone" doesn't exist, it's just
an alias for "nobody". Most people are not english native and maybe you
are more skilled than us to fix that.
My first issue is that in 2.3.1 I used the MySQL database to store
user information. There is no description of what I need to do to
migrate said information into 3.0. The example and file shows how to
do this if one were using files to store user information, but not for
a database.
I think some people worked on migration in the past. It's clearly out of
scope for the 3.0 at the moment. I'd rather handle that as a 3.1 feature.
I am confused however, do I even need to do this? My experimentation
seems to imply that I do, since I cannot get the CLI or JMX console to
correctly respond to a listusers command, but why?
I use listusers frequently, what's your problem ?
Did the database schema change for 3.0? And if I do manage to get this
migration step to work, will I ruin the database and make it unusable
for James 2.3.1 to use it, should I need to drop back to it?
Also, it is not totally clear what I need to do about the actual mail
store. Do I just copy the user directories over into the 3.0 server
space? From what I am reading it does not sound like it will be that
simple... So I need the details of what to do here...
We don't have the time to do the analysis about that, it's why I suggest
to delay migration tasks after 3.0.
One last thought, I have never used a JMX console before, it might be
helpful to supply a little more details/examples for us newbies to
that tool...
There's plenty of tutorial about JMX on the web. There's not much to do
to have it working, james listens on port 9999 on localhost, if you run
a jmx tool on the same host, it's just a matter of having it connected.
Regards
--
Matthieu Baechler
---------------------------------------------------------------------
To unsubscribe, e-mail: server-user-unsubscr...@james.apache.org
For additional commands, e-mail: server-user-h...@james.apache.org