Projects
jsj
jsj-installtools
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 109
View file
jsj-installtools.changes
Changed
@@ -1,4 +1,10 @@ ------------------------------------------------------------------- +Wed Mar 1 11:23:00 UTC 2023 - Stefan Botter <obs@botter.cc> + +- add PrepareApacheProxyHost to create virutal host for reverse + proxy purposes incl. requesting certificate with acme.sh + +------------------------------------------------------------------- Tue Feb 28 14:25:57 UTC 2023 - Stefan Botter <obs@botter.cc> - add permissions in vhost-ssl for non-SSL virtual host for
View file
jsj-installtools.spec
Changed
@@ -26,10 +26,12 @@ Source15: EnableProxy Source16: DisableProxy Source21: nagiosok.html -Source22: vhost.conf -Source23: vhost-ssl.conf -Source24: 000-ssl-stapling.conf -Source25: dhparam.pem +Source22: 000-ssl-stapling.conf +Source23: dhparam.pem +Source24: PrepareApacheProxyHost +Source30: vhost.conf +Source31: vhost-ssl.conf +Source32: vhost-ssl-proxy.conf #Requires: check_mk-agent-plugins BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -61,8 +63,10 @@ install -Dm644 %{S:21} $RPM_BUILD_ROOT/%{_datadir}/jsjinstalltools install -Dm644 %{S:22} $RPM_BUILD_ROOT/%{_datadir}/jsjinstalltools install -Dm644 %{S:23} $RPM_BUILD_ROOT/%{_datadir}/jsjinstalltools -install -Dm644 %{S:24} $RPM_BUILD_ROOT/%{_datadir}/jsjinstalltools -install -Dm644 %{S:25} $RPM_BUILD_ROOT/%{_datadir}/jsjinstalltools +install -Dm755 %{S:24} $RPM_BUILD_ROOT/%{_datadir}/jsjinstalltools +install -Dm644 %{S:30} $RPM_BUILD_ROOT/%{_datadir}/jsjinstalltools +install -Dm644 %{S:31} $RPM_BUILD_ROOT/%{_datadir}/jsjinstalltools +install -Dm644 %{S:32} $RPM_BUILD_ROOT/%{_datadir}/jsjinstalltools install -Dm755 %{S:15} $RPM_BUILD_ROOT/usr/bin install -Dm755 %{S:16} $RPM_BUILD_ROOT/usr/bin
View file
PrepareApacheConfig
Changed
@@ -28,16 +28,22 @@ esac echo $HOSTNAME zypper -n in -l phpMyAdmin -for h in $HOSTNAME s$HOSTNAME; do +NEWHOSTS=$HOSTNAME +if ${SHOST}_ = s_ ; then + $NEWHOSTS="$NEWHOSTS ${SHOST}${HOSTNAME}" +fi +for h in $NEWHOSTS; do mkdir -p /srv/www/$h/htdocs /srv/www/$h/cgi-bin done chmod 775 /srv/www/$HOSTNAME/* chgrp www /srv/www/$HOSTNAME/* -if -f $JSJSHARE/nagiosok.html ; then - cp $JSJSHARE/nagiosok.html /srv/www/$SHOST$HOSTNAME/htdocs -else - echo no file nagiosok.html - exit 1 +if ${SHOST}_ = s_ ; then + if -f $JSJSHARE/nagiosok.html ; then + cp $JSJSHARE/nagiosok.html /srv/www/$SHOST$HOSTNAME/htdocs + else + echo no file nagiosok.html + exit 1 + fi fi if ${VERSION_ID/./} -lt 130 ; then TEMPFILE=$(mktemp /tmp/apache_listen.XXXXXXXXXX) @@ -49,13 +55,13 @@ sed -e "s/HOSTNAME/$HOSTNAME/" -e "s/DOMAINNAME/$DOMAIN/" < $JSJSHARE/vhost-ssl.conf > /etc/apache2/vhosts.d/$HOSTNAME.conf cp $JSJSHARE/dhparam.pem /etc/ssl/ cp $JSJSHARE/000-ssl-stapling.conf /etc/apache2/vhosts.d/ - if x$SHOST = xs ; then - sed -e "s/HOSTNAME/s$HOSTNAME/" -e "s/DOMAINNAME/$DOMAIN/" < $JSJSHARE/vhost.conf > /etc/apache2/vhosts.d/s$HOSTNAME.conf + if ${SHOST}_ = s_ ; then + sed -e "s/HOSTNAME/$SHOST$HOSTNAME/" -e "s/DOMAINNAME/$DOMAIN/" < $JSJSHARE/vhost.conf > /etc/apache2/vhosts.d/$SHOST$HOSTNAME.conf fi if ${VERSION_ID%%.*} -ge 13 ; then sed -i -e '/^ *Order .*allow/ i\ \ \ \ \ \ \ \ Require all granted' \ -e '/^ *Order .*allow/ d' \ - -e '/^ *\(Allow\|Deny\) from/ d' /etc/apache2/vhosts.d/*.conf + -e '/^ *\(Allow\|Deny\) from/ d' /etc/apache2/vhosts.d/?$HOSTNAME.conf fi /usr/sbin/a2enmod headers rewrite else
View file
PrepareApacheProxyHost
Added
@@ -0,0 +1,71 @@ +#!/bin/bash +HOSTNAME="" +SHOST="" +LOC=jsj +JSJSHARE="/usr/share/jsjinstalltools" +. /usr/share/jsjinstalltools/GetVersion +while $1"_" != _ ; do + case $1 in + "-h") HOSTNAME=$2; shift; shift;; + "-d") PROXYDEST=$2; shift; shift;; + "-c") REQCERT=1; shift;; + *) echo "call: $0 -h <hostname.domain>"; + echo " -d <proxydestination.domain>"; + exit 1;; + esac +done +if -z $HOSTNAME ; then + echo call: $0 -h hostname + exit 1 +fi +DOMAINNAME=${HOSTNAME#*.} +HOSTNAME=${HOSTNAME%%.*} +echo Hostname $HOSTNAME $DOMAINNAME +PROXYDESTDN=${PROXYDEST#*.} +PROXYDESTHN=${PROXYDEST%%.*} +echo Proxydestination $PROXYDESTHN $PROXYDESTDN + +if -f $JSJSHARE/vhost-ssl-proxy.conf ; then + if -f /etc/apache2/vhosts.d/$HOSTNAME.conf ; then + echo virtual host /etc/apache2/vhosts.d/$HOSTNAME.conf file already exists. + exit 1 + fi + mkdir -p /srv/www/$HOSTNAME/htdocs + if $REQCERT = 1 ; then + echo temporary virtal host w/o SSL before acme.sh + sed '/<\/VirtualHost>/q' < $JSJSHARE/vhost-ssl-proxy.conf | sed -e "s/HOSTNAME/$HOSTNAME/" -e "s/DOMAINNAME/$DOMAIN/" > /etc/apache2/vhosts.d/$HOSTNAME.conf + if ${VERSION_ID/./} -ge 120 ; then + systemctl restart apache2.service + systemctl enable apache2.service + else + rcapache2 restart + insserv apache2 + fi + echo request certificate + /root/.acme.sh/acme.sh -ak 4096 -k ec-384 --issue -w /srv/www/$HOSTNAME/htdocs -d $HOSTNAME.$DOMAINNAME \ + --cert-file /etc/apache2/ssl.crt/$HOSTNAME.$DOMAINNAME.pem \ + --key-file /etc/apache2/ssl.key/$HOSTNAME.$DOMAINNAME.key \ + --fullchain-file /etc/apache2/ssl.crt/$HOSTNAME.$DOMAINNAME.fullchain.pem \ + --reloadcmd "systemctl restart apache2" --log + fi + echo create virtual host + sed -e "s/HOSTNAME/$HOSTNAME/" -e "s/DOMAINNAME/$DOMAIN/" \ + -e "s/PROXYDESTHN/$PROXYDESTHN/" -e "s/PROXYDESTDN/$PROXYDESTDN/" < $JSJSHARE/vhost-ssl-proxy.conf > /etc/apache2/vhosts.d/$HOSTNAME.conf + if ${VERSION_ID%%.*} -ge 13 ; then + sed -i -e '/^ *Order .*allow/ i\ \ \ \ \ \ \ \ Require all granted' \ + -e '/^ *Order .*allow/ d' \ + -e '/^ *\(Allow\|Deny\) from/ d' /etc/apache2/vhosts.d/$HOSTNAME.conf + fi + /usr/sbin/a2enmod proxy +else + echo no file vhost-ssl-proxy.conf + exit 1 +fi +if ${VERSION_ID/./} -ge 120 ; then + systemctl restart apache2.service + systemctl enable apache2.service +else + rcapache2 restart + insserv apache2 +fi +
View file
vhost-ssl-proxy.conf
Changed
@@ -57,11 +57,11 @@ <Proxy *> Require all granted </Proxy> - ProxyPass / https://HOSTNAME.DOMAINNAME/ - ProxyPassReverse / https://HOSTNAME.DOMAINNAME/ - Header set Host HOSTNAME.DOMAINNAME - RequestHeader set Host HOSTNAME.DOMAINNAME - RequestHeader set Origin https://HOSTNAME.DOMAINNAME + ProxyPass / https://PROXYDESTHN.PROXYDESTDN/ + ProxyPassReverse / https://PROXYDESTHN.PROXYDESTDN/ + Header set Host PROXYDESTHN.PROXYDESTDN + RequestHeader set Host PROXYDESTHN.PROXYDESTDN + RequestHeader set Origin https://PROXYDESTHN.PROXYDESTDN Header unset Referer RequestHeader unset Referer </IfModule>
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.