virtualhost 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <VirtualHost *:80>
  2. #php_admin_value sendmail_path "/usr/sbin/sendmail -t -i"
  3. #php_admin_value mail.force_extra_parameters "-f postmaster@mydomain.com"
  4. #php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f postmaster@mydomain.com"
  5. php_admin_value open_basedir /tmp/:/home/.../htdocs:/home/.../dolibarr_documents:
  6. # Add this to use a custom apparmor profile when using apache php handler
  7. <IfModule mod_apparmor.c>
  8. AADefaultHatName sellyoursaas-instances
  9. </IfModule>
  10. # The URLs of the web site
  11. ServerName myvirtualalias
  12. ServerAlias myvirtualalias
  13. UseCanonicalName On
  14. KeepAlive On
  15. KeepAliveTimeout 5
  16. MaxKeepAliveRequests 20
  17. AddDefaultCharset UTF-8
  18. # Detect if we are using DoliDroid
  19. #SetEnvIf User-Agent DoliDroid dolidroid
  20. # The directory and permissions for the web site
  21. DocumentRoot "/home/.../htdocs"
  22. <Directory /home/.../htdocs/>
  23. AllowOverride None
  24. Options -Indexes -MultiViews +FollowSymLinks -ExecCGI
  25. Require all granted
  26. # To restrict access by a HTTP basic auth
  27. #AuthType Basic
  28. #AuthName "Authenticate to backoffice"
  29. #AuthUserFile /etc/apache2/.htpasswd
  30. #require valid-user
  31. </Directory>
  32. # Leaving /public and /api, /dav, .well_known but also wrappers for document, viewimage and public json/img accessible to everyone
  33. <Directory /home/admin/wwwroot/dolibarr/htdocs/public/>
  34. AuthType None
  35. Satisfy any
  36. Require all granted
  37. </Directory>
  38. <Directory /home/admin/wwwroot/dolibarr/htdocs/api/>
  39. AuthType None
  40. Satisfy any
  41. Require all granted
  42. </Directory>
  43. <Directory /home/admin/wwwroot/dolibarr/htdocs/dav/>
  44. AuthType None
  45. Satisfy any
  46. Require all granted
  47. </Directory>
  48. <Directory /home/admin/wwwroot/dolibarr/htdocs/.well-known/>
  49. AuthType None
  50. Satisfy any
  51. Require all granted
  52. </Directory>
  53. <Files ~ "(document\.php|viewimage\.php|\.js\.php|\.json\.php|\.js|\.css\.php|\.css|\.gif|\.png|\.svg|\.woff2|favicon\.ico)$">
  54. AuthType None
  55. Satisfy any
  56. Require all granted
  57. </Files>
  58. # Log directoves
  59. ErrorLog /var/log/apache2/myvirtualalias_error_log
  60. TransferLog /var/log/apache2/myvirtualalias_access_log
  61. # Compress is done on resources of type php pages, text file export, css and javascript
  62. AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/x-javascript
  63. AddType text/javascript .jgz
  64. AddEncoding gzip .jgz
  65. # Add cach performance directives
  66. ExpiresActive On
  67. ExpiresByType image/x-icon A2592000
  68. ExpiresByType image/gif A2592000
  69. ExpiresByType image/png A2592000
  70. ExpiresByType image/jpeg A2592000
  71. ExpiresByType text/css A2592000
  72. ExpiresByType text/javascript A2592000
  73. ExpiresByType application/x-javascript A2592000
  74. ExpiresByType application/javascript A2592000
  75. # To enable the SSL if the certificate file exists
  76. <IfFile "/etc/letsencrypt/live/www.mydomain.com/cert.pem">
  77. SSLEngine On
  78. # If both key and certificate are stored in the same file, only the
  79. # SSLCertificateFile directive is needed.
  80. SSLCertificateFile /etc/letsencrypt/live/www.mydomain.com/cert.pem
  81. SSLCertificateKeyFile /etc/letsencrypt/live/www.mydomain.com/privkey.pem
  82. SSLCertificateChainFile /etc/letsencrypt/live/www.mydomain.com/chain.pem
  83. #RewriteEngine on
  84. #RewriteCond %{SERVER_PORT} ^80$
  85. #RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]
  86. </IfFile>
  87. </VirtualHost>