Instalando o Apache2, PHP5, MariaDB (esqueça o MySQL), PHPMyAdmin no Ubuntu

O que vou ensinar aqui é tudo que você precisa pra montar um Web Server com o Ubuntu.

Estou usando sempre o Ubuntu nos meus tutoriais de Linux porque estou tendo meus primeiros contatos com o Linux agora e o Ubuntu é, se não o mais fácil, um dos mais faceis para os iniciantes.

Outra coisa, esse tutorial começa no terminal, então se nem no terminal você sabe chegar sugiro que dê uma navegada no “menu iniciar do seu Ubuntu.

Preparando o sistema

Primeiro vamos obter as permissões de administrador, que no Linux é conhecido como usuário root.

Para isso digite o comando abaixo e informe sua senha quando ele pedir:

sudo su

Agora vamos fazer um update das listas de aplicativos com o comando:

apt-get update

Em seguida vamos instalar o apache2

apt-get install -y apache2

Agora vamos instalar o PHP5 (PHP5 é a versão. Esse é o php que você conhece)

apt-get install -y php5

É bom instalar também algumas bibliotecas úteis do PHP, pois cedo ou tarde será necessário.

apt-get install -y php5-mhash php5-mcrypt php5-curl php5-cli php5-mysql php5-gd

Agora vamos instalar o MySQL

apt-get install -y mariadb-server mariadb-client

Falta pouco agora.

O Web Server já está basicamente pronto, mas seria bom adicionar um gerenciador para o banco de dados.

Para isso vamos instalar o PHPMyAdmin com o comando:

apt-get install -y phpmyadmin

Agora precisamos que o apache rode o phpmyadmin.

Para isso use o comando:

echo "Include /etc/phpmyadmin/apache.conf" >> /etc/apache2/apache2.conf

Ou se preferir, edite o arquivo com o editor do debian e insira a linha manualmente.

Agora basta reiniciar o apache2 para que tudo esteja pronto para funcionar.

/etc/init.d/apache2 restart

Certo, mas onde está aquela pasta www onde irei jogar os meus .php e fazer meu site?

Inicialmente a pasta fica em:

[code]/var/www/html/[/code]

Em breve farei outro tutorial ensinando como mudar o local padrão da pasta www do apache2.

Abraços.

Talvez você também se interesse por:
Habilitando o mod_rewrite no apache
Instalando e ativando a extensão PHP mCrypt no Ubuntu
Instalando a biblioteca cURL do PHP no Ubuntu

Adicionando suporte ao jQuery no Magento

Neste artigo vou ensinar como adicionar suporte ao jQuery no Magento.

O Magento já possui suporte ao Scriptaculous, porém ele não é de todo perfeito e caso você queira plugins adicionais que utilizem o jQuery como base você vai precisar do jQuery.

Os arquivos necessários para realização dessa tarefa são:

  1. Versão atual do jQuery
  2. Versão atual do Scriptaculous

Você vai reparar que o Magento já possúi o Scriptaculous, porém as versões mais antigas desse script não foram criadas pensando em compatibilidade com outros scripts e dariam conflito com o jQuery caso você não atualize.

Com os scripts nas mãos faça o seguinte:

Atualizando o Scriptaculous

Copie todos os arquivos do Scriptaculous para /js/scriptaculous/ substituindo todos os arquivos existentes.

Adicionando o jQuery

Abra o arquivo /app/design/frontend/default/seuTema/layout/page.xml

Logo abaixo dos outros scripts adicione a seguinte linha:

[code] <action method=”addJs”><script>jquery.js</script></action>[/code]

Ficando assim:

Agora coloque o seu jQuery na pasta /js/ com o nome jquery.js

O caminho completo seria /js/jquery.js

Agora abra o arquivo do jquery e adicione ao final do arquivo a linha:

[code]jQuery.noConflict();[/code]

Ficando assim:

jquery-no-magento-3

 

Agora vá na administração do seu Magento e atualize o cache para que tudo entre em funcionamento.

Pronto, você adicionou o jQuery no seu Magento.

Para utilizar o jQuery dê preferência pela sintaxe:

[code]jQuery(‘objeto’).acao();[/code]

ao invés de

[code]$(‘objeto’).acao();[/code]

É isso.

Abraços.

