Configurando um ambiente de desenvolvimento no Ubuntu

4

Sou um usuário de janela muito tempo. Recentemente, aprendi JavaScript / PHP / mySql e considerei que o Ubuntu Server seria a escolha. Ainda vou trabalhar no Windows XP / 7, no entanto. Aqui está minha ideia

  • Development Machine (XP / 7): Onde faço toda a programação. Os IDEs serão Spket (JavaScript) e Aptana (PHP). Juntamente com outros softwares como o PhotoShop, Office ...
  • Servidor (Ubuntu Lucid): Aqui é onde eu armazeno meus dados, executo meu HTTP, e-mail, servidor FTP ... Será um VPS.

Então, simplesmente, eu estarei trabalhando com o Windows como um cliente (IDE, Client Email Software, FTP ...) e o Ubuntu como um servidor para gerenciar meus dados (Mercurial, Apache, mySql ...)

Eu sou novo, gostaria de saber se já existe alguém fazendo isso e trabalhando com esse mix de cliente / servidor. Quais são as possíveis desvantagens deste método? O trabalho em FTP com um VPS é uma boa ideia ou não?

Eu sou um desenvolvedor solo, eu estava pensando nos últimos dias da melhor abordagem para trabalhar com a nuvem. Eu faço desenvolvimento web. Por favor responda com qualquer coisa relacionada e útil, eu apreciaria muito os desenvolvedores que escreverão longos posts sobre seu ambiente de trabalho. Eu não tenho exatamente nenhuma ideia específica em mente, apenas procurando melhorar.

Obrigado!

    
por Omar Abid 02.10.2010 / 18:59

4 respostas

5

Certamente muitas pessoas usaram o Ubuntu Server com clientes Windows. O Guia do Servidor Ubuntu abrange praticamente tudo o que você deseja fazer.

Aqui estão alguns comentários sobre sua configuração proposta:

  • Ditch FTP. Use o SSH. Pessoalmente, gostaria também de acrescentar que você deve configurar a autenticação baseada em chave e desativar a senha auth. Consulte esta página para obter ajuda.

  • Não vejo qualquer tipo de solução de backup mencionada. Certifique-se de ter backups regulares.

  • Considere o Git. Eu consideraria usar Git em vez de Mercurial, mas isso é uma preferência pessoal.

  • Pense na segurança desde o início - especialmente se ela estiver voltada para a web. Novamente veja (1). Você não precisa ser um especialista em segurança, mas deve pelo menos considerar o seguinte:

    1. Use um firewall. Com o Ubuntu Server, isso é fácil de usar usando ufw e é mencionado no guia.
    2. Não execute serviços desnecessários. Especificamente, eu ficaria longe de coisas como o phpmyadmin.
    3. Não forneça acesso ou privilégios que não sejam necessários para outras pessoas.
    4. Pense em auditoria e registro.

Um comentário mais geral que eu não quero forçar demais é que você pode considerar apenas mover seu processo de desenvolvimento para o linux também. Na minha experiência, as ferramentas disponíveis para o Linux facilitam muito o trabalho com um servidor remoto.

    
por 02.10.2010 / 19:47
1

Não vejo necessidade de um desenvolvedor da Web usar o Windows para desenvolvimento. Embora você ainda queira uma plataforma Windows para testes. Que você não inclui em sua lista de ferramentas. Você deve ter algum tipo de ambiente de teste automatizado para várias plataformas diferentes, mas isso tudo pode ser feito em uma VM.

Eu não usaria um IDE como o Spket, mas aprenderia um dos editores básicos e (genericamente falando) altamente programáveis: emacs, vi ou eclipse.

Eu também usaria o Mercurial no lado do cliente para todo o código.

    
por 02.10.2010 / 22:55
0

Veja Samba e aqui - estes devem atender a muitas das suas necessidades. Apache (vem padrão com o Ubuntu) para as necessidades do servidor web. Se você precisar ter FTP, sugiro sftp

Quanto aos backups, consulte este

    
por 04.10.2010 / 12:05
0

Eu acho cygwin , muito útil para falar com servidores linux. Você pode usar rsync, ssh, scp e todas essas ferramentas para copiar arquivos. Além disso, você vai começar a se acostumar a ferramentas unix muito em breve, então você provavelmente vai querer essas ferramentas em sua máquina de trabalho também.

Algumas pessoas preferem usar massa , mas eu acho cygwin + mintty + openssh é uma escolha muito mais agradável, pois funciona com os mesmos conceitos das ferramentas nativas do linux (ssh-agent, por exemplo).

Por último, e algumas pessoas podem discordar de mim sobre isso, se você for copiar arquivos entre o cygwin e o linux, eu recomendo que você desativa as ACLs editando /etc/fstab .

    
por 04.10.2010 / 17:25