Skip to content

Instantly share code, notes, and snippets.

@jotapepinheiro
Last active August 29, 2015 14:22
Show Gist options
  • Save jotapepinheiro/6aaf7c4dded2af9a5ec6 to your computer and use it in GitHub Desktop.
Save jotapepinheiro/6aaf7c4dded2af9a5ec6 to your computer and use it in GitHub Desktop.
#!/bin/sh
# Script para instalação e configuração do Phalcon | MongoDB
echo "#####################################################################"
echo "#####################################################################"
echo "#####################################################################"
echo ">>>>>>>>>>>>>>>>>>>>>> Instalando MongoDB >>>>>>>>>>>>>>>>>>>>>>>>>>>"
echo "#####################################################################"
echo "#####################################################################"
echo "#####################################################################"
# Get key and add to sources
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
# Update
sudo apt-get update
# Instalando MongoDB
# -qq implies -y --force-yes
sudo apt-get install -qq mongodb-org
# Make MongoDB connectable from outside world without SSH tunnel
if [ $1 == "true" ]; then
# ativando remoto acesso
# setting the mongodb bind_ip to allow connections from everywhere
sed -i "s/bind_ip = */bind_ip = 0.0.0.0/" /etc/mongod.conf
fi
# Testando se PHP está instalado
php -v > /dev/null 2>&1
PHP_IS_INSTALLED=$?
if [ $PHP_IS_INSTALLED -eq 0 ]; then
# instalando dependências
sudo apt-get -y install php-pear php5-dev
# instalando extensão do php
echo "no" > answers.txt
sudo pecl install mongo < answers.txt
rm answers.txt
# adicionando extensão do php ao php.ini
echo 'extension=mongo.so' | sudo tee /etc/php5/mods-available/mongo.ini
ln -s /etc/php5/mods-available/mongo.ini /etc/php5/fpm/conf.d/mongo.ini
ln -s /etc/php5/mods-available/mongo.ini /etc/php5/cli/conf.d/mongo.ini
sudo service php5-fpm restart
fi
echo "#####################################################################"
echo "#####################################################################"
echo "#####################################################################"
echo ">>>>>>>>>>>>>>>>> Instalando Phlacon Dev Tools >>>>>>>>>>>>>>>>>>>>>>"
echo "#####################################################################"
echo "#####################################################################"
echo "#####################################################################"
# Criando pasta para o phalcon dev tools
cd /home/vagrant
take .phalcon
# Criando composer para instalar phalcon dev tools
touch composer.json
composer='{
"require": {
"phalcon/devtools": "1.3.*@dev"
}
}'
echo $composer > composer.json
composer install
# Criando link simbólico para phalcon dev tools
sudo ln -s /home/vagrant/.phalcon/vendor/phalcon/devtools/phalcon.php /usr/bin/phalcon
echo "#####################################################################"
echo "#####################################################################"
echo "#####################################################################"
echo ">>>>>>>>>>>>>>>>>>>>>> Instalando Phalcon >>>>>>>>>>>>>>>>>>>>>>>>>>>"
echo "#####################################################################"
echo "#####################################################################"
echo "#####################################################################"
# baixando o phlacon
cd /tmp/
git clone http://github.com/phalcon/cphalcon
cd cphalcon
# Selecionando versão do phalcon que deverá ser usada
git checkout 1.3.5
cd build
# Instalando phalcon
sudo ./install
# Configurando php com a extensão do phalcon
sudo echo "extension=phalcon.so" >> /etc/php5/fpm/conf.d/20-phalcon.ini
sudo echo "extension=phalcon.so" >> /etc/php5/cli/conf.d/20-phalcon.ini
echo "#####################################################################"
echo "#####################################################################"
echo "#####################################################################"
echo ">>>>>>>>>>>>>>>>> Configurando o vhost para ava.app >>>>>>>>>>>>>>>>>"
echo "#####################################################################"
echo "#####################################################################"
echo "#####################################################################"
app="ava.app"
appFile="server {
listen 80;
server_name ava.app;
set $root_path '/home/vagrant/Code/interdev/ava/public';
root $root_path;
index index.php index.html index.htm;
try_files $uri $uri/ @rewrite;
location @rewrite {
rewrite ^/(.*)$ /index.php?_url=/$1;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
access_log off;
error_log /var/log/nginx/ava.app-error.log error;
error_page 404 /index.php;
sendfile off;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
root $root_path;
}
location ~ /\.ht {
deny all;
}
}"
cd /etc/nginx/sites-available/
sudo rm -R $app
sudo touch $app
sudo echo $appFile > $app
echo "#####################################################################"
echo "#####################################################################"
echo "#####################################################################"
echo ">>>>>>>>>>>>>>>>> Reiniciando Serviços Php-Fpm >>>>>>>>>>>>>>>>>>>>>>"
echo "#####################################################################"
echo "#####################################################################"
echo "#####################################################################"
sudo service nginx restart
sudo service php5-fpm restart
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment