osal_debian_based.sh 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. #!/bin/sh
  2. # Debian / Ubuntu
  3. #-------------------------------------------------------------------#
  4. # Variables #
  5. #-------------------------------------------------------------------#
  6. # Apache
  7. OSAL_SERVICE_APACHE=apache2
  8. OSAL_USER_APACHE_DATA=www-data
  9. OSAL_PKG_APACHE=apache2
  10. OSAL_PKG_APACHE_MOD_RUID2=libapache2-mod-ruid2
  11. OSAL_PATH_APACHE_CONF=/etc/apache2
  12. # Bind
  13. OSAL_SERVICE_BIND=bind9
  14. OSAL_USER_BIND=bind
  15. OSAL_PKG_BIND=bind9
  16. OSAL_PATH_BIND_DATA=/var/cache/bind
  17. # ClamAV
  18. OSAL_SERVICE_CLAMAV=clamav-daemon
  19. OSAL_USER_CLAMAV=clamav
  20. OSAL_PKG_CLAMAV=clamav-daemon
  21. OSAL_PATH_CLAMAV_CONF=/etc/clamav/clamd.conf
  22. OSAL_PATH_CLAMAV_CONF_D=/etc/clamd.d
  23. # Cron
  24. OSAL_SERVICE_CRON=cron
  25. # Dovecot
  26. OSAL_SERVICE_DOVECOT=dovecot
  27. OSAL_PKG_DOVECOT='dovecot-imapd dovecot-pop3d'
  28. OSAL_PATH_DOVECOT_CONF=/etc/dovecot
  29. # Exim
  30. OSAL_SERVICE_EXIM=exim4
  31. OSAL_USER_EXIM=Debian-exim
  32. OSAL_PKG_EXIM='exim4 exim4-daemon-heavy'
  33. OSAL_PATH_EXIM_CONF=/etc/exim4
  34. # Nginx
  35. OSAL_SERVICE_NGINX=nginx
  36. OSAL_USER_NGINX=nginx
  37. OSAL_PKG_NGINX=nginx
  38. OSAL_PATH_NGINX_CONF=/etc/nginx
  39. OSAL_PATH_NGINX_CONF_D=/etc/nginx/conf.d
  40. # phpMyAdmin
  41. OSAL_PKG_PHPMYADMIN=phpmyadmin
  42. # RoundCube
  43. OSAL_PKG_ROUNDCUBE=roundcube
  44. OSAL_PATH_ROUNDCUBE_INSTALL_MYSQL=/usr/share/dbconfig-common/data/roundcubemail/install/mysql
  45. # SpamAssassin
  46. OSAL_SERVICE_SPAMASSASSIN=spamassassin
  47. OSAL_PKG_SPAMASSASSIN=spamassassin
  48. OSAL_PATH_SPAMASSASSIN_CONF=/etc/spamassassin
  49. # vsftp
  50. OSAL_PATH_VSFTPD_CONF=/etc/vsftpd.conf
  51. # Misc. users
  52. OSAL_USER_NOBODY=nobody
  53. OSAL_USER_NOGROUP=nogroup
  54. # Misc. commands
  55. OSAL_CMD_PACKAGE_MANAGER=/usr/bin/apt-get
  56. # Misc. paths
  57. OSAL_PATH_LOGROTATE_CONF_D=/etc/logrotate.d
  58. #-------------------------------------------------------------------#
  59. # Functions #
  60. #-------------------------------------------------------------------#
  61. # OS function wrappers
  62. # package_preinstall
  63. osal_package_preinstall() {
  64. $OSAL_CMD_PACKAGE_MANAGER -qq update
  65. }
  66. # package_install 'package' 'package' ...
  67. osal_package_install() {
  68. $OSAL_CMD_PACKAGE_MANAGER -y -qq install -o Dpkg::Options::="--force-confold" "$@"
  69. }
  70. # package_remoev 'package' 'package' ...
  71. osal_package_remove() {
  72. $OSAL_CMD_PACKAGE_MANAGER -y -qq purge "$@"
  73. }
  74. # service_start 'service-name'
  75. osal_service_start() {
  76. /usr/bin/systemctl start ${1}.service
  77. }
  78. # service_stop 'service-name'
  79. osal_service_stop() {
  80. /usr/bin/systemctl stop ${1}.service
  81. }
  82. # service_restart 'service-name'
  83. osal_service_restart() {
  84. /usr/bin/systemctl restart ${1}.service
  85. }
  86. # service_enable 'service-name'
  87. osal_service_enable() {
  88. /usr/bin/systemctl enable ${1}.service
  89. }
  90. # service_disable 'service-name'
  91. osal_service_disable() {
  92. /usr/bin/systemctl disable ${1}.service
  93. }
  94. # Software-specific
  95. # apache_module_isenabled 'module_name' = (1|null)
  96. osal_apache_module_isenabled() {
  97. /usr/sbin/a2query -q -m $1 && echo 1
  98. }
  99. # apache_module_enable 'module_name'
  100. osal_apache_module_enable() {
  101. /usr/sbin/a2enmod $1
  102. }
  103. # apache_module_disable 'module_name'
  104. osal_apache_module_disable() {
  105. /usr/sbin/a2dismod $1
  106. }
  107. # multiphp_php_package_prefix 7.3 = 'php7.3'
  108. osal_multiphp_php_package_prefix() {
  109. echo "php${1}"
  110. }
  111. # multiphp_fpm_isinstalled 7.3 = (1|null)
  112. osal_multiphp_fpm_isinstalled() {
  113. [ -f "/etc/init.d/php$1-fpm" ] && echo 1
  114. }
  115. # multiphp_etc_folder '7.3' = /etc/php/7.3
  116. multiphp_etc_folder() {
  117. echo /etc/php/php${1}
  118. }
  119. # multiphp_fpm_pool_d '7.3' = /etc/php/7.3/fpm/pool.d
  120. osal_multiphp_fpm_pool_d() {
  121. echo /etc/php/$1/fpm/pool.d
  122. }