Skip to content

Instantly share code, notes, and snippets.

@Matiusco
Last active December 4, 2023 02:23
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save Matiusco/7f4d1330628949265d54efb6355bbd4f to your computer and use it in GitHub Desktop.
Save Matiusco/7f4d1330628949265d54efb6355bbd4f to your computer and use it in GitHub Desktop.
install_hospedagem.sh
#!/bin/bash -e
clear
YELLOW=`tput setaf 3`
GREEN=`tput setaf 2`
NC=`tput sgr0`
echo "${GREEN}"
echo "============================================"
echo "VOXTREAM INSTALL..."
echo "============================================"
echo "${NC}"
echo "${YELLOW}Dominio (sem http/https ou www): ex. audiobrazil.com${NC}"
read -e dominio
echo "${YELLOW}IP do VPS/Dedicado: ex. 192.134.123.54${NC}"
read -e ipmaquina
echo "${YELLOW}Senha MySQL:${NC}"
read -e senhamysql
echo "${YELLOW}Senha Root (informe a senha correta):${NC}"
read -e senharoot
echo "${YELLOW}Deseja prosseguir? (y/n)${NC}"
read -e run
if [ "$run" == n ] ; then
exit
else
# Criando diretorios
cd /home
mkdir painel
mkdir streaming
mkdir wowza
chmod 0755 /home/painel
chmod 0755 /home/painel/streaming
chmod 0755 /home/painel/painel
chmod 0755 /home/painel/wowza
# Instalando as dependencias necessarias
rpm -ivh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/i386/epel-release-6-8.noarch.rpm
yum update -y
yum install iptables unzip wget nano vixie-cron mailx sendmail vnstat nmap perl rsync rdate gcc nano openssh-server openssh-clients curlftpfs gcc glibc.i686 glibc-devel.i686 zlib-devel.i686 ncurses-devel.i686 libX11-devel.i686 libXrender.i686 libXrandr.i686 postgresql-libs openssl-devel glibc-devel pure-ftpd -y
# Instalando Apache + PHP + MariaDB + phpMyAdmin
cd /etc/yum.repos.d
rm -f MariaDB.repo
wget https://site.com/MariaDB.repo
cd ~
yum install httpd httpd-devel MariaDB MariaDB-server MariaDB-client php-common php-mbstring php-php-gettext php-bcmath php-xml php-gd php-tcpdf-dejavu-sans-fonts phpMyAdmin php-devel php-ldap php-cli php-mysql php-process php-mcrypt php-tcpdf php-odbc php-zts php-snmp php-pear php-xmlrpc php-dba php-pdo php php-tidy php-intl php-imap php-embedded php-soap python34 curlftpfs -y
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
service iptables save
chkconfig httpd on
service httpd restart
cd /etc/httpd/conf.d/
rm -f phpMyAdmin.conf
wget https://site.com/phpMyAdmin.conf
# Configurando Apache + PHP
cd ~
replace '#Listen 12.34.56.78:80' 'Listen 555' -- /etc/httpd/conf/httpd.conf
replace '#NameVirtualHost *:80' 'NameVirtualHost *:80' -- /etc/httpd/conf/httpd.conf
replace 'AddDefaultCharset UTF-8' 'AddDefaultCharset ISO-8859-1' -- /etc/httpd/conf/httpd.conf
replace '/var/www/html' '/home/painel/public_html' -- /etc/httpd/conf/httpd.conf
replace 'Options FollowSymLinks' 'Options ExecCGI FollowSymLinks Includes IncludesNOEXEC Indexes -MultiViews SymLinksIfOwnerMatch' -- /etc/httpd/conf/httpd.conf
replace 'AllowOverride None' 'AllowOverride All' -- /etc/httpd/conf/httpd.conf
replace ';default_charset=iso-8859-1' 'default_charset=iso-8859-1l' -- /etc/php.ini
echo '<VirtualHost *:555>' >> /etc/httpd/conf/httpd.conf
echo ' DocumentRoot /home/streaming/web/' >> /etc/httpd/conf/httpd.conf
echo ' <Directory />' >> /etc/httpd/conf/httpd.conf
echo ' Options ExecCGI FollowSymLinks Includes IncludesNOEXEC Indexes -MultiViews SymLinksIfOwnerMatch' >> /etc/httpd/conf/httpd.conf
echo ' AllowOverride All' >> /etc/httpd/conf/httpd.conf
echo ' </Directory>' >> /etc/httpd/conf/httpd.conf
echo '</VirtualHost>' >> /etc/httpd/conf/httpd.conf
echo '<Directory "/home/painel/public_html/player/">' >> /etc/httpd/conf/httpd.conf
echo ' Options Indexes FollowSymLinks' >> /etc/httpd/conf/httpd.conf
echo ' AllowOverride All' >> /etc/httpd/conf/httpd.conf
echo ' Order allow,deny' >> /etc/httpd/conf/httpd.conf
echo ' Allow from all' >> /etc/httpd/conf/httpd.conf
echo '</Directory>' >> /etc/httpd/conf/httpd.conf
echo '<VirtualHost *:80>' >> /etc/httpd/conf/httpd.conf
echo ' ServerName $dominio' >> /etc/httpd/conf/httpd.conf
echo ' DocumentRoot /home/painel/public_html/' >> /etc/httpd/conf/httpd.conf
echo ' ServerAlias $dominio' >> /etc/httpd/conf/httpd.conf
echo ' ErrorLog /home/painel/public_html/error.log' >> /etc/httpd/conf/httpd.conf
echo ' CustomLog /home/painel/public_html/requests.log combined' >> /etc/httpd/conf/httpd.conf
echo '</VirtualHost>' >> /etc/httpd/conf/httpd.conf
echo '<VirtualHost *:80>' >> /etc/httpd/conf/httpd.conf
echo ' ServerName player.$dominio' >> /etc/httpd/conf/httpd.conf
echo ' DocumentRoot /home/painel/public_html/player/' >> /etc/httpd/conf/httpd.conf
echo ' ServerAlias player.$dominio' >> /etc/httpd/conf/httpd.conf
echo ' ErrorLog /home/painel/public_html/player/error.log' >> /etc/httpd/conf/httpd.conf
echo ' CustomLog /home/painel/public_html/player/requests.log combined' >> /etc/httpd/conf/httpd.conf
echo '</VirtualHost>' >> /etc/httpd/conf/httpd.conf
echo '<Directory "/home/painel/public_html/cdn/">' >> /etc/httpd/conf/httpd.conf
echo ' Options Indexes FollowSymLinks' >> /etc/httpd/conf/httpd.conf
echo ' AllowOverride All' >> /etc/httpd/conf/httpd.conf
echo ' Order allow,deny' >> /etc/httpd/conf/httpd.conf
echo ' Allow from all' >> /etc/httpd/conf/httpd.conf
echo '</Directory>' >> /etc/httpd/conf/httpd.conf
echo '<VirtualHost *:80>' >> /etc/httpd/conf/httpd.conf
echo ' ServerName cdn.$dominio' >> /etc/httpd/conf/httpd.conf
echo ' DocumentRoot /home/painel/public_html/cdn/' >> /etc/httpd/conf/httpd.conf
echo ' ServerAlias cdn.$dominio' >> /etc/httpd/conf/httpd.conf
echo ' ErrorLog /home/painel/public_html/cdn/error.log' >> /etc/httpd/conf/httpd.conf
echo ' CustomLog /home/painel/public_html/cdn/requests.log combined' >> /etc/httpd/conf/httpd.conf
echo '</VirtualHost>' >> /etc/httpd/conf/httpd.conf
service httpd restart
# Instalando o GEOIP:
yum install geoip geoip-devel -y
pecl install geoip
echo 'extension=geoip.so' >> /etc/php.ini
unalias cp
wget https://site.com/GeoIP.tar.gz
tar -zxvf GeoIP.tar.gz
cp -Rfv GeoIP/ /usr/local/share/
cp -Rfv GeoIP/ /usr/share/
php -m | grep geoip
service httpd restart
# Instalando o SSH2:
cd /usr/src
wget https://www.libssh2.org/download/libssh2-1.8.0.tar.gz
tar -zxvf libssh2-1.8.0.tar.gz
cd libssh2-1*
./configure && make && make install
pecl install ssh2-0.12
echo 'extension=ssh2.so' >> /etc/php.ini
php -m | grep ssh
service httpd restart
# Criando senha MySQL
service mysql start
chkconfig mysql on
mysql_secure_installation <<EOF
y
$senhamysql
$senhamysql
y
n
y
y
EOF
service mysql restart
# download do painel
cd /home/painel/public_html
wget https://site.com/painel/painel.zip
unzip painel.zip
# install java
cd ~
yum install java* -y
echo 'export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk.x86_64' >> /etc/profile
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
echo 'export ANT_HOME=/opt/ant' >> /etc/profile
# install java
cd /opt
wget http://dl.google.com/android/android-sdk_r23.0.2-linux.tgz
tar -xzf android-sdk_r23.0.2-linux.tgz
echo "export PATH=$PATH:/opt/android-sdk-linux/platforms" >> ~/.profile
echo "export PATH=$PATH:/opt/android-sdk-linux/tools" >> ~/.profile
export PATH=$PATH:/opt/android-sdk-linux/platforms
export PATH=$PATH:/opt/android-sdk-linux/tools
# install ANT
cd /opt
wget http://archive.apache.org/dist/ant/binaries/apache-ant-1.9.4-bin.tar.gz
tar -zxvf apache-ant-1.9.4-bin.tar.gz
ln -s /opt/apache-ant-1.9.4 /opt/ant
ln -s /opt/ant/bin/ant /usr/bin/ant
# configurando cron
echo '0 0 * * 0 /home/streaming/limpar_logs' >> /var/spool/cron/root
echo '0 */1 * * * /home/streaming/limpar_mem_cache' >> /var/spool/cron/root
echo '*/15 * * * * /home/streaming/atualizar_cota_ftp' >> /var/spool/cron/root
echo '*/5 * * * * /home/streaming/check-loadavg' >> /var/spool/cron/root
echo '*/5 * * * * /usr/bin/vnstat -u -i `ifconfig | awk {'print $1'} | head -1`' >> /var/spool/cron/root
echo '0 */12 * * * /usr/bin/rdate -s rdate.cpanel.net' >> /var/spool/cron/root
echo '0 5 * * * /bin/rm -rfv /var/log/httpd/*-*' >> /var/spool/cron/root
echo '0 5 * * * /bin/rm -rfv /var/log/*-20*' >> /var/spool/cron/root
echo '0 5 * * * /bin/rm -rfv /var/spool/clientmqueue/*' >> /var/spool/cron/root
echo '0 */1 * * * /bin/echo -n > /var/spool/mail/root' >> /var/spool/cron/root
echo '0 */1 * * * /bin/echo -n > /home/streaming/web/access_log' >> /var/spool/cron/root
echo '0 */1 * * * /bin/echo -n > /home/painel/public_html/access_log' >> /var/spool/cron/root
echo '0 */1 * * * /bin/echo -n > /home/painel/public_html/player/access_log' >> /var/spool/cron/root
echo '0 */1 * * * /bin/echo -n > /home/painel/public_html/cdn/access_log' >> /var/spool/cron/root
echo '0 */1 * * * /bin/echo -n > /home/streaming/web/error_log' >> /var/spool/cron/root
echo '0 */1 * * * /bin/echo -n > /home/painel/public_html/error_log' >> /var/spool/cron/root
echo '0 */1 * * * /bin/echo -n > /home/painel/public_html/player/error_log' >> /var/spool/cron/root
echo '0 */1 * * * /bin/echo -n > /home/painel/public_html/cdn/error_log' >> /var/spool/cron/root
echo '0 3 * * 0 /usr/bin/yum clean all' >> /var/spool/cron/root
echo '0 2 * * * /usr/bin/php -q /home/painel/public_html/robots/limpar-logs.php' >> /var/spool/cron/root
echo '0 3 * * 0 /usr/bin/php -q /home/painel/public_html/robots/limpar-estatisticas.php' >> /var/spool/cron/root
echo '*/30 * * * * /bin/nice -20 /usr/bin/php /home/painel/public_html/robots/monitor-servidores.php' >> /var/spool/cron/root
echo '*/15 * * * * /bin/nice -20 /usr/bin/php /home/painel/public_html/robots/monitor-capacidade.php' >> /var/spool/cron/root
echo '*/10 * * * * /usr/bin/php /home/painel/public_html/robots/monitor-streamings-relay.php registros=0-20000' >> /var/spool/cron/root
echo '*/2 * * * * /bin/nice -20 /usr/bin/php /home/painel/public_html/robots/gerar-estatisticas-shoutcast.php registros=0-20000' >> /var/spool/cron/root
echo '*/20 * * * * /bin/nice -20 /usr/bin/php /home/painel/public_html/robots/gerar-estatisticas-wowza.php registros=0-20000' >> /var/spool/cron/root
echo '* * * * * /bin/nice -20 /usr/bin/php -q /home/painel/public_html/robots/agendamentos.php registros=0-50000' >> /var/spool/cron/root
echo '*/10 * * * * /bin/nice -20 /usr/bin/php /home/painel/public_html/robots/atualizar-uso-ftp.php registros=0-20000' >> /var/spool/cron/root
# shoutcast
cd /home/streaming
wget https://site.com/streaming/streaming.zip
unzip streaming.zip
rm -rfv /etc/pure-ftpd/pure-ftpd.conf; mv -v pure-ftpd.conf /etc/pure-ftpd/pure-ftpd.conf
rm -rfv /etc/pure-ftpd/pureftpd-mysql.conf; mv -v pureftpd-mysql.conf /etc/pure-ftpd/pureftpd-mysql.conf
vnstat --showconfig > /etc/vnstat.conf
sed -i '/eth0/d' /etc/vnstat.conf
echo >> /etc/vnstat.conf
echo "Interface \"`ifconfig | awk {'print $1'} | head -1`\"" >> /etc/vnstat.conf
vnstat -u -i `ifconfig | awk {'print $1'} | head -1` --force
rpm -qa postfix | xargs rpm -e
rpm -qa ntp | xargs rpm -e
cd /etc/
perl -i -p -e 's/max_execution_time = 30/max_execution_time = 1800/' php.ini
perl -i -p -e 's/max_input_time = 60/max_execution_time = 1800/' php.ini
# install youtube-dl
cd ~
sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl
# ffmpeg lame para manipular o MP3
curl -L -O http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
tar xzvf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure --enable-shared --enable-nasm
make
make install
make distclean
echo '/usr/local/lib' >> /etc/ld.so.conf
echo '/usr/lib' >> /etc/ld.so.conf
wget http://www.ffmpeg.org/releases/ffmpeg-3.0.1.tar.gz
tar -zxvf ffmpeg-3.0.1.tar.gz
cd ffmpeg-3.0.1
./configure --disable-yasm --enable-libmp3lame --enable-pic --enable-gpl --enable-shared --enable-decoder=aac --enable-filter=aformat --enable-filter=volume --enable-filter=aresample && make && make install
ldconfig
# concluir shoutcast
cd /home/streaming
rm -rfv streaming.zip
chkconfig pure-ftpd on
chkconfig httpd on
/etc/init.d/httpd restart
/etc/init.d/pure-ftpd restart
/etc/init.d/rsyslog restart
# wowza
cd /home/wowza
wget https://site.com/streaming-rtmp/streaming-rtmp.zip
unzip streaming-rtmp.zip
chmod +x WowzaMediaServer-2.2.4.rpm.bin;
./WowzaMediaServer-2.2.4.rpm.bin
echo "H33YQ-9TKQC-3RCCA-XENW8-P9BUM" > /usr/local/WowzaMediaServer/conf/Server.license
unalias cp
tar -zxvf wowza-audio-xml.tar.gz
cp -Rfv *.xml /usr/local/WowzaMediaServer/conf/
cp -fv wms-plugin-collection.jar /usr/local/WowzaMediaServer/lib/wms-plugin-collection.jar
mkdir /usr/local/WowzaMediaServer/templates
cp -fv wowza-audio-template-Application.xml /usr/local/WowzaMediaServer/templates/Application.xml
cp -fv ativar-aacplus desativar-aacplus sincronizar-aacplus /usr/local/WowzaMediaServer/
rm -rfv /usr/local/WowzaMediaServer/conf/VHost.xml
cp -fv VHost.xml /usr/local/WowzaMediaServer/conf/VHost.xml
echo "admin $senharoot" > /usr/local/WowzaMediaServer/conf/admin.password
perl -i -p -e 's/#ulimit -n 20000/ulimit -n 300000/' /usr/local/WowzaMediaServer/bin/wms.sh
perl -i -p -e 's/#ulimit -n 20000/ulimit -n 300000/' /usr/local/WowzaMediaServer/bin/startup.sh
perl -i -p -e 's/ulimit -n 20000/ulimit -n 300000/' /usr/local/WowzaMediaServer/bin/wms.sh
perl -i -p -e 's/ulimit -n 20000/ulimit -n 300000/' /usr/local/WowzaMediaServer/bin/startup.sh
sed -i '/fs.file-max/d' /etc/sysctl.conf
echo "fs.file-max=300000" >> /etc/sysctl.conf
sysctl -p
chkconfig WowzaMediaServer on
/etc/init.d/WowzaMediaServer restart
/etc/init.d/WowzaMediaServer status
#done
clear
echo "${GREEN}"
echo "================================================================="
echo
echo "Concluído. :)"
echo
echo "Configure o banco de dados e demais dependencias manualmente."
echo "phpMyAdmin: http://www.$dominio/srv-bd-admin"
echo "Usuário MySQL: root"
echo "Senha MySQL: $senhamysql"
echo
echo "Edite os arquivos e configure o banco de dados."
echo "/home/painel/admin/inc/conecta.php"
echo "/home/painel/player/inc/conecta-remoto.php"
echo "/home/painel/robots/inc/conecta-remoto.php"
echo "/home/painel/cdn/inc/conecta-remoto.php"
echo
echo
echo "Execute para instalar o Android SDK"
echo "cd /opt/; ./android-sdk-linux/tools/android update sdk --no-ui;"
echo
echo
echo "Configure as entradas no DNS do seu dominio:"
echo "player A 1440 $ipmaquina"
echo "cdn A 1440 $ipmaquina"
echo "srv01 A 1440 $ipmaquina"
echo "www CNAME 1440 $dominio"
echo
echo
echo "Admin/Revenda: http://www.$dominio/admin"
echo "Cliente: http://www.$dominio"
echo
echo "Dúvidas: https://site.com/vox"
echo "================================================================="
echo "${NC}"
fi
@msaulohenrique
Copy link

msaulohenrique commented Sep 25, 2018

Apresenta:

: command not found clear

============================================
VOXTREAM INSTALL...
============================================

Dominio (sem http/https e www): ex. audiobrazil.com
audiobrazil.ml
': not a valid identifier: `dominio
IP do VPS/Dedicado: ex. 192.134.123.54
217.182.108.189
': not a valid identifier: `ipmaquina
Senha MySQL:

Encerrei o comando neste ponto, para não prosseguir os demais erros.

@Matiusco
Copy link
Author

Matiusco commented Sep 25, 2018

Esse erro é como se o bash não estivesse processando o script.

no local onde vai rodar o script, digite:

which bash

Vai mostrar onde o bash está instalado.

a resposta deve ser

/bin/bash

Confira se bate com o cabeçalho do script #!/bin/bash -e

Também confira onde vc esta , digitando:

pwd

O resultado devera ser o home do usuario eu acho.

Se estiver com senha root, bom ai poderá estar no /

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment