加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
Install 9.75 KB
一键复制 编辑 原始数据 按行查看 历史
温崋 提交于 2015-05-17 16:50 . Init Commit
#!/bin/bash
# Install script for the Easy Darwin Streaming Server
# source release
echo;echo Installing Easy Darwin Streaming Server;echo
INSTALL_OS=`uname`
if [ $INSTALL_OS != "SunOS" ]; then
USERID=`id -u`
else
USERID=`/usr/xpg4/bin/id -u`
fi
if [ $USERID = 0 ]; then
echo Checking for and Killing currently running Easy Darwin Streaming Server
if [ `uname` = "FreeBSD" ]; then
ps -ax | awk '/EasyDarwin/ {print $1}' | xargs kill -9
ps -ax | awk '/streamingadminserver.pl/ {print $1}' | xargs kill -9
fi
if [ `uname` = "Linux" ]; then
ps ax | awk '{print $1" " $5}' | awk '/EasyDarwin/ {print $1}' | xargs -r kill -9
ps ax | awk '/streamingadminserver.pl/ {print $1}' | xargs -r kill -9
fi
if [ `uname` = "SunOS" -o `uname` = "IRIX" -o `uname` = "IRIX64" ]; then
ps -aef | awk '/EasyDarwin/ {print $2}' | xargs -n 2 kill -9
ps -aef | awk '/streamingadminserver.pl/ {print $2}' | xargs -n 1 kill -9
fi
## REMOVED OLD VERSION ##
echo Removing previous versions of Easy Darwin Streaming Server
if [ -f /usr/local/sbin/EasyDarwin ]; then
echo removing /usr/local/sbin/EasyDarwin
rm -f /usr/local/sbin/EasyDarwin
fi
if [ -f /usr/local/bin/PlaylistBroadcaster ]; then
echo removing /usr/local/bin/PlaylistBroadcaster
rm -f /usr/local/bin/PlaylistBroadcaster
fi
if [ -f /usr/local/bin/MP3Broadcaster ]; then
echo removing /usr/local/bin/MP3Broadcaster
rm -f /usr/local/bin/MP3Broadcaster
fi
if [ -f /usr/local/bin/qtpasswd ]; then
echo removing /usr/local/bin/qtpasswd
rm -f /usr/local/bin/qtpasswd
fi
if [ -f /usr/local/sbin/streamingadminserver.pl ]; then
echo removing /usr/local/sbin/streamingadminserver.pl
rm -f /usr/local/sbin/streamingadminserver.pl
fi
if [ -f /usr/local/bin/streamingadminserver.pl ]; then
echo removing /usr/local/bin/streamingadminserver.pl
rm -f /usr/local/bin/streamingadminserver.pl
fi
if [ -f /usr/local/bin/SpamPro ]; then
echo removing /usr/local/bin/SpamPro
rm -f /usr/local/bin/SpamPro
fi
if [ -e StreamingLoadTool ]; then
if [ -f /usr/local/bin/StreamingLoadTool ]; then
echo removing /usr/local/bin/StreamingLoadTool
rm -f /usr/local/bin/StreamingLoadTool
fi
fi
echo
## BACKUP OLD CONFIG FILES ##
echo Backing up previous config files
if [ -f /etc/streaming/streamingserver.xml ]; then
echo backing up /etc/streaming/streamingserver.xml to /etc/streaming/streamingserver.xml.backup
mv /etc/streaming/streamingserver.xml /etc/streaming/streamingserver.xml.backup
fi
if [ -f /etc/streaming/streamingadminserver.pem ]; then
echo backing up /etc/streaming/streamingadminserver.pem to /etc/streaming/streamingadminserver.pem.backup
mv /etc/streaming/streamingadminserver.pem /etc/streaming/streamingadminserver.pem.backup
fi
if [ -f /etc/streaming/qtusers ]; then
echo backing up /etc/streaming/qtusers to /etc/streaming/qtusers.backup
mv /etc/streaming/qtusers /etc/streaming/qtusers.backup
fi
if [ -f /etc/streaming/qtgroups ]; then
echo backing up /etc/streaming/qtgroups to /etc/streaming/qtgroups.backup
mv /etc/streaming/qtgroups /etc/streaming/qtgroups.backup
fi
if [ -e StreamingLoadTool ]; then
if [ -f /etc/streaming/streamingloadtool.conf ]; then
echo backing up /etc/streaming/streamingloadtool.conf to /etc/streaming/streamingloadtool.conf.backup
mv /etc/streaming/streamingloadtool.conf /etc/streaming/streamingloadtool.conf.backup
fi
fi
if [ -f /etc/streaming/relayconfig.xml ]; then
echo backing up /etc/streaming/relayconfig.xml to /etc/streaming/relayconfig.xml.backup
mv /etc/streaming/relayconfig.xml /etc/streaming/relayconfig.xml.backup
fi
echo
# Add the unprivileged user qtss as the server's run user
echo "Creating unprivileged user to run the server = \"qtss\"."
if [ $INSTALL_OS = "Linux" ]; then
/usr/sbin/groupadd qtss > /dev/null 2>&1
/usr/sbin/useradd -M qtss -g qtss > /dev/null 2>&1
else
/usr/sbin/groupadd qtss > /dev/null 2>&1
/usr/sbin/useradd qtss > /dev/null 2>&1
fi
## INSTALL NEW VERSION ##
if [ ! -d /usr/local/sbin ]; then
echo creating "/usr/local/sbin" directory
mkdir -p /usr/local/sbin
fi
if [ ! -d /usr/local/bin ]; then
echo creating "/usr/local/bin" directory
mkdir -p /usr/local/bin
fi
echo copying "EasyDarwin" to "/usr/local/sbin/EasyDarwin"
cp -f EasyDarwin /usr/local/sbin/
echo copying "PlaylistBroadcaster" to "/usr/local/bin/PlaylistBroadcaster"
cp -f ./PlaylistBroadcaster.tproj/PlaylistBroadcaster /usr/local/bin/
echo copying "MP3Broadcaster" to "/usr/local/bin/MP3Broadcaster"
cp -f ./MP3Broadcaster/MP3Broadcaster /usr/local/bin/
echo copying "qtpasswd" to "/usr/local/bin/qtpasswd"
cp -f ./qtpasswd.tproj/qtpasswd /usr/local/bin/
# For now, do not copy modules as there are no supported dynamic modules
# echo copying modules to "/usr/local/sbin/StreamingServerModules"
if [ ! -d /usr/local/sbin/StreamingServerModules ]; then
echo creating "/usr/local/sbin/StreamingServerModules" directory
mkdir /usr/local/sbin/StreamingServerModules
fi
#cp -f StreamingServerModules/* /usr/local/sbin/StreamingServerModules/
if [ -e /usr/local/sbin/StreamingServerModules/QTSSHomeDirectoryModule ]; then
echo copying "createuserstreamingdir" to "/usr/local/bin/createuserstreamingdir"
cp -f createuserstreamingdir $INSTALLROOT/usr/local/bin/
fi
if [ ! -d /etc/streaming ]; then
echo creating "/etc/streaming" directory
mkdir -p /etc/streaming
fi
if [ ! -e /etc/streaming/streamingserver.xml ]; then
/usr/local/sbin/EasyDarwin -x
fi
chmod 600 /etc/streaming/streamingserver.xml
chown qtss /etc/streaming/streamingserver.xml
echo;echo copying "relayconfig.xml-Sample" to "/etc/streaming/relayconfig.xml-Sample"
cp -f relayconfig.xml-Sample /etc/streaming/relayconfig.xml-Sample
chmod 600 /etc/streaming/relayconfig.xml-Sample
if [ -e /etc/streaming/relayconfig.xml ]; then
chown qtss /etc/streaming/relayconfig.xml
fi
echo;echo copying "qtusers" to "/etc/streaming/qtusers"
cp -f qtusers /etc/streaming/qtusers
chmod 600 /etc/streaming/qtusers
chown qtss /etc/streaming/qtusers
echo;echo copying "qtgroups" to "/etc/streaming/qtgroups"
cp -f qtgroups /etc/streaming/qtgroups
chmod 600 /etc/streaming/qtgroups
chown qtss /etc/streaming/qtgroups
#echo;echo copying "streamingadminserver.pem" to "/etc/streaming/streamingadminserver.pem"
#cp -f streamingadminserver.pem /etc/streaming/streamingadminserver.pem
#chmod 400 /etc/streaming/streamingadminserver.pem
if [ ! -d /var/streaming ]; then
echo creating "/var/streaming" directory
mkdir -p /var/streaming
fi
echo copying "readme.txt" to "/var/streaming/readme.txt"
cp -f ./Documentation/readme.txt /var/streaming/readme.txt
echo copying "3rdPartyAcknowledgements.rtf" to "/var/streaming/3rdPartyAcknowledgements.rtf"
cp -f ./Documentation/3rdPartyAcknowledgements.rtf /var/streaming/3rdPartyAcknowledgements.rtf
if [ ! -d /var/streaming/logs ]; then
echo creating "/var/streaming/logs" directory
mkdir -p /var/streaming/logs
fi
if [ ! -d /usr/local/movies ]; then
echo creating "/usr/local/movies" directory
mkdir -p /usr/local/movies
fi
if [ ! -d /var/streaming/playlists ]; then
echo creating "/var/streaming/playlists" directory
mkdir -p /var/streaming/playlists
fi
chmod 770 /var/streaming/playlists
chmod 775 /usr/local/movies
echo copying "Demo.mp4" into "/usr/local/movies/Demo.mp4"
cp -f Demo.mp4 /usr/local/movies/
if [ -e StreamingLoadTool ]; then
echo copying "StreamingLoadTool" to "/usr/local/bin/StreamingLoadTool"
cp -f ./StreamingLoadTool/StreamingLoadTool /usr/local/bin/
echo copying "streamingloadtool.conf" to "/etc/streaming/streamingloadtool.conf"
cp -f ./StreamingLoadTool/streamingloadtool.conf /etc/streaming/
fi
echo;echo Installation Complete
# Setup for EasyDarwin
# Prompts for a username and password
# that can be used to administer the server
echo;echo Easy Darwin Streaming Server Setup;echo
# prompt the user to enter the admin username
while [ "$username" = "" ]; do
printf "In order to administer the Easy Darwin Streaming Server you must create an administrator user [Note: The administrator user name cannot contain spaces, or single or double quote characters, and cannot be more than 255 characters long].\n"
printf "Please enter a new administrator user name: "
read username
if [ "$username" = "" ]; then
echo ""
echo "Error: No username entered!"
echo ""
fi
done
echo ""
# prompt the user to enter the admin password
while [ "$password" = "" ]; do
printf "\nYou must also enter a password for the administrator user [Note: The administrator password cannot contain spaces, or quotes, either single or double, and cannot be more than 80 characters long].\n"
printf "Please enter a new administrator Password: "
stty -echo
read password
stty echo
echo ""
printf "Re-enter the new administrator password: "
stty -echo
read password1
stty echo
if [ "$password" = "" ]; then
echo ""
echo "Error: No password entered!"
echo ""
fi
if [ "$password" != "$password1" ]; then
echo ""
echo "Error: passwords entered do not match!"
echo ""
password=""
fi
done
echo ""
# Add the new admin username to /etc/streaming/qtusers
/usr/local/bin/qtpasswd -p $password $username
# Add the new admin username to /etc/streaming/qtgroups
# and delete the default admin username
echo admin: $username > /etc/streaming/qtgroups.tmp
mv /etc/streaming/qtgroups.tmp /etc/streaming/qtgroups
# Remove the default admin username to /etc/streaming/qtusers
/usr/local/bin/qtpasswd -F -d 'aGFja21l' > /dev/null
chown -R -f qtss /etc/streaming/
echo Setup Complete!
else
echo "Unable to perform install"
echo "You must be logged in as root to install Easy Darwin Streaming Server";echo
exit 1
fi
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化