annotate deploy/config/code-ssl.conf.in @ 1628:9c5f8e24dadc live tip

Quieten this cron script
author Chris Cannam
date Tue, 25 Aug 2020 11:38:49 +0100
parents 18643ab36008
children
rev   line source
Chris@1601 1
Chris@1601 2 # Apache config with SSL and admin auth stubbed in. You must provide
Chris@1601 3 # the key/cert and auth files.
Chris@1601 4
Chris@1601 5 # Note this has been updated for Apache 2.4, which introduced a number
Chris@1601 6 # of (welcome) changes to access control directives.
Chris@1601 7
Chris@1601 8 PerlLoadModule Apache::Authn::SoundSoftware
Chris@1601 9
Chris@1601 10 <VirtualHost *:80>
Chris@1601 11 ServerName code.soundsoftware.ac.uk
Chris@1601 12 ServerAdmin chris.cannam@soundsoftware.ac.uk
Chris@1601 13
Chris@1601 14 DocumentRoot /var/www/code/public
Chris@1601 15 PassengerRestartDir restart_files
Chris@1601 16 PassengerHighPerformance on
Chris@1601 17 PassengerMaxRequests 50000
Chris@1601 18 PassengerStatThrottleRate 5
Chris@1601 19 PassengerFriendlyErrorPages off
Chris@1601 20 RailsSpawnMethod smart
Chris@1601 21 ExpiresDefault "access plus 1 minute"
Chris@1601 22
Chris@1601 23 # Redirect all activity to secure site
Chris@1601 24 Redirect seeother / "https://code.soundsoftware.ac.uk/"
Chris@1601 25
Chris@1601 26 <DirectoryMatch "^/.*/\.svn/">
Chris@1601 27 Require all denied
Chris@1601 28 </DirectoryMatch>
Chris@1601 29
Chris@1601 30 <DirectoryMatch "^/.*/\.hg/">
Chris@1601 31 Require all denied
Chris@1601 32 </DirectoryMatch>
Chris@1601 33
Chris@1601 34 <DirectoryMatch "^/.*/\.git/">
Chris@1601 35 Require all denied
Chris@1601 36 </DirectoryMatch>
Chris@1601 37
Chris@1601 38 <Directory /var/www/code/public>
Chris@1601 39 Options -MultiViews
Chris@1601 40 </Directory>
Chris@1601 41
Chris@1601 42 ErrorLog /var/log/apache2/code-error.log
Chris@1601 43 CustomLog /var/log/apache2/code-access.log vhost_combined
Chris@1601 44
Chris@1601 45 LogLevel warn
Chris@1601 46 ServerSignature Off
Chris@1601 47 </VirtualHost>
Chris@1601 48
Chris@1605 49 <VirtualHost *:443>
Chris@1601 50 ServerName code.soundsoftware.ac.uk
Chris@1601 51 ServerAdmin chris.cannam@soundsoftware.ac.uk
Chris@1601 52
Chris@1605 53 SSLEngine on
Chris@1605 54 SSLCertificateFile /etc/apache2/certs/code.soundsoftware.ac.uk.crt
Chris@1605 55 SSLCertificateKeyFile /etc/apache2/certs/code.soundsoftware.ac.uk.key
Chris@1605 56 SSLCertificateChainFile /etc/apache2/certs/code.soundsoftware.ac.uk.ca-bundle
Chris@1605 57 SSLVerifyClient none
Chris@1605 58 SSLProtocol all -SSLv2 -SSLv3
Chris@1605 59 SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
Chris@1605 60
Chris@1601 61 DocumentRoot /var/www/code/public
Chris@1601 62 PassengerRestartDir restart_files
Chris@1601 63 PassengerHighPerformance on
Chris@1601 64 PassengerMaxRequests 50000
Chris@1601 65 PassengerStatThrottleRate 5
Chris@1601 66 PassengerStartTimeout 60
Chris@1601 67 PassengerFriendlyErrorPages off
Chris@1601 68 RailsSpawnMethod smart
Chris@1601 69 ExpiresDefault "access plus 1 minute"
Chris@1601 70
Chris@1601 71 <Location /sys>
Chris@1601 72 AuthType Basic
Chris@1601 73 AuthUserFile "/etc/apache2/auth/user.htpasswd"
Chris@1601 74 AuthName "code.soundsoftware.ac.uk"
Chris@1601 75 Require user user
Chris@1601 76 </Location>
Chris@1601 77
Chris@1601 78 <Location /admin>
Chris@1601 79 AuthType Digest
Chris@1601 80 AuthUserFile "/etc/apache2/auth/admin.htdigest"
Chris@1601 81 AuthName "code.soundsoftware.ac.uk admin interface"
Chris@1601 82 Require user admin
Chris@1601 83 </Location>
Chris@1601 84
Chris@1601 85 <DirectoryMatch "^/.*/\.svn/">
Chris@1601 86 Require all denied
Chris@1601 87 </DirectoryMatch>
Chris@1601 88
Chris@1601 89 <DirectoryMatch "^/.*/\.hg/">
Chris@1601 90 Require all denied
Chris@1601 91 </DirectoryMatch>
Chris@1601 92
Chris@1601 93 <DirectoryMatch "^/.*/\.git/">
Chris@1601 94 Require all denied
Chris@1601 95 </DirectoryMatch>
Chris@1601 96
Chris@1601 97 <Directory /var/www/code/public>
Chris@1601 98 Options -MultiViews
Chris@1601 99 </Directory>
Chris@1601 100
Chris@1601 101 <Directory /var/www/code/public/themes/soundsoftware/stylesheets/fonts>
Chris@1601 102 # Avoid other sites embedding our fonts
Chris@1601 103 RewriteEngine on
Chris@1601 104 RewriteCond %{HTTP_REFERER} !^$
Chris@1601 105 RewriteCond %{HTTP_REFERER} !^http(s)?://code.soundsoftware.ac.uk/.*$ [NC]
Chris@1601 106 RewriteRule \.(ttf|woff|eot|otf|svg|zip|gz|html|txt)$ - [F]
Chris@1601 107 </Directory>
Chris@1601 108
Chris@1601 109 ScriptAlias /hg "/var/hg/index.cgi"
Chris@1601 110
Chris@1601 111 <Location /hg>
Chris@1601 112 AuthName "Mercurial"
Chris@1601 113 AuthType Basic
Chris@1601 114 Require valid-user
Chris@1601 115 PerlAccessHandler Apache::Authn::SoundSoftware::access_handler
Chris@1601 116 PerlAuthenHandler Apache::Authn::SoundSoftware::authen_handler
Chris@1601 117 PerlSetVar HTTPS "on"
Chris@1601 118 SoundSoftwareDSN "dbi:Pg:database=code;host=localhost"
Chris@1601 119 SoundSoftwareDbUser "code"
Chris@1601 120 SoundSoftwareDbPass "INSERT_DATABASE_PASSWORD_HERE"
Chris@1601 121 SoundSoftwareRepoPrefix "/var/hg/"
Chris@1601 122 SoundSoftwareSslRequired "on"
Chris@1601 123 Options +ExecCGI
Chris@1601 124 AddHandler cgi-script .cgi
Chris@1601 125 ExpiresDefault now
Chris@1601 126 </Location>
Chris@1601 127
Chris@1601 128 Alias /git "/var/files/git-mirror"
Chris@1601 129
Chris@1601 130 <Directory "/var/files/git-mirror">
Chris@1601 131 Options -Indexes +FollowSymLinks
Chris@1601 132 Require all granted
Chris@1601 133 </Directory>
Chris@1601 134 <Directory ~ "/var/files/git-mirror/.*\.workdir">
Chris@1601 135 Require all denied
Chris@1601 136 </Directory>
Chris@1601 137 <Directory ~ "/var/files/git-mirror/__.*">
Chris@1601 138 Require all denied
Chris@1601 139 </Directory>
Chris@1601 140
Chris@1601 141 ErrorLog /var/log/apache2/code-error.log
Chris@1601 142 CustomLog /var/log/apache2/code-access.log vhost_combined
Chris@1601 143
Chris@1601 144 LogLevel warn
Chris@1601 145 ServerSignature Off
Chris@1601 146
Chris@1601 147 </VirtualHost>
Chris@1601 148