osal_debian_based.sh 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. #!/bin/sh
  2. # Debian / Ubuntu
  3. #-------------------------------------------------------------------#
  4. # Variables #
  5. #-------------------------------------------------------------------#
  6. # Services
  7. OSAL_SERVICE_APACHE=apache2
  8. OSAL_SERVICE_BIND=bind9
  9. OSAL_SERVICE_CRON=cron
  10. # Users
  11. OSAL_USER_APACHE_DATA=www-data
  12. OSAL_USER_BIND=bind
  13. OSAL_USER_EXIM=Debian-exim
  14. OSAL_USER_NOBODY=nobody
  15. OSAL_USER_NOGROUP=nogroup
  16. # Commands
  17. OSAL_CMD_PACKAGE_MANAGER=/usr/bin/apt-get
  18. # Packages
  19. OSAL_PKG_APACHE=apache2
  20. OSAL_PKG_APACHE_MOD_RUID2=libapache2-mod-ruid2
  21. OSAL_PKG_BIND=bind9
  22. OSAL_PKG_EXIM=exim4
  23. OSAL_PKG_EXIM_DAEMON=exim4-daemon-heavy
  24. OSAL_PKG_PHPMYADMIN=phpmyadmin
  25. OSAL_PKG_ROUNDCUBE=roundcube
  26. # Paths
  27. OSAL_PATH_APACHE_CONF=/etc/apache2
  28. OSAL_PATH_BIND_DATA=/var/cache/bind
  29. OSAL_PATH_EXIM_CONF=/etc/exim4
  30. OSAL_PATH_ROUNDCUBE_INSTALL_MYSQL=/usr/share/dbconfig-common/data/roundcubemail/install/mysql
  31. OSAL_PATH_VSFTPD_CONF=/etc
  32. #-------------------------------------------------------------------#
  33. # Functions #
  34. #-------------------------------------------------------------------#
  35. # OS function wrappers
  36. # package_preinstall
  37. osal_package_preinstall() {
  38. $OSAL_CMD_PACKAGE_MANAGER -qq update
  39. }
  40. # package_install 'package' 'package' ...
  41. osal_package_install() {
  42. $OSAL_CMD_PACKAGE_MANAGER -y -qq install -o Dpkg::Options::="--force-confold" "$@"
  43. }
  44. # package_remoev 'package' 'package' ...
  45. osal_package_remove() {
  46. $OSAL_CMD_PACKAGE_MANAGER -y purge "$@"
  47. }
  48. # service_start 'service-name'
  49. osal_service_start() {
  50. /usr/bin/systemctl start ${1}.service
  51. }
  52. # service_stop 'service-name'
  53. osal_service_stop() {
  54. /usr/bin/systemctl stop ${1}.service
  55. }
  56. # service_restart 'service-name'
  57. osal_service_restart() {
  58. /usr/bin/systemctl restart ${1}.service
  59. }
  60. # service_enable 'service-name'
  61. osal_service_enable() {
  62. /usr/bin/systemctl enable ${1}.service
  63. }
  64. # service_disable 'service-name'
  65. osal_service_disable() {
  66. /usr/bin/systemctl disable ${1}.service
  67. }
  68. # Software-specific
  69. # apache_module_isenabled 'module_name' = (1|null)
  70. osal_apache_module_isenabled() {
  71. /usr/sbin/a2query -q -m $1 && echo 1
  72. }
  73. # apache_module_enable 'module_name'
  74. osal_apache_module_enable() {
  75. /usr/sbin/a2enmod $1
  76. }
  77. # apache_module_disable 'module_name'
  78. osal_apache_module_disable() {
  79. /usr/sbin/a2dismod $1
  80. }
  81. # multiphp_php_package_prefix 7.3 = 'php7.3'
  82. osal_multiphp_php_package_prefix() {
  83. echo "php${1}"
  84. }
  85. # multiphp_fpm_isinstalled 7.3 = (1|null)
  86. osal_multiphp_fpm_isinstalled() {
  87. [ -f "/etc/init.d/php$1-fpm" ] && echo 1
  88. }
  89. # multiphp_etc_folder '7.3' = /etc/php/7.3
  90. multiphp_etc_folder() {
  91. echo /etc/php/php${1}
  92. }
  93. # multiphp_fpm_pool_d '7.3' = /etc/php/7.3/fpm/pool.d
  94. osal_multiphp_fpm_pool_d() {
  95. echo /etc/php/$1/fpm/pool.d
  96. }