Compactando/Descompactando arquivos no linux pelo terminal

Compactar e descompactar aquivos no linux pelo terminal pod ser um tanto quanto complicado, não pela complexidade dos comandos, mas pela diversidade deles já que cada tipo de arquivo tem uma forma diferente de fazer isso. Lembrando que se você não tiver alguma desses comandos disponíveis no seu Ubuntu, basta instalar os pacotes com o comando apt-get install, por exemplo pro zip seria:

apt-get install zip

Os comandos são:

  • .zip

Compactando:

zip -r nomedoarquivo.zip nome_do_arquivo_ou_pasta

Descompactando:

unzip nomedoarquivo.zip
  • .rar

Compactando:

rar a -r  nomedoarquivo.rar arquivo1 pasta1 arquivo2 pasta2

Descompactando:

rar x nomedoarquivo.rar
  • .tar

Compactando:

tar zcvf nomedoarquivo.tar arquivo1 pasta1 arquivo2 pasta2

Descompactando:

tar xvf nomedoarquivo.tar
  • .tar.gz

Compactando:

tar -czfv nomedoarquivo.tar.gz pasta1 arquivo1 pasta2 arquivo2

Descompactando:

tar -vzxf nomedoarquivo.tar.gz
  • .tar.bz2

Compactando:

tar -cjfv nomedoarquivo.tar.bz2 arquivo1 pasta1 arquivo2 pasta2

Descompactando:

tar -jxvf nomedoarquivo.tar.bz2

Melhorando o desempenho com o uso de Cache

Antigamente os sites eram mais estáticos, poucos deles apresentavam conteúdo dinâmico vindo de um banco de dados.

Mas hoje, é dificil ver um site estático e com isso a preocupação com o desempenho que antes era um luxo hoje é um requisito muito importante.

Pensando nisso, foram criados vários scripts de cache e o que vou apresentar hoje é o Cache Lite (PHP).

Download do Cache Lite

 <?php

// Inclui a classe Cache Lite
require_once("Lite.php");

// Seta um nome para o cache
$id = "nosso_cache";

// Seta as configurações
$options = array(
cacheDir" => "cache/",
"lifeTime" => 50
);

// Instancia o objeto Cache Lite
$objCache = new Cache_Lite($options);

// Teste se já existe um Cache válido
if ($quote = $objCache->get($id))
{
// Se existe ele exibe o conteudo que estava no cache
echo $quote;

// Adiciona no fim do conteúdo um indicador que veio do cache (só para exemplo)
echo " [cached]";
}
else
{
// Se ainda não existe um cache para esse conteudo, devemos criar o conteúdo, exibi-lo e depois armazena-lo no cache para que a próxima consulta não seja criada e sim retornada do cache

//Criamos o resultado
$quote = "Aprendendo como utilizar o cache";

//Exibimos o resultado
echo $quote;

//Armazenamos no cache
$objCache->save($quote, $id);
}

?> 

O resultado se o cache não existir seria:

Aprendendo como utilizar o cache

E se ele existir seria

Aprendendo como utilizar o cache [cached]

Dessa forma, ele só criará o resultado final se ainda não existir em cache e também se não estiver com a validade vencida. Leia sobre o lifetime na legenda no final do artigo.

Mas esse exemplo foi de uma simples frase, e como seria para um conteúdo vindo do banco de dados?

Simples:

<?php

// Inclui a classe Cache Lite
require_once("Lite.php");

// Seta um nome para o cache
$id = "nosso_cache";

// Seta as configurações
$options = array(
cacheDir" => "cache/",
"lifeTime" => 50
);

// Instancia o objeto Cache Lite
$objCache = new Cache_Lite($options);

// Teste se já existe um Cache válido
if ($quote = $objCache->get($id))
{
// Se existe ele exibe o conteudo que estava no cache
echo $quote;

// Adiciona no fim do conteúdo um indicador que veio do cache (só para exemplo)
echo " [cached]";
}
else
{
//esta função vai armazenar o resultado que vai pra tela do usuário
ob_start();

?>
<html>
<head></head>
<body>
Aprendendo como utilizar o <i>cache</i>
</body>
</html>
<?php

// terminou de gerar a página

// obtem o conteúdo que foi armazenado
$conteudo = ob_get_contents();

// salva o conteudo
$objCache->save($conteudo, $id);

// exibe o conteudo na tela do usuário
ob_end_flush();
}

