By: Miguel Foo user 18 Jul 2017 at 3:36 p.m. CDT

3 Responses
Miguel Foo gravatar
Heya, I'm interested in reskinning the login page and followed the instructions as per https://gluu.org/docs/ce/operation/custom-loginpage/ However, it talks about removing the gluu copywright by editing the `/opt/jetty-x.x/temp/jetty-localhost-xxxx-oxauth.war-_oxauth-any-1234.dir/webapp/WEB-INF/incl/layout` directly However, where should we put the layout if we want to have it available on server restart. As in, where should it placed in the `/custom` directory like the login/static content?

By Michael Schwartz Account Admin 18 Jul 2017 at 3:46 p.m. CDT

Michael Schwartz gravatar
Chris, I think this should be documented somewhere. If it's not clear, can you answer the question and then move to docs?

By Aliaksandr Samuseu staff 18 Jul 2017 at 4:14 p.m. CDT

Aliaksandr Samuseu gravatar
Hi, everybody. I think this may help in this case. Chris then could check whether docs outline the procedure correctly. Below is an actual working example of oxAuth's login page customization employing the new approach with `/opt/gluu/jetty/oxauth/custom/` directory. Here is directory structure in this case: ``` # ls -R /opt/gluu/jetty/oxauth/custom/ /opt/gluu/jetty/oxauth/custom/: pages static /opt/gluu/jetty/oxauth/custom/pages: WEB-INF login.xhtml /opt/gluu/jetty/oxauth/custom/pages/WEB-INF: incl /opt/gluu/jetty/oxauth/custom/pages/WEB-INF/incl: layout /opt/gluu/jetty/oxauth/custom/pages/WEB-INF/incl/layout: template.xhtml /opt/gluu/jetty/oxauth/custom/static: img stylesheet /opt/gluu/jetty/oxauth/custom/static/img: /opt/gluu/jetty/oxauth/custom/static/stylesheet: theme.css ``` As you see, everything placed under `/opt/gluu/jetty/oxauth/custom/pages` is mapped to root directory of unpacked oxauth.war (which is somewhere below `/opt/jetty-9.3/temp/` in 3.x and exact path is changed constantly). In this case it's here: ``` # ll /opt/jetty-9.3/temp/jetty-localhost-8081-oxauth.war-_oxauth-any-7705277461446828248.dir/webapp/ total 100 drwxrwxr-x 3 jetty jetty 4096 Jul 3 13:34 META-INF drwxrwxr-x 5 jetty jetty 4096 Jul 3 13:34 WEB-INF drwxrwxr-x 19 jetty jetty 4096 Jul 3 13:34 auth -rw-rw-r-- 1 jetty jetty 2288 Feb 24 08:35 authorize.page.xml -rw-rw-r-- 1 jetty jetty 4472 Feb 23 08:19 authorize.xhtml -rw-rw-r-- 1 jetty jetty 1405 Feb 24 08:35 cert-login.page.xml -rw-rw-r-- 1 jetty jetty 294 Feb 6 10:41 cert-login.xhtml -rw-rw-r-- 1 jetty jetty 326 Feb 24 08:35 error.page.xml -rw-rw-r-- 1 jetty jetty 983 Feb 23 08:19 error.xhtml -rw-rw-r-- 1 jetty jetty 342 Feb 24 08:35 error_service.page.xml -rw-rw-r-- 1 jetty jetty 983 Feb 23 08:19 error_service.xhtml drwxrwxr-x 2 jetty jetty 4096 Jul 3 13:34 img -rw-rw-r-- 1 jetty jetty 64 Feb 6 10:41 index.jsp drwxrwxr-x 3 jetty jetty 4096 Jul 3 13:34 js -rw-rw-r-- 1 jetty jetty 1487 Feb 24 08:35 login.page.xml -rw-rw-r-- 1 jetty jetty 7651 Feb 23 08:19 login.xhtml -rw-rw-r-- 1 jetty jetty 693 Feb 24 08:35 logout.page.xml -rw-rw-r-- 1 jetty jetty 499 Feb 6 10:41 logout.xhtml -rw-rw-r-- 1 jetty jetty 332 Feb 24 08:35 opiframe.page.xml -rw-rw-r-- 1 jetty jetty 1436 Feb 23 08:19 opiframe.xhtml -rw-rw-r-- 1 jetty jetty 729 Feb 24 08:35 postlogin.page.xml -rw-rw-r-- 1 jetty jetty 294 Feb 6 10:41 postlogin.xhtml drwxrwxr-x 2 jetty jetty 4096 Jul 3 13:34 stylesheet ``` Please note directory structure here too. So `/opt/gluu/jetty/oxauth/custom/pages/login.xhtml` will override the `login.xhtml` from the exploded .war archive there, and so will do `/opt/gluu/jetty/oxauth/custom/pages/WEB-INF/incl/layout/template.xhtml`. Thus in case new oxauth.war will be deployed later, or service will be restarted, and current archive will get re-exploded, customizations will be still in place. It's a bit different for `/opt/gluu/jetty/oxauth/custom/static/` dir though. As doc already says, this dir is mapped to `ext/resources/` path of url. So, for example, this css file there - `/opt/gluu/jetty/oxauth/custom/static/stylesheet/theme.css` - when referenced in pages' sources, will need to look like this: `/oxauth/ext/resources/stylesheet/theme.css`

By Miguel Foo user 19 Jul 2017 at 9:46 a.m. CDT

Miguel Foo gravatar
That worked! You guys always on the quick replys, thanks!