Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Labels
Merge Requests
106
Merge Requests
106
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Jobs
Commits
Open sidebar
nexedi
slapos
Commits
70db124b
Commit
70db124b
authored
Jun 09, 2022
by
HongzheWang
Browse files
Options
Browse Files
Download
Plain Diff
: Simplify lamp usage
See merge request
nexedi/slapos!1183
parents
3474cec6
57f985f2
Pipeline
#22045
failed with stage
Changes
14
Pipelines
3
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
68 additions
and
114 deletions
+68
-114
software/matomo/buildout.hash.cfg
software/matomo/buildout.hash.cfg
+1
-5
software/matomo/matomo-instance.cfg.in
software/matomo/matomo-instance.cfg.in
+0
-23
software/matomo/software.cfg
software/matomo/software.cfg
+2
-6
software/nextcloud/apache-httpd.conf.in
software/nextcloud/apache-httpd.conf.in
+0
-31
software/nextcloud/buildout.hash.cfg
software/nextcloud/buildout.hash.cfg
+1
-5
software/nextcloud/nextcloud-instance.cfg.in
software/nextcloud/nextcloud-instance.cfg.in
+0
-24
software/nextcloud/software.cfg
software/nextcloud/software.cfg
+0
-4
stack/lamp/apache-httpd.conf.in
stack/lamp/apache-httpd.conf.in
+3
-3
stack/lamp/buildout.cfg
stack/lamp/buildout.cfg
+14
-0
stack/lamp/buildout.hash.cfg
stack/lamp/buildout.hash.cfg
+8
-4
stack/lamp/instance-apache-php.cfg.in
stack/lamp/instance-apache-php.cfg.in
+27
-1
stack/lamp/instance-lamp.cfg.jinja2.in
stack/lamp/instance-lamp.cfg.jinja2.in
+1
-2
stack/lamp/instance.cfg.in
stack/lamp/instance.cfg.in
+5
-0
stack/lamp/php.ini.in
stack/lamp/php.ini.in
+6
-6
No files found.
software/matomo/buildout.hash.cfg
View file @
70db124b
...
...
@@ -13,13 +13,9 @@
# section inheritance (< = ...) are NOT supported (but you should really
# not need these here).
[template-apache-httpd]
filename = apache-httpd.conf.in
md5sum = 9940e05d5e624a7884f4e6e062355798
[template-matomo-instance]
filename = matomo-instance.cfg.in
md5sum =
f82fd755c4ca5569836e0638a7502306
md5sum =
63cca2dab84791adf805922b2b73ab4a
[template-matomo-backup.sh]
filename = matomo-backup.sh.in
...
...
software/matomo/matomo-instance.cfg.in
View file @
70db124b
...
...
@@ -5,22 +5,6 @@ dir-backup = ${directory:backup}
find-bin = {{ findutils_location }}
diff-bin = {{ diffutils_location }}
#php.ini parameters
php.memory_limit = 512M
php.date.timezone = Europe/Paris
php.upload_max_filesize = 10240M
php.post_max_size = 10240M
php.session.cookie_secure = True
php.max_execution_time = 1800
php.max_input_time = 3600
php.output_buffering = 'Off'
php.max_file_uploads = 100
[php-bin]
recipe = slapos.cookbook:wrapper
wrapper-path = ${directory:bin}/php
command-line = ${instance-parameter:php-bin} -c ${php.ini-conf:output}
[matomo-backup-cron]
recipe = slapos.cookbook:cron.d
cron-entries = ${cron:cron-entries}
...
...
@@ -28,13 +12,6 @@ name = matomo-backup
frequency = 0 0 * * *
command = ${matomo-backup.sh:output}
[matomo-apache-httpd]
recipe = slapos.recipe.template:jinja2
url = {{ matomo_apache_httpd }}
output = ${directory:apache.d}/matomo.conf
context =
section parameter_dict apache-php-configuration
[matomo-backup.sh]
recipe = slapos.recipe.template:jinja2
url = {{ matomo_backup_sh }}
...
...
software/matomo/software.cfg
View file @
70db124b
...
...
@@ -28,12 +28,13 @@ url = ${:_profile_base_location_}/${:filename}
[application]
url = https://builds.matomo.org/matomo-4.7.1.zip
md5sum = 8d592676bc2c0d51363ad7b2caf171fe
archive-root = matomo
# give the location of the instance-matomo.cfg fil
# Without it the instance-matomo.cfg file will not be executed
[custom-application-deployment]
path = ${template-matomo-instance:output}
part-list = matomo-backup.sh matomo-backup-cron
matomo-apache-httpd
part-list = matomo-backup.sh matomo-backup-cron
db-name = matomo
db-user = matomo
db-password = 12345678
...
...
@@ -49,13 +50,8 @@ context =
key gzip_location gzip:location
key python3_location python3:location
key php_location apache-php:location
key matomo_apache_httpd template-apache-httpd:target
key matomo_backup_sh template-matomo-backup.sh:target
# download apache-httpd.conf.in
[template-apache-httpd]
<= matomo-download
# download matomo-backup.sh.in
[template-matomo-backup.sh]
<= matomo-download
software/nextcloud/apache-httpd.conf.in
deleted
100644 → 0
View file @
3474cec6
<VirtualHost *:{{ parameter_dict['port'] }}>
ServerAdmin admin@example.com
DocumentRoot {{ parameter_dict['document-root'] }}
SetEnvIf Origin "^http(s)?://(.+\.)?(app\.officejs\.com)$" ORIGIN_DOMAIN=$0
Header always set Access-Control-Allow-Origin "%{ORIGIN_DOMAIN}e" env=ORIGIN_DOMAIN
Header always set Access-Control-Allow-Credentials "true" env=ORIGIN_DOMAIN
Header always set Access-Control-Allow-Methods "PROPFIND, PROPPATCH, COPY, MOVE, DELETE, MKCOL, LOCK, UNLOCK, PUT, GETLIB, VERSION-CONTROL, CHECKIN, CHECKOUT, UNCHECKOUT, REPORT, UPDATE, CANCELUPLOAD, HEAD, OPTIONS, GET, POST" env=ORIGIN_DOMAIN
Header always set Access-Control-Allow-Headers "Overwrite, Destination, Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Authorization" env=ORIGIN_DOMAIN
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
</IfModule>
<Directory {{ parameter_dict['document-root'] }}>
Options +FollowSymlinks
AllowOverride All
Require all granted
SetEnv HOME {{ parameter_dict['document-root'] }}
SetEnv HTTP_HOME {{ parameter_dict['document-root'] }}
<IfModule mod_dav.c>
Dav off
</IfModule>
</Directory>
ErrorLog "{{ parameter_dict['log-dir'] }}/nextcloud-error.log"
CustomLog "{{ parameter_dict['log-dir'] }}/nextcloud-access.log" combined
</VirtualHost>
software/nextcloud/buildout.hash.cfg
View file @
70db124b
...
...
@@ -16,14 +16,10 @@
filename = nextcloud-install.sh.in
md5sum = 094c26b177fdde69b41d81b89bab542b
[template-apache-httpd]
filename = apache-httpd.conf.in
md5sum = f7e8f6ea20f8685bb4e42cacaee4116f
[template-nextcloud-config.json]
filename = nextcloud-config.json.in
md5sum = 6f42f0a8c5e5c0c657541a65c4d9ee57
[template-nextcloud-instance]
filename = nextcloud-instance.cfg.in
md5sum =
4426b5e62c61efec2e68e7f548bc6463
md5sum =
e144dc4cdc3bd0a9be81ac0cc2cfdbd4
software/nextcloud/nextcloud-instance.cfg.in
View file @
70db124b
...
...
@@ -55,17 +55,6 @@ cli-url = ${slap-parameter:instance.cli-url}
data-dir = ${nc-directory:data}
redis-socket = ${service-redis:unixsocket}
#php.ini parameters
php.memory_limit = 512M
php.date.timezone = Europe/Paris
php.upload_max_filesize = 10240M
php.post_max_size = 10240M
php.session.cookie_secure = True
php.max_execution_time = 1800
php.max_input_time = 3600
php.output_buffering = 'Off'
php.max_file_uploads = 100
#SMTP settings
mail.from = ${slap-parameter:instance.mail-from}
mail.domain = ${slap-parameter:instance.mail-domain}
...
...
@@ -93,7 +82,6 @@ depends =
${redis-promise:recipe}
${nextcloud-cron:recipe}
${nextcloud-optimize:recipe}
${nextcloud-apache-httpd:recipe}
${nextcloud-backup-cron:recipe}
${nextcloud-news-updater:recipe}
${nextcloud-config-update:recipe}
...
...
@@ -120,13 +108,6 @@ input = inline:#!/bin/bash
output = ${directory:bin}/check-nc-install
mode = 744
[nextcloud-apache-httpd]
recipe = slapos.recipe.template:jinja2
url = {{ nextcloud_apache_httpd }}
output = ${directory:apache.d}/nextcloud.conf
context =
section parameter_dict apache-php-configuration
[nextcloud-cron]
recipe = slapos.cookbook:cron.d
cron-entries = ${cron:cron-entries}
...
...
@@ -199,11 +180,6 @@ input = inline:#!/bin/sh
${php-bin:wrapper-path} ${instance-parameter:nextcloud}/occ config:import ${nextcloud-config.json:output}
mode = 744
[php-bin]
recipe = slapos.cookbook:wrapper
wrapper-path = ${directory:bin}/php
command-line = ${instance-parameter:php-bin} -c ${php.ini-conf:output}
[publish-connection-information]
admin-user = ${instance-parameter:admin-user}
admin-password = ${instance-parameter:admin-password}
...
...
software/nextcloud/software.cfg
View file @
70db124b
...
...
@@ -15,9 +15,6 @@ md5sum = d81902d2dec5d547779bec6336a438be
[template-nextcloud-install.sh]
<= nc-download
[template-apache-httpd]
<= nc-download
[template-nextcloud-config.json]
<= nc-download
...
...
@@ -34,7 +31,6 @@ context =
raw redis_bin ${redis:location}/bin/redis-server
raw redis_cli ${redis:location}/bin/redis-cli
key nextcloud_install_sh template-nextcloud-install.sh:target
key nextcloud_apache_httpd template-apache-httpd:target
key nextcloud_parameter_json template-nextcloud-config.json:target
section nextcloud_apps nextcloud-apps
...
...
s
oftware/matomo
/apache-httpd.conf.in
→
s
tack/lamp
/apache-httpd.conf.in
View file @
70db124b
<VirtualHost *:{{ parameter_dict['port'] }}>
ServerAdmin admin@example.com
DocumentRoot {{ parameter_dict['document-root'] }}
/matomo
DocumentRoot {{ parameter_dict['document-root'] }}
SetEnvIf Origin "^http(s)?://(.+\.)?(app\.officejs\.com)$" ORIGIN_DOMAIN=$0
Header always set Access-Control-Allow-Origin "%{ORIGIN_DOMAIN}e" env=ORIGIN_DOMAIN
...
...
@@ -18,7 +18,7 @@
Dav off
</Directory>
ErrorLog "{{ parameter_dict['log-dir'] }}/
matomo
-error.log"
CustomLog "{{ parameter_dict['log-dir'] }}/
matomo
-access.log" combined
ErrorLog "{{ parameter_dict['log-dir'] }}/
lamp
-error.log"
CustomLog "{{ parameter_dict['log-dir'] }}/
lamp
-access.log" combined
</VirtualHost>
stack/lamp/buildout.cfg
View file @
70db124b
...
...
@@ -37,6 +37,14 @@ url = ${:_profile_base_location_}/${:filename}
[application]
recipe = slapos.recipe.build:download-unpacked
# softwares using this stack can extend this section to provide the url of
# an archive containing the application using url and md5sum options.
# The archive will be extracted directly in apache's DocumentRoot folder.
# In case the archive contain multiple files and folders and only a
# specific folder should be used as DocumentRoot, archive-root can be
# set to the relative path of this folder.
archive-root =
[python]
part = python3
...
...
@@ -67,6 +75,7 @@ output = ${buildout:directory}/instance.cfg
url = ${:_profile_base_location_}/${:filename}
context =
key application_location application:location
key application_archive_root application:archive-root
key application_deployment_part_list custom-application-deployment:part-list
key apache_location apache:location
key apache_php_location apache-php:location
...
...
@@ -107,6 +116,7 @@ context =
key db_name custom-application-deployment:db-name
key db_user custom-application-deployment:db-user
key db_password custom-application-deployment:db-password
key lamp_apache_httpd template-apache-httpd:target
[instance-apache-php]
<= template-download-base
...
...
@@ -120,6 +130,10 @@ context =
[template-php.ini]
<= template-download-base
# download apache-httpd.conf.in
[template-apache-httpd]
<= template-download-base
[erp5]
# lamp stack reuses erp5 stack to have mariadb, but we don't need to checkout erp5 here.
recipe =
...
...
stack/lamp/buildout.hash.cfg
View file @
70db124b
...
...
@@ -14,15 +14,15 @@
# not need these here).
[instance]
filename = instance.cfg.in
md5sum =
a5a630377bfb0421d6993c9c2c411a23
md5sum =
603d03f43ea04e95237c80d3b9e72ba7
[instance-apache-php]
filename = instance-apache-php.cfg.in
md5sum =
0952ef9f6cb5e259ad5519d2975d2f37
md5sum =
8506f245087dfdc02561e8739a567bd6
[instance-lamp]
filename = instance-lamp.cfg.jinja2.in
md5sum =
b3d68a13d7a7ffcac774f51f02a68359
md5sum =
79343539dff96f2d4592a4358d469201
[template-apache.conf]
filename = apache.conf.in
...
...
@@ -30,4 +30,8 @@ md5sum = 04080510698732d84122b464fdb08c6a
[template-php.ini]
filename = php.ini.in
md5sum = 599358f7df4c1e0de86270f5992ef904
md5sum = 980f603c34fcb008ce73a9dde2dbceb3
[template-apache-httpd]
filename = apache-httpd.conf.in
md5sum = 4ad906791f0d6fd3a4aef8f5a8018b45
stack/lamp/instance-apache-php.cfg.in
View file @
70db124b
...
...
@@ -13,6 +13,7 @@ parts =
php.ini-conf
apache-php-service
publish-connection-information
lamp-apache-httpd
{{ parameter_dict['application-part-list'] }}
...
...
@@ -133,10 +134,17 @@ cert-file = ${ca-directory:certs}/httpd.crt
key-file = ${ca-directory:certs}/httpd.key
apache-config-dir = ${directory:apache.d}
[lamp-apache-httpd]
recipe = slapos.recipe.template:jinja2
url = {{ lamp_apache_httpd }}
output = ${directory:apache.d}/lamp.conf
context =
section parameter_dict apache-php-configuration
[apache-php-conf]
recipe = slapos.recipe.template:jinja2
url = {{ parameter_dict['template-apache-conf'] }}
output = ${directory:etc}/apache.conf
output = ${directory:etc}/apache.conf
graceful
context =
section parameter_dict apache-php-configuration
extensions = jinja2.ext.do
...
...
@@ -188,6 +196,24 @@ backend-url = ${apache-php-configuration:url}
php-bin = {{ parameter_dict['apache-php-location'] }}/bin/php
php-ini = ${php.ini-conf:output}
#Defaut php.ini parameters
#They have been set in file php.ini.in
#I reserve them here just for an example
#You can reset them like this in your own software
php.memory_limit = 512M
php.date.timezone = Europe/Paris
php.upload_max_filesize = 10240M
php.post_max_size = 10240M
php.session.cookie_secure = True
php.max_execution_time = 1800
php.max_input_time = 3600
php.output_buffering = 'Off'
php.max_file_uploads = 100
[php-bin]
recipe = slapos.cookbook:wrapper
wrapper-path = ${directory:bin}/php
command-line = ${instance-parameter:php-bin} -c ${php.ini-conf:output}
#----------------
#--
...
...
stack/lamp/instance-lamp.cfg.jinja2.in
View file @
70db124b
...
...
@@ -37,8 +37,7 @@ return =
{% do publish_dict.__setitem__('backend-url', '${request-apache:connection-backend-url}') -%}
{% do monitor_base_url_dict.__setitem__('apache', '${request-apache:connection-monitor-base-url}') -%}
{% do mariadb_dict.__setitem__('database-list', [{'name': db_name, 'user': db_user, 'password': db_password}]) -%}
{% do mariadb_dict.__setitem__('database-list', [{'name': db_name, 'user': db_user, 'password': db_password }]) -%}
{% do mariadb_dict.__setitem__('test-database-amount', 0) -%}
{% do mariadb_dict.__setitem__('tcpv4-port', 2099) -%}
{% do mariadb_dict.__setitem__('max-slowqueries-threshold', 1000) -%}
...
...
stack/lamp/instance.cfg.in
View file @
70db124b
...
...
@@ -54,7 +54,11 @@ extra-context =
raw db_password {{ db_password }}
[dynamic-template-apache-php-parameters]
{% if application_archive_root %}
application-location = {{ application_location }}/{{ application_archive_root }}
{% else %}
application-location = {{ application_location }}
{% endif %}
application-part-list = {{ application_deployment_part_list }}
template-apache-conf = {{ template_apache_conf }}
apache-location = {{ apache_location }}
...
...
@@ -72,6 +76,7 @@ filename = template-apache-php.cfg
extra-context =
key custom_application_template application-parameters:custom-application-template
section parameter_dict dynamic-template-apache-php-parameters
raw lamp_apache_httpd {{ lamp_apache_httpd }}
[dynamic-template-mariadb-parameters]
bash = {{ bash_location }}
...
...
stack/lamp/php.ini.in
View file @
70db124b
...
...
@@ -13,15 +13,15 @@ session.save_path = "{{ parameter_dict['tmp-dir'] }}"
session.auto_start = 0
date.timezone = {{ instance_dict.get('php.date.timezone', 'Europe/Paris') }}
file_uploads = On
upload_max_filesize = {{ instance_dict.get('php.upload_max_filesize', '
8
M') }}
post_max_size = {{ instance_dict.get('php.post_max_size', '
8
M') }}
upload_max_filesize = {{ instance_dict.get('php.upload_max_filesize', '
10240
M') }}
post_max_size = {{ instance_dict.get('php.post_max_size', '
10240
M') }}
magic_quotes_gpc=Off
memory_limit = {{ instance_dict.get('php.memory_limit', '
128
M') }}
memory_limit = {{ instance_dict.get('php.memory_limit', '
512
M') }}
session.cookie_secure = True
max_execution_time = {{ instance_dict.get('php.max_execution_time',
6
0) }}
max_input_time = {{ instance_dict.get('php.max_input_time',
6
0) }}
max_execution_time = {{ instance_dict.get('php.max_execution_time',
180
0) }}
max_input_time = {{ instance_dict.get('php.max_input_time',
360
0) }}
output_buffering = {{ instance_dict.get('php.output_buffering', 4096) }}
max_file_uploads = {{ instance_dict.get('php.max_file_uploads',
2
0) }}
max_file_uploads = {{ instance_dict.get('php.max_file_uploads',
10
0) }}
#extension_dir="./"#
sys_temp_dir="{{ parameter_dict['tmp-dir'] }}"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment