CT's Nextcloud, Freshrss.heimdall & mailbackup: Refractored PHP Installation
Now using external `AlpinePHPTool` script for installing/configuring php. This wil make upgrading PHP on existing containers automaticaly plausible/easier. Removed php packages from alpine.yaml and moved them to CT-Files `Config/php.pkglist` Remove PHP configurations steps from CT's init.sh and integrated them in ` AlpinePHPTool` Removed PHP timezone configuration files and intergradeded them in `AlpinePHPTool` Updated
This commit is contained in:
@@ -205,9 +205,9 @@ files:
|
|||||||
- path: /var/lib/dbus/machine-id
|
- path: /var/lib/dbus/machine-id
|
||||||
generator: remove
|
generator: remove
|
||||||
|
|
||||||
- path: /etc/netplan/10-lxc.yaml
|
#- path: /etc/netplan/10-lxc.yaml
|
||||||
generator: dump
|
# generator: dump
|
||||||
content: |-
|
# content: |-
|
||||||
|
|
||||||
|
|
||||||
- path: /etc/network/interfaces
|
- path: /etc/network/interfaces
|
||||||
@@ -277,6 +277,17 @@ files:
|
|||||||
- nginx
|
- nginx
|
||||||
- heimdall
|
- heimdall
|
||||||
|
|
||||||
|
#PHP SetupScript
|
||||||
|
- path: /opt/Setup/Scripts/PHPTool.sh
|
||||||
|
generator: copy
|
||||||
|
source: Scripts/AlpinePHPTool.sh
|
||||||
|
variants:
|
||||||
|
- nextcloud
|
||||||
|
- mailbackup
|
||||||
|
# - elkarbackupALP
|
||||||
|
- heimdall
|
||||||
|
- freshrss
|
||||||
|
|
||||||
#FileForGitea
|
#FileForGitea
|
||||||
- path: /opt/Setup
|
- path: /opt/Setup
|
||||||
generator: copy
|
generator: copy
|
||||||
@@ -472,39 +483,6 @@ packages:
|
|||||||
|
|
||||||
#PKGS for nextcloud
|
#PKGS for nextcloud
|
||||||
- packages:
|
- packages:
|
||||||
- php83-pdo_mysql
|
|
||||||
- php83-pecl-imagick
|
|
||||||
- php83-cli
|
|
||||||
- php83-pecl-apcu
|
|
||||||
- php83-pecl-redis
|
|
||||||
- php83-fpm
|
|
||||||
- php83-cgi
|
|
||||||
- php83-common
|
|
||||||
- php83-mbstring
|
|
||||||
- php83-curl
|
|
||||||
- php83-gd
|
|
||||||
- php83-intl
|
|
||||||
- php83-soap
|
|
||||||
- php83-xml
|
|
||||||
- php83-zip
|
|
||||||
- php83-pear
|
|
||||||
- php83-session
|
|
||||||
- php83-posix
|
|
||||||
- php83-pdo
|
|
||||||
- php83-dom
|
|
||||||
- php83-simplexml
|
|
||||||
- php83-xmlreader
|
|
||||||
- php83-xmlwriter
|
|
||||||
- php83-opcache
|
|
||||||
- php83-pcntl
|
|
||||||
- php83-fileinfo
|
|
||||||
- php83-bcmath
|
|
||||||
- php83-gmp
|
|
||||||
- php83-sysvsem
|
|
||||||
- php83-exif
|
|
||||||
- php83-bz2
|
|
||||||
- php83-sodium
|
|
||||||
- php83-ctype
|
|
||||||
- libpng
|
- libpng
|
||||||
- zlib
|
- zlib
|
||||||
- imagemagick
|
- imagemagick
|
||||||
@@ -552,15 +530,7 @@ packages:
|
|||||||
#PKGS for MailBackup
|
#PKGS for MailBackup
|
||||||
- packages:
|
- packages:
|
||||||
- dovecot
|
- dovecot
|
||||||
- php83-xml
|
- offlineimap
|
||||||
- php83-fpm
|
|
||||||
- php83-curl
|
|
||||||
- php83-dom
|
|
||||||
- php83-zip
|
|
||||||
- php83-mbstring
|
|
||||||
- php83-openssl
|
|
||||||
- php83-ctype
|
|
||||||
- offlineimap@CommunityEdge
|
|
||||||
- sudo
|
- sudo
|
||||||
- git
|
- git
|
||||||
action: install
|
action: install
|
||||||
@@ -596,19 +566,6 @@ packages:
|
|||||||
#PKGS for Heimdall
|
#PKGS for Heimdall
|
||||||
- packages:
|
- packages:
|
||||||
- git
|
- git
|
||||||
- php83
|
|
||||||
- php83-ctype
|
|
||||||
- php83-curl
|
|
||||||
- php83-pdo_sqlite
|
|
||||||
- php83-mbstring
|
|
||||||
- php83-json
|
|
||||||
- php83-zip
|
|
||||||
- php83-xml
|
|
||||||
- php83-fpm
|
|
||||||
- php83-session
|
|
||||||
- php83-openssl
|
|
||||||
- php83-tokenizer
|
|
||||||
- php83-fileinfo
|
|
||||||
action: install
|
action: install
|
||||||
variants:
|
variants:
|
||||||
- heimdall
|
- heimdall
|
||||||
@@ -623,31 +580,7 @@ packages:
|
|||||||
#PKGS for FreshRSS
|
#PKGS for FreshRSS
|
||||||
- packages:
|
- packages:
|
||||||
- git
|
- git
|
||||||
- php83
|
#- php-pdo_sqlite
|
||||||
- php83-fpm
|
|
||||||
- php83-curl
|
|
||||||
- php83-gmp
|
|
||||||
- php83-intl
|
|
||||||
- php83-mbstring
|
|
||||||
- php83-xml
|
|
||||||
- php83-zip
|
|
||||||
- php83-ctype
|
|
||||||
- php83-dom
|
|
||||||
- php83-fileinfo
|
|
||||||
- php83-iconv
|
|
||||||
- php83-json
|
|
||||||
- php83-opcache
|
|
||||||
- php83-openssl
|
|
||||||
- php83-phar
|
|
||||||
- php83-session
|
|
||||||
- php83-simplexml
|
|
||||||
- php83-xmlreader
|
|
||||||
- php83-xmlwriter
|
|
||||||
- php83-xml
|
|
||||||
- php83-tokenizer
|
|
||||||
- php83-zlib
|
|
||||||
- php83-pdo_mysql
|
|
||||||
#- php83-pdo_sqlite
|
|
||||||
action: install
|
action: install
|
||||||
variants:
|
variants:
|
||||||
- freshrss
|
- freshrss
|
||||||
@@ -671,7 +604,7 @@ packages:
|
|||||||
http://dl-4.alpinelinux.org/alpine/v{{ image.release }}/community
|
http://dl-4.alpinelinux.org/alpine/v{{ image.release }}/community
|
||||||
#EndREPOS
|
#EndREPOS
|
||||||
{% if image.variant == "NoExist" %}@TestingEdge http://dl-4.alpinelinux.org/alpine/edge/testing{% endif %}
|
{% if image.variant == "NoExist" %}@TestingEdge http://dl-4.alpinelinux.org/alpine/edge/testing{% endif %}
|
||||||
{% if image.variant == "mailbackup" %}@CommunityEdge http://dl-4.alpinelinux.org/alpine/edge/community{% endif %}
|
{% if image.variant == "NoExist" %}@CommunityEdge http://dl-4.alpinelinux.org/alpine/edge/community{% endif %}
|
||||||
{% if image.variant == "elkarbackupALP" %}@CommunityOldStable http://dl-4.alpinelinux.org/alpine/v3.15/community{% endif %}
|
{% if image.variant == "elkarbackupALP" %}@CommunityOldStable http://dl-4.alpinelinux.org/alpine/v3.15/community{% endif %}
|
||||||
|
|
||||||
actions:
|
actions:
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ rm -rf /etc/nginx/conf.d
|
|||||||
mv /opt/Setup/Configs/nginx.conf /etc/nginx/nginx.conf
|
mv /opt/Setup/Configs/nginx.conf /etc/nginx/nginx.conf
|
||||||
|
|
||||||
#Configure Php
|
#Configure Php
|
||||||
rm -rf /etc/php7/php-fpm.d/*
|
echo ";Placeholder" > /etc/php7/php-fpm.d/www.conf
|
||||||
mv /opt/Setup/Configs/php.conf /etc/php7/php-fpm.d/elkarbackup.conf
|
mv /opt/Setup/Configs/php.conf /etc/php7/php-fpm.d/elkarbackup.conf
|
||||||
mv /opt/Setup/Configs/phpTimezone.ini /etc/php7/conf.d/04_date_timezone.ini
|
mv /opt/Setup/Configs/phpTimezone.ini /etc/php7/conf.d/04_date_timezone.ini
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ http {
|
|||||||
}
|
}
|
||||||
location ~ \.php$ {
|
location ~ \.php$ {
|
||||||
include fastcgi_params;
|
include fastcgi_params;
|
||||||
fastcgi_pass unix:/run/php-fpm83/php-fpm.sock;
|
fastcgi_pass unix:/run/php-fpmPHPver/php-fpm.sock;
|
||||||
fastcgi_split_path_info ^(.+\.php)(/.*)$;
|
fastcgi_split_path_info ^(.+\.php)(/.*)$;
|
||||||
set $path_info $fastcgi_path_info;
|
set $path_info $fastcgi_path_info;
|
||||||
fastcgi_param PATH_INFO $path_info;
|
fastcgi_param PATH_INFO $path_info;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
[freshrss]
|
[freshrss]
|
||||||
user = nginx
|
user = nginx
|
||||||
group = nginx
|
group = nginx
|
||||||
listen = /run/php-fpm83/php-fpm.sock
|
listen = /run/php-fpmPHPver/php-fpm.sock
|
||||||
listen.owner = nginx
|
listen.owner = nginx
|
||||||
listen.group = nginx
|
listen.group = nginx
|
||||||
php_admin_value[disable_functions] = exec,passthru,system
|
php_admin_value[disable_functions] = exec,passthru,system
|
||||||
@@ -27,7 +27,7 @@ php_admin_value[max_input_time] = 15
|
|||||||
php_admin_value[cgi.fix_pathinfo] = 0
|
php_admin_value[cgi.fix_pathinfo] = 0
|
||||||
php_admin_value[allow_url_fopen] = 1
|
php_admin_value[allow_url_fopen] = 1
|
||||||
php_admin_value[file_uploads] = On
|
php_admin_value[file_uploads] = On
|
||||||
php_admin_value[open_basedir] = /opt/freshrss:/opt/freshrss-Extensions:/run/php-fpm83/php-fpm.sock:/tmp
|
php_admin_value[open_basedir] = /opt/freshrss:/opt/freshrss-Extensions:/run/php-fpmPHPver/php-fpm.sock:/tmp
|
||||||
php_admin_value[session.use_strict_mode] = 1
|
php_admin_value[session.use_strict_mode] = 1
|
||||||
php_admin_value[session.cookie_httponly] = 1
|
php_admin_value[session.cookie_httponly] = 1
|
||||||
|
|
||||||
|
|||||||
1
CT-Files/freshrss/Configs/php.pkglist
Normal file
1
CT-Files/freshrss/Configs/php.pkglist
Normal file
@@ -0,0 +1 @@
|
|||||||
|
php83 php83-fpm php83-curl php83-gmp php83-intl php83-mbstring php83-xml php83-zip php83-ctype php83-dom php83-fileinfo php83-iconv php83-json php83-opcache php83-openssl php83-phar php83-session php83-simplexml php83-xmlreader php83-xmlwriter php83-xml php83-tokenizer php83-zlib php83-pdo_mysql
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
[Date]
|
|
||||||
date.timezone = Europe/Amsterdam
|
|
||||||
@@ -4,10 +4,9 @@
|
|||||||
rm -rf /etc/nginx/conf.d
|
rm -rf /etc/nginx/conf.d
|
||||||
mv /opt/Setup/Configs/nginx.conf /etc/nginx/nginx.conf
|
mv /opt/Setup/Configs/nginx.conf /etc/nginx/nginx.conf
|
||||||
|
|
||||||
#Configure Php-Fpm
|
#SetupPHP
|
||||||
rm -rf /etc/php83/php-fpm.d/*
|
ash /opt/Setup/Scripts/PHPTool.sh -d freshrss || exit 1
|
||||||
mv /opt/Setup/Configs/php.conf /etc/php83/php-fpm.d/freshrss.conf
|
rm /opt/Setup/Scripts/PHPTool.sh
|
||||||
mv /opt/Setup/Configs/phpTimezone.ini /etc/php83/conf.d/04_date_timezone.ini
|
|
||||||
|
|
||||||
#Configure Cron
|
#Configure Cron
|
||||||
mv /opt/Setup/Configs/crontab /etc/crontabs/nginx
|
mv /opt/Setup/Configs/crontab /etc/crontabs/nginx
|
||||||
@@ -32,4 +31,3 @@ chown -R nginx:nginx /opt/freshrss-Extensions
|
|||||||
|
|
||||||
#Enable services on boot
|
#Enable services on boot
|
||||||
rc-update add nginx
|
rc-update add nginx
|
||||||
rc-update add php-fpm83
|
|
||||||
@@ -37,7 +37,7 @@ http {
|
|||||||
}
|
}
|
||||||
location ~ \.php$ {
|
location ~ \.php$ {
|
||||||
include fastcgi_params;
|
include fastcgi_params;
|
||||||
fastcgi_pass unix:/run/php-fpm83/php-fpm.sock;
|
fastcgi_pass unix:/run/php-fpmPHPver/php-fpm.sock;
|
||||||
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||||
fastcgi_index index.php;
|
fastcgi_index index.php;
|
||||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
[heimdall]
|
[heimdall]
|
||||||
user = nginx
|
user = nginx
|
||||||
group = nginx
|
group = nginx
|
||||||
listen = /run/php-fpm83/php-fpm.sock
|
listen = /run/php-fpmPHPver/php-fpm.sock
|
||||||
listen.owner = nginx
|
listen.owner = nginx
|
||||||
listen.group = nginx
|
listen.group = nginx
|
||||||
php_admin_value[disable_functions] = exec,passthru,system
|
php_admin_value[disable_functions] = exec,passthru,system
|
||||||
@@ -27,7 +27,7 @@ php_admin_value[max_input_time] = 15
|
|||||||
php_admin_value[cgi.fix_pathinfo] = 0
|
php_admin_value[cgi.fix_pathinfo] = 0
|
||||||
php_admin_value[allow_url_fopen] = 1
|
php_admin_value[allow_url_fopen] = 1
|
||||||
php_admin_value[file_uploads] = On
|
php_admin_value[file_uploads] = On
|
||||||
php_admin_value[open_basedir] = /opt/heimdall:/run/php-fpm83/php-fpm.sock:/tmp
|
php_admin_value[open_basedir] = /opt/heimdall:/run/php-fpmPHPver/php-fpm.sock:/tmp
|
||||||
php_admin_value[session.use_strict_mode] = 1
|
php_admin_value[session.use_strict_mode] = 1
|
||||||
php_admin_value[session.cookie_httponly] = 1
|
php_admin_value[session.cookie_httponly] = 1
|
||||||
|
|
||||||
|
|||||||
1
CT-Files/heimdall/Configs/php.pkglist
Normal file
1
CT-Files/heimdall/Configs/php.pkglist
Normal file
@@ -0,0 +1 @@
|
|||||||
|
php83 php83-ctype php83-curl php83-pdo_sqlite php83-mbstring php83-json php83-zip php83-xml php83-fpm php83-session php83-openssl php83-tokenizer php83-fileinfo
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
[Date]
|
|
||||||
date.timezone = Europe/Amsterdam
|
|
||||||
@@ -4,10 +4,9 @@
|
|||||||
rm -rf /etc/nginx/conf.d
|
rm -rf /etc/nginx/conf.d
|
||||||
mv /opt/Setup/Configs/nginx.conf /etc/nginx/nginx.conf
|
mv /opt/Setup/Configs/nginx.conf /etc/nginx/nginx.conf
|
||||||
|
|
||||||
#Configure Php-Fpm
|
#SetupPHP
|
||||||
rm -rf /etc/php83/php-fpm.d/*
|
ash /opt/Setup/Scripts/PHPTool.sh -d heimdall || exit 1
|
||||||
mv /opt/Setup/Configs/php.conf /etc/php83/php-fpm.d/heimdall.conf
|
rm /opt/Setup/Scripts/PHPTool.sh
|
||||||
mv /opt/Setup/Configs/phpTimezone.ini /etc/php83/conf.d/04_date_timezone.ini
|
|
||||||
|
|
||||||
#Install Heimdall
|
#Install Heimdall
|
||||||
git clone -b 2.x https://github.com/linuxserver/Heimdall.git /opt/heimdall
|
git clone -b 2.x https://github.com/linuxserver/Heimdall.git /opt/heimdall
|
||||||
@@ -15,4 +14,3 @@ chown -R nginx:nginx /opt/heimdall
|
|||||||
|
|
||||||
#Enable services on boot
|
#Enable services on boot
|
||||||
rc-update add nginx
|
rc-update add nginx
|
||||||
rc-update add php-fpm83
|
|
||||||
@@ -2,9 +2,16 @@
|
|||||||
#Get Resources
|
#Get Resources
|
||||||
git clone https://git.bprieshof.nl/Tools/MailBackup-sys.git /opt/Setup/MailBackup-sys
|
git clone https://git.bprieshof.nl/Tools/MailBackup-sys.git /opt/Setup/MailBackup-sys
|
||||||
|
|
||||||
|
mkdir -p /opt/Setup/Configs
|
||||||
|
mv /opt/Setup/MailBackup-sys/Configs/php.* /opt/Setup/Configs
|
||||||
|
|
||||||
#Install and configure using git.bprieshof.nl MailBackup-sys
|
#Install and configure using git.bprieshof.nl MailBackup-sys
|
||||||
DistoBuilderINT=true ash /opt/Setup/MailBackup-sys/install.sh
|
DistoBuilderINT=true ash /opt/Setup/MailBackup-sys/install.sh
|
||||||
|
|
||||||
|
#Setup PHP
|
||||||
|
ash /opt/Setup/Scripts/PHPTool.sh -d mailbackup || exit 1
|
||||||
|
rm /opt/Setup/Scripts/PHPTool.sh
|
||||||
|
|
||||||
#cleanup
|
#cleanup
|
||||||
rm -rf /opt/Setup/MailBackup-sys
|
rm -rf /opt/Setup/MailBackup-sys
|
||||||
rm -f /opt/Setup/rlcl.zip
|
rm -f /opt/Setup/rlcl.zip
|
||||||
@@ -14,6 +14,7 @@ mv /opt/Setup/Configs/my.cnf /etc/mysql/my.cnf
|
|||||||
mkdir /opt/PhpMyAdmin
|
mkdir /opt/PhpMyAdmin
|
||||||
tar -C /opt/PhpMyAdmin -xzf /opt/Setup/phpmyadmin.tar.gz --strip 1
|
tar -C /opt/PhpMyAdmin -xzf /opt/Setup/phpmyadmin.tar.gz --strip 1
|
||||||
rm -rf /opt/Setup/phpmyadmin.tar.gz
|
rm -rf /opt/Setup/phpmyadmin.tar.gz
|
||||||
|
mv /opt/Setup/Configs/php.ini /opt/PhpMyAdmin/php.ini
|
||||||
mv /opt/Setup/Configs/config.inc.php /opt/PhpMyAdmin/config.inc.php
|
mv /opt/Setup/Configs/config.inc.php /opt/PhpMyAdmin/config.inc.php
|
||||||
mv /opt/Setup/Configs/phpmyadmin.service /etc/systemd/system/phpmyadmin.service
|
mv /opt/Setup/Configs/phpmyadmin.service /etc/systemd/system/phpmyadmin.service
|
||||||
mv /opt/Setup/Scripts/UpdatePhpMyadmin.sh /opt/UpdatePhpMyadmin.sh
|
mv /opt/Setup/Scripts/UpdatePhpMyadmin.sh /opt/UpdatePhpMyadmin.sh
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ http {
|
|||||||
fastcgi_param HTTPS on;
|
fastcgi_param HTTPS on;
|
||||||
fastcgi_param modHeadersAvailable true;
|
fastcgi_param modHeadersAvailable true;
|
||||||
fastcgi_param front_controller_active true;
|
fastcgi_param front_controller_active true;
|
||||||
fastcgi_pass unix:/run/php-fpm83/php-fpm.sock;
|
fastcgi_pass unix:/run/php-fpmPHPver/php-fpm.sock;
|
||||||
fastcgi_intercept_errors on;
|
fastcgi_intercept_errors on;
|
||||||
fastcgi_request_buffering off;
|
fastcgi_request_buffering off;
|
||||||
fastcgi_max_temp_file_size 0;
|
fastcgi_max_temp_file_size 0;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
[nextcloud]
|
[nextcloud]
|
||||||
user = nginx
|
user = nginx
|
||||||
group = nginx
|
group = nginx
|
||||||
listen = /run/php-fpm83/php-fpm.sock
|
listen = /run/php-fpmPHPver/php-fpm.sock
|
||||||
listen.owner = nginx
|
listen.owner = nginx
|
||||||
listen.group = nginx
|
listen.group = nginx
|
||||||
php_admin_value[disable_functions] = exec,passthru,system
|
php_admin_value[disable_functions] = exec,passthru,system
|
||||||
@@ -27,7 +27,7 @@ php_admin_value[memory_limit] = 512M
|
|||||||
php_admin_value[cgi.fix_pathinfo] = 0
|
php_admin_value[cgi.fix_pathinfo] = 0
|
||||||
php_admin_value[allow_url_fopen] = Off
|
php_admin_value[allow_url_fopen] = Off
|
||||||
php_admin_value[file_uploads] = on
|
php_admin_value[file_uploads] = on
|
||||||
php_admin_value[open_basedir] = /opt/nextcloud/:/var/nextcloud:/run/php-fpm83/php-fpm.sock:/run/valkey/valkey.sock:/proc/meminfo:/proc/cpuinfo:/dev/urandom:/tmp
|
php_admin_value[open_basedir] = /opt/nextcloud/:/var/nextcloud:/run/php-fpmPHPver/php-fpm.sock:/run/valkey/valkey.sock:/proc/meminfo:/proc/cpuinfo:/dev/urandom:/tmp
|
||||||
php_admin_value[session.use_strict_mode] = 1
|
php_admin_value[session.use_strict_mode] = 1
|
||||||
php_admin_value[session.cookie_httponly] = 1
|
php_admin_value[session.cookie_httponly] = 1
|
||||||
;HTTPSONLY php_admin_value[session.cookie_samesite] = Strict
|
;HTTPSONLY php_admin_value[session.cookie_samesite] = Strict
|
||||||
|
|||||||
1
CT-Files/nextcloud/Configs/php.pkglist
Normal file
1
CT-Files/nextcloud/Configs/php.pkglist
Normal file
@@ -0,0 +1 @@
|
|||||||
|
php83-pdo_mysql php83-pecl-imagick php83-cli php83-pecl-apcu php83-pecl-redis php83-fpm php83-cgi php83-common php83-mbstring php83-curl php83-gd php83-intl php83-soap php83-xml php83-zip php83-pear php83-session php83-posix php83-pdo php83-dom php83-simplexml php83-xmlreader php83-xmlwriter php83-opcache php83-pcntl php83-fileinfo php83-bcmath php83-gmp php83-sysvsem php83-exif php83-bz2 php83-sodium php83-ctype
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
[Date]
|
|
||||||
date.timezone = Europe/Amsterdam
|
|
||||||
@@ -6,13 +6,10 @@ curl -L --retry 7 --retry-delay 5 https://download.nextcloud.com/server/releases
|
|||||||
rm -rf /etc/nginx/conf.d
|
rm -rf /etc/nginx/conf.d
|
||||||
mv /opt/Setup/Configs/nginx.conf /etc/nginx/nginx.conf
|
mv /opt/Setup/Configs/nginx.conf /etc/nginx/nginx.conf
|
||||||
|
|
||||||
#Configure Php-Cli
|
#Setup PHP
|
||||||
sed -i '/memory_limit =/c\memory_limit = 512M' /etc/php83/php.ini
|
ash /opt/Setup/Scripts/PHPTool.sh -d nextcloud || exit 1
|
||||||
|
rm /opt/Setup/Scripts/PHPTool.sh
|
||||||
|
|
||||||
#Configure Php-Fpm
|
|
||||||
rm -rf /etc/php83/php-fpm.d/*
|
|
||||||
mv /opt/Setup/Configs/php.conf /etc/php83/php-fpm.d/nextcloud.conf
|
|
||||||
mv /opt/Setup/Configs/phpTimezone.ini /etc/php83/conf.d/04_date_timezone.ini
|
|
||||||
|
|
||||||
#Install Nextcloud
|
#Install Nextcloud
|
||||||
mkdir /opt/nextcloud /var/nextcloud
|
mkdir /opt/nextcloud /var/nextcloud
|
||||||
@@ -21,8 +18,6 @@ rm -rf /opt/Setup/nextcloud.tar.bz2
|
|||||||
chown -R nginx:nginx /opt/nextcloud
|
chown -R nginx:nginx /opt/nextcloud
|
||||||
chown -R nginx:nginx /var/nextcloud
|
chown -R nginx:nginx /var/nextcloud
|
||||||
echo "*/5 * * * * php83 -f /opt/nextcloud/cron.php > /dev/null 2>&1" >> /etc/crontabs/nginx
|
echo "*/5 * * * * php83 -f /opt/nextcloud/cron.php > /dev/null 2>&1" >> /etc/crontabs/nginx
|
||||||
echo "apc.enable_cli=1" >> /etc/php83/php.ini
|
|
||||||
#Enable services on boot
|
#Enable services on boot
|
||||||
rc-update add nginx
|
rc-update add nginx
|
||||||
rc-update add php-fpm83
|
|
||||||
rc-update add valkey
|
rc-update add valkey
|
||||||
171
Scripts/AlpinePHPTool.sh
Normal file
171
Scripts/AlpinePHPTool.sh
Normal file
@@ -0,0 +1,171 @@
|
|||||||
|
#!/bin/ash
|
||||||
|
|
||||||
|
############################################
|
||||||
|
# @description: #
|
||||||
|
# (Re)install/update and configure PHP #
|
||||||
|
# #
|
||||||
|
# @project: HomeserverCTs #
|
||||||
|
# @target: Alpine Linux based CT's #
|
||||||
|
############################################
|
||||||
|
|
||||||
|
#ScriptConfig
|
||||||
|
self=$0
|
||||||
|
|
||||||
|
Configurations="nextcloud freshrss heimdall mailbackup"
|
||||||
|
SupportedAlpineVersion=3.20
|
||||||
|
NewPHPVer=83
|
||||||
|
SkipAlpineRelCheck=false
|
||||||
|
|
||||||
|
#Git configuration only used for Upgrades and Fresh mode
|
||||||
|
gitRepo=https://git.bprieshof.nl/brammp/HomeServerCTs
|
||||||
|
gitBranch=main
|
||||||
|
|
||||||
|
#AlpineCheck
|
||||||
|
if [[ $(cat /etc/os-release | grep -m 1 ^"ID=") != *"alpine"* ]]; then echo Not on Alpine Linux ;exit 1;fi
|
||||||
|
|
||||||
|
#AlpineVersionCheck
|
||||||
|
|
||||||
|
if $SkipAlpineRelCheck ; then echo "Notice: Alpine releas check skipped"
|
||||||
|
elif [[ $(grep "^VERSION_ID=" /etc/os-release | awk -F= '{print $2}') != *"$SupportedAlpineVersion"* ]]; then printf "This Alpine Linux is not supported by default,\nto continue set SkipAlpineRelCheck to true and check the targeted php version in the script\n" ;exit 1;fi
|
||||||
|
|
||||||
|
#Functions for menu/core use
|
||||||
|
show_help () {
|
||||||
|
cat <<END_HELP
|
||||||
|
Usage: $self [-dfpuh] <Config name>
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-d, Distrobuilder: Install everything and use Local configs (non interactive)
|
||||||
|
-f, Fresh: Install everything and fetch config
|
||||||
|
-p, Purge: Remove all PHP packlages and back configuration (handy for distro release upgrades)
|
||||||
|
-u, Upgrade: Run both Purge and Install steps
|
||||||
|
|
||||||
|
Cnfigurations:
|
||||||
|
$Configurations
|
||||||
|
|
||||||
|
END_HELP
|
||||||
|
}
|
||||||
|
|
||||||
|
set_mode () {
|
||||||
|
if [ ! -z "$mode" ]; then echo "ERROR: Unable to use multiple modes at once";exit 1;fi
|
||||||
|
mode=$1
|
||||||
|
}
|
||||||
|
|
||||||
|
#Arugment/optin handeling
|
||||||
|
while getopts 'dfpuh' opt; do
|
||||||
|
case $opt in
|
||||||
|
d) set_mode distrobuilder;;
|
||||||
|
f) set_mode fresh ;;
|
||||||
|
p) set_mode purge ;;
|
||||||
|
u) set_mode upgrade ;;
|
||||||
|
h) show_help
|
||||||
|
exit ;;
|
||||||
|
*) show_help
|
||||||
|
exit 1
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
shift "$(( OPTIND - 1 ))"
|
||||||
|
for config do
|
||||||
|
config=$config
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -z "$mode" ]; then
|
||||||
|
printf "ERROR: No mode argument given\n\n"
|
||||||
|
show_help
|
||||||
|
exit 1
|
||||||
|
elif [ -z "$config" ]; then
|
||||||
|
printf "ERROR: No configuration argument given\n\n"
|
||||||
|
show_help
|
||||||
|
exit 1
|
||||||
|
elif [[ -z "$(echo "$Configurations" | fgrep -w "$config")" ]]; then
|
||||||
|
printf "ERROR: Invalid configuration argument given\n\n"
|
||||||
|
show_help
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
#Functions for mode
|
||||||
|
|
||||||
|
#Backup PHP config and purge PHP packages
|
||||||
|
run_Purge() {
|
||||||
|
#Check if PHP is installed
|
||||||
|
if ! command -v php &> /dev/null; then printf "ERROR: PHP is not installed\n\n"; exit 1;fi
|
||||||
|
#Get current PHP Version
|
||||||
|
OldPHPVer=$(grep php /etc/apk/world -m 1|sed -e "s/\-.*//" -e "s/php//")
|
||||||
|
#Create Backup an its location
|
||||||
|
if [[ ! -d "/opt/PHPCfgBackup/" ]];then mkdir -p "/opt/PHPCfgBackup"; fi
|
||||||
|
tar -czf "/opt/PHPCfgBackup/PHP$OldPHPVer-Config.tar.gz" -C "/etc/php$OldPHPVer" ./
|
||||||
|
rm -rf "/etc/php$OldPHPVer"
|
||||||
|
|
||||||
|
#Set placeholder in Nginx for PHP Socket
|
||||||
|
sed -i -e 's/'$OldPHPVer'/PHPver/g' /etc/nginx/nginx.conf
|
||||||
|
#Purge PHP packages
|
||||||
|
apk del php*
|
||||||
|
}
|
||||||
|
|
||||||
|
#(re)install PHP packages
|
||||||
|
run_Install() {
|
||||||
|
cat $configStore/php.pkglist | xargs apk add
|
||||||
|
#Configure Php-Fpm
|
||||||
|
echo ";Placeholder" > /etc/php$NewPHPVer/php-fpm.d/www.conf
|
||||||
|
sed -i -e 's/PHPver/'$NewPHPVer'/g' $configStore/php.conf
|
||||||
|
mv $configStore/php.conf /etc/php$NewPHPVer/php-fpm.d/$config.conf
|
||||||
|
printf "[Date]\ndate.timezone = Europe/Amsterdam" >/etc/php$NewPHPVer/conf.d/04_date_timezone.ini
|
||||||
|
|
||||||
|
#Configure Nginx PHP Socket
|
||||||
|
sed -i -e 's/PHPver/'$NewPHPVer'/g' /etc/nginx/nginx.conf
|
||||||
|
|
||||||
|
#Unique settings for configuration
|
||||||
|
case $config in
|
||||||
|
nextcloud)
|
||||||
|
echo runnig distrobuilder
|
||||||
|
#Configure Php-Cli
|
||||||
|
sed -i '/memory_limit =/c\memory_limit = 512M' /etc/php$NewPHPVer/php.ini
|
||||||
|
echo "apc.enable_cli=1" >> /etc/php$NewPHPVer/php.ini
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
#Enable service(s) on boot
|
||||||
|
rc-update add php-fpm$NewPHPVer
|
||||||
|
}
|
||||||
|
|
||||||
|
fetch_Config() {
|
||||||
|
#Unique settings for configuration
|
||||||
|
case $config in
|
||||||
|
mailbackup)
|
||||||
|
wget https://git.bprieshof.nl/Tools/MailBackup-sys/raw/branch/alpine/Configs/php.conf -O /tmp/php.conf || echo "ERROR: Config download failed";exit 1
|
||||||
|
wget https://git.bprieshof.nl/Tools/MailBackup-sys/raw/branch/alpine/Configs/php.pkglist -O /tmp/php.pkglist || echo "ERROR: Config download failed";exit 1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
wget "$repo"/raw/branch/"$branch"/CT-Files/$config/Configs/php.conf -O /tmp/php.conf || echo "ERROR: Config download failed";exit 1
|
||||||
|
wget "$repo"/raw/branch/"$branch"/CT-Files/"$config"/Configs/php.pkglist -O /tmp/php.pkglist || echo "ERROR: Config download failed";exit 1
|
||||||
|
;;
|
||||||
|
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
case $mode in
|
||||||
|
distrobuilder)
|
||||||
|
#Set config location
|
||||||
|
configStore=/opt/Setup/Configs
|
||||||
|
run_Install
|
||||||
|
;;
|
||||||
|
fresh)
|
||||||
|
fetch_Config
|
||||||
|
#Set config location
|
||||||
|
configStore=/tmp
|
||||||
|
run_Install
|
||||||
|
;;
|
||||||
|
purge)
|
||||||
|
run_Purge
|
||||||
|
;;
|
||||||
|
upgrade)
|
||||||
|
#Set config location
|
||||||
|
configStore=/opt/Setup/Configs
|
||||||
|
fetch_Config
|
||||||
|
service nginx stop
|
||||||
|
run_Purge
|
||||||
|
run_Install
|
||||||
|
service nginx start
|
||||||
|
;;
|
||||||
|
esac
|
||||||
@@ -7,6 +7,5 @@ cd "$( cd "$( dirname "$0" )" &> /dev/null && pwd )/.."
|
|||||||
read -p "Old PHP version (example 82 for 8.2): " OldPHPVer
|
read -p "Old PHP version (example 82 for 8.2): " OldPHPVer
|
||||||
read -p "New PHP version (example 83 for 8.3): " NewPHPVer
|
read -p "New PHP version (example 83 for 8.3): " NewPHPVer
|
||||||
|
|
||||||
sed -i -e "s/php$OldPHPVer/php$NewPHPVer/g" ./CT-Build/Alpine.yaml
|
sed -i -e "s/NewPHPVer=$OldPHPVer/NewPHPVer=$NewPHPVer/g" ./Scripts/AlpinePHPTool.sh
|
||||||
|
find ./CT-Files -name "php.pkglist" | xargs sed -i -e "s/php-fpm$OldPHPVer/php-fpm$NewPHPVer/g" -e "s/php$OldPHPVer/php$NewPHPVer/g"
|
||||||
find ./CT-Files -type f | xargs sed -i -e "s/php-fpm$OldPHPVer/php-fpm$NewPHPVer/g" -e "s/php$OldPHPVer/php$NewPHPVer/g"
|
|
||||||
|
|||||||
Reference in New Issue
Block a user