I basically (re)wrote the instructions for SSL+nginx a couple of weeks ago. 

See this instruction page: 
http://platform.xwiki.org/xwiki/bin/view/AdminGuide/InstallationTomcat#Hhttps28secure29
 
<http://platform.xwiki.org/xwiki/bin/view/AdminGuide/InstallationTomcat#Hhttps28secure29>

Based on information gleaned from this bug: 
http://jira.xwiki.org/browse/XWIKI-13963 
<http://jira.xwiki.org/browse/XWIKI-13963>

Looks like you skipped this from your install:

First, you will need to add the following config to tomcat's server.xml 
(located at /etc/tomcat8/server.xml on Ubuntu 16.04). The first line should 
already be in the file, I include it to give you something to search for (that 
line is located on line 108 in the Ubuntu 16.04 tomcat8 package). This will 
help tomcat find your proxy headers.

<Engine name="Catalina" defaultHost="localhost">
  <Valve className="org.apache.catalina.valves.RemoteIpValve"
    internalProxies="127\.0\.[0-1]\.1"
    remoteIpHeader="x-forwarded-for"
    requestAttributesEnabled="true"
    protocolHeader="x-forwarded-proto"
    protocolHeaderHttpsValue="https"/>
I hope this helps,
Craig

> On Apr 28, 2017, at 9:09 PM, Douglas Landau <dougl...@westmarine.com> wrote:
> 
> John,
> 
> As far as I know it might be my own instructions.  :-)   They will get you a 
> successful install/running MySQL+XWiki-8.4.4(WAR)+Tomcat+NGINX on CentOS-7.   
> But my own XWiki is still under construction and there are at least a few 
> loose ends left to be addressed before I can announce it.  For example:
> 
> - I got LDAP auth working and yesterday I got, at length, 
> XWiki-group-sync-from-AD working.  So now when I log in using my AD 
> credentials, because I'm in the Admins AD group, I am a member of the 
> XWikiAdminGroup group.  I don't know if there is anything special built-in to 
> that group, or if it's just a name chosen as an example.  I see it has full 
> rights to some pages and not others and now don't remember if I granted the 
> ones that exist, or if it came that way.   In any case I made a lot of groups 
> yesterday and now cannot remove some.  Maybe all, not sure.  I can add them 
> but if I remove them and then refresh they come back, and I get this in the 
> logs:
> 
> 2017-04-28 12:31:41,492 
> [http://dwswiki10.westmarine.net:8080/xwiki/bin/admin/XWiki/XWikiPreferences?xpage=deleteuorg&docname=XWiki.Application+Development&form_token=whLkhIQlmWnx4c7FHacGdA]
>  WARN  o.x.c.i.DefaultCSRFToken       - CSRFToken: Secret token verification 
> failed, token: "whLkhIQlmWnx4c7FHacGdA", stored token: 
> "mdkkxCCQAFB4fwoqoceMYw"
> 
> - I don't have usable startup and shutdown scripts working.  The files are 
> owned by the user xwiki and to run as the same user I've been starting and 
> stopping it with "cd /data/tomcat;  sudo -u xwiki bin/startup.sh" and "sudo 
> -u xwiki bin/shutdown.sh".   The Tomcat docs say to use jsvc but their 
> example doesn't pick up bin/setenv.sh, and blah blah blah.  I guess I need to 
> merge that script into the suggested jsvc usage, and then use the option that 
> switches who it's running as, even tho I don't need to do this stuff to make 
> it run on port 80, I just want it to run as xwiki.  I guess I'll just let 
> NGINX run as root, not sure yet.
> 
> - The HTTP -> HTTPS redirection doesn't seem to work as I expected/would like 
> and I'm not sure I'm doing it right.  I have this in my xwiki.cfg:   
> xwiki.url.protocol=https  ...but I'm not sure that's the right way to go 
> about it.  I see the bit on the XWiki InstallationTomcat page about Let's 
> Encrypt but glanced at that page and it seemed like it was about creating 
> certs and didn't understand how it relates.
> Today my NGINX is not working; not sure why.  It -was-.  Last week I stuck 
> this in there:      return 301 https://$host$request_uri;
> ... but now it's commented out.  Think I got it from 
> https://www.bjornjohansen.no/redirect-to-https-with-nginx  which makes it 
> sound great but I then commented it out and don't remember why.
> Seems to me that the best place for the redirection to happen would be at the 
> NGINX layer.
> 
> - There is a "server" section for port 80 and another for 443 in 
> conf/nginx.conf.  As per the InstallationTomcat page I added the dir conf.d 
> and inside it tomcat.conf, with similar sections.  I dunno if I should go and 
> comment out the server sections in conf/nginx.conf.
> 
> 
> - I get this error in catalina.out, and dunno why or what I'm going to do:
> 27-Apr-2017 19:00:57.513 INFO [main] 
> org.apache.catalina.startup.VersionLoggerListener.log Command line argument: 
> -XX:MaxPermSize=192m
> OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=192m; support 
> was removed in 8.0
> 
> ... if I remember correctly, wherever it was I saw that, that place said it 
> was important!  Oh yeah, it too was on this page:
> http://platform.xwiki.org/xwiki/bin/view/AdminGuide/InstallationTomcat
> 
> 
> - I get this message in the logs and dunno what to do about it:
> 
> 27-Apr-2017 14:56:48.633 SEVERE [localhost-startStop-2] 
> org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks 
> The web application [xwiki] created a ThreadLocal with key of type 
> [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@38058fb1]) and a value 
> of type [java.util.Stack] (value 
> [[org.xwiki.context.ExecutionContext@c0f4827]]) but failed to remove it when 
> the web application was stopped. Threads are going to be renewed over time to 
> try and avoid a probable memory leak.
> 
> I get these in my logs and dunno what to do about it:
> 27-Apr-2017 22:02:09.501 INFO [localhost-startStop-1] 
> org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned 
> for TLDs yet contained no TLDs. Enable debug logging for this logger for a 
> complete list of JARs that were scanned but no TLDs were found in them. 
> Skipping unneeded JARs during scanning can improve startup time and JSP 
> compilation time.
> 
> 
> - I get this in my logs and don't understand it... I dunno what 
> java.library.path is, all I know is this:
> 
> 27-Apr-2017 14:43:24.720 INFO [main] 
> org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based 
> Apache Tomcat Native library which allows optimal performance in production 
> environments was not found on the java.library.path: 
> /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
> 
> ... I don't understand it, all I know is:
> 
> [root@dwswiki10 tomcat]# which java
> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64/jre/bin/java
> 
> Setting JAVA_HOME in this way:
> export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
> ...yields this:
> [root@dwswiki10 tomcat]# echo $JAVA_HOME
> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64/jre/
> 
> 
> I'm procrastinating dealing with these issues at the moment and starting to 
> try to push the UI into shape.  I think our old wiki was using the spaces 
> extension, or is it a macro, and that's no longer the correct thing to do, 
> now that nested pages have replaced spaces, I guess... Vincent says, on the 
> spaces extension page, to use the Document Tree macro instead,  so I guess 
> I'll install that now and try using it.
> 
> Finally, looking at them today, I see a few places where the instructions 
> need minor editing:
> - I say something about xwiki.preferences.redirect but am not sure if I 
> should have that in there or not, part of my http->https redirection confusion
> - I set the "permanentDirectory" setting in xwiki.properties to get the 
> attachments out of the DB and out of the application tree.  I don't see that 
> mentioned in the instructions.  Before I set it, I did fire up the wiki, so 
> there was stuff that needed to be moved, and when I moved it, and restarted, 
> I had brought some problems down upon myself.  I struggled with it for a 
> short while and then started over by removing the xwiki database, recreating 
> it, and repeating the setup I had done to that point.  Anyway I have to get 
> that into the doc.
> - I no longer think that the JAVA_HOME needs to be set in anyone's .bashrc; 
> that is now done in setenv.sh.
> 
> 
> With that said, here are my own instructions:
> -Doug
> --------------------------------------
> There are five parts:
> 
> Hardware/OS
> MySQL
> AppServer
> XWiki
> NGINX
> 
> Hardware/OS
> Start by deploying a VM from the CentOS-7.2 template on vcenter01
> Power on the new clone and log in as anchor
> # sudo su -
> # yum -y update
> 
> Add the following lines to root's .bashrc, to anchor's .bashrc, and to the 
> .bashrc of the xwiki user:
> export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
> export PATH=$JAVA_HOME/bin:$PATH
> 
> Prepare the Volume
> Edit
> I am installing everything on a new disk, which is mounted at /data.  The 
> volume will be owned by anchor.  This was necessary for some unknown reason 
> for the MySQL installation to work.  I don't know why.  It doesn't appear to 
> put anything outside of the install dir, /data/mysql.  But I had to 
> nonetheless.
> 
> # chown anchor:anchor /data
> 
> 
> 
> Install MySQL
> Edit
> See https://dev.mysql.com/doc/refman/5.7/en/source-installation.html
> 
> Create the user
> 
> # groupadd mysql
> # useradd -r -g mysql -s /bin/false mysql
> 
> While we are at it we may as well go ahead and make the xwiki user at this 
> time:
> 
> # groupadd -r xwiki
> # useradd -r -g xwiki -s /bin/false xwiki
> 
> Unpack MySQL source
> 
> As anchor, cd to $HOME, and unpack the MySQL 5.7 source from /opt:
> 
> anchor$ cd
> anchor$ tar zxvf /opt/soft/mysql-5.7.17.tar.gz
> anchor$ mkdir bld
> anchor$ cd bld
> 
> Install Boost Library
> 
> Before you can configure and build MySQL you must install Boost in 
> /usr/local/boost_1_59_0.
> 
> See https://dev.mysql.com/doc/refman/5.7/en/source-installation.html
> 
> 1. Untar the boost 1.59_0 from /opt/soft:
> 
> anchor$ pushd /usr/local
> anchor$ tar zxvfp /opt/soft/boost_1_59_0.tar.gz
> 
> 2. I don't remember how I figured this out, but I had to place the tarball 
> inside the unpacked directory:
> 
> anchor$ cp !$ boost_1_59_0
> 
> 3. I also had to open up the permissions on the files and directories in the 
> boost installation, /usr/local/boost_1_59_0, which were owned by root, but 
> I'm building as anchor, and when unpacked, there were no read or search 
> permissions for group or others on the subdirectories.
> 
> $ sudo su -
> 
> # cd /usr/local
> # chgrp -R anchor boost_1_59_0
> # chmod g+w /usr/local/boost_1_59_0
> # cd boost_1_59_0
> # find . -type d | xargs chmod g+rx
> # find . -type f | xargs chmod g+rw
> # find . -type d | xargs chmod o+rx
> 
> Build MySQL
> 
> Now we can get back to configuring and building MySQL:
> $ cmake ../mysql-5.7.17  -DWITH_BOOST=/usr/local/boost_1_59_0  
> -DCMAKE_INSTALL_PREFIX=/data/mysql
> $ make
> $ make test
> 
> Install MySQL
> 
> See 
> https://dev.mysql.com/doc/refman/5.7/en/installing-source-distribution.html
> 
> As root:
> 
> Place these lines in /etc/my.cnf:
> basedir=/data/mysql
> max_allowed_packet=32M
> 
> Give these commands:
> 
> # cd /data
> # chown anchor:anchor .
> # chmod 775 .
> # cd /home/anchor/bld
> # make install
> # cd /data/mysql
> # chown -R mysql .
> 
> # bin/mysqld --user=mysql --initialize
> 
> # bin/mysql_ssl_rsa_setup
> 
> # chgrp -R mysql data
> # bin/mysqld_safe --user=mysql &
> # cp support-files/mysql.server /etc/init.d/mysql
> # /etc/init.d/mysql start
> 
> Set the password for root in MySQL
> 
> # mysql -u -root -p
> 
> Log in with the password for root that was given to you in the output of the 
> steps above.  You will see the message:
> 
> "You must reset your password using the ALTER USER statement before executing 
> this statement."
> 
> mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'crappypass';
> 
> This completes the MySQL installation.
> 
> Create the XWiki Database
> 
> See http://platform.xwiki.org/xwiki/bin/view/AdminGuide/InstallationMySQL
> 
> Finally, create the xwiki database and grant permissions accordingly:
> 
> # mysql -u root -p
> 
> mysql> create database xwiki default character set utf8 collate utf8_bin;
> mysql> grant all privileges on *.* to xwiki@localhost identified by 'badpass';
> 
> Should you make a mistake and not want to start completely over, you can drop 
> the XWiki database and recreate it:
> 
> # mysql -uroot -p -e "drop database xwiki; CREATE DATABASE xwiki CHARACTER 
> SET utf8 COLLATE utf8_general_ci; GRANT ALL PRIVILEGES ON xwiki.* TO 
> 'xwiki'@'localhost' IDENTIFIED BY 'password';
> 
> Install Tomcat
> Edit
> # cd /data
> # tar xvfp /opt/soft/apache-tomcat-9.0.0.M15.tar.gz
> # mv apache-tomcat-9.0.0.M15.tar.gz tomcat
> # chown -R xwiki:xwiki tomcat
> 
> Configure Tomcat
> See http://platform.xwiki.org/xwiki/bin/view/AdminGuide/InstallationTomcat
> 
> # cd /data/tomcat
> # cp -rp conf conf.orig
> # cd conf
> 
> Edit server.xml and find these lines in the default connector, the only one 
> which is uncommented.  Insert this line at line 71:
> 
> URIEncoding="UTF-8"
> 
> Install XWiki
> Edit
> See http://platform.xwiki.org/xwiki/bin/view/AdminGuide/InstallationTomcat
> 
> # cd tomcat
> # cd webapps
> # mkdir xwiki
> # cd xwiki
> # jar -xvf /opt/soft/xwiki-enterprise-web-8.4.4.war
> # cd ..
> # chown -R xwiki:xwiki xwiki
> # cd xwiki/WEB_INF/lib
> # cp /opt/soft/mysql-connector-java-5.1.40-bin.jar .
> # chown xwiki:xwiki mysql-conn*
> 
> Configure XWiki Attachment Storage
> See http://platform.xwiki.org/xwiki/bin/view/AdminGuide/Attachments
> 
> # cd ../webapps/xwiki
> # cd WEB-INF
> # cp -p xwiki.cfg xwiki.cfg.orig
> 
> Edit xwiki.cfg and add this line at line 93:
> xwiki.store.attachement.hint=file
> 
> Add this line at line 100:
> xwiki.store.attachment.versioning.hint=file
> 
> And at 107:
> xwiki.store.attachment.recyclebin.hint=file
> 
> Configure XWiki to work with MySQL
> See http://platform.xwiki.org/xwiki/bin/view/AdminGuide/InstallationMySQL
> 
> Modify hibernate.cfg by commenting out the default database settings and 
> uncommenting the MySQL section.  Then modify the settings in theat section to 
> match those shown here:
> 
> # cp -p hibernate.cfg.xml hibernate.cfg.xml.orig
> 
> Edit hibernate.cfg and set the following settings
> 
> <property name="connection.url">jdbc:mysql://localhost/xwiki</property>
> <property name="connection.username">xwiki</property>
> <property name="connection.password">badpass</property>
> <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
> <property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
> <property name="connection.useUnicode">true</property>
> <property name="connection.characterEncoding">UTF-8</property>
> 
> Configure XWiki Policy Configuration
> See http://platform.xwiki.org/xwiki/bin/view/AdminGuide/InstallationTomcat
> 
> The Tomcat Security Manager is enabled to be by default.  Add these lines to 
> the bottom of /data/tomcat/conf/catalina.policy:
> 
> grant codeBase "file:${catalina.base}/webapps/xwiki/WEB-INF/lib/-" {
>  // for mySQL connection
>  permission java.net.SocketPermission "127.0.0.1:3306", "connect,resolve";
> 
>  // XWiki must have access to all properties in read/write
>  permission java.util.PropertyPermission "*", "read, write";
> 
>  // Generic detected permissions
>  permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
>  permission java.lang.RuntimePermission "createClassLoader";
>  permission java.lang.RuntimePermission "setContextClassLoader";
>  permission java.lang.RuntimePermission 
> "accessClassInPackage.org.apache.catalina.loader";
>  permission java.lang.RuntimePermission "accessDeclaredMembers";
>  permission java.lang.RuntimePermission "getenv.ProgramFiles";
>  permission java.lang.RuntimePermission "getenv.APPDATA";
>  permission java.lang.RuntimePermission "accessClassInPackage.sun.reflect";
>  permission java.lang.RuntimePermission "getClassLoader";
>  permission java.lang.RuntimePermission 
> "accessClassInPackage.org.apache.catalina.connector";
>  permission java.lang.RuntimePermission 
> "accessClassInPackage.org.apache.tomcat.util.threads";
>  permission java.lang.RuntimePermission "reflectionFactoryAccess";
>  permission java.lang.RuntimePermission 
> "accessClassInPackage.com.sun.jmx.interceptor";
>  permission java.lang.RuntimePermission 
> "accessClassInPackage.com.sun.jmx.mbeanserver";
>  permission java.lang.RuntimePermission "modifyThread";
>  permission java.lang.RuntimePermission "getProtectionDomain";
> 
>  // JAXB permissions
>  permission javax.xml.bind.JAXBPermission "setDatatypeConverter";
> 
>  // Serialization related permissions
>  permission java.io.SerializablePermission "allowSerializationReflection";
>  permission java.io.SerializablePermission "creator";
>  permission java.io.SerializablePermission "enableSubclassImplementation";
> 
>  // Internal resources access permissions
>  permission java.io.FilePermission "synonyms.txt", "read";
>  permission java.io.FilePermission "lang/synonyms_en.txt", "read";
>  permission java.io.FilePermission "quartz.properties", "read";
>  permission java.io.FilePermission "/templates/-", "read";
>  permission java.io.FilePermission "/skins/-", "read";
>  permission java.io.FilePermission "/resources/-", "read";
> 
>  // MBean related permissions
>  permission javax.management.MBeanServerPermission "createMBeanServer";
>  permission javax.management.MBeanPermission "*", "registerMBean";
>  permission javax.management.MBeanPermission "*", "unregisterMBean";
>  permission javax.management.MBeanTrustPermission "register";
>  permission javax.management.MBeanPermission "-#-[-]", "queryNames";
>  permission javax.management.MBeanServerPermission "findMBeanServer";
> 
>  // LibreOffice/OpenOffice related permissions
>  permission java.io.FilePermission 
> "/opt/openoffice.org3/program/soffice.bin", "read";
>  permission java.io.FilePermission "/opt/libreoffice/program/soffice.bin", 
> "read";
>  permission java.io.FilePermission "/usr/lib/openoffice/program/soffice.bin", 
> "read";
>  permission java.io.FilePermission 
> "/usr/lib/libreoffice/program/soffice.bin", "read";
> 
>  // Allow file storage directory reading - for directory and everything 
> underneath
>  // This is dependent on the setting of environment.permanentDirectory in 
> xwiki.properties
>  permission java.io.FilePermission 
> "${catalina.base}${file.separator}xwikidata${file.separator}", 
> "read,write,delete";
>  permission java.io.FilePermission 
> "${catalina.base}${file.separator}xwikidata${file.separator}-", 
> "read,write,delete";
> 
>  // Allow file storage directory reading - temporary directory and everything 
> underneath
>  // This is dependent on the setting of environment.temporaryDirectory in 
> xwiki.properties.
>  permission java.io.FilePermission 
> "${catalina.base}${file.separator}temp${file.separator}", "read,write,delete";
>  permission java.io.FilePermission 
> "${catalina.base}${file.separator}temp${file.separator}-", 
> "read,write,delete";
> };
> 
> Create Tomcat Environment Script
> See http://platform.xwiki.org/xwiki/bin/view/AdminGuide/InstallationTomcat
> 
> Put these lines in /data/tomcat/bin/setenv.sh:
> 
> #!/bin/sh
> 
> export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
> export PATH=$JAVA_HOME/bin:$PATH
> 
> export JAVA_OPTS="${JAVA_OPTS} -Djava.awt.headless=true"
> 
> export CATALINA_HOME=/data/tomcat
> CATALINA_OPTS="-Xmx1024m -XX:MaxPermSize=192m"
> 
> # Use the Java security manager? (yes/no)
> #TOMCAT5_SECURITY=
> 
> Make that file owned by xwiki, group xwiki.
> 
> # chown xwiki:xwiki /data/tomcat/bin/setenv.sh
> 
> Confirm File Ownership
> Once again make sure that -all- files under /data/tomcat are owned by xwiki, 
> group xwiki:
> 
> # cd /data/tomcat
> # chown -R xwiki:xwiki .
> 
> Start and Initialize
> Edit
> See http://platform.xwiki.org/xwiki/bin/view/Features/DistributionWizard
> 
> At this point, we should be able to start XWiki.  We have no SSL, and no 
> front-end yet, so we will have to hit it on port 8080.  But now is the time 
> to test and initialize it.  The first time we run it, it will run its 
> "Distribution Wizard", adding its default pages to the database, and setting 
> up an admin user.
> 
> Start XWiki as the user xwiki:
> 
> # cd /data/tomcat
> # sudo -u xwiki bin/startup.sh
> 
> Then surf to http://pwswiki10.westmarine.net:8080/xwiki.  You will see a grey 
> background and soon a white bar with the words "Initializing" followed by a 
> quickly-changing percentage.  When the percentage hits 100, the Distribution 
> wizard will start.  Enter admin for the admin user's first name, user for the 
> last name, admin for the username, badpass for the password, which must be 
> six letters or we'd just leave it at admin for now.  Change it later.  Enter 
> your email for the email address.  Click Continue.   On the next screen 
> install the default theme and main pages by clicking Install and then 
> Continue to install the default theme/main pages.  When the Distribution 
> Wizard completes, you will be logged in as admin.  Click Next through the 
> guided tour.
> 
> 
> Increase Maximum Attachment Size Limit
> The maximum size of an attachment is limited by a configuration parameter in 
> the XWikiPreferences document. It is set to about 32MB by default.
> To change it follow these steps:
> 
> Go to http://<yourwiki>/xwiki/bin/edit/XWiki/XWikiPreferences?editor=object
> Click on the line that says XWikiPreferences 0 (right below the line that 
> says Objects of type XWiki.XWikiPreferences (1)) and expand it
> Scroll down to the field that says Maximum Upload Size and change the number 
> to whatever size you want (it is expressed in bytes)
> Scroll to the bottom and click "Save"
> Install PDF and LDAP Authentication Extensions
> Click on More applications on the left side of the home page.  Click Install 
> New Applications.
> 
> Scroll down until you get to PDF Viewer Macro.  Click Install and then 
> Continue.
> 
> When the PDF Viewer install finishes, scroll up a bit to LDAP Authenticator, 
> and click on Install on Farm and then Continue to install it.  When the LDAP 
> Authenticator extension is finished installing, exit XWiki, and shut down 
> tomcat
> 
> # sudo -u xwiki bin/shutdown.sh
> 
> Configure XWiki for LDAP
> Add the following to the bottom of xwiki.cfg:
> 
> #------------------------------
> # LDAP
> #
> xwiki.authentication.authclass=org.xwiki.contrib.ldap.XWikiLDAPAuthServiceImpl
> xwiki.authentication.ldap=1
> xwiki.authentication.ldap.server=<server>
> xwiki.authentication.ldap.port=389
> xwiki.authentication.ldap.bind_DN=westmarine\\{0}
> xwiki.authentication.ldap.bind_pass={1}
> xwiki.authentication.ldap.base_DN=dc=westmarine,dc=net
> xwiki.authentication.ldap.UID_attr=sAMAccountName
> xwiki.authentication.ldap.fields_mapping=last_name=name=sAMAccountName,last_name=sn,first_name=givenName,fullName=displayName,email=mail,ldap_dn=dn
> xwiki.authentication.ldap.update_user=1
> xwiki.authentication.ldap.mode_group_sync=always
> xwiki.authentication.ldap.trylocal=1
> 
> Confirm LDAP operation
> Start tomcat and surf to xwiki.  After it completes reloading 
> (re-initializing), try logging in with your LDAP credentials.
> 
> # sudo -u xwiki bin/startup.sh
> 
> With LDAP now working, what remains is to enable SSL in Tomcat and in XWiki, 
> and to install and configure NGINX as a front-end.
> Edit
> First, log out of XWiki and shut down Tomcat.
> # sudo -u xwiki bin/shutdown.sh
> 
> Configure Tomcat for SSL
> #
> 
> #  Note:  This part is commented out / not in use.
> #  We are not currently configuring Tomcat for SSL; we have NGINX listen on 
> 80 and 443 and talk to Tomcat on 8080 in both cases.
> #
> # # cd /data/tomcat
> # # cd conf
> # Edit server.xml and add these lines immediately below the line you already 
> added which reads URIEncoding="UTF-8" :
> # secure="true"
> # scheme="https"
> #
> 
> Configure XWiki for SSL
> Add this to the bottom of xwiki.cfg:
> # SSL
> xwiki.preferences.redirect
> 
> At line 236, under the section URLs, add the line:
> xwiki.url.protocol=https
> 
> Build and Install NGINX
> Edit
> NGINX requires the zlib-1.2.11 and pcre-8.40 sources.  The digital signatures 
> have already been verified on the copies that exist in /opt/soft.  It is not 
> necessary to build the packages.
> 
> # su - anchor
> anchor$ tar zxvf /opt/soft/zip-1.2.11.tar.gz
> anchor$ tar zxvf /opt/soft/pcre-8.40.tar.gz
> anchor$ tar zxvf /opt/soft/nginx-1.10.3.tar.gz
> anchor$ cd nginx-1.10.3
> anchor$ ./configure --prefix=/data/nginx --user=xwiki --group=xwiki 
> --with-http_ssl_module --with-pcre=/home/anchor/pcre-8.40 --with-pcre-jit 
> --with-zlib=/home/anchor/zlib-1.2.11
> anchor$ make
> anchor$ exit
> 
> # cd /home/anchor/nginx-1.10.3
> # cd nginx-1.10.3
> # make install
> # ls -l /data/nginx
> # cd /data/nginx
> 
> Configure NGINX
> See http://platform.xwiki.org/xwiki/bin/view/AdminGuide/InstallationTomcat
> 
> # cd /data/nginx
> # cd conf
> # cp nginx.conf nginx.conf.orig
> 
> Configure conf/nginx.conf
> 
> Edit nginx.conf and add this line before the closing curly brace:
> 
> include ../conf.d/*.conf;
> 
> Just above that, uncomment the lines of the section titled # HTTPS server.   
> Inside that section:
> 
> Place /data/nginx/keys/dwswiki10.westmarine.net.pem; as the value of 
> ssl_certificate
> Place /data/nginx/keys/dwswiki10.westmarine.net.key; as the value of 
> ssl_certificate_key
> 
> Place SSL Certificates in NGINX
> 
> CD up one level and make the keys/ dir and populate it with your new 
> certificate and key for this host:
> 
> # cd ..
> # mkdir keys
> # cp /tmp/pwswiki10.westmarine.net.pem keys
> # cp /tmp/pwswiki10.westmarine.net.key keys
> 
> Create the new directory conf.d and populate it with tomcat.conf:
> 
> # cd ..
> # mkdir conf.d
> # cd conf.d
> 
> Create the file tomcat.conf with the following content:
> 
> server {
>    listen       80;
>    server_name  pwswiki10.westmarine.net;
>    # Root to the XWiki application    root /data/tomcat/webapps/xwiki;
> 
>    location / {
>        #All "root" requests will have /xwiki appended AND redirected to 
> mydomain.com again
>        rewrite ^ $scheme://$server_name/xwiki$request_uri? permanent;
>    }
> 
>    location ^~ /xwiki {
>       # If path starts with /xwiki - then redirect to backend: XWiki 
> application in Tomcat
>       # Read more about proxy_pass: 
> http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass
>       proxy_pass http://localhost:8080;
>       proxy_set_header        X-Real-IP $remote_addr;
>       proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
>       proxy_set_header        Host $http_host;
>       proxy_set_header        X-Forwarded-Proto $scheme;    }
> }
> 
> server {
>    listen       443;
>    server_name  pwswiki10.westmarine.net;
>    # Root to the XWiki application
>    root /data/tomcat/webapps/xwiki;
> 
>    location / {
>        #All "root" requests will have /xwiki appended AND redirected to 
> mydomain.com again
>        rewrite ^ $scheme://$server_name/xwiki$request_uri? permanent;
>    }
>    location ^~ /xwiki {
>       # If path starts with /xwiki - then redirect to backend: XWiki 
> application in Tomcat
>       # Read more about proxy_pass: 
> http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass
>       proxy_pass http://localhost:8080;
>       proxy_set_header        X-Real-IP $remote_addr;
>       proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
>       proxy_set_header        Host $http_host;
>       proxy_set_header        X-Forwarded-Proto $scheme;
>    }
> }
> 
> Finally, make sure that all the files under /data/nginx are owned by xwiki, 
> group xwiki:
> 
> # chown -R xwiki:xwiki conf.d
> 
> Start and stop NGINX:
> 
> # cd /data/nginx; sbin/start
> 
> # cd /data/nginx; sbin/nginx -s stop
> 
> #
> 
> Additional Documents
> Edit
> platform.xwiki.org/xwiki/bin/view/AdminGuide/Backup
> https://dev.mysql.com/doc/refman/5.7/en/installing-source-distribution.html
> http://platform.xwiki.org/xwiki/bin/view/AdminGuide/InstallationMySQL
> 
> 
> The information contained in this transmission may contain West Marine 
> proprietary, confidential and/or privileged 
> information.  It is intended only for the use of the person(s) named above. 
> If you are not the intended recipient, you are 
> hereby notified that any review, dissemination, distribution or duplication 
> of this communication is strictly prohibited. 
> If you are not the intended recipient, please contact the sender by reply 
> email and destroy all copies of the original 
> message. To reply to our email administrator directly, please send an email 
> to netad...@westmarine.com.

Reply via email to