You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-user@james.apache.org by Marc Chamberlin <ma...@marcchamberlin.com> on 2016/12/01 01:57:37 UTC

Upgrading from 2.3.1 to 3.0Beta5

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.

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.


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


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.


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.  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 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? 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...

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...


Thanks in advance for any and all offers to help me along, and I hope 
this feedback will be useful as the team moves towards the 3.0 release.

      Marc...



---------------------------------------------------------------------
To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
For additional commands, e-mail: server-user-help@james.apache.org


Re: Upgrading from 2.3.1 to 3.0Beta5

Posted by Matthieu Baechler <mb...@linagora.com>.
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-unsubscribe@james.apache.org
For additional commands, e-mail: server-user-help@james.apache.org


Re: Upgrading from 2.3.1 to 3.0Beta5

Posted by Marc Chamberlin <ma...@marcchamberlin.com>.
On 11/30/2016 5:57 PM, Marc Chamberlin wrote:
> 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.
>
> 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.
>
>
> 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
>
>
> 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.
>
>
> 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.  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 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? 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...
>
> 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...
>
>
> Thanks in advance for any and all offers to help me along, and I hope 
> this feedback will be useful as the team moves towards the 3.0 release.
>
>      Marc...
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
> For additional commands, e-mail: server-user-help@james.apache.org
>
>

Ping?

-- 
"The Truth is out there" - Spooky


---------------------------------------------------------------------
To unsubscribe, e-mail: server-user-unsubscribe@james.apache.org
For additional commands, e-mail: server-user-help@james.apache.org