Construir um sistema operacional de desenvolvimento web no VirtualBox

Olá Mundo!

Decidi iniciar esta conta coderwall para manter o controle de meus projetos, como a maioria aqui, suponho.

Eu queria construir uma boa VM com todas as ferramentas necessárias para desenvolvimento web. Uma VM seria mais fácil de mover de um sistema para outro. Eu decidi pelo Linux Mint basicamente apenas porque eu tinha piscadas na minha instalação do Ubuntu VirtualBox . Uma distribuição baseada em Debian é boa para seu gerenciador de pacotes, e é o que estou mais acostumado. Você também encontrará mais documentos e ajudará a pesquisar o Ubuntu do que qualquer outra distro. Optei por uma edição de 32 bits, sem necessidade de 64 bits!

1. Instale e atualize o sistema

Instalar o Linux no VirtualBox é bastante simples, apenas lembre-se de marcar Habilitar PAE / NX na configuração Sistema> Processador de sua VM antes de iniciá-lo.

Toda a instalação deve ocorrer sem problemas.

Depois de reiniciar, a diversão começa, abra o terminal:

sudo apt-get update

sudo dpkg
-reconfigure locales

sudo update
-locale LANG=en_US.UTF-8

sudo apt
-get install vim guake

sudo apt
-get upgrade

Isso atualizará tudo e instalará dois aplicativos que considero prioritários!
Faça uma captura instantânea do sistema nesse estado com o VirtualBox, instale e atualize. Eu sugiro pegar este tema para Guake.

2. Instale o LAMP e configure hosts virtuais

Agora vamos instalar a pilha de lâmpadas, mcrypt é necessário para muitos frameworks php, incluindo Laravel 4:

sudo apt-get install apache2

sudo apt
-get install php5 php5-mcrypt

sudo apt
-get install mysql-server php5-mysql

Uma vez feito isso, precisamos corrigir um bug com Apache2 e Mint 14.1:

sudo vim /etc/apache2/apache2.conf
add 'ServerName localhost' to the end of the file

É hora de configurar hosts virtuais, vou usar o phpMyAdmin como exemplo. Decidi colocar minha raiz da web dentro da minha pasta de início. Eventualmente, ele terminará em uma pasta do Dropbox, como veremos mais tarde 🙂

mkdir ~/www

mkdir
~/www/phpmyadmin

sudo a2enmod rewrite


sudo a2enmod vhost_alias


sudo service apache2 restart


cd
/etc/apache2/sites-available/

sudo cp
default phpmyadmin

sudo vim
/etc/apache2/sites-available/phpmyadmin

Existem 4 coisas que você deseja fazer aqui:

  • Adicione ‘ServerName phpmyadmin.local’ logo acima de DocumentRoot

  • Editar ‘DocumentRoot / home / username / www / phpmyadmin’

  • Edite ‘<Directory / home / username / www / phpmyadmin />’

  • Altere ‘AllowOverride None’ para ‘AllowOverride All’, deve haver 3 deles.

Eu gosto de criar dois modelos de vhosts. Repita o processo descrito acima, mas desta vez faça uma cópia do seu arquivo phpmyadmin vhost localizado em / etc / apache2 / sites-available /

sudo cp phpmyadmin template

sudo vim
/etc/apache2/sites-available/template

Onde quer que você veja ‘phpmyadmin’, substitua por ‘template’. Deve haver 3 deles. Faça o mesmo para outro vhost chamado ‘template-pub’, mas desta vez também adicione / public à raiz do documento e / public / ao diretório.

Basta copiar o modelo certo dependendo da estrutura / site em que você está trabalhando.
Isso será útil quando você quiser criar um script de criação de arquivos de hosts virtuais, como fiz nesta dica .

Agora precisamos habilitar nosso novo site e corrigir nosso arquivo / etc / hosts:

sudo a2ensite phpmyadmin

sudo service apache2 reload


sudo vim
/etc/hosts

add phpmyadmin.local to the first line so it looks like:
127.0.0.1 localhost phpmyadmin.local

sudo service apache2 restart

No Ubuntu funcionou, mas o Mint me deu um erro 403. Execute isso e ele deve consertar. Não sei realmente se é uma boa prática, mas como este nunca será um servidor de produção ao vivo, eu realmente não me importo;)

chmod a+x /home/username

Agora vá e baixe o phpMyAdmin mais recente e extraia-o na pasta que você criou em seu diretório home / www. Você só precisa criar um arquivo de configuração para que funcione:

cd ~/www/phpmyadmin

cp config
.sample.inc.php config.inc.php

vim config
.inc.php

