websites: Add chmod777.sh

*chmod777.sh* is a simple static website, generated by Hugo.  It is
built and published from a Jenkins pipeline, which runs automatically
when new commits are pushed to Gitea.

The HTTPS certificate for this site is signed by Let's Encrypt and
managed by `lego` in the `certs` submodule.
This commit is contained in:
2020-03-04 08:02:38 -06:00
parent 2b49c5a02e
commit db6d13013a
9 changed files with 95 additions and 1 deletions

View File

@@ -0,0 +1 @@
chmod777_publisher_keys: []

View File

@@ -0,0 +1,28 @@
<VirtualHost _default_:80>
ServerName chmod777.sh
ServerAlias blog.chmod777.sh www.chmod777.sh
RewriteEngine On
RewriteRule (.*) https://chmod777.sh$1 [R=301,L]
</VirtualHost>
<VirtualHost _default_:443>
ServerName chmod777.sh
ServerAlias blog.chmod777.sh www.chmod777.sh
RewriteEngine On
RewriteCond %{SERVER_NAME} !^chmod777\.sh
RewriteRule (.*) https://chmod777.sh$2 [R=301,L]
Include conf.d/ssl.include
SSLCertificateKeyFile /etc/pki/tls/private/chmod777.sh.key
SSLCertificateFile /etc/pki/tls/certs/chmod777.sh.cer
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
</IfModule>
DocumentRoot /srv/www/chmod777.sh/htdocs
<Directory /srv/www/chmod777.sh/htdocs>
Require all granted
</Directory>
</VirtualHost>

View File

@@ -0,0 +1,53 @@
- name: ensure rsync is installed
package:
name: rsync
state: present
tags:
- install
- name: ensure app group exists
group:
name: webapp.chmod777
state: present
- name: ensure app user exists
user:
name: webapp.chmod777
group: webapp.chmod777
home: /srv/www/chmod777.sh
createhome: yes
state: present
- name: ensure app home directory permissions are set
file:
path: /srv/www/chmod777.sh
mode: '0755'
state: directory
- name: ensure app ssh home directory exists
file:
path: /srv/www/chmod777.sh/.ssh
mode: '0700'
owner: webapp.chmod777
group: webapp.chmod777
setype: ssh_home_t
- name: ensure publisher keys are trusted
authorized_key:
key: "{{ chmod777_publisher_keys|join('\n') }}"
user: webapp.chmod777
exclusive: true
- name: ensure authorized keys file permissions are correct
file:
path: /srv/www/chmod777.sh/.ssh/authorized_keys
mode: '0600'
owner: webapp.chmod777
group: webapp.chmod777
setype: ssh_home_t
- name: ensure apache is configured to serve chmod777.sh
copy:
src: chmod777.sh.httpd.conf
dest: /etc/httpd/conf.d/chmod777.sh.conf
mode: '0644'
notify: reload httpd
tags:
- httpd-config