Skip to content

Commit

Permalink
Jessie support coming
Browse files Browse the repository at this point in the history
That part cant do nothing bad. Need more work to me but good if started.
Autostart and user need think...
  • Loading branch information
miraaz committed Oct 21, 2015
1 parent e8da262 commit 0f0a538
Showing 1 changed file with 78 additions and 65 deletions.
143 changes: 78 additions & 65 deletions RPi_Cam_Web_Interface_Installer.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@

# Configure below the folder name where to install the software to,
# or leave empty to install to the root of the webserver.
# The folder name must be a subfolder of /var/www/ which will be created
# The folder name must be a subfolder of /var/www/ or /var/www/html/ which will be created
# accordingly, and must not include leading nor trailing / character.
# Default upstream behaviour: rpicamdir="" (installs in /var/www/)
# Default upstream behaviour: rpicamdir="" (installs in /var/www/ or /var/www/html)

cd $(dirname $(readlink -f $0))

Expand All @@ -57,6 +57,19 @@ fi

source ./config.txt

# Tedect version
version=$(cat /etc/issue)
if [ "$version" == "Raspbian GNU/Linux 7 \n \l" ]; then
echo "Raspbian Wheezy";
wwwroot="/var/www"
elif [ "$version" == "Raspbian GNU/Linux 8 \n \l" ]; then
echo "Raspbian Jessie";
wwwroot="/var/www/html"
else
echo "Unknown"
wwwroot="/var/www"
fi

# We enable debug installer script
if ! grep -Fq "debug=" ./config.txt; then
sudo echo "# Enable or disable debug for installer script" >> ./config.txt
Expand Down Expand Up @@ -106,8 +119,8 @@ fn_rpicamdir ()
source ./config.txt

tmpfile=$(mktemp)
dialog --backtitle "$backtitle" --title "Default www-root is /var/www" --cr-wrap --inputbox "\
Current install path is /var/www/$rpicamdir
dialog --backtitle "$backtitle" --title "Default www-root is $wwwroot" --cr-wrap --inputbox "\
Current install path is $wwwroot/$rpicamdir
Enter new install Subfolder if you like." 8 52 $rpicamdir 2>$tmpfile

sel=$?
Expand All @@ -121,7 +134,7 @@ fn_rpicamdir ()
255) source ./config.txt ;;
esac

dialog --title 'Install path' --infobox "Install path is set /var/www/$rpicamdir" 4 48 ; sleep 3
dialog --title 'Install path' --infobox "Install path is set $wwwroot/$rpicamdir" 4 48 ; sleep 3
sudo chmod 664 ./config.txt

if [ "$debug" == "yes" ]; then
Expand Down Expand Up @@ -218,15 +231,15 @@ fn_secure_apache_yes ()
}

# We make missing .htacess file
if [ ! -e /var/www/$rpicamdir/.htaccess ]; then
sudo bash -c "cat > /var/www/$rpicamdir/.htaccess" << EOF
if [ ! -e $wwwroot/$rpicamdir/.htaccess ]; then
sudo bash -c "cat > $wwwroot/$rpicamdir/.htaccess" << EOF
AuthName "RPi Cam Web Interface Restricted Area"
AuthType Basic
AuthUserFile /usr/local/.htpasswd
AuthGroupFile /dev/null
Require valid-user
EOF
sudo chown -R www-data:www-data /var/www/$rpicamdir/.htaccess
sudo chown -R www-data:www-data $wwwroot/$rpicamdir/.htaccess
fi

exec 3>&1
Expand Down Expand Up @@ -425,9 +438,9 @@ case "$1" in
sudo chmod 777 /dev/shm/mjpeg
sleep 1;sudo su -c 'raspimjpeg > /dev/null &' www-data
if [ -e /etc/debian_version ]; then
sleep 1;sudo su -c "php /var/www/$rpicamdir/schedule.php > /dev/null &" www-data
sleep 1;sudo su -c "php $wwwroot/$rpicamdir/schedule.php > /dev/null &" www-data
else
sleep 1;sudo su -c '/bin/bash' -c "php /var/www/$rpicamdir/schedule.php > /dev/null &" www-data
sleep 1;sudo su -c '/bin/bash' -c "php $wwwroot/$rpicamdir/schedule.php > /dev/null &" www-data
fi

dialog --title 'Start message' --infobox 'Started.' 4 16 ; sleep 2
Expand Down Expand Up @@ -493,26 +506,26 @@ do
sudo apt-get install -y apache2 php5 php5-cli libapache2-mod-php5 gpac motion zip

