Compare commits
11 Commits
b2d43c0189
...
c659b7c999
Author | SHA1 | Date |
---|---|---|
Shawn Davis | c659b7c999 | 8 months ago |
Shawn Davis | a10e6a7069 | 8 months ago |
Shawn Davis | a6f11b8525 | 11 months ago |
Shawn Davis | acff2bbe29 | 11 months ago |
Shawn Davis | e4dd772bda | 1 year ago |
Shawn Davis | ad6c773193 | 1 year ago |
Shawn Davis | 20866e78ed | 1 year ago |
Shawn Davis | 63443d44fe | 1 year ago |
Shawn Davis | 56e6af404e | 1 year ago |
Shawn Davis | a8f811a256 | 1 year ago |
Shawn Davis | c638b3d520 | 1 year ago |
@ -1 +1 @@ |
|||||||
7.0.0-a |
7.1.5-a |
@ -1 +1 @@ |
|||||||
7.0.0 |
7.1.5 |
After Width: | Height: | Size: 92 KiB |
After Width: | Height: | Size: 44 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 301 KiB |
After Width: | Height: | Size: 393 KiB |
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 111 KiB |
After Width: | Height: | Size: 181 KiB |
@ -0,0 +1,97 @@ |
|||||||
|
# Apache |
||||||
|
|
||||||
|
Summary: Work with Apache. |
||||||
|
|
||||||
|
## Available Commands |
||||||
|
|
||||||
|
### apache.disable_module |
||||||
|
|
||||||
|
Disable an Apache module. NOT SUPPORTED ACROSS ALL OPERATING SYSTEMS. |
||||||
|
|
||||||
|
```ini |
||||||
|
[disable ifenv] |
||||||
|
apache.disable_module: ifenv |
||||||
|
sudo: yes |
||||||
|
``` |
||||||
|
|
||||||
|
### apache.disable_site |
||||||
|
|
||||||
|
Disable an Apache site (virtual host configuration). NOT SUPPORTED ACROSS ALL OPERATING SYSTEMS. |
||||||
|
|
||||||
|
```ini |
||||||
|
[disable the default apache site] |
||||||
|
apache.disable_site: 000-default |
||||||
|
sudo: yes |
||||||
|
``` |
||||||
|
|
||||||
|
### apache.enable_module |
||||||
|
|
||||||
|
Enable an Apache module. NOT SUPPORTED ACROSS ALL OPERATING SYSTEMS. |
||||||
|
|
||||||
|
```ini |
||||||
|
[enable apache modules] |
||||||
|
apache.enable_module: $item |
||||||
|
items: ssl, rewrite, wsgi |
||||||
|
sudo: yes |
||||||
|
``` |
||||||
|
|
||||||
|
### apache.enable_site |
||||||
|
|
||||||
|
Enable an Apache site (virtual host configuration). NOT SUPPORTED ACROSS ALL OPERATING SYSTEMS. |
||||||
|
|
||||||
|
```ini |
||||||
|
[enable the application configuration] |
||||||
|
apache.enable_site: example.app |
||||||
|
sudo: yes |
||||||
|
``` |
||||||
|
|
||||||
|
### apache.reload |
||||||
|
|
||||||
|
Reload Apache configuration. |
||||||
|
|
||||||
|
```ini |
||||||
|
[reload apache] |
||||||
|
apache.reload: |
||||||
|
sudo: yes |
||||||
|
``` |
||||||
|
|
||||||
|
### apache.restart |
||||||
|
|
||||||
|
Restart the Apache service. |
||||||
|
|
||||||
|
```ini |
||||||
|
[restart apache] |
||||||
|
apache.restart: |
||||||
|
sudo: yes |
||||||
|
``` |
||||||
|
|
||||||
|
### apache.start |
||||||
|
|
||||||
|
Start the Apache service. |
||||||
|
|
||||||
|
```ini |
||||||
|
[start apache] |
||||||
|
apache.start: |
||||||
|
sudo: yes |
||||||
|
``` |
||||||
|
|
||||||
|
### apache.stop |
||||||
|
|
||||||
|
Stop the Apache service. |
||||||
|
|
||||||
|
```ini |
||||||
|
[stop apache] |
||||||
|
apache.stop: |
||||||
|
sudo: yes |
||||||
|
``` |
||||||
|
|
||||||
|
### apache.test |
||||||
|
|
||||||
|
Test Apache configuration. |
||||||
|
|
||||||
|
```ini |
||||||
|
[test apache configuration] |
||||||
|
apache.test: |
||||||
|
sudo: yes |
||||||
|
stop: yes |
||||||
|
``` |
After Width: | Height: | Size: 92 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 44 KiB |
After Width: | Height: | Size: 301 KiB |
After Width: | Height: | Size: 393 KiB |
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 111 KiB |
After Width: | Height: | Size: 181 KiB |
@ -0,0 +1,45 @@ |
|||||||
|
# Packages |
||||||
|
|
||||||
|
Summary: Work with system packages. |
||||||
|
|
||||||
|
## Available Commands |
||||||
|
|
||||||
|
### install |
||||||
|
|
||||||
|
Install a package. |
||||||
|
|
||||||
|
```ini |
||||||
|
[install vim] |
||||||
|
install: vim |
||||||
|
sudo: yes |
||||||
|
``` |
||||||
|
|
||||||
|
### uninstall |
||||||
|
|
||||||
|
Uninstall a package. |
||||||
|
|
||||||
|
```ini |
||||||
|
[uninstall vim] |
||||||
|
uninstall: vim |
||||||
|
sudo: yes |
||||||
|
``` |
||||||
|
|
||||||
|
### update |
||||||
|
|
||||||
|
Update package information. |
||||||
|
|
||||||
|
```ini |
||||||
|
[update package info] |
||||||
|
update: |
||||||
|
sudo: yes |
||||||
|
``` |
||||||
|
|
||||||
|
### upgrade |
||||||
|
|
||||||
|
Upgrade system packages. |
||||||
|
|
||||||
|
```ini |
||||||
|
[upgrade system packages] |
||||||
|
upgrade: |
||||||
|
sudo: yes |
||||||
|
``` |
@ -0,0 +1,60 @@ |
|||||||
|
# System |
||||||
|
|
||||||
|
Summary: Work with the system. |
||||||
|
|
||||||
|
## Available Commands |
||||||
|
|
||||||
|
### reboot |
||||||
|
|
||||||
|
Reboot the system. |
||||||
|
|
||||||
|
```ini |
||||||
|
[reboot the system] |
||||||
|
reboot: |
||||||
|
sudo: yes |
||||||
|
``` |
||||||
|
|
||||||
|
### reload |
||||||
|
|
||||||
|
Reload a service. |
||||||
|
|
||||||
|
```ini |
||||||
|
[reload postgres] |
||||||
|
reload: postgresql |
||||||
|
``` |
||||||
|
|
||||||
|
### restart |
||||||
|
|
||||||
|
Restart a service: |
||||||
|
|
||||||
|
```ini |
||||||
|
[restart postgres] |
||||||
|
restart: postgresql |
||||||
|
``` |
||||||
|
|
||||||
|
### run |
||||||
|
|
||||||
|
Run any shell command. |
||||||
|
|
||||||
|
```ini |
||||||
|
[run a useless listing command] |
||||||
|
run: "ls -ls" |
||||||
|
``` |
||||||
|
|
||||||
|
### start |
||||||
|
|
||||||
|
Start a service: |
||||||
|
|
||||||
|
```ini |
||||||
|
[start postgres] |
||||||
|
start: postgresql |
||||||
|
``` |
||||||
|
|
||||||
|
### stop |
||||||
|
|
||||||
|
Stop a service: |
||||||
|
|
||||||
|
```ini |
||||||
|
[stop postgres] |
||||||
|
stop: postgresql |
||||||
|
``` |
@ -0,0 +1,41 @@ |
|||||||
|
# Users |
||||||
|
|
||||||
|
Summary: Work with system users and groups. |
||||||
|
|
||||||
|
## Available Commands |
||||||
|
|
||||||
|
### group |
||||||
|
|
||||||
|
NOT YET IMPLEMENTED. |
||||||
|
|
||||||
|
### user |
||||||
|
|
||||||
|
Add or remove a user. |
||||||
|
|
||||||
|
Adding a user: |
||||||
|
|
||||||
|
```ini |
||||||
|
[create bob's user account] |
||||||
|
user: bob |
||||||
|
groups: sudo |
||||||
|
sudo: yes |
||||||
|
``` |
||||||
|
|
||||||
|
To override the home directory: |
||||||
|
|
||||||
|
```ini |
||||||
|
[create the deploy user] |
||||||
|
user: deploy |
||||||
|
groups: sudo, www-data |
||||||
|
home: /var/www/example_app |
||||||
|
sudo: yes |
||||||
|
``` |
||||||
|
|
||||||
|
Removing a user: |
||||||
|
|
||||||
|
```ini |
||||||
|
[remove bob's user account because he's screwing up the system] |
||||||
|
user: bob |
||||||
|
op: remove |
||||||
|
sudo: yes |
||||||
|
``` |
@ -0,0 +1,6 @@ |
|||||||
|
[package] |
||||||
|
description = Install Matomo. |
||||||
|
docs = https://matomo.com |
||||||
|
tags = stats |
||||||
|
title = Matomo |
||||||
|
version = 0.1.0-d |
@ -0,0 +1,91 @@ |
|||||||
|
[install dependencies] |
||||||
|
install: $item |
||||||
|
sudo: yes |
||||||
|
items: apache2 mariadb-server php libapache2-mod-php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear phpbcmath curl unzip |
||||||
|
|
||||||
|
[make sure a maintenance root exists] |
||||||
|
dir: /var/www/maint/www |
||||||
|
group: {{ apache_group }} |
||||||
|
owner: {{ apache_user }} |
||||||
|
recursive: yes |
||||||
|
sudo: yes |
||||||
|
|
||||||
|
[disable the default site] |
||||||
|
apache.disable_site: 000-default |
||||||
|
sudo: yes |
||||||
|
|
||||||
|
[install certbot] |
||||||
|
install: certbot |
||||||
|
sudo: yes |
||||||
|
|
||||||
|
[enable apache modules] |
||||||
|
apache.enable_module: $item |
||||||
|
items: rewrite headers enc dif mime setenvif ssl |
||||||
|
sudo: yes |
||||||
|
|
||||||
|
; Is this really necessary? |
||||||
|
[enable php] |
||||||
|
run: systemctl enable --now php7.4-fpm |
||||||
|
sudo: yes |
||||||
|
|
||||||
|
[create virtual host without SSL] |
||||||
|
template: http.conf /etc/apache2/sites-available/{{ domain_name }}.conf |
||||||
|
sudo: yes |
||||||
|
|
||||||
|
[enable the non-SSL site] |
||||||
|
apache.enable_site: {{ domain_name }} |
||||||
|
sudo: yes |
||||||
|
|
||||||
|
[reload apache with non-SSL site in place] |
||||||
|
apache.reload: |
||||||
|
sudo: yes |
||||||
|
|
||||||
|
[create the database] |
||||||
|
mysql.create: {{ database_name }} |
||||||
|
host: {{ database_host }} |
||||||
|
|
||||||
|
[create the database user] |
||||||
|
mysql.user: {{ database_user }} |
||||||
|
host: {{ database_host }} |
||||||
|
password: {{ database_password }} |
||||||
|
|
||||||
|
[set privileges for database user] |
||||||
|
mysql.grant: {{ database_user }} |
||||||
|
database: {{ database_name }} |
||||||
|
host: {{ database_host }} |
||||||
|
|
||||||
|
[download the latest copy of matomo] |
||||||
|
run: wget http://builds.matomo.org/matomo-latest.zip |
||||||
|
cd: /tmp |
||||||
|
|
||||||
|
[unzip the matomo package] |
||||||
|
run: unzip matomo-latest.zip |
||||||
|
cd: /tmp |
||||||
|
|
||||||
|
[move the matomo package] |
||||||
|
move: /tmp/matomo {{ install_path }}/{{ domain_tld }} |
||||||
|
sudo: yes |
||||||
|
|
||||||
|
[set permissions on the matomo directory] |
||||||
|
perms: {{ install_path }}/{{ domain_tld }} |
||||||
|
owner: {{ apache_user }} |
||||||
|
group: {{ apache_group }} |
||||||
|
mode: 755 |
||||||
|
recursive: yes |
||||||
|
sudo: yes |
||||||
|
|
||||||
|
{% if not file_exists(letsencrypt_file, host=current_host) %} |
||||||
|
[acquire SSL certificate] |
||||||
|
certbot: {{ domain_name }} |
||||||
|
email: {{ webmaster_email }} |
||||||
|
webroot: /var/www/maint/www |
||||||
|
sudo: yes |
||||||
|
{% endif %} |
||||||
|
|
||||||
|
[create virtual host with SSL] |
||||||
|
template: https.conf /etc/apache2/sites-available/{{ domain_name }}.conf |
||||||
|
sudo: yes |
||||||
|
|
||||||
|
[reload apache with SSL in place] |
||||||
|
apache.reload: |
||||||
|
sudo: yes |
@ -0,0 +1,6 @@ |
|||||||
|
# 12:15am EST is 4:15am UTC. |
||||||
|
# Cron times are in UTC. |
||||||
|
# See https://savvytime.com/converter/est-to-utc |
||||||
|
# See https://crontab.guru/ |
||||||
|
|
||||||
|
5 * * * * {{ apache_user }} /usr/bin/php {{ deploy.current_path }}/console core:archive --url=https://{{ domain_name }}/ > {{ deploy.current_path }}/archive.log |
@ -0,0 +1,12 @@ |
|||||||
|
# The port 80 host is required for renewing Let's Encrypt certificates. By default document root is shared by all sites |
||||||
|
# requiring SSL support, but this may be changed to {{ deploy.shared_path }}/maint/www in the deployment template if |
||||||
|
# a custom maintenance site is required. |
||||||
|
<VirtualHost *:80> |
||||||
|
ServerName {{ domain_name }} |
||||||
|
ServerAlias *.{{ domain_name }} |
||||||
|
RewriteEngine On |
||||||
|
RewriteCond %{HTTPS} off |
||||||
|
RewriteCond %{REQUEST_URI} !^/.well-known [NC] |
||||||
|
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L] |
||||||
|
DocumentRoot /var/www/maint/www |
||||||
|
</VirtualHost> |
@ -0,0 +1,52 @@ |
|||||||
|
# The port 80 host is required for renewing Let's Encrypt certificates. By default document root is shared by all sites |
||||||
|
# requiring SSL support, but this may be changed to {{ deploy.shared_path }}/maint/www in the deployment template if |
||||||
|
# a custom maintenance site is required. |
||||||
|
<VirtualHost *:80> |
||||||
|
ServerName {{ domain_name }} |
||||||
|
ServerAlias *.{{ domain_name }} |
||||||
|
RewriteEngine On |
||||||
|
RewriteCond %{HTTPS} off |
||||||
|
RewriteCond %{REQUEST_URI} !^/.well-known [NC] |
||||||
|
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L] |
||||||
|
DocumentRoot /var/www/maint/www |
||||||
|
</VirtualHost> |
||||||
|
|
||||||
|
# The 443 host is where the application is actually served. |
||||||
|
<VirtualHost *:443> |
||||||
|
ServerName {{ domain_name }} |
||||||
|
DocumentRoot {{ install_path }}/{{ domain_tld }} |
||||||
|
|
||||||
|
<Directory {{ install_path }}/{{ domain_tld }}> |
||||||
|
Options FollowSymLinks |
||||||
|
Allowoverride All |
||||||
|
Require all granted |
||||||
|
</Directory> |
||||||
|
|
||||||
|
<Files "console"> |
||||||
|
Options None |
||||||
|
Require all denied |
||||||
|
</Files> |
||||||
|
|
||||||
|
<Directory {{ install_path }}/{{ domain_tld }}/misc/user> |
||||||
|
Options None |
||||||
|
Required all granted |
||||||
|
</Directory> |
||||||
|
|
||||||
|
<Directory {{ install_path }}/{{ domain_tld }}/misc> |
||||||
|
Options None |
||||||
|
Required all granted |
||||||
|
</Directory> |
||||||
|
|
||||||
|
<Directory {{ install_path }}/{{ domain_tld }}/vendor> |
||||||
|
Options None |
||||||
|
Required all granted |
||||||
|
</Directory> |
||||||
|
|
||||||
|
ErrorLog ${APACHE_LOG_DIR}/matomo_error.log |
||||||
|
CustomLog ${APACHE_LOG_DIR}/matomo_access.log combined |
||||||
|
|
||||||
|
SSLEngine on |
||||||
|
SSLCertificateKeyFile /etc/letsencrypt/live/{{ domain_name }}/privkey.pem |
||||||
|
SSLCertificateFile /etc/letsencrypt/live/{{ domain_name }}/fullchain.pem |
||||||
|
|
||||||
|
</VirtualHost> |
@ -0,0 +1,43 @@ |
|||||||
|
[apache_user] |
||||||
|
comment = The name of the user that runs Apache. |
||||||
|
value = www-data |
||||||
|
|
||||||
|
[apache_group] |
||||||
|
comment = The name of the group to which the Apache user is assigned. |
||||||
|
value = www-data |
||||||
|
|
||||||
|
[database_host] |
||||||
|
comment = The server name hosting the database. |
||||||
|
value = localhost |
||||||
|
|
||||||
|
[database_name] |
||||||
|
comment = The name of the database. |
||||||
|
value = matomo_example_com |
||||||
|
|
||||||
|
[database_password] |
||||||
|
comment = The password used to access the database. |
||||||
|
value = change_this_to_something_secure! |
||||||
|
|
||||||
|
[database_user] |
||||||
|
comment = The user name accessing the database. |
||||||
|
value = matomo_example_com |
||||||
|
|
||||||
|
[domain_name] |
||||||
|
comment = The domain name to use for the Matomo host. |
||||||
|
value = matomo.example.com |
||||||
|
|
||||||
|
[domain_tld] |
||||||
|
comment = The domain name as a directory. |
||||||
|
value = matomo_example_com |
||||||
|
|
||||||
|
[letsencrypt_file] |
||||||
|
comment = The path to the SSL cert. |
||||||
|
value = /etc/letsencrypt/live/%(domain_name)/cert.pem |
||||||
|
|
||||||
|
[webmaster_email] |
||||||
|
comment = The webmaster's email address. Used when setting up SSL. |
||||||
|
value = webmaster@example.com |
||||||
|
|
||||||
|
[install_path] |
||||||
|
comment = The path to document root where Matomo will be installed. |
||||||
|
value = /var/www |
@ -1,5 +1,7 @@ |
|||||||
DATE = "2023-03-30" |
DATE = "2024-04-11" |
||||||
VERSION = "7.0.0" |
VERSION = "7.1.5" |
||||||
MAJOR = 7 |
MAJOR = 7 |
||||||
MINOR = 0 |
MINOR = 1 |
||||||
PATCH = 0 |
PATCH = 5 |
||||||
|
STATUS = "a" |
||||||
|
|
||||||
|