Paste this in for basic setup using cookies for auth:

<?php
$cfg
['blowfish_secret'] = 'be27c1ec08d65003'; //change value

$i
=0;
$i
++;
$cfg
['Servers'][$i]['auth_type'] = 'cookie';
?>

Feito, navegue até http: //phpmyadmin.local para verificar se tudo funciona!

Neste ponto, temos uma pilha LAMP funcional com o último phpMyAdmin instalado, um bom momento para tirar outro Snapshot do sistema com o VirtualBox!

3. Configuração adicional para desenvolvimento web

Em seguida, gostaria de ter uma sincronização com um DropBox para todos os meus arquivos de projeto e configurações genéricas do sistema Linux. A maioria das configurações de aplicativos também vai parar lá.

Gosto mais de criar um novo e-mail no Gmail que corresponda ao que é a VM, aqui é desenvolvimento web, então acabei de criar um username.webdev@gmail.com para vincular todas as contas que se relacionarão com a VM. Comece abrindo uma conta do Dropbox com ele, pois o que planejei 2Gb é mais do que preciso.

Antes de executar o instalador de 32 bits do Dropbox ubuntu que você baixou de seu site, você pode querer executar este comando para pular uma janela de aviso durante a instalação:

sudo apt-get install python-gpgme

Agora, a primeira pasta que você deseja mover para o Dropbox é ~ / www / onde todos os projetos estarão:

cp -R ~/www/ ~/Dropbox/
rm
-R ~/www/
ln
-s ~/Dropbox/www ~/www

Se você teve o erro 403 anterior, também precisará

chmod a+x ~/Dropbox

Pense em fazer o mesmo para tudo o que quiser no Dropbox: copie lá, exclua o original, crie um link simbólico do Dropbox para o local original.

Portanto, outros arquivos que você pode querer criar no Linux Mint 14.1 são .bashrc e .bash_aliases em sua pasta pessoal (/ home / nome de usuário / ou ~ /).

Isso é o que você quer em .bashrc

# More alias definitions in ~/.bash_aliases
if [ -f ~/.bash_aliases ];
then . ~/.bash_aliases
fi

Em seguida, você pode começar a adicionar aliases no arquivo .bash_aliases. Aqui estão alguns exemplos para lhe dar ideias:

alias ll='ls -l'

alias lsa='ls -la'

alias la='ls -a'

alias apti='sudo apt-get install'

alias aptr='sudo apt-get remove'

alias aptu='sudo apt-get update'

alias aptg='sudo apt-get upgrade'

alias art='php artisan'

Vamos movê-los para o nosso Dropbox:

mkdir ~/Dropbox/configs
cp
~/.bashrc ~/Dropbox/configs/.bashrc
cp
~/.bash_aliases ~/Dropbox/configs/.bash_aliases
rm
~/.bashrc
rm
~/.bash_aliases
ln
-s ~/Dropbox/configs/.bashrc ~/.bashrc
ln
-s ~/Dropbox/configs/.bash_aliases ~/.bash_aliases

Em seguida, é hora de configurar o Git e o GitHub

sudo apt-get install git

Mas você provavelmente tem. Agora queremos que nossa configuração git global use um e-mail falso:

git config --global user.email "username@server.fake"

Se você estiver contribuindo para um projeto que requer um email real, execute o comando novamente na pasta do projeto sem o sinalizador –global.
Agora atualize sua conta GitHub com este e-mail falso e simplesmente ignore o aviso de verificação, o GitHub não se importa 🙂

Vamos gerar nossas chaves SSH:

ssh-keygen -t rsa -C "username@server.fake"

Make sure you change the default name to something like id_rsa_fakemail so you can create others for the real emails.

Copie e cole o conteúdo do id rsa fakemail.pub nas configurações da sua conta GitHub, pronto!

Em algum ponto, você pode precisar mover seu projeto de desenvolvimento para um servidor ativo, para vários fins. pagodaBox é uma boa alternativa para hospedagem compartilhada gratuita para tais fins. Depois de fazer login usando sua conta do GitHub, leia isto e você estará pronto para começar!

Este é exatamente o ponto em que meu VirtualBox Mint 14.1 está, e estou escrevendo isso a partir desta VM 🙂 Vou voltar e editar esta dica se mudar as coisas ao longo do caminho.

Conforme eu continuo instalando e configurando coisas para esta VM, farei novas dicas relevantes.

Aqui está uma lista de dicas que são relevantes para o sistema Web Development VirtualBox ou seu fluxo de trabalho:

  • Sublime Text 2
  • Script para criar hosts virtuais automaticamente