def ensure(): """Ensure nginx is installed""" select_package("apt") already_installed = package_ensure(["nginx"]) # On debian will automatically be enabled ensure_sites_available() put('config/nginx/nginx.conf', '/etc/nginx', use_sudo=True) put('config/nginx/fastcgi_params', '/etc/nginx', use_sudo=True) crypto.ensure_dhparams('/etc/ssl/dhparams-nginx.pem') with mode_sudo(): dir_ensure("/var/www", mode='1777') # make sure anyone can add a site return already_installed
def _postfix(database_password): select_package("apt") already_installed = package_ensure(["postfix", "postfix-pgsql"]) # On debian will automatically be enabled crypto.put_cert('config/certs/smtp.za3k.com.pem') crypto.put_key('config/keys/smtp.za3k.com.key') crypto.ensure_dhparams('/etc/ssl/dhparams-postfix.pem', size=1024) put('config/postfix/main.cf', '/etc/postfix', mode='644') put('config/postfix/master.cf', '/etc/postfix', mode='644') put('config/postfix/mailname', '/etc', mode='644') put('config/postfix/pgsql-virtual-aliases.cf', '/etc/postfix', mode='600') put('config/postfix/pgsql-virtual-mailbox.cf', '/etc/postfix', mode='600') _replace('/etc/postfix/pgsql-virtual-aliases.cf', 'POSTFIX_DATABASE_PASSWORD', database_password) _replace('/etc/postfix/pgsql-virtual-mailbox.cf', 'POSTFIX_DATABASE_PASSWORD', database_password)
def _postfix(database_password): select_package("apt") already_installed = package_ensure( ["postfix", "postfix-pgsql"]) # On debian will automatically be enabled crypto.put_cert('config/certs/smtp.za3k.com.pem') crypto.put_key('config/keys/smtp.za3k.com.key') crypto.ensure_dhparams('/etc/ssl/dhparams-postfix.pem', size=1024) put('config/postfix/main.cf', '/etc/postfix', mode='644') put('config/postfix/master.cf', '/etc/postfix', mode='644') put('config/postfix/mailname', '/etc', mode='644') put('config/postfix/pgsql-virtual-aliases.cf', '/etc/postfix', mode='600') put('config/postfix/pgsql-virtual-mailbox.cf', '/etc/postfix', mode='600') _replace('/etc/postfix/pgsql-virtual-aliases.cf', 'POSTFIX_DATABASE_PASSWORD', database_password) _replace('/etc/postfix/pgsql-virtual-mailbox.cf', 'POSTFIX_DATABASE_PASSWORD', database_password)
def ensure(): """Ensure nginx is installed""" select_package("apt") if sudo("which nginx", warn_only=True): # Temporary workaround for manual fix because I don't know how to deal with pinned package to get 'gunzip' and 'gzip' on nginx. Hoping to wait until this is the default. already_installed = True else: already_installed = package_ensure( ["nginx"]) # On debian will automatically be enabled if not already_installed: remove_default_sites() ensure_sites_available() util.put_file('config/nginx/nginx.conf', '/etc/nginx/nginx.conf', user='******', mode='0644') util.put_file('config/nginx/fastcgi_params', '/etc/nginx/fastcgi_params', user='******', mode='0644') crypto.ensure_dhparams('/etc/ssl/dhparams-nginx.pem') with mode_sudo(): dir_ensure("/var/www", mode='1777') # make sure anyone can add a site return already_installed