Re: Running James without docker: broken link
cryptearth <[email protected]>
| Newsgroups | gmane.comp.jakarta.james.user |
|---|---|
| Message-ID | <[email protected]> |
Hello Rene, ah, I see. Sure, as Java 11 is current LTS it makes sense to set it as requirement instead of Java 9 or Java 10. And it doesn't require tweaking to have the correct root certificate to make it work but works out of the box. I only still use Java 8 because, as said, someone mentioned that James isn't meant to be ready yet to be used with anything newer (if I remember I had some issues after upgrade from leap 42.3 to 15.0) - I'll give it a try with at least Java 11 at see how it performs. Matt Am 02.03.2020 um 09:58 schrieb Rene Cordier: > Hello Matt, > > Yes the "release" option has been introduced from Java9, it's correct. > But well Java9 and 10 being out of support already, we upgraded to > Java 11. Regarding the why, I believe this was the reason: > https://github.com/linagora/james-project/pull/2511 > > Using the release flag allowed us to get rid of the animal-sniffer > plugin and get faster compilation time. > > We did try to do a complete move a while ago to Java11 but I think > there was some issue, perhaps because we needed to bump up Spring, not > sure to remember well. We might need to dig deeper into it. > > Rene. > > On 02/03/2020 14:06, cryptearth wrote: >> Hello Rene, >> >> in fact I used a jdk11 for my test. I just asked Google for the error >> message about the unrecognized parameter "--release", wich seem to be >> added by Java 9. Also I just thought it's an issue with the maven >> version installed on the system I used for the test. As I just looked >> through the pom.xml I guess the reason is that for the >> maven-compiler-plugin the option "release" was added. >> I tried to compile with jdk9 - and it just failed to the end as >> registry-1.docker.io uses a certificate signed by a CA not part of >> jdk9. But this was an easy fix to just point the >> jdk9/lib/security/cacerts to /var/lib/ca-certificates/java-cacerts > >> mvn package went fine. I also just removed the "release" tag from >> pom.xml and was able to compile with jdk8. So, technically when done >> correctly building can be done with jdk8 - sure, otherwise targeting >> java8 for runtime wouldn't work. >> Aside from that tinkering with jdk and the pom.xml to fix the >> requirement for jdk11 for compiling, is there some other reason why >> it was done that way? Also, is James ready now to be used with >> anything newer than Java 8? Last time I think Benoit was it who >> mentioned that for some reason James is only supposed to be run with >> Java 8 - can't remember. >> >> Matt >> >> Am 02.03.2020 um 03:19 schrieb Rene Cordier: >>> Hello Alexei, >>> >>> The correct page of that broken link would be >>> https://james.apache.org/server/install.html (which I see has been >>> fixed in the code but not deployed, sorry). >>> >>> But the install page seems not even updated to 3.4.0 (still 3.3.0). >>> I will try to see what can be done regarding that. Thanks for the >>> report and concern ! >>> >>> Meanwhile you can follow Matt's guideline, it looks pretty accurate >>> to me (thanks Matt). The thing I would like to add is that with >>> James 3.4.0, you need to compile it with Java11 now (but we still >>> target the build to run on Java8). >>> >>> If any other issue, don't hesitate to write an other mail, or ask a >>> question on the gitter of the project too >>> (https://gitter.im/apache/james-project). >>> >>> Best regards, >>> Rene. >>> >>> On 02/03/2020 04:02, cryptearth wrote: >>>> Hello Alexei, >>>> >>>> here's a short how I do it: >>>> >>>> 1.) clone stable git head, like current for 3.4, into its specific >>>> directory: git clone --branch james-project-3.4.0 >>>> https://github.com/apache/james-project.git james-3.4.0 >>>> 2.) build it but skipping tests (cause some fail and it saves a lot >>>> of time - they're not needed for just use it): mvn -DskipTests package >>>> 2.) a) maybe a maven version related issue on my side - but I got >>>> an issue about "--parameter" not a valid parameter for the java >>>> compiler - but if you also get this error (pretty early on) make >>>> sure to use a Java 9+ compiler or an older maven >>>> 2.) b) you can try to run James 3.4 with Java 9+, but if I remember >>>> correctly someone told me that Java 3.3 is still to be run with >>>> only Java 8 - I don't know about James 3.4 >>>> 2.) c) you may hit the limit for open files - in that case increase >>>> the limits and re-log >>>> 3.) after successful compiling and packaging you'll find the >>>> non-docker server in <path to local cloned git >>>> repo>/server/app/target/james-server-app-3.4.0-app.tar.gz (or .zip >>>> - don't know why it's packaged into two different package styles - >>>> as on unix .tar.gz is common - guess the .zip is for any of those >>>> not so familiar with .tar.gz (windows users?)) - just copy this one >>>> to to folder you want your James to be "installed" and unpack it (I >>>> just copied und unpacked it in user home) >>>> 4.) you should have a look at some of the config files: some are >>>> quite important, some are just to "fancy up" your James, it depends >>>> on how you want to run your James (as an example: as I use MariaDB >>>> I had to manual add its driver to the <path-to-james>/conf/lib >>>> folder and set database access credentials (and type) in >>>> <path-to-james>/conf/james-database.properties - also I edit some >>>> other settings) >>>> 5.) after all configs are the way you like them just start james as >>>> root (required for at least TCP/25 to receive mails from other >>>> MTAs) by: <path-to-james>/bin/james start >>>> 5.) a) if you encounter issues you can either have a look at the >>>> log <path-to-james>/log/wrapper.log - or run James in an >>>> interactive console style: <path-to-james>/bin/james console >>>> 6.) after the server start up successful you have to add at least >>>> one domain: <path-to-james>/bin/james-cli.sh -h localhost AddDomain >>>> your-domain.example >>>> 7.) after you added your domain you should at least add a >>>> postmaster user: <path-to-james>/bin/james-cli.sh -h localhost >>>> AddUser [email protected] securepassword >>>> >>>> That's pretty much it. Hope it helps you to get James running in >>>> non-docker mode. If you need help with the configs just go them >>>> through step by step, they're well documented. I would recommend to >>>> at least enable SMTP AUTH (and disable the default access control >>>> as it's explained by the docs) to prevent your server become an >>>> open relay. >>>> >>>> >>>> greetings from Germany, >>>> >>>> Matt >>>> >>>>> Hello, >>>>> >>>>> I've wanted to try James without docker but the link >>>>> "https://james.apache.org/install.html" from James main site >>>>> ("https://james.apache.org/") points to an invalid page (404 Not >>>>> found). >>>>> >>>>> Could you please point to a correct place with the instruction? >>>>> >>>>> >>>>> The broken link is located in the section "Get Started With James" >>>>> - "ALTERNATIVES" on https://james.apache.org/ >>>>> >>>>> >>>>> Best regards, >>>>> >>>>> Alexei Osipov. >>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: [email protected] >>>>> For additional commands, e-mail: [email protected] >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: [email protected] >>>> For additional commands, e-mail: [email protected] >>>> >>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] >