1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/xwiki_ynh.git synced 2024-09-03 20:36:11 +02:00

Add path management

This commit is contained in:
Josué Tille 2023-12-12 19:43:51 +01:00
parent e9b705e0f1
commit 08054e3b72
No known key found for this signature in database
GPG key ID: 716A6C99B04194EF
4 changed files with 31 additions and 6 deletions

View file

@ -1,7 +1,7 @@
#sub_path_only rewrite ^__PATH__$ __PATH__/ permanent; #sub_path_only rewrite ^__PATH__$ __PATH__/ permanent;
location __PATH__/ { location __PATH__/ {
proxy_pass http://127.0.0.1:__PORT__/; proxy_pass http://127.0.0.1:__PORT__/__PATH2__;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host; proxy_set_header Host $host;

View file

@ -251,7 +251,7 @@ xwiki.store.migration=1
#-# instance. #-# instance.
#-# For example: #-# For example:
#-# xwiki.webapppath=xwiki #-# xwiki.webapppath=xwiki
# xwiki.webapppath= xwiki.webapppath=__PATH3__
#-# The default servlet mapping name to use in the generated URLs. The right value is taken from the request URL, #-# The default servlet mapping name to use in the generated URLs. The right value is taken from the request URL,
#-# preserving the requested servlet mapping, so setting this is not recommended in most cases. If set, the value should #-# preserving the requested servlet mapping, so setting this is not recommended in most cases. If set, the value should
#-# contain a trailing /, but not a leading one. For example: #-# contain a trailing /, but not a leading one. For example:

View file

@ -31,6 +31,10 @@ ram.runtime = "1G"
[install.domain] [install.domain]
type = "domain" type = "domain"
[install.path]
type = "path"
default = "/xwiki"
[install.install_standard_flavor] [install.install_standard_flavor]
ask.en = "Would you like to install the Standard Flavor ?" ask.en = "Would you like to install the Standard Flavor ?"
help.en = "See https://extensions.xwiki.org/xwiki/bin/view/Extension/XWiki%20Standard%20Flavor/ for more informations." help.en = "See https://extensions.xwiki.org/xwiki/bin/view/Extension/XWiki%20Standard%20Flavor/ for more informations."

View file

@ -15,6 +15,16 @@ else
distribution_default_ui='#' distribution_default_ui='#'
fi fi
if [ $path == '/' ]; then
install_on_root=true
path2=''
path3=''
else
install_on_root=false
path2=${path/#\//}/
path3=${path/#\//}
fi
#================================================= #=================================================
# PERSONAL HELPERS # PERSONAL HELPERS
#================================================= #=================================================
@ -49,13 +59,13 @@ install_exension() {
chown root:root $temp_dir chown root:root $temp_dir
ynh_add_config --template=install_extensions.xml --destination=$temp_dir/install_extensions.xml ynh_add_config --template=install_extensions.xml --destination=$temp_dir/install_extensions.xml
status_raw=$($curl -i --user "superadmin:$super_admin_pwd" -X PUT -H 'Content-Type: text/xml' "http://localhost:$port/xwiki/rest/jobs?jobType=install&async=true" --upload-file $temp_dir/install_extensions.xml) status_raw=$($curl -i --user "superadmin:$super_admin_pwd" -X PUT -H 'Content-Type: text/xml' "http://localhost:$port$path/rest/jobs?jobType=install&async=true" --upload-file $temp_dir/install_extensions.xml)
state_request=$(echo $status_raw | $xq -x '//jobStatus/ns2:state') state_request=$(echo $status_raw | $xq -x '//jobStatus/ns2:state')
while true; do while true; do
sleep 5 sleep 5
status_raw=$($curl --user "superadmin:$super_admin_pwd" -X GET -H 'Content-Type: text/xml' "http://localhost:$port/xwiki/rest/jobstatus/extension/provision/$job_id") status_raw=$($curl --user "superadmin:$super_admin_pwd" -X GET -H 'Content-Type: text/xml' "http://localhost:$port$path/rest/jobstatus/extension/provision/$job_id")
state_request=$(echo "$status_raw" | $xq -x '//jobStatus/state') state_request=$(echo "$status_raw" | $xq -x '//jobStatus/state')
if [ -z "$state_request" ]; then if [ -z "$state_request" ]; then
@ -77,7 +87,7 @@ install_exension() {
wait_xwiki_started() { wait_xwiki_started() {
local res local res
while echo "$res" | grep -q 'meta http-equiv="refresh" content="1"'; do while echo "$res" | grep -q 'meta http-equiv="refresh" content="1"'; do
res=($curl "http://localhost:$port/xwiki/bin/view/Main/") res=($curl "http://localhost:$port$path/bin/view/Main/")
sleep 10 sleep 10
done done
} }
@ -93,7 +103,7 @@ wait_for_flavor_install() {
wait_xwiki_started wait_xwiki_started
while true; do while true; do
status_raw=$($curl --user "superadmin:$super_admin_pwd" -X GET -H 'Content-Type: text/xml' "http://localhost:$port/xwiki/rest/jobstatus/extension/action/$flavor_job_id") status_raw=$($curl --user "superadmin:$super_admin_pwd" -X GET -H 'Content-Type: text/xml' "http://localhost:$port$path/rest/jobstatus/extension/action/$flavor_job_id")
state_request=$(echo "$status_raw" | $xq -x '//jobStatus/state') state_request=$(echo "$status_raw" | $xq -x '//jobStatus/state')
if [ -z "$state_request" ]; then if [ -z "$state_request" ]; then
@ -124,6 +134,17 @@ install_source() {
ln -s /var/log/"$app" "$install_dir"/logs ln -s /var/log/"$app" "$install_dir"/logs
ln -s /etc/$app/xwiki.cfg "$install_dir"/webapps/xwiki/WEB-INF/xwiki.cfg ln -s /etc/$app/xwiki.cfg "$install_dir"/webapps/xwiki/WEB-INF/xwiki.cfg
ln -s /etc/$app/xwiki.properties "$install_dir"/webapps/xwiki/WEB-INF/xwiki.properties ln -s /etc/$app/xwiki.properties "$install_dir"/webapps/xwiki/WEB-INF/xwiki.properties
if $install_on_root; then
ynh_secure_remove --file="$install_dir"/webapps/root
ynh_secure_remove --file="$install_dir"/jetty/contexts/xwiki.xml
mv "$install_dir"/webapps/xwiki "$install_dir"/webapps/root
elif [ "$path" != xwiki ]; then
if [ "$path" == /root ]; then
ynh_die --message='/root path is not supported as path'
fi
mv "$install_dir"/webapps/xwiki "$install_dir"/webapps$path
fi
} }
add_config() { add_config() {