|
| 1 | +- Payara application server has been upgraded to version 6.2024.12. |
| 2 | + |
| 3 | +## Installation |
| 4 | + |
| 5 | +Change Install instructions - tbd |
| 6 | + |
| 7 | +### Upgrade to Payara 6.2024.12 |
| 8 | + |
| 9 | +If you are running Payara as a non-root user (and you should be!), **remember not to execute the commands below as root**. Use `sudo` to change to that user first. For example, `sudo -i -u dataverse` if `dataverse` is your dedicated application user. |
| 10 | + |
| 11 | + |
| 12 | +1. Stop Payara 6, if running. |
| 13 | + |
| 14 | + `` |
| 15 | + sudo -u dataverse /usr/local/payara6/bin/asadmin stop-domain |
| 16 | + `` |
| 17 | +1. Move it to a backup directory |
| 18 | + |
| 19 | + `sudo -u dataverse mv /usr/local/payara6 /usr/local/payara6.old` |
| 20 | + |
| 21 | +1. Download Payara 6.2024.12 |
| 22 | + |
| 23 | + `curl -L -O https://nexus.payara.fish/repository/payara- community/fish/payara/distributions/payara/6.2024.12/payara-6.2024.12.zip` |
| 24 | + |
| 25 | +1. Unzip it to /usr/local (or your preferred location) |
| 26 | + |
| 27 | + `sudo unzip payara-6.2024.12.zip -d /usr/local/` |
| 28 | + |
| 29 | +1. Change ownership of the unzipped Payara to your "service" user ("dataverse" by default) |
| 30 | + |
| 31 | + `sudo chown -R dataverse /usr/local/payara6` |
| 32 | + |
| 33 | +1. Create a Dataverse-specific domain.xml file |
| 34 | + |
| 35 | + i. Move the existing domain.xml file to a backup location |
| 36 | + |
| 37 | + ``sudo -u dataverse cp /usr/local/payara6/glassfish/domains/domain1/config/domain.xml /usr/local/payara6/glassfish/domains/domain1/config/domain.xml.orig`` |
| 38 | + |
| 39 | + ii. Retrieve the domain.xml file for this version of Dataverse |
| 40 | + |
| 41 | + `curl https://github.com/IQSS/dataverse/raw/refs/tags/v6.6/conf/payara/domain.xml` |
| 42 | + |
| 43 | + |
| 44 | + iii. Move it into domain1 of your Payara 6.2024.12 install: |
| 45 | + |
| 46 | + `sudo -u dataverse cp domain.xml /usr/local/payara6/glassfish/domains/domain1/config/domain.xml` |
| 47 | + |
| 48 | + |
| 49 | + iv. Copy Dataverse-related lines from your existing domain.xml to sections of the new domain.xml highlighted by `Dataverse-instance-specific` comments |
| 50 | + |
| 51 | + `sudo egrep 'dataverse|doi|Xmx' /usr/local/payara5/glassfish/domains/domain1/config/domain.xml > lines.txt` |
| 52 | + |
| 53 | + `sudo vi /usr/local/payara6/glassfish/domains/domain1/config/domain.xml` |
| 54 | + |
| 55 | + |
| 56 | + The lines will appear in two sections, examples shown below (but your content will vary) |
| 57 | + |
| 58 | + |
| 59 | + Section 1: system properties (under `<server name="server" config-ref="server-config">` |
| 60 | + |
| 61 | + |
| 62 | + ``` |
| 63 | + <system-property name="dataverse.db.user" value="dvnuser"></system-property> |
| 64 | +
|
| 65 | + <system-property name="dataverse.db.host" value="localhost"></system-property> |
| 66 | +
|
| 67 | + <system-property name="dataverse.db.port" value="5432"></system-property> |
| 68 | +
|
| 69 | + <system-property name="dataverse.db.name" value="dvndb"></system-property> |
| 70 | +
|
| 71 | + <system-property name="dataverse.db.password" value="dvnsecret"></system-property> |
| 72 | +
|
| 73 | + ``` |
| 74 | + |
| 75 | + |
| 76 | + Note: if you used the Dataverse installer, you won't have a `dataverse.db.password` property. See "Create password aliases" below |
| 77 | + |
| 78 | + |
| 79 | + Section 2: JVM options (under `<java-config classpath-suffix="" debug-options="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9009" system-classpath="">`, the one under `<config name="server-config">`, not under `<config name="default-config">` |
| 80 | + |
| 81 | + |
| 82 | + Add the remaining lines (starting with `<jvm-options>` )from lines.txt created above, e.g. |
| 83 | + |
| 84 | + |
| 85 | + ``` |
| 86 | +
|
| 87 | + <jvm-options>-Ddataverse.files.directory=/usr/local/dvn/data</jvm-options |
| 88 | +
|
| 89 | + <jvm-options>-Ddataverse.files.file.type=file</jvm-options |
| 90 | +
|
| 91 | + <jvm-options>-Ddataverse.files.file.label=file</jvm-options |
| 92 | +
|
| 93 | + <jvm-options>-Ddataverse.files.file.directory=/usr/local/dvn/data</jvm-options |
| 94 | +
|
| 95 | + <jvm-options>-Ddataverse.rserve.host=localhost</jvm-options |
| 96 | +
|
| 97 | + <jvm-options>-Ddataverse.rserve.port=6311</jvm-options |
| 98 | +
|
| 99 | + <jvm-options>-Ddataverse.rserve.user=rserve</jvm-options |
| 100 | +
|
| 101 | + <jvm-options>-Ddataverse.rserve.password=rserve</jvm-options |
| 102 | +
|
| 103 | + <jvm-options>-Ddataverse.auth.password-reset-timeout-in-minutes=60</jvm-options |
| 104 | +
|
| 105 | + <jvm-options>-Ddataverse.timerServer=true</jvm-options |
| 106 | +
|
| 107 | + <jvm-options>-Ddataverse.fqdn=dev1.dataverse.org</jvm-options |
| 108 | +
|
| 109 | + <jvm-options>-Ddataverse.siteUrl=https://dev1.dataverse.org</jvm-options |
| 110 | +
|
| 111 | + <jvm-options>-Ddataverse.files.storage-driver-id=file</jvm-options |
| 112 | +
|
| 113 | + <jvm-options>-Ddoi.username=testaccount</jvm-options |
| 114 | +
|
| 115 | + <jvm-options>-Ddoi.password=notmypassword</jvm-options |
| 116 | +
|
| 117 | + <jvm-options>-Ddoi.baseurlstring=https://mds.test.datacite.org/</jvm-options |
| 118 | +
|
| 119 | + <jvm-options>-Ddoi.dataciterestapiurlstring=https://api.test.datacite.org</jvm-options |
| 120 | +
|
| 121 | + ``` |
| 122 | + |
| 123 | + - If you've enabled access logging or any other site-specific configuration, be sure to preserve them. For instance, the default domain.xml include |
| 124 | + |
| 125 | + |
| 126 | + ``` |
| 127 | +
|
| 128 | + <http-service |
| 129 | +
|
| 130 | + <access-log></access-log |
| 131 | +
|
| 132 | + ``` |
| 133 | + |
| 134 | + |
| 135 | + but you may wish to include |
| 136 | + |
| 137 | + |
| 138 | + ``` |
| 139 | +
|
| 140 | + <http-service access-logging-enabled="true" |
| 141 | +
|
| 142 | + <access-log format="%client.name% %datetime% %request% %status% %response.length% %header.user-agent% %header.referer% %cookie.JSESSIONID% %header.x-forwarded-for%"></access-log |
| 143 | +
|
| 144 | + ``` |
| 145 | + |
| 146 | + |
| 147 | + Be sure to keep a previous copy of your domain.xml for reference |
| 148 | + |
| 149 | + |
| 150 | +1. Update additional files from your existing Payara configuration |
| 151 | + |
| 152 | + i. Copy jhove files |
| 153 | + |
| 154 | + `jhove.conf` and `jhoveConfig.xsd` |
| 155 | + |
| 156 | + |
| 157 | + `sudo cp /usr/local/payara6.old/glassfish/domains/domain1/config/jhove* /usr/local/payara6/glassfish/domains/domain1/config/` |
| 158 | + |
| 159 | + ii. Replace the default `domain-passwords` files with yours |
| 160 | + |
| 161 | + |
| 162 | + `sudo cp /usr/local/payara6.old/glassfish/domains/domain1/config/domain-passwords /usr/local/payara6/glassfish/domains/domain1/config/` |
| 163 | + |
| 164 | + iii. Optional: add any dataverse specific lines in your existing logging.properties file to the default one |
| 165 | + |
| 166 | + `sudo vi /usr/local/payara6/glassfish/domains/domain1/config/logging.properties` |
| 167 | + |
| 168 | + iv. Assure all config files are owned by the dataverse user |
| 169 | + |
| 170 | + `sudo chown dataverse /usr/local/payara6/glassfish/domains/domain1/config/*` |
| 171 | + |
| 172 | +1. Copy/move logos and other files from from your old domain to the new one, e.g. |
| 173 | + |
| 174 | + |
| 175 | + `sudo -u dataverse mv -r /usr/local/payara6.old/glassfish/domains/domain1/docroot/logos /usr/local/payara6/glassfish/domains/domain1/docroot` |
| 176 | + |
| 177 | + `sudo -u dataverse mv -r /usr/local/payara6.old/glassfish/domains/domain1/docroot/sitemap /usr/local/payara6/glassfish/domains/domain1/docroot` |
| 178 | + |
| 179 | + `sudo -u dataverse mv -r /usr/local/payara6.old/glassfish/domains/domain1/files /usr/local/payara6/glassfish/domains/domain1` |
| 180 | + |
| 181 | + `sudo -u dataverse mv -r /usr/local/payara6.old/glassfish/domains/domain1/logs /usr/local/payara6/glassfish/domains/logs` |
0 commit comments