integrate.inc 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. #!/bin/bash
  2. hestia_package_web-server_integrate() {
  3. source $HESTIA/bin/module/func.inc
  4. osal_service_stop $OSAL_SERVICE_NGINX > /dev/null 2>&1
  5. osal_service_stop $OSAL_SERVICE_APACHE > /dev/null 2>&1
  6. local apache_installed=$(hestia_module_isinstalled apache && echo 1)
  7. local nginx_installed=$(hestia_module_isinstalled nginx && echo 1)
  8. if [ "$apache_installed" ] && [ ! "$nginx_installed" ] ; then
  9. echo "Setup Web module (Apache only)..."
  10. WEB_SYSTEM=$OSAL_PKG_APACHE
  11. WEB_RGROUPS=$OSAL_USER_APACHE_DATA
  12. WEB_PORT='80'
  13. WEB_SSL_PORT='443'
  14. WEB_SSL='mod_ssl'
  15. PROXY_SYSTEM=''
  16. PROXY_PORT=''
  17. PROXY_SSL_PORT=''
  18. osal_kv_write $HESTIA_CONF_MODULES/apache.conf 'service_name' $OSAL_SERVICE_APACHE
  19. elif [ "$apache_installed" ] && [ "$nginx_installed" ] ; then
  20. echo "Setup Web module (Apache + Nginx)..."
  21. WEB_SYSTEM=$OSAL_PKG_APACHE
  22. WEB_RGROUPS=$OSAL_USER_APACHE_DATA
  23. WEB_PORT='8080'
  24. WEB_SSL_PORT='8443'
  25. WEB_SSL='mod_ssl'
  26. PROXY_SYSTEM='nginx'
  27. PROXY_PORT='80'
  28. PROXY_SSL_PORT='443'
  29. osal_kv_write $HESTIA_CONF_MODULES/apache.conf 'service_name' $OSAL_SERVICE_APACHE
  30. osal_kv_write $HESTIA_CONF_MODULES/nginx.conf 'service_name' $OSAL_SERVICE_NGINX
  31. elif [ ! "$apache_installed" ] && [ "$nginx_installed" ]; then
  32. echo "Setup Web module (Nginx only)..."
  33. WEB_SYSTEM='nginx'
  34. WEB_RGROUPS=''
  35. WEB_PORT='80'
  36. WEB_SSL_PORT='443'
  37. WEB_SSL='openssl'
  38. PROXY_SYSTEM=''
  39. PROXY_PORT=''
  40. PROXY_SSL_PORT=''
  41. osal_kv_write $HESTIA_CONF_MODULES/nginx.conf 'service_name' $OSAL_SERVICE_NGINX
  42. else
  43. echo "Remove Web module setup..."
  44. WEB_SYSTEM=''
  45. WEB_RGROUPS=''
  46. WEB_PORT='80'
  47. WEB_SSL_PORT='443'
  48. WEB_SSL='openssl'
  49. PROXY_SYSTEM=''
  50. PROXY_PORT=''
  51. PROXY_SSL_PORT=''
  52. fi
  53. osal_kv_write $HESTIA/conf/hestia.conf 'WEB_SYSTEM' $WEB_SYSTEM
  54. osal_kv_write $HESTIA/conf/hestia.conf 'WEB_RGROUPS' $WEB_RGROUPS
  55. osal_kv_write $HESTIA/conf/hestia.conf 'WEB_PORT' $WEB_PORT
  56. osal_kv_write $HESTIA/conf/hestia.conf 'WEB_SSL_PORT' $WEB_SSL_PORT
  57. osal_kv_write $HESTIA/conf/hestia.conf 'WEB_SSL' $WEB_SSL
  58. osal_kv_write $HESTIA/conf/hestia.conf 'PROXY_SYSTEM' $PROXY_SYSTEM
  59. osal_kv_write $HESTIA/conf/hestia.conf 'PROXY_PORT' $PROXY_PORT
  60. osal_kv_write $HESTIA/conf/hestia.conf 'PROXY_SSL_PORT' $PROXY_SSL_PORT
  61. if hestia_module_isinstalled 'php-fpm'; then
  62. source $HESTIA/bin/module/php-fpm/func.inc
  63. for php_version in $PHP_SUPPORTED_VERSIONS; do
  64. local php_withoutdot=${php_version//.}
  65. php_version_present=$(osal_kv_read $HESTIA_CONF_MODULES/php-fpm.conf "php${php_withoutdot}_present" 0)
  66. if [ "$php_version_present" == "1" ]; then
  67. local php_prefix=$(osal_php_package_prefix $php_version)
  68. osal_service_enable $php_prefix-fpm
  69. osal_service_restart $php_prefix-fpm
  70. echo "Enabling PHP $php_version"
  71. fi
  72. done
  73. fi
  74. if [ "$apache_installed" ] || [ "$nginx_installed" ] ; then
  75. # Install default success page
  76. mkdir -p /var/www/html
  77. mkdir -p /var/www/document_errors
  78. if [ ! -f /var/www/html/index.html ]; then
  79. cp -rf $HESTIA_INSTALL_DIR/templates/web/unassigned/index.html /var/www/html/
  80. cp -rf $HESTIA_INSTALL_DIR/templates/web/skel/document_errors/* /var/www/document_errors/
  81. fi
  82. hestia package web-server setup-ips
  83. # Rebuild domains
  84. echo "Rebuilding web domains..."
  85. for user in $($HESTIA/bin/v-list-sys-users plain); do
  86. $BIN/v-rebuild-web-domains $user 'no' > /dev/null 2>&1
  87. done
  88. osal_service_stop $OSAL_SERVICE_APACHE > /dev/null 2>&1
  89. osal_service_stop $OSAL_SERVICE_NGINX > /dev/null 2>&1
  90. if [ "$apache_installed" ]; then
  91. osal_service_enable $OSAL_SERVICE_APACHE
  92. osal_service_start $OSAL_SERVICE_APACHE
  93. fi
  94. if [ "$nginx_installed" ]; then
  95. osal_service_enable $OSAL_SERVICE_NGINX
  96. osal_service_start $OSAL_SERVICE_NGINX
  97. fi
  98. fi
  99. }