start.sh 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #!/bin/sh
  2. if [ "$WIKI_CONTEXT" != "" ];then
  3. if [ ! -f "${JETTY_BASE}/webapps/${WIKI_CONTEXT}" ];then
  4. mv ${JETTY_BASE}/webapps/ROOT ${JETTY_BASE}/webapps/${WIKI_CONTEXT}
  5. DB_OPTIONAL=''
  6. DB_DRIVER_CLASS=''
  7. DB_DIALECT=''
  8. case ${DB_TYPE} in
  9. 'hsqldb')
  10. DB_DIALECT='org.hibernate.dialect.HSQLDialect'
  11. DB_DRIVER_CLASS='org.hsqldb.jdbcDriver'
  12. DB_HOST='jdbc:hsqldb:file:${environment.permanentDirectory}/database/xwiki;shutdown=true'
  13. ;;
  14. 'mysql')
  15. DB_DIALECT='org.hibernate.dialect.MySQLDialect'
  16. DB_DRIVER_CLASS='com.mysql.jdbc.Driver'
  17. DB_HOST="jdbc:mysql://${DB_HOST}/xwiki?useServerPrepStmts=false\&sessionVariables=sql_mode=''"
  18. ;;
  19. 'oracle')
  20. DB_DIALECT='org.hibernate.dialect.Oracle10gDialect'
  21. DB_DRIVER_CLASS='oracle.jdbc.driver.OracleDriver'
  22. DB_HOST="jdbc:oracle:thin:${DB_HOST}:1521:xwiki"
  23. DB_OPTIONAL='<property name="hibernate.connection.SetBigStringTryClob">true</property><property name="hibernate.jdbc.batch_size">0</property>'
  24. ;;
  25. 'postgresql')
  26. DB_DIALECT='org.hibernate.dialect.PostgreSQLDialect'
  27. DB_DRIVER_CLASS='org.postgresql.Driver'
  28. DB_HOST="jdbc:postgresql://${DB_HOST}/xwiki"
  29. ;;
  30. esac
  31. sed -i "s|DB_HOST|${DB_HOST}|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/hibernate.cfg.xml
  32. sed -i "s|DB_USER|${DB_USER}|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/hibernate.cfg.xml
  33. sed -i "s|DB_PASSWORD|${DB_PASSWORD}|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/hibernate.cfg.xml
  34. sed -i "s|DB_DRIVER_CLASS|${DB_DRIVER_CLASS}|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/hibernate.cfg.xml
  35. sed -i "s|DB_DIALECT|${DB_DIALECT}|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/hibernate.cfg.xml
  36. sed -i "s|DB_OPTIONAL|${DB_OPTIONAL}|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/hibernate.cfg.xml
  37. if [[ "${SMTP_HOST}" != "" ]]; then
  38. sed -i "s|.*mail\.sender\.host = .*|mail.sender.host = ${SMTP_HOST}|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/xwiki.properties
  39. fi
  40. if [[ "${SMTP_LOGIN}" != "" ]]; then
  41. sed -i "s|.*mail\.sender\.username = .*|mail.sender.username = ${SMTP_LOGIN}|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/xwiki.properties
  42. fi
  43. if [[ "${SMTP_PASSWORD}" != "" ]]; then
  44. sed -i "s|.*mail\.sender\.password = .*|mail.sender.password = ${SMTP_PASSWORD}|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/xwiki.properties
  45. fi
  46. if [[ "${ADMIN_EMAIL}" != "" ]]; then
  47. sed -i "s|.*mail\.sender\.from = .*|mail.sender.from = ${ADMIN_EMAIL}|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/xwiki.properties
  48. fi
  49. if [[ "${SMTP_PROTOCOL}" == "tls" ]]; then
  50. sed -i "s|.*mail\.sender\.port = .*|mail.sender.port = 587|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/xwiki.properties
  51. sed -i "s|.*mail\.sender\.properties = .*|mail.sender.properties = mail.smtp.starttls.enable = true|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/xwiki.properties
  52. elif [[ "${SMTP_PROTOCOL}" == "ssl" ]]; then
  53. sed -i "s|.*mail\.sender\.port = .*|mail.sender.port = 465|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/xwiki.properties
  54. else
  55. sed -i "s|.*mail\.sender\.port = .*|mail.sender.port = 25|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/xwiki.properties
  56. fi
  57. set XWIKI_OPTS=%XWIKI_OPTS% -Doffice.path=/usr/lib/libreoffice/
  58. sed -i "s|.*openoffice.serverType=0|openoffice.serverType=0|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/xwiki.properties
  59. sed -i "s|.*openoffice.autoStart=false|openoffice.autoStart=true|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/xwiki.properties
  60. sed -i "s|.*openoffice.homePath=/opt/openoffice.org3/|openoffice.homePath=/usr/lib/libreoffice/|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/xwiki.properties
  61. sed -i "s|.*openoffice.taskExecutionTimeout=30000|openoffice.taskExecutionTimeout=120000|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/xwiki.properties
  62. sed -i "s|.*environment.permanentDirectory=/var/local/xwiki/|environment.permanentDirectory=/var/local/xwiki/|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/xwiki.properties
  63. fi
  64. fi
  65. cd ${JETTY_BASE}
  66. java -jar start.jar