Aloha.
Ich hatte mir für eine sehr frühe Installation von ispCP mal ein kleines Script geschrieben. Ob das jetzt noch so funktioniert weiss ich nicht.
Es prüft auch nur ob eine Datei .php5 im htdocs-Verzeichnis existiert und schreibt entsprechen den Starter um.
Vielleicht kannst Du es für Deine Ansprüche und ispCP Version anpassen.
Code:
#!/bin/bash
# Autor: Knut Herter
# Web : http://www.systemtechnics.de
# Datum : 04-2007
# Tip : Alle 5 Minuten per Cron starten lassen.
## Variablen setzen
# Verzeichnis der Webs
VWEB=/var/www/virtual
# Verzeichnis des FCGI Starters
VCGI=/var/www/fcgi
# Datei mit Domainkonfiguration
CCGI=fcgi-domains.conf
############
#
# Ab hier nicht mehr aendern
#
############
TMPFILE=`mktemp /tmp/fcgi-fix.XXXXXXXX`
#Domainliste
DOMAINLIST=`ls $VWEB`
for DOMAIN in $DOMAINLIST
do
######
# Konfig-File vorhanden ? Ja, ansonsten anlegen
if test ! -f $VCGI/$CCGI; then
touch $VCGI/$CCGI;
fi
# Wenn Domain auch im php-Starter-Verzeichnis existiert
if test -d $VCGI/$DOMAIN; then
######
# Berechtigung (User) ermitteln
RVWEB=`stat -c%U $VWEB/$DOMAIN`
RVCGI=`stat -c%U $VCGI/$DOMAIN`
# Wenn ein File .php5 im Web-Ordner liegt, soll auf
# php5 umgeschaltet werden
if test -f $VWEB/$DOMAIN/htdocs/.php5; then
chown $RVWEB:$RVWEB $VWEB/$DOMAIN/htdocs/.php5
PHPV=php5
if test -f $VWEB/$DOMAIN/htdocs/.php4; then
rm $VWEB/$DOMAIN/htdocs/.php4 -f
fi
else
PHPV=php4
touch $VWEB/$DOMAIN/htdocs/.php4
chown $RVWEB:$RVWEB $VWEB/$DOMAIN/htdocs/.php4
fi
#Alte, eingestellte PHP Version einlesen
PHPVOLD=`grep +$DOMAIN+ $VCGI/$CCGI|cut -d "=" -f 2`
######
# Wenn sich die PHP-Version seit dem letzten Aufruf geaendert hat
# dann die Verarbeitung starten
if test "$PHPVOLD" != "$PHPV"; then
######
# Starter Dateien schreiben
WFILE=$VCGI/$DOMAIN/php4-fcgi-starter
echo "#!/bin/sh" > $WFILE
echo "# Alle alten PHP Prozesse, die dem Init gehoeren, killen" >> $WFILE
echo "" >> $WFILE
echo "ps ax -F | awk '{ if ( \$3 == \"1\" && \$1 == \"$RVCGI\" && \$12 == \"/usr/bin/$PHPV-cgi\" ) { print \"kill \" \$2 } }' | sh " >> $WFILE
echo "PHPRC=\"/var/www/fcgi/$DOMAIN/$PHPV/\"" >> $WFILE
echo "export PHPRC" >> $WFILE
echo "" >> $WFILE
echo "exec /usr/bin/$PHPV-cgi" >> $WFILE
WFILE=$VCGI/$DOMAIN/php5-fcgi-starter
echo "#!/bin/sh" > $WFILE
echo "# Alle alten PHP Prozesse, die dem Init gehoeren, killen" >> $WFILE
echo "" >> $WFILE
echo "ps ax -F | awk '{ if ( \$3 == \"1\" && \$1 == \"$RVCGI\" && \$12 == \"/usr/bin/$PHPV-cgi\" ) { print \"kill \" \$2 } }' | sh " >> $WFILE
echo "PHPRC=\"/var/www/fcgi/$DOMAIN/$PHPV/\"" >> $WFILE
echo "export PHPRC" >> $WFILE
echo "" >> $WFILE
echo "exec /usr/bin/$PHPV-cgi" >> $WFILE
fi
if test "$PHPVOLD" != "$PHPV"; then
echo -e "php-Version (alt) = $PHPVOLD - php-Version (neu) = $PHPV - \033[1;32m$DOMAIN \033[1;0m"
else
echo -e "php-Version (alt) = $PHPVOLD - php-Version (neu) = $PHPV - $DOMAIN"
fi
######
# aktuelle/neue php Version merken
echo "+$DOMAIN+=$PHPV" >> $TMPFILE
fi
done
# Neue Konfiguration schreiben
cp $TMPFILE $VCGI/$CCGI -f
rm $TMPFILE