| 216 | |
| 217 | |
| 218 | |
| 219 | == Install Grouper UI == |
| 220 | |
| 221 | 1. Download and copy the UI to /tmp/ on grinnell. The tarball is located at http://www.internet2.edu/grouper/release/2.1.4/grouper.ui-2.1.4.tar.gz. |
| 222 | |
| 223 | 2. Extract into /srv/grouper/grouper.ui-2.1.4. |
| 224 | |
| 225 | {{{ |
| 226 | [root@grinnell grouper]# cd /srv/grouper |
| 227 | [root@grinnell grouper]# cp /tmp/grouper.ui-2.1.4.tar.gz . |
| 228 | [root@grinnell grouper]# gunzip grouper.ui-2.1.4.tar.gz |
| 229 | [root@grinnell grouper]# tar xf grouper.ui-2.1.4.tar |
| 230 | [root@grinnell grouper]# cd grouper.ui-2.1.4 |
| 231 | [root@grinnell grouper.ui-2.1.4]# |
| 232 | }}} |
| 233 | |
| 234 | 3. Create build.properties (based on build.properties.template). |
| 235 | |
| 236 | {{{ |
| 237 | [root@grinnell grouper.ui-2.1.4]# cp build.properties.template build.properties |
| 238 | }}} |
| 239 | |
| 240 | And then set the property for grouper.folder: |
| 241 | |
| 242 | {{{ |
| 243 | grouper.folder=../grouper.api-2.1.4 |
| 244 | }}} |
| 245 | |
| 246 | Finally, uncomment the property to use a local log4j configuration file. |
| 247 | |
| 248 | {{{ |
| 249 | use.local.log4j=true |
| 250 | }}} |
| 251 | |
| 252 | 4. Copy the log4j.properties file from the API install into the UI directory. Then customize it. |
| 253 | |
| 254 | {{{ |
| 255 | [root@grinnell grouper.ui-2.1.4]# cp /srv/grouper/grouper.api-2.1.4/conf/log4j.properties . |
| 256 | }}} |
| 257 | |
| 258 | As far as customizations go, for now just replace all instances of ${grouper.home} with /usr/share/tomcat/. This is so that Grouper logs generated by the UI are placed in /usr/share/tomcat/logs. |
| 259 | |
| 260 | 5. Build the WAR file by simply running 'ant war'. |
| 261 | |
| 262 | {{{ |
| 263 | [root@grinnell grouper.ui-2.1.4]# ant war |
| 264 | Buildfile: build.xml |
| 265 | |
| 266 | war: |
| 267 | |
| 268 | dist: |
| 269 | |
| 270 | -setup: |
| 271 | |
| 272 | -choose-webapp: |
| 273 | [propertyfile] Updating property file: /srv/grouper/grouper.ui-2.1.4/.lastbuild.properties |
| 274 | [echo] In setup - do.clean = true cleanable=${webapp.folder.cleanable} |
| 275 | |
| 276 | -doStop: |
| 277 | |
| 278 | -doCleanWebappClassFolder: |
| 279 | [echo] Removing /srv/grouper/grouper.ui-2.1.4/dist/grouper/WEB-INF/classes |
| 280 | [delete] Deleting directory /srv/grouper/grouper.ui-2.1.4/dist/grouper/WEB-INF/classes |
| 281 | |
| 282 | -doClean: |
| 283 | [echo] Removing /srv/grouper/grouper.ui-2.1.4/dist/grouper |
| 284 | [delete] Deleting directory /srv/grouper/grouper.ui-2.1.4/dist/grouper |
| 285 | [delete] Deleting directory /srv/grouper/grouper.ui-2.1.4/dist |
| 286 | [delete] Deleting directory /srv/grouper/grouper.ui-2.1.4/temp |
| 287 | [mkdir] Created dir: /srv/grouper/grouper.ui-2.1.4/temp |
| 288 | |
| 289 | -resources: |
| 290 | [echo] In resources - Build folder = /srv/grouper/grouper.ui-2.1.4/dist/grouper |
| 291 | |
| 292 | -dist-grouper: |
| 293 | [echo] Creating /srv/grouper/grouper.ui-2.1.4/dist/grouper |
| 294 | [mkdir] Created dir: /srv/grouper/grouper.ui-2.1.4/dist/grouper |
| 295 | [mkdir] Created dir: /srv/grouper/grouper.ui-2.1.4/dist/grouper/WEB-INF/classes |
| 296 | [mkdir] Created dir: /srv/grouper/grouper.ui-2.1.4/dist/grouper/WEB-INF/lib |
| 297 | [echo] Copying Grouper configuration files to /srv/grouper/grouper.ui-2.1.4/dist/grouper/WEB-INF/classes |
| 298 | [copy] Copying 24 files to /srv/grouper/grouper.ui-2.1.4/dist/grouper/WEB-INF/classes |
| 299 | |
| 300 | -local-log4j: |
| 301 | [copy] Copying 1 file to /srv/grouper/grouper.ui-2.1.4/dist/grouper/WEB-INF/classes |
| 302 | |
| 303 | -fix-grouper-home: |
| 304 | [echo] Attempting to replace grouper.home with /srv/grouper/grouper.ui-2.1.4/../grouper.api-2.1.4/ |
| 305 | [echo] Copying ui resources to /srv/grouper/grouper.ui-2.1.4/dist/grouper/WEB-INF/classes/resources |
| 306 | [mkdir] Created dir: /srv/grouper/grouper.ui-2.1.4/dist/grouper/WEB-INF/classes/resources |
| 307 | [copy] Copying 8 files to /srv/grouper/grouper.ui-2.1.4/dist/grouper/WEB-INF/classes/resources |
| 308 | |
| 309 | -additional-build: |
| 310 | |
| 311 | -optional-conf: |
| 312 | |
| 313 | -webapp: |
| 314 | [delete] Deleting directory /srv/grouper/grouper.ui-2.1.4/temp |
| 315 | [mkdir] Created dir: /srv/grouper/grouper.ui-2.1.4/temp |
| 316 | |
| 317 | -compileGrouper: |
| 318 | [mkdir] Created dir: /srv/grouper/grouper.ui-2.1.4/temp/jarBin |
| 319 | [javac] Compiling 264 source files to /srv/grouper/grouper.ui-2.1.4/temp/jarBin |
| 320 | [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.5 |
| 321 | [javac] Note: Some input files use or override a deprecated API. |
| 322 | [javac] Note: Recompile with -Xlint:deprecation for details. |
| 323 | [javac] Note: Some input files use unchecked or unsafe operations. |
| 324 | [javac] Note: Recompile with -Xlint:unchecked for details. |
| 325 | [javac] 1 warning |
| 326 | [jar] Building jar: /srv/grouper/grouper.ui-2.1.4/dist/grouper/WEB-INF/lib/grouper-ui.jar |
| 327 | |
| 328 | -additional-build: |
| 329 | [copy] Copying 115 files to /srv/grouper/grouper.ui-2.1.4/dist/grouper/WEB-INF/lib |
| 330 | [copy] Copying 5 files to /srv/grouper/grouper.ui-2.1.4/dist/grouper/WEB-INF/lib |
| 331 | |
| 332 | -copyContent: |
| 333 | [echo] Copying core UI files to /srv/grouper/grouper.ui-2.1.4/dist/grouper |
| 334 | [copy] Copying 604 files to /srv/grouper/grouper.ui-2.1.4/dist/grouper |
| 335 | [echo] Processing web.xml |
| 336 | [copy] Copying 1 file to /srv/grouper/grouper.ui-2.1.4/temp |
| 337 | [echo] web.xmls.isempty=:${web.xmls.isempty}: |
| 338 | |
| 339 | -merge-xmls: |
| 340 | [echo] temp.dir : /srv/grouper/grouper.ui-2.1.4/temp |
| 341 | [echo] final.web.xmls : ${final.web.xmls} |
| 342 | [echo] ui.folder : /srv/grouper/grouper.ui-2.1.4 |
| 343 | [echo] webapp.folder : /srv/grouper/grouper.ui-2.1.4/dist/grouper |
| 344 | [copy] Copying 1 file to /srv/grouper/grouper.ui-2.1.4/temp |
| 345 | [copy] Copying 1 file to /srv/grouper/grouper.ui-2.1.4/temp |
| 346 | [echo] Transforming: /srv/grouper/grouper.ui-2.1.4/temp/50.web.core.xml |
| 347 | [echo] /srv/grouper/grouper.ui-2.1.4/temp/60.web.ajax.xml |
| 348 | [echo] /srv/grouper/grouper.ui-2.1.4/temp/99.web.core-filters.xml |
| 349 | [echo] |
| 350 | [echo] |
| 351 | [echo] Base = /srv/grouper/grouper.ui-2.1.4/temp/50.web.core.xml |
| 352 | [echo] + /srv/grouper/grouper.ui-2.1.4/temp/60.web.ajax.xml |
| 353 | [echo] -> /srv/grouper/grouper.ui-2.1.4/temp/web.1.xml |
| 354 | [echo] |
| 355 | [echo] Base = /srv/grouper/grouper.ui-2.1.4/temp/web.1.xml |
| 356 | [echo] + /srv/grouper/grouper.ui-2.1.4/temp/99.web.core-filters.xml |
| 357 | [echo] -> /srv/grouper/grouper.ui-2.1.4/dist/grouper/WEB-INF/web.xml |
| 358 | [echo] Result: 0 |
| 359 | |
| 360 | -copy-core-web-xml: |
| 361 | |
| 362 | -copyContextXmlToMetaInf: |
| 363 | [copy] Copying 1 file to /srv/grouper/grouper.ui-2.1.4/dist/grouper/META-INF |
| 364 | |
| 365 | -copyContextXmlToTomcat: |
| 366 | |
| 367 | -html: |
| 368 | |
| 369 | -war: |
| 370 | [echo] Creating /srv/grouper/grouper.ui-2.1.4/dist/grouper.war |
| 371 | [jar] Building jar: /srv/grouper/grouper.ui-2.1.4/dist/grouper.war |
| 372 | |
| 373 | -web: |
| 374 | [echo] **************************************************** |
| 375 | [echo] ** The Grouper UI will fail to start if the user ** |
| 376 | [echo] ** which your application server runs as does not ** |
| 377 | [echo] ** have permission to write to the log files that ** |
| 378 | [echo] ** are configured in log4j.properties. See ** |
| 379 | [echo] ** build.properties for more information ** |
| 380 | [echo] **************************************************** |
| 381 | |
| 382 | BUILD SUCCESSFUL |
| 383 | Total time: 24 seconds |
| 384 | [root@grinnell grouper.ui-2.1.4]# |
| 385 | }}} |
| 386 | |
| 387 | 5. Copy WAR to Tomcat. |
| 388 | |
| 389 | {{{ |
| 390 | [root@grinnell grouper.ui-2.1.4]# cp /srv/grouper/grouper.ui-2.1.4/dist/grouper.war /usr/share/tomcat6/webapps/ |
| 391 | }}} |