?>

Viu  como é simples?

Legenda:

  • cacheDir :: pasta onde serão armazenados os arquivos gerados do cache
  • lifetime :: tempo de vida do arquivo de cache em segundos. É necessário para que quando você pergunte se existe um cache válido ele retorne falso quando não existir o arquivo e também quando existir, porém com a validade vencida
  • $id :: utilizei essa variável para armazenar o nome do arquivo do cache. É interessante utilizar essa função em conjunto com a md5() para que o nome do arquivo não contenha caracteres inválidos como a interrogação ? ou barras / que são normais em urls.

Algum erro que eu tenha cometido ou uma sugestão de melhoria avise pelo comentário ok?

Abraços!

Reiniciando o som do Ubuntu sem reiniciar o sistema

As vezes o som do meu Ubuntu pára de funcionar e só volta quando eu reinicio.

Mas isso era antes de eu descobrir esse comando:

sudo alsa force-reload

Execute este comando no seu terminal que o som do seu Ubuntu voltará a funcionar num passe de mágicas.

Migrando o Magento para outro servidor

Diferente do que muitos pensam migrar o Magento é bem tranquilo. Você só precisa se preocupar com algumas coisas.

 

Passos:

  • Preparando os arquivos para Upload

Extraia uma cópia nova do seu Magento em uma pasta, e depois adicione os arquivos dos seus módulos adicionais e traduções, exceto os instalados pelo Magento Connect.

Por exemplo, modulo de pagamento do pagseguro, tema e a tradução para o português do Brasil.

Se você instalou um plugin adicional como um lightbox pelo Magento Connect você deverá instalar de novo quando o Magento estiver online, se fizer upload dele poderá dar problema.

No final você terá: Magento + tradução + módulo de pagamento pagseguro + tema, vamos chamar esse pacote de pacote de upload.

Eu recomendo que você compacte esses arquivos de preferência com o tar.bz2 que pode ser descompactado pelo painel da sua hospedagem.

 

  • Preparando o banco de dados

A parte do banco de dados será uma surpresa pra você, pois é mais fácil do que você imagina.

Simplesmente faça uma exporte o seu banco de dados local completo (dados + estrutura).

Eu não aconcelho compactar ele, pode dar erro de codificação.

Terminamos com o banco de dados.

 

  • Começando a instalação

No seu novo servidor siga esses passos:

  1. Faça upload dos seu pacote de upload e descompacte caso tenha compactado
  2. Crie um banco de dados para o Magento, um usuário com login e senha e relacione esse usuário ao banco de dados
  3. Acesse o banco de dados e importe os dados do seu Magento que você exportou logo acima
  4. Agora acesse o endereço do Magento para começar a instalação
  5. Não se esqueça de dar permissão de escrita nas pastas que o Magento pede
  6. Siga os passos da instalação como de costume e quando pedir a chave de criptografia informe a mesma que você salvou quando instalou o Magento pela primeira vez

 

  • Terminando a migração

Agora você já tem o Magento migrado e funcionando com seu banco de dados completo.

O que falta agora são poucas coisas.

  1. Instale os plugins que você havia instalado no seu Magento local pelo Magento Connect
  2. Faça upload do conteudo da pasta media do seu magento local para o magento online, pode compactar da mesma forma se preferir. A pasta media é responsável pelas fotos dos produtos
  3. Faça o mesmo com a pasta skin sem preocupações. A pasta skin é responsável pelas modificações na aparência do Magento
  4. Agora é a hora de upar suas modificações da pasta app. Nessa hora eu recomendo que você só faça upload dos arquivos que você modificou. Tome cuidado com a pasta app/etc e a app/core, se fizer o upload completo dessas pastas é bem provavel que seu Magento não funcione mais.

 

Pronto, você migrou com sucesso o seu magento.

Todas as modificações que você havia feito no painel administrativo, como configurar formas de pagamento, páginas cms, catalogos e produtos estarão todos na sua loja que agora é online.

Não atropele os passos, faça exatamente como eu fiz aqui, pois eu fiz desse jeito e deu certo pra mim então dará para você também.

Boa sorte!