Ubuntu 12.04 post install
Configuração inicial
Logue como root:
ssh root@10.0.0.1
Configure o hostname:
# echo "plato" > /etc/hostname
# hostname -F /etc/hostname
Altere o arquivo /etc/hosts
:
127.0.0.1 localhost.localdomain localhost
12.34.56.78 plato.example.com plato
2600:3c01::a123:b456:c789:d012 plato.example.com plato
Configure a timezone para America/Sao_Paulo
:
# dpkg-reconfigure tzdata
Atualize o software:
# apt-get update
# apt-get upgrade --show-upgraded
Instale alguns pacotes:
# apt-get -y install linux-headers-$(uname -r) build-essential
# apt-get -y install zlib1g-dev libssl-dev libreadline-gplv2-dev
# apt-get -y install imagemagick
# apt-get -y install libmagickwand-dev
# apt-get -y install libcurl4-openssl-dev
# apt-get -y install vim
Usuáiro padrão
Crie um usuário padrão:
# adduser shaman
Adicione o usuário no grupo de sudo:
# usermod -aG sudo shaman
Configure o SSH no arquivo /etc/ssh/sshd_config
:
PermitRootLogin no
Reinicie o serviço SSH:
# service ssh restart
Localmente gere seu par de chaves se ainda não tiver:
ssh-keygen
Copie as chaves para o host:
ssh-copy-id -i ~/.ssh/id_rsa.pub shaman@10.0.0.1
Entre na máquina sem root:
ssh shaman@10.0.0.1
RVM, MySQL e NodeJS
Instale RVM system wide:
$ \curl -#L https://get.rvm.io | sudo bash -s stable --autolibs=3
Adicione o usuário no grupo rvm
(depois saia e conecte novamente):
$ sudo usermod -aG rvm shaman
Crie o arquivo /etc/gemrc
:
install: --no-rdoc --no-ri
update: --no-rdoc --no-ri
Instale o Ruby 1.9.3-p392:
$ rvm install ruby-1.9.3-p392
Instale o MySQL:
$ sudo apt-get -y install mysql-server mysql-client mysql-common libmysqlclient-dev
Instale o NodeJS:
$ sudo apt-get -y install software-properties-common
$ sudo apt-get -y install python-software-properties python g++ make
$ sudo add-apt-repository ppa:chris-lea/node.js
$ sudo apt-get update
$ sudo apt-get -y install nodejs
Passenger e Nginx
Instale o passenger:
$ gem install passenger
Baixe e extraia os módulos pra upload:
(http://wiki.nginx.org/NginxHttpUploadProgressModule)
$ wget -O upload-progress https://github.com/masterzen/nginx-upload-progress-module/tarball/v0.9.0
$ tar -zxf v0.9.0
$ mv masterzen-nginx-upload-progress-module-a788dea/ progress-module
Baixe e extraia o Nginx:
$ wget http://nginx.org/download/nginx-1.3.15.tar.gz
$ tar -zxf nginx-1.3.15.tar.gz
Crie um usuário para o Nginx:
$ sudo adduser --system --no-create-home --disabled-login --disabled-password \
--group nginx
Instale o Nginx com o Passenger:
$ rvmsudo passenger-install-nginx-module
Escolha a opção 2
, e passe os seguintes argumentos na instalação:
--user=nginx --group=nginx --add-module=/home/shaman/tools/progress-module
Crie um script de inicialização para o Nginx:
$ wget -O init-deb.sh http://library.linode.com/assets/660-init-deb.sh
$ sudo mv init-deb.sh /etc/init.d/nginx
$ sudo chmod +x /etc/init.d/nginx
$ sudo /usr/sbin/update-rc.d -f nginx defaults
$ sudo /etc/init.d/nginx start
Edite o arquivo /opt/nginx/nginx.conf
e coloque dentro do bloco http {}
:
include sites-enabled/*;
Crie as pastas necessárias:
$ sudo mkdir /opt/nginx/conf/sites-available
$ sudo mkdir /opt/nginx/conf/sites-enabled
Para adicionar um site:
$ cd /opt/nginx/conf/sites-available
$ sudo touch app.com
$ sudo ln -s /opt/nginx/conf/sites-available/app.com /opt/nginx/conf/sites-enabled/
$ sudo /etc/init.d/nginx restart