fn_rpicamdir
sudo mkdir -p /var/www/$rpicamdir/media
sudo cp -r www/* /var/www/$rpicamdir/
if [ -e /var/www/$rpicamdir/index.html ]; then
sudo rm /var/www/$rpicamdir/index.html
sudo mkdir -p $wwwroot/$rpicamdir/media
sudo cp -r www/* $wwwroot/$rpicamdir/
if [ -e $wwwroot/$rpicamdir/index.html ]; then
sudo rm $wwwroot/$rpicamdir/index.html
fi
sudo chown -R www-data:www-data /var/www/$rpicamdir
sudo chown -R www-data:www-data $wwwroot/$rpicamdir

if [ ! -e /var/www/$rpicamdir/FIFO ]; then
sudo mknod /var/www/$rpicamdir/FIFO p
if [ ! -e $wwwroot/$rpicamdir/FIFO ]; then
sudo mknod $wwwroot/$rpicamdir/FIFO p
fi
sudo chmod 666 /var/www/$rpicamdir/FIFO
sudo chmod 666 $wwwroot/$rpicamdir/FIFO

if [ ! -e /var/www/$rpicamdir/FIFO1 ]; then
sudo mknod /var/www/$rpicamdir/FIFO1 p
if [ ! -e $wwwroot/$rpicamdir/FIFO1 ]; then
sudo mknod $wwwroot/$rpicamdir/FIFO1 p
fi
sudo chmod 666 /var/www/$rpicamdir/FIFO1
sudo chmod 755 /var/www/$rpicamdir/raspizip.sh
sudo chmod 666 $wwwroot/$rpicamdir/FIFO1
sudo chmod 755 $wwwroot/$rpicamdir/raspizip.sh

if [ ! -e /var/www/$rpicamdir/cam.jpg ]; then
sudo ln -sf /run/shm/mjpeg/cam.jpg /var/www/$rpicamdir/cam.jpg
if [ ! -e $wwwroot/$rpicamdir/cam.jpg ]; then
sudo ln -sf /run/shm/mjpeg/cam.jpg $wwwroot/$rpicamdir/cam.jpg
fi

fn_apache_default_install
Expand Down Expand Up @@ -542,8 +555,8 @@ do
fi
sudo cp -r etc/raspimjpeg/raspimjpeg /etc/
sudo chmod 644 /etc/raspimjpeg
if [ ! -e /var/www/$rpicamdir/raspimjpeg ]; then
sudo ln -s /etc/raspimjpeg /var/www/$rpicamdir/raspimjpeg
if [ ! -e $wwwroot/$rpicamdir/raspimjpeg ]; then
sudo ln -s /etc/raspimjpeg $wwwroot/$rpicamdir/raspimjpeg
fi

if [ "$rpicamdir" == "" ]; then
Expand All @@ -554,12 +567,12 @@ do
fi
sudo cp -r etc/motion/motion.conf /etc/motion/
sudo usermod -a -G video www-data
if [ -e /var/www/$rpicamdir/uconfig ]; then
sudo chown www-data:www-data /var/www/$rpicamdir/uconfig
if [ -e $wwwroot/$rpicamdir/uconfig ]; then
sudo chown www-data:www-data $wwwroot/$rpicamdir/uconfig
fi

if [ ! "$rpicamdir" == "" ]; then
sudo sed -i "s/www\//www\/$rpicamdir\//g" /var/www/$rpicamdir/schedule.php
sudo sed -i "s/www\//www\/$rpicamdir\//g" $wwwroot/$rpicamdir/schedule.php
fi

sudo chown motion:www-data /etc/motion/motion.conf
Expand All @@ -575,32 +588,32 @@ do
sudo apt-get install -y nginx php5-fpm php5-cli php5-common php-apc gpac motion zip

fn_rpicamdir
sudo mkdir -p /var/www/$rpicamdir/media
sudo cp -r www/* /var/www/$rpicamdir/
if [ -e /var/www/$rpicamdir/index.html ]; then
sudo rm /var/www/$rpicamdir/index.html
sudo mkdir -p $wwwroot/$rpicamdir/media
sudo cp -r www/* $wwwroot/$rpicamdir/
if [ -e $wwwroot/$rpicamdir/index.html ]; then
sudo rm $wwwroot/$rpicamdir/index.html
fi
sudo chown -R www-data:www-data /var/www/$rpicamdir
sudo chown -R www-data:www-data $wwwroot/$rpicamdir

if [ ! -e /var/www/$rpicamdir/FIFO ]; then
sudo mknod /var/www/$rpicamdir/FIFO p
if [ ! -e $wwwroot/$rpicamdir/FIFO ]; then
sudo mknod $wwwroot/$rpicamdir/FIFO p
fi
sudo chmod 666 /var/www/$rpicamdir/FIFO
sudo chmod 666 $wwwroot/$rpicamdir/FIFO

if [ ! -e /var/www/$rpicamdir/FIFO1 ]; then
sudo mknod /var/www/$rpicamdir/FIFO1 p
if [ ! -e $wwwroot/$rpicamdir/FIFO1 ]; then
sudo mknod $wwwroot/$rpicamdir/FIFO1 p
fi
sudo chmod 666 /var/www/$rpicamdir/FIFO1
sudo chmod 755 /var/www/$rpicamdir/raspizip.sh
sudo chmod 666 $wwwroot/$rpicamdir/FIFO1
sudo chmod 755 $wwwroot/$rpicamdir/raspizip.sh

if [ ! -e /var/www/$rpicamdir/cam.jpg ]; then
sudo ln -sf /run/shm/mjpeg/cam.jpg /var/www/$rpicamdir/cam.jpg
if [ ! -e $wwwroot/$rpicamdir/cam.jpg ]; then
sudo ln -sf /run/shm/mjpeg/cam.jpg $wwwroot/$rpicamdir/cam.jpg
fi

if [ "$rpicamdir" == "" ]; then
sudo cat etc/nginx/sites-available/rpicam.1 > etc/nginx/sites-available/rpicam
else
sudo sed -e "s:root /var/www;:root /var/www/$rpicamdir;:g" etc/nginx/sites-available/rpicam.1 > etc/nginx/sites-available/rpicam
sudo sed -e "s:root $wwwroot;:root $wwwroot/$rpicamdir;:g" etc/nginx/sites-available/rpicam.1 > etc/nginx/sites-available/rpicam
fi
sudo cp -r etc/nginx/sites-available/rpicam /etc/nginx/sites-available/rpicam
sudo chmod 644 /etc/nginx/sites-available/rpicam
Expand Down Expand Up @@ -647,8 +660,8 @@ do
sudo cp -r /etc/raspimjpeg /etc/raspimjpeg.bak
sudo cp -r etc/raspimjpeg/raspimjpeg /etc/
sudo chmod 644 /etc/raspimjpeg
if [ ! -e /var/www/$rpicamdir/raspimjpeg ]; then
sudo ln -s /etc/raspimjpeg /var/www/$rpicamdir/raspimjpeg
if [ ! -e $wwwroot/$rpicamdir/raspimjpeg ]; then
sudo ln -s /etc/raspimjpeg $wwwroot/$rpicamdir/raspimjpeg
fi

fn_autostart
Expand All @@ -661,12 +674,12 @@ do
fi
sudo cp -r etc/motion/motion.conf /etc/motion/
sudo usermod -a -G video www-data
if [ -e /var/www/$rpicamdir/uconfig ]; then
sudo chown www-data:www-data /var/www/$rpicamdir/uconfig
if [ -e $wwwroot/$rpicamdir/uconfig ]; then
sudo chown www-data:www-data $wwwroot/$rpicamdir/uconfig
fi

if [ ! "$rpicamdir" == "" ]; then
sudo sed -i "s/www\//www\/$rpicamdir\//g" /var/www/$rpicamdir/schedule.php
sudo sed -i "s/www\//www\/$rpicamdir\//g" $wwwroot/$rpicamdir/schedule.php
fi
sudo chown motion:www-data /etc/motion/motion.conf
sudo chmod 664 /etc/motion/motion.conf
Expand Down Expand Up @@ -736,11 +749,11 @@ do
fi
sudo cp -r bin/raspimjpeg /opt/vc/bin/
sudo chmod 755 /opt/vc/bin/raspimjpeg
sudo cp -r www/* /var/www/$rpicamdir/
if [ ! -e /var/www/$rpicamdir/raspimjpeg ]; then
sudo ln -s /etc/raspimjpeg /var/www/$rpicamdir/raspimjpeg
sudo cp -r www/* $wwwroot/$rpicamdir/
if [ ! -e $wwwroot/$rpicamdir/raspimjpeg ]; then
sudo ln -s /etc/raspimjpeg $wwwroot/$rpicamdir/raspimjpeg
fi
sudo chmod 755 /var/www/$rpicamdir/raspizip.sh
sudo chmod 755 $wwwroot/$rpicamdir/raspizip.sh
dialog --title 'Upgrade message' --infobox 'Upgrade finished.' 4 20 ; sleep 2
fn_configure_menu
;;
Expand Down Expand Up @@ -768,9 +781,9 @@ do
sudo cp /etc/motion/motion.conf ./Backup/$BACKUPDIR
sudo cp /etc/raspimjpeg ./Backup/$BACKUPDIR
if [ ! "$rpicamdir" == "" ]; then
sudo cp /var/www/$rpicamdir/uconfig ./Backup/$BACKUPDIR
sudo cp $wwwroot/$rpicamdir/uconfig ./Backup/$BACKUPDIR
else
sudo cp /var/www/uconfig ./Backup/$BACKUPDIR
sudo cp $wwwroot/uconfig ./Backup/$BACKUPDIR
fi
}

Expand All @@ -780,9 +793,9 @@ do
sudo cp $ANSW/motion.conf /etc/motion/motion.conf
sudo cp $ANSW/raspimjpeg /etc/raspimjpeg
if [ ! "$rpicamdir" == "" ]; then
sudo cp $ANSW/uconfig /var/www/$rpicamdir/uconfig
sudo cp $ANSW/uconfig $wwwroot/$rpicamdir/uconfig
else
sudo cp $ANSW/uconfig /var/www/uconfig
sudo cp $ANSW/uconfig $wwwroot/uconfig
fi
}

Expand Down Expand Up @@ -868,9 +881,9 @@ do
sudo chmod 777 /dev/shm/mjpeg
sleep 1;sudo su -c 'raspimjpeg &' www-data
if [ -e /etc/debian_version ]; then
sleep 1;sudo sudo su -c "php /var/www/$rpicamdir/schedule.php &" www-data
sleep 1;sudo sudo su -c "php $wwwroot/$rpicamdir/schedule.php &" www-data
else
sleep 1;sudo su -c '/bin/bash' -c "php /var/www/$rpicamdir/schedule.php &" www-data
sleep 1;sudo su -c '/bin/bash' -c "php $wwwroot/$rpicamdir/schedule.php &" www-data
fi
$color_red; echo "Started with debug"; $color_reset
;;
Expand All @@ -890,9 +903,9 @@ do
sudo chmod 777 /dev/shm/mjpeg
sleep 1;sudo su -c 'raspimjpeg > /dev/null &' www-data
if [ -e /etc/debian_version ]; then
sleep 1;sudo su -c "php /var/www/$rpicamdir/schedule.php > /dev/null &" www-data
sleep 1;sudo su -c "php $wwwroot/$rpicamdir/schedule.php > /dev/null &" www-data
else
sleep 1;sudo su -c '/bin/bash' -c "php /var/www/$rpicamdir/schedule.php > /dev/null &" www-data
sleep 1;sudo su -c '/bin/bash' -c "php $wwwroot/$rpicamdir/schedule.php > /dev/null &" www-data
fi

dialog --title 'Start message' --infobox 'Started.' 4 16 ; sleep 2
Expand Down Expand Up @@ -930,16 +943,16 @@ do
sudo cp /etc/motion/motion.conf ./removed-$BACKUPDIR
sudo cp /etc/raspimjpeg ./Backup/removed-$BACKUPDIR
if [ ! "$rpicamdir" == "" ]; then
sudo cp /var/www/$rpicamdir/uconfig ./Backup/removed-$BACKUPDIR
sudo cp $wwwroot/$rpicamdir/uconfig ./Backup/removed-$BACKUPDIR
else
sudo cp /var/www/uconfig ./Backup/removed-$BACKUPDIR
sudo cp $wwwroot/uconfig ./Backup/removed-$BACKUPDIR
fi

if [ ! "$rpicamdir" == "" ]; then
sudo rm -r /var/www/$rpicamdir
sudo rm -r $wwwroot/$rpicamdir
else
# Here needed think. If rpicamdir not set then removed all webserver content!
sudo rm -r /var/www/*
sudo rm -r $wwwroot/*
fi
sudo rm /etc/sudoers.d/RPI_Cam_Web_Interface
sudo rm /usr/bin/raspimjpeg
Expand Down

0 comments on commit 0f0a538

Please sign in to comment.