Sunday, 21 October 2018

Script to upload images of a local folder to a wordpress server, create a Custom Post Type item, and an Attachment, to add as featured image of that CPT.

Need to configure couple of things

your enviroment must login to your server with that ssh config file you know?
you need to configure custom post type
you need to understand what you wanna do..
then… run.sh

For what?

For bulk upload images files in some folder to your VPS and mass create post programmatically
or something like this..

ūüėČ

Monday, 11 August 2014

Wednesday, 1 February 2012

Instalando o Bugzilla no meu VPS CentOS + Cpanel

“Caramba vou ter que escrever um tutorial pra isso”, foi o que eu pensei depois de ~2h tentando fazer uma simples instala√ß√£o do Bugzilla no meu VPS.

Como eu fico com o pé atrás de instalar qualquer coisa no meu servidor, eu fui primeiro procurar algum tutorial com esses ingredientes: Bugzilla + CentOS + Cpanel. Já vi que tinha um monte de gente falando que dava erro, que estragava o Cpanel, que estragava o Bugzilla. Bom, então eu tive que ser cauteloso, mas também tive que ser atrevido e tentar a sorte.

Consegui fazer funcionar de maneira boa até demais, mas não foi fácil. Foram muitas pesquisas e muitas tentativas, ainda bem, poucos erros. Nada que desinstalar tudo e começar do zero não ajudasse.

Então vamos ao passo-a-passo pra você ter o mesmo sucesso que eu tive.

Cpanel: Configure o seu site.

Aqui é um processo simples pra quem sempre usa o Cpanel. Criar um usuário novo (via WHM), ou mesmo um subdominio no seu site atual. Acho importante deixar o Bugzilla separado, num subdominio. Assim, posso até replicar esse passo-a-passo para algum cliente do meu servidor. O importante é que não fiz isso como root do servidor, e sim como um cliente qualquer, pra me certificar que não ia cagar na instalação do Cpanel.

Então faça assim:

  1. Crie um subdominio (vai ficar em /home/usuario/public_html/bugzilla)
  2. Crie o banco de dados e o usu√°rio que ir√° ter acesso completo ao banco de dados. O meu ficou: Banco = “bugzilla_db” | Usu√°rio = “bugzilla_user”

Por enquanto, est√° ok com o Cpanel. Daqui a pouco a gente volta nele pra configurar mais coisas.

CentOS: Acesse o seu servidor

  1. Abra o terminal e dê um ssh para acessar o seu servidor.
  2. Navegue até o diretório do seu subdominio: /home/usuario/public_html/bugzilla
  3. Dê um wget para baixar o Bugzilla. Aqui usei a versão 4.0.4

Extraia os arquivos para a raiz do seu diretório e pode apagar o arquivo que você acabou de baixar.

Bugzilla: checksetup.pl

Esse arquivo do Bugzilla, pelo que entendi, vai verificar se o seu sistema está apto a usar o Bugzilla. Saiba que é aqui onde os usuário perdem a cabeça, pois se estiverem logados como root no servidor, esse arquivo já tenta baixar todas as dependencias, que são vários módulos perl, e zoa o sistema inteiro. Como nós não estamos com acesso root, não teremos problemas com isso =)

  1. Ainda logado no seu servidor, execute o comando: # ./checksetup.pl –check-modules

Deixe a janela do seu terminal aberta de um lado da tela, pois agora vem uma parte interessante.

Cpanel: Instalando os módulos perl necessários

  1. No seu Cpanel procure o icone Perl Modules ou Módulos Perl e clique nele.
  2. Nessa tela, voc√™ vai ser um textfield chamado “Install a Perl Module” (Instalar um m√≥dulo Perl)
  3. Volte na sua tela do termina e veja o nome dos módulos necessários. Não são todos os que estão em vermelho, mas são os que tiverem descritos como necessários. Por exemplo, eu precisei do Bundle::Bugzilla РEmail::MIME РEmail::Send РEmail::Address. Então fui colocando um por um nesse campo Install a Perl Module e o Cpanel foi instalando pra mim.

Feito isso, j√° terminamos com o Cpanel.

Bugzilla: checksetup.pl

  1. Novamente voc√™ vai dar um ./checksetup.pl por√©m sem o –check-modules como argumento.
  2. Se tudo deu certo, ele vai dizer que criou um arquivo chamado: localconfig
  3. Edite esse arquivo colocando os dados do seu banco de dados e servidor:
  4. $webservergroup = 'usuario';
    $db_name = 'bugzilla_db';
    $db_user = 'bugzilla_user';
    $db_pass = 'seupass';
    $index_html = 1;
  5. Salve e rode o ./checksetup.pl mais uma vez.

Agora se tudo for ok, ele vai pedir seu email, nome verdadeiro e senha para terminar a configuração do Bugzilla.

CentOS: O Pulo do gato

Arram, agora vem a dica que eu fiquei por horas procurando. As dicas, pois foi um combo de coisas chatas.

Primeiro eu tava pegando um erro 403. Então, na raiz da instalação do Bugzilla, executei uma série de comandos:

find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
find . -name \*.cgi -exec chmod 755 {} \;
find . -name \*.pl -exec chmod 755 {} \;
find . -name \*.sh -exec chmod 755 {} \;

Ok, sem o erro 403, mas um erro grotesto que começava mais ou menos assim:

Software error:

Can't locate Email/Address.pm in @INC (@INC contains: ....

Então esse é o pulo do gato pra fazer o bugzilla funcionar.

  1. Navegue até a pasta Bugzilla que está na raiz da sua instalação do bugzilla. A minha ficou assim: /home/usuario/public_html/bugzilla/Bugzilla
  2. Abra o arquivo Util.pm
  3. Coloque na primeira linha:
use lib '/home/usuario/perl5/lib/perl5';

√Č a√≠ onde o bugzilla se perdia. Ele n√£o achava os m√≥dulos, ou n√£o tinha acesso, n√£o sei. Ele acabava pegando o caminho errado da instala√ß√£o dos m√≥dulos perl que n√≥s fizemos pelo Cpanel. O Cpanel criou essa pasta perl5/.. e colocou os m√≥dulos todos a√≠.

Errinho extra

Agora minha página inicial do bugzilla não estava lendo, porém todas as outras estavam. Então adicionei um arquivo .htaccess no diretório raiz da instalação do bugzilla e coloquei a seguinte linha:

DirectoryIndex index.html index.cgi

Fim de papo. √Č s√≥ isso. Agora √© cadastrar bugs e gerenciar seu projeto adicionando mais qualidade ao seu desenvolvimento de software!