Upload files to 'Docs/docs'
This commit is contained in:
81
Docs/docs/Dev-Adding-CMS.md
Normal file
81
Docs/docs/Dev-Adding-CMS.md
Normal file
@@ -0,0 +1,81 @@
|
||||
# List of possible Files and expected Structure
|
||||
|
||||
* CMS/`<NewCmsName>`/
|
||||
* conf.sh
|
||||
* preconf.sh
|
||||
* apt.list
|
||||
* `<Webserver>`-conf.sh
|
||||
* `<Webserver>`-preconf.sh
|
||||
* `<Webserver>`-apt.list
|
||||
* `<Webserver>`-unconfigured
|
||||
|
||||
# File Explanation
|
||||
| File Name | Description |
|
||||
| -------- | ------------ |
|
||||
| preconf.sh | Pre config/apt install commands runs for all web servers |
|
||||
| conf.sh | Configuration runs for all webservers |
|
||||
| apt.list | packagelist for all webservers |
|
||||
| `<Webserver>`-preconf.sh | Pre config/apt install commands runs for specified webserver |
|
||||
| `<Webserver>`-conf.sh | Configuration runs for specified webserver |
|
||||
| `<Webserver>`-apt.list | packagelist for specified webserver |
|
||||
| `<Webserver>`-unconfigured | webserver(vhost) config |
|
||||
|
||||
|
||||
# Example File Content for minimal CMS using NGINX
|
||||
|
||||
## nginx-conf.sh
|
||||
```
|
||||
#Getting Nginx SiteConfig
|
||||
wget -q -t7 "$repo"/raw/branch/"$branch"/CMS/<CMSName>/Nginx-unconfigured -O /tmp/nginx-siteconf
|
||||
|
||||
#Configuring Nginx SiteConfig
|
||||
sed -i -e 's/PHPver/'$phpver'/g' -e 's/DOMAINname/'$domain'/' /tmp/nginx-siteconf
|
||||
sed -i -e "0,/^#ConfHere/s/\(^#Conf.*\)/#ConfHere1 /" -e '/#ConfHere1/ r /tmp/nginx-siteconf' -e '/#ConfHere/c\' /etc/nginx/sites-enabled/"$domain"
|
||||
|
||||
#Crating dir for serving documents
|
||||
mkdir -p /var/www/"$domain"/html
|
||||
chown www-data:www-data -R /var/www/"$domain"/html
|
||||
|
||||
#Restarting Nginx
|
||||
systemctl reload nginx
|
||||
```
|
||||
## Nginx-unconfigured
|
||||
|
||||
```
|
||||
#Getting Nginx SiteConfig
|
||||
wget -q -t7 "$repo"/raw/branch/"$branch"/CMS/<CMSName>/Nginx-unconfigured -O /tmp/nginx-siteconf
|
||||
|
||||
#Configuring Nginx SiteConfig
|
||||
sed -i -e 's/PHPver/'$phpver'/g' -e 's/DOMAINname/'$domain'/' /tmp/nginx-siteconf
|
||||
sed -i -e "0,/^#ConfHere/s/\(^#Conf.*\)/#ConfHere1 /" -e '/#ConfHere1/ r /tmp/nginx-siteconf' -e '/#ConfHere/c\' /etc/nginx/sites-enabled/"$domain"
|
||||
|
||||
#Crating dir for serving documents
|
||||
mkdir -p /var/www/"$domain"/html
|
||||
chown www-data:www-data -R /var/www/"$domain"/html
|
||||
|
||||
#Restarting Nginx
|
||||
systemctl reload nginx
|
||||
```
|
||||
Make sure the config always starts with #beginConf and ends with #endConf
|
||||
So the installer can keep track of the config
|
||||
|
||||
|
||||
# Defining in the menu
|
||||
### Add the following to ModulesMenu.list
|
||||
For each webserver a list define seperate.
|
||||
### Rules for Cms names in menu
|
||||
* a “:” needs to be appended
|
||||
* the repo name must not contain capital leters
|
||||
* the name need a “/” pre and appended
|
||||
|
||||
Example CMS name: "test-cms"
|
||||
|
||||
### For Whiptail
|
||||
add under the previous “<WebserverName>CMSL+”
|
||||
make sure to add to all supported webservers
|
||||
```
|
||||
<WebserverName>CMSL+=("<CMSName>:" "<CMS Description>." OFF)
|
||||
```
|
||||
### For legacy
|
||||
add to the “`<WebserverName>`CMSL variable after the last entry and before "None"
|
||||
Make sure the the entry is quoted, otherwise the installer will break
|
||||
Reference in New Issue
Block a user