MySQLDUMP
O MySQL traz consigo o MySQLDUMP, que nada mais é que uma ferramenta que nos dá possibilidade de copiar os bancos de dados que estão dentro do SGBD MySQL. O Funcionamento deste é algo bem simples, é um programa cliente que coloca o conteúdo de tabelas em arquivos. é útil para fazer cópias de segurança de bancos de dados ou transferir conteúdos de bancos de dados para outro servidor.
O MySQLDUMP pode produzir arquivos no formato SQL que contenham declarações CREATE TABLE e INSERT para recriar os arquivos ou para produzir arquivos de dados delimitados por tabulações.
COMO FUNCIONA O MySQLDUMP?
quarta-feira, 19 de dezembro de 2012
terça-feira, 4 de dezembro de 2012
SNMP em Linux e Windows para monitoramento no Cacti
O que seria o SNMP?
O protocolo SNMP (do inglês Simple Network Management Protocol - Protocolo Simples de Gerência de Rede) é um protocolo de gerência típica de redes TCP/IP, da camada de aplicação, que facilita o intercâmbio de informação entre os dispositivos de rede, como placas e comutadores (em inglês: switches).
O SNMP possibilita aos administradores de rede gerenciar o desempenho da rede, encontrar e resolver seus eventuais problemas, e fornecer informações para o planejamento de sua expansão, dentre outras.
Fonte: http://pt.wikipedia.org/wiki/Simple_Network_Management_Protocol
1) Entre no painel de controle e clique 2X na opção Adicionar e Remover Programas:
O SNMP possibilita aos administradores de rede gerenciar o desempenho da rede, encontrar e resolver seus eventuais problemas, e fornecer informações para o planejamento de sua expansão, dentre outras.
Fonte: http://pt.wikipedia.org/wiki/Simple_Network_Management_Protocol
Instalando e configurando o SNMP em S.O Windows XP e 2003
Instalando Serviço SNMP em máquinas com S.O Windows:1) Entre no painel de controle e clique 2X na opção Adicionar e Remover Programas:
Marcadores:
Linux,
Windows 2003,
Windows XP
sexta-feira, 19 de outubro de 2012
Sincronizar relógio e calendário do Linux para atualização automática do horário de verão com - NTP Client/Server
Introdução
O NTP é um protocolo para sincronização dos relógios dos computadores, ou seja, ele define um jeito para um grupo de computadores conversar entre si e acertar seus relógios, baseados em alguma fonte precisa de tempo, como os relógios atômicos do Observatório Nacional, que definem a Hora Legal Brasileira.
Em sua versão mais completa, o NTP é bastante robusto e preciso. Ele consulta vários outros computadores para saber a hora certa, e consegue distinguir os que falam a verdade e os que estão enganados. Ele também aprende se o relógio de seu computador é viciado em adiantar-se ou atrasar-se e usa essa informação para ajustá-lo constantemente.
Com o NTP é fácil manter o relógio do computador sempre com a hora certa, com exatidão de alguns milésimos de segundo, e só há vantagens em se fazer isso!
terça-feira, 16 de outubro de 2012
Download do template SD Simple Simon atualizado
Vamos baixar um template "limpo" e instalar no Seblod, depois configurar no tipo de conteúdo Article, para deixar a saída dele no frontend com menos tags.
http://www.seblod.com/support/forum/100-Templates/34471--NEW-TEMPLATE---SD-Simple-Simon---Removes-Clutter-From-CCK-Output.html
http://www.seblod.com/support/forum/100-Templates/34471--NEW-TEMPLATE---SD-Simple-Simon---Removes-Clutter-From-CCK-Output.html
Link para download do plugin de campo Concat
Veja as 42 posições do template Seb_one
42 posições do template Seb_one:
http://www.seblod.com/42-positions.html
Documentação sobre Templates [Inglês]:
http://www.seblod.com/support/documentation/seblod-2x/templates.html
http://www.seblod.com/42-positions.html
Documentação sobre Templates [Inglês]:
http://www.seblod.com/support/documentation/seblod-2x/templates.html
Tipos de Campos
Tipos de Campos:
http://www.seblod.com/support/documentation/seblod-2x/fields/types.html
Fórum Oficial sobre campos [Inglês] [Fórum] [Downloads]
http://www.seblod.com/support/forum/Field-Types-Plugin.html
http://www.seblod.com/support/documentation/seblod-2x/fields/types.html
Fórum Oficial sobre campos [Inglês] [Fórum] [Downloads]
http://www.seblod.com/support/forum/Field-Types-Plugin.html
Checando seu sistema de arquivos com fsck
Em casos de queda de energia, desligamento incorreto do computador (sem ser via halt ou shutdown) ou defeitos físicos no disco rígido, pode acontecer de haver corrompimento de arquivos no sistema de arquivos. Essa situação é comum principalmente quando seu sistema de arquivo ainda é ext2.
Na próxima vez que o Linux for iniciado, será executado o fsck, que é o software similar ao scandisk do Windows. Na maioria dos casos o fsck automaticamente corrigirá os blocos defeituosos e os demais problemas, mas em alguns casos de maior danificação o programa o força a uma checagem manual, diretamente pela linha de comando.
Você saberá quando é necessário executar o fsck manualmente quando durante sua inicialização, o Linux parar e exibir uma mensagem de erro do fsck, que será similar a:
Give root password for maintenance
(or type Control-D for normal startup):
O prompt exibido lhe solicitará a senha do root para entrar no modo de manutenção. Você também tem a opção de pressionar as teclas Ctrl+D para ignorar os erros e tentar iniciar o Linux normalmente, mas se você escolher esta opção, provavelmente a máquina será reinicializada e retornará ao mesmo ponto onde parou, ou seja, na mensagem de erro. Após digitar a senha do root você cairá na linha de comando (prompt) em modo "single user", que significa que os serviços (Apache, Bind, Samba, etc) ainda não foram inicializados. Observe a mensagem de erro gerada pelo fsck, um pouco acima do prompt será exibido o dispositivo que apresenta os erros no sistema de arquivos. Supondo que o problema esteja em /dev/hda1, execute: # e2fsck -y /dev/hda1 A opção "-y" é usada para assumir "yes" em todas as questões que podem surgir durante a fase de correção do sistema de arquivos. Seu uso é opcional, mas recomendável.
Terminada a execução do fsck, reinicialize a máquina com o comando:
# reboot
Pronto! Seu Linux inicializará normalmente agora.
Resumindo, você tem que digitar a senha do root para entrar na linha de comando e depois executar:
# e2fsck /dev/hdxx (onde xx indica a partição com problema)
Para lista todas as partições dos HDs de seu computador, digite:
# fdisk -l
Para descobrir as opções do fsck, digite o comando sem argumentos:
# e2fsck
Ou é claro, consulte sua página de manual:
# man fsck
Nota: o fsck suporta vários tipos de sistema de arquivos, daí a explicação para o comando "e2fsck", ele é um alias para o comando "fsck" para sistema de arquivo do tipo ext2, "e2" vem de "extended 2 file system".
Sistema de arquivos ext3
É muito comum o uso de partições com a nova geração do extended file system, o ext3. Caso sua partição seja desse tipo, ao invés de usar "e2fsck", use:
# fsck.ext3 /dev/hda1
Substitua /dev/hda1 pela partição correta no seu HD. Responda "sim", "yes" ou "y" para todas as perguntas (ou é claro, use "fsck.ext3 -y") e quando terminar reinicialize o micro com reboot e pronto.
Recomendação: não execute o comando fsck em partição montada.
Na próxima vez que o Linux for iniciado, será executado o fsck, que é o software similar ao scandisk do Windows. Na maioria dos casos o fsck automaticamente corrigirá os blocos defeituosos e os demais problemas, mas em alguns casos de maior danificação o programa o força a uma checagem manual, diretamente pela linha de comando.
Você saberá quando é necessário executar o fsck manualmente quando durante sua inicialização, o Linux parar e exibir uma mensagem de erro do fsck, que será similar a:
Give root password for maintenance
(or type Control-D for normal startup):
O prompt exibido lhe solicitará a senha do root para entrar no modo de manutenção. Você também tem a opção de pressionar as teclas Ctrl+D para ignorar os erros e tentar iniciar o Linux normalmente, mas se você escolher esta opção, provavelmente a máquina será reinicializada e retornará ao mesmo ponto onde parou, ou seja, na mensagem de erro. Após digitar a senha do root você cairá na linha de comando (prompt) em modo "single user", que significa que os serviços (Apache, Bind, Samba, etc) ainda não foram inicializados. Observe a mensagem de erro gerada pelo fsck, um pouco acima do prompt será exibido o dispositivo que apresenta os erros no sistema de arquivos. Supondo que o problema esteja em /dev/hda1, execute: # e2fsck -y /dev/hda1 A opção "-y" é usada para assumir "yes" em todas as questões que podem surgir durante a fase de correção do sistema de arquivos. Seu uso é opcional, mas recomendável.
Terminada a execução do fsck, reinicialize a máquina com o comando:
# reboot
Pronto! Seu Linux inicializará normalmente agora.
Resumindo, você tem que digitar a senha do root para entrar na linha de comando e depois executar:
# e2fsck /dev/hdxx (onde xx indica a partição com problema)
Para lista todas as partições dos HDs de seu computador, digite:
# fdisk -l
Para descobrir as opções do fsck, digite o comando sem argumentos:
# e2fsck
Ou é claro, consulte sua página de manual:
# man fsck
Nota: o fsck suporta vários tipos de sistema de arquivos, daí a explicação para o comando "e2fsck", ele é um alias para o comando "fsck" para sistema de arquivo do tipo ext2, "e2" vem de "extended 2 file system".
Sistema de arquivos ext3
É muito comum o uso de partições com a nova geração do extended file system, o ext3. Caso sua partição seja desse tipo, ao invés de usar "e2fsck", use:
# fsck.ext3 /dev/hda1
Substitua /dev/hda1 pela partição correta no seu HD. Responda "sim", "yes" ou "y" para todas as perguntas (ou é claro, use "fsck.ext3 -y") e quando terminar reinicialize o micro com reboot e pronto.
Recomendação: não execute o comando fsck em partição montada.
quinta-feira, 13 de setembro de 2012
Usando CSS para criar efeitos avançados de texto
A propriedade text-shadow está por ai a algum tempo já e é usada para recriar efeitos de Drop Shadow comuns do photoshop, adicionando sombras, e ajudando a criar profundidade, dimensão e sobresair os elementos da página. Esses efeitos comuns não são todas as propriedades que a propriedade Text-Shadow é capaz, sendo criativo e brincando um pouco com as cores, offset e blur nós podemos criar alguns efeitos bem bonitos e interessantes.
Saquem só esses seis efeitos de vintage/retro, inset, anaglyphic, fogo e board game nesse demo, então copie os códigos abaixo para criar esses efeitos em seus projetos. É necessário citar que você precisa de um browser moderno (Safari, Chrome, Firefox) para ver os efeitos em sua total gloria.
Veja a demo
CSS - DIV com cantos arredondados com Sombreamento de Fundo e cor em Degradê
Segue um exemplo de como fazer uma DIV com cantos arredondados, sombreamento de fundo com cor em degradê
Entre as tags <header> </header> coloque código do CSS.
<style type="text/css">
.box {
/*Degrade*/
background: -moz-linear-gradient(#CC0000, #990000) no-repeat scroll 0 0 transparent;
/*cantos arredondados*/
border-radius: 5px 5px 5px 5px;
/*Sobreamente*/
box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
width:15%;
margin:0 0 0 0px;
}
</style>
Entre as tags <body> </body> coloque a DIV.
<div class="box" style="height:300px; margin-top:50px; margin-left:50px;" >CSS - DIV com cantos arredondados e Sombreamento de Fundo e cor em Degradê</div>
Entre as tags <header> </header> coloque código do CSS.
<style type="text/css">
.box {
/*Degrade*/
background: -moz-linear-gradient(#CC0000, #990000) no-repeat scroll 0 0 transparent;
/*cantos arredondados*/
border-radius: 5px 5px 5px 5px;
/*Sobreamente*/
box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
width:15%;
margin:0 0 0 0px;
}
</style>
Entre as tags <body> </body> coloque a DIV.
<div class="box" style="height:300px; margin-top:50px; margin-left:50px;" >CSS - DIV com cantos arredondados e Sombreamento de Fundo e cor em Degradê</div>
terça-feira, 11 de setembro de 2012
Detectando a resolução da tela com Javascript
O código abaixo detecta a resolução da tela (largura x altura) do usuário e emite uma mensagem com a resolução detectada.
Dentro das tags <head> .. </head> coloque o código abaixo:
<script type="text/javascript">
//pega a largura da resolução da tela
var width = screen.width;
//pega a altura da resolução da tela
var height = screen.height;
//mostra um alerta com a resolução da sua tela.
alert("A resolução da tela do seu monitor é " + width + "x" + height + ".");
</script>
Dentro das tags <head> .. </head> coloque o código abaixo:
<script type="text/javascript">
//pega a largura da resolução da tela
var width = screen.width;
//pega a altura da resolução da tela
var height = screen.height;
//mostra um alerta com a resolução da sua tela.
alert("A resolução da tela do seu monitor é " + width + "x" + height + ".");
</script>
GOOGLE FONTS DIRECTORY, SAIA DO PADRÃO!
Você que sempre quiz usar uma fonte diferente no seu site, sair de vez do padrão, Arial, Times, Tahoma…ficará muito feliz com essa noticia, o Google Font Directory permite que você utilize todas as fontes disponíveis através da API do Google Font. Todas as fontes no diretório estão disponíveis para uso em seu site sob uma licença open source e são fornecidos por servidores da Google. para usá-las basta fazer o seguinte, siga até o Google Fonts Directory, selecione umas das 20 fontes disponiveis, clique em Get the code, feito isso aparecerá as opções de vinculação de código, por exemplo:
Este link você cola dentro das tags: <head></head>
Depois copie o código para o arquivo CSS, e cole onde achar necessário:
Funciona no IE6 também (\O/), por enquanto tem um numero limitado de fontes, mas logo, logo, terá a possibilidade de enviar fontes para utilização , lembrando que com o CSS3 já é possivel fazer isso com a propriedade @font-face.
Este link você cola dentro das tags: <head></head>
<link href='http://fonts.googleapis.com/css?family=Josefin+Sans+Std+Light' rel='stylesheet' type='text/css'>
Depois copie o código para o arquivo CSS, e cole onde achar necessário:
font-family: 'Josefin Sans Std Light', arial, serif;Veja um exemplo neste link
Funciona no IE6 também (\O/), por enquanto tem um numero limitado de fontes, mas logo, logo, terá a possibilidade de enviar fontes para utilização , lembrando que com o CSS3 já é possivel fazer isso com a propriedade @font-face.
Templates para CMS Joomla
Se você é desenvolvedor, é melhor que tente entender como
funciona o Joomla e tente criar o próprio template, pois quando usamos
um template pronto sempre vem com muitos códigos e arquivos que
provavelmente em seu projeto mesmo personalizando interferirão no
desempenho do seu site. Um código todo desenvolvido por você ficará mais
leve e só carregará o que realmente necessita, otimizando o desempenho
do seu site.
Veja este artigo de como criar templates para Joomla : Como fazer template em Joomla?
Empresas que desenvolvem templates realmente profissionais com preço acessível.
Veja este artigo de como criar templates para Joomla : Como fazer template em Joomla?
Empresas que desenvolvem templates realmente profissionais com preço acessível.
- Gavick - www.gavick.com
- Joomlart - www.joomlart.com
- Rocket Theme - www.rockettheme.com
- JT Joomla Templates - www.joomlaplates.com
- Theme Forest - www.themeforest.net
- Flash Mint - www.flashmint.com
TEMPLATES JOOMLA GRÁTIS
- Site Ground – O site tem 49 templates grátis.
- Joomla Shack – Oferece 14 templates grátis para o Joomla.
- Joomla Templates – Oferece 12 Templates gratuitos para o Joomla.
- Joomla 24 – Segundo o site, eles possuem mais de 1500 templates gratuitos para o Joomla.
- Joomla Designs – Oferece 11 templates gratuitos.
- Joomla TP – Oferece centenas de templates gratuitos.
- Themza – Oferece 8 templates grátis.
- Joomlart – Oferece 58 templates grátis.
- Best of Joomla – Oferece centenas de templates gratuitos.
- Themes Base – Oferece centenas de templates gratuitos.
- Joomla 2 U – Oferece mais de 500 templates gratuitos.
quarta-feira, 5 de setembro de 2012
Objeto Database do Joomla 1.5
O objeto database do Joomla 1.5 possui alguns métodos
que facilitam a vida dos programadores de extensões (componentes,
módulos e plugins).
De posse do $db podemos fazer uma porção de estripulias.
Mas, se quisermos um array de objetos com todos os artigos da tabela, devemos fazer o seguinte:
Pois bem, e se eu quiser apenas que uma query atualize algum campo de alguma tabela da base de dados? Aí é mais fácil:
O método getNullDate fornece uma "data e hora" zerada, ou seja, 000-00-00 00:00:00
fonte : http://www.numaboa.com.br/informatica/tutos/joomla/957-objeto-database
O básico
Bem, o básico do objeto Database é o seguinte: quando o Joomla 1.5 é iniciado, ele precisa fazer uma série de consultas à sua base de dados, senão nem consegue "entrar no ar". Para fazer estas consultas, o sistema cria um objeto database. Se este objeto já existe, não há a necessidade de criar um objeto do mesmo tipo para suprir nossas necessidades - basta chamá-lo por referência. Para invocar qualquer objeto por referência usa-se o marcador &. No caso, para obter este objeto, o código é o seguinte:$db =& JFactory::getDBO();
Curtinho e prático, e nosso objeto de desejo está incorporado a $db De posse do $db podemos fazer uma porção de estripulias.
Colhendo os frutos
Com o objeto Database à disposição podemos fazer uma query (pergunta) ao banco de dados e depois colher as respostas. Para colocar uma pergunta chama-se (com ->) o método setQuery() através deste objeto. Por exemplo:$db->setQuery('SELECT * FROM #__content');
Depois da query colocada, podemos consultar vários resultados.
Por exemplo, se quisermos apenas o valor do primeiro campo da primeira
linha do conjunto de resultados, é só usar o método loadResult:$db =& JFactory::getDBO(); $db->setQuery('SELECT * FROM #__content'); $pergunta = $db->loadResult();
Se quisermos todos os campos da primeira linha do conjunto de resultados, então é preciso chamar:$pergunta = $db->loadResultArray();
que coloca os resultados encontrados num array. Se preferir um objeto
cujas propriedades sejam os nomes dos campos, você pode executar a
query com:$objeto = null; $db->loadObject( $objeto );
Agora $objeto->title é o título do primeiro artigo achado,
$objeto->alias é o apelido do artigo e assim por diante. Quando o
objeto for null, este método cria o objeto e lhe atribui as
propriedades com os valores da primeira linha encontrada.Mas, se quisermos um array de objetos com todos os artigos da tabela, devemos fazer o seguinte:
$db =& JFactory::getDBO(); $db->setQuery('SELECT * FROM #__content'); $pergunta = $db->loadObjectList(); foreach( $pergunta as $artigo) { echo "$artigo->title: $artigo->alias" }
Este trecho de código vai listar todos os títulos e todos os alias dos artigos existentes na tabela de artigos.Pois bem, e se eu quiser apenas que uma query atualize algum campo de alguma tabela da base de dados? Aí é mais fácil:
$db =& JFactory::getDBO(); $query = "UPDATE TABLE #__content SET title='Novo título' WHERE id=1"; $db->setQuery( $query ); $db->query();
Observe que a query foi colocada numa variável, a $query. Depois, esta variável foi usada como parâmetro em setQuery(). Isto não é obrigatório, mas deixa o código um pouco mais claro. Uma vez colocada a query, ela pode (e deve) ser acionada pelo método query(). Aí está tudo em riba Mais algumas mordomias
Além de buscar resultados de pesquisas, também podemos usar o objeto database para fornecer alguns valores extras. Por exemplo:$db->getEscaped( "pingo d'água" );
prepara strings com caracteres especiais (como é o caso do apóstrofo)
para que sejam aceitas pelo banco de dados sem darem erro. O método
acima transforma "pingo d'água" em "pingo d\'água".O método getNullDate fornece uma "data e hora" zerada, ou seja, 000-00-00 00:00:00
$db->getNullDate();
Se quisermos saber quantas linhas foram produzidas pela última query que foi acionada, o método é:$db->getNumRows()
Para fazer tratamento de erros podemos usar o seguinte:if( $db->getErrorNum() ) { echo $db->getErrorMsg(); }
fonte : http://www.numaboa.com.br/informatica/tutos/joomla/957-objeto-database
segunda-feira, 3 de setembro de 2012
Como utilizar sessões (session) em Joomla! 1.5 usando o API do Joomla ?
- Isto pode ser obtido utilizando o objeto JFactory / getSession
- Instanciar o objeto getSession
$session =& JFactory::getSession();
- Aqui estão alguns parâmetros que você pode usar. eles são:
- name - O nome da sessão
- id - Um ID unico da sessão
- expire - Data de validade e tempo
- security - opções separados por vírgulas
- Agora vamos definir a sessão
- Pegar o valor da variável de sessão da seguinte forma
terça-feira, 14 de agosto de 2012
PHP Função Anti SQL Injection
Uma função básica porém muito importante para que vai fazer um trabalho com PHP envolvendo Banco de Dados.
Um pouco de Conceito sobre a técnica de SQL Injection:
function noSqlInjection($string){
$string = trim($string);
$string =str_replace("'","",$string);//aqui retira aspas simples <'>
$string =str_replace("\\","",$string);//aqui retira barra invertida<\\>
$string =str_replace("UNION","",$string);//aqui retiro o comando UNION <UNION>
$banlist = array(" insert", " select", " update", " delete", " distinct", " having", " truncate", "replace"," handler", " like", " as ", "or ", "procedure ", " limit", "order by", "group by", " asc", " desc","'","union all", "=", "'", "(", ")", "<", ">", " update", "-shutdown", "--", "'", "#", "$", "%", "¨", "&", "'or'1'='1'", "--", " insert", " drop", "xp_", "*", " and");
// ---------------------------------------------
if(eregi("[a-zA-Z0-9]+", $string)){
$string = trim(str_replace($banlist,'', strtolower($string)));
}
return $string;
}//END function noSqlInjection($string)
Um pouco de Conceito sobre a técnica de SQL Injection:
A Injeção de SQL, mais conhecida através do termo americano SQL Injection, é um tipo de ameaça de segurança que se aproveita de falhas em sistemas que interagem com bases de dados via SQL. A injeção de SQL ocorre quando o atacante consegue inserir uma série de instruções SQL dentro de uma consulta (query) através da manipulação das entrada de dados de uma aplicação.Agora vamos ao mais importante, o código:
Fonte: http://pt.wikipedia.org/wiki/Injeção_de_SQL
function noSqlInjection($string){
$string = trim($string);
$string =str_replace("'","",$string);//aqui retira aspas simples <'>
$string =str_replace("\\","",$string);//aqui retira barra invertida<\\>
$string =str_replace("UNION","",$string);//aqui retiro o comando UNION <UNION>
$banlist = array(" insert", " select", " update", " delete", " distinct", " having", " truncate", "replace"," handler", " like", " as ", "or ", "procedure ", " limit", "order by", "group by", " asc", " desc","'","union all", "=", "'", "(", ")", "<", ">", " update", "-shutdown", "--", "'", "#", "$", "%", "¨", "&", "'or'1'='1'", "--", " insert", " drop", "xp_", "*", " and");
// ---------------------------------------------
if(eregi("[a-zA-Z0-9]+", $string)){
$string = trim(str_replace($banlist,'', strtolower($string)));
}
return $string;
}//END function noSqlInjection($string)
quinta-feira, 9 de agosto de 2012
Lista de Componentes Joomla
Segue abaixo uma lista de alguns bons componentes para joomla!
ChronoForms – Formulário de Contatos funciona nas versões 1.5, 1.6, 1.7, 2.5 http://extensions.joomla.org/extensions ... 9mb3JtIjt9
------------------------------------------------------------------------------------------------------------
CkForms - Formulário de Contatos funciona na versão 1.5 http://extensions.joomla.org/extensions ... Zvcm1zIjt9
-----------------------------------------------------------------------------------------------------------
JCE Editor
– Para mim o melhor editor que existe no joomla, aconselho que instale
junto o plugin JCE Media Box funciona nas versões 1.5, 1.7, 2.5 http://www.joomlacontenteditor.net/downloads
------------------------------------------------------------------------------------------------------------
ccNewsletter – Newsletter na minha opinião o componente mais simples de newsletter que existe para joomla. http://extensions.joomla.org/extensions ... V0dGVyIjt9
------------------------------------------------------------------------------------------------------------
MorfeoShow – Galeria de Fotos funciona na versão 1.5 http://extensions.joomla.org/extensions ... sions/7697
------------------------------------------------------------------------------------------------------------
Zoo – Componente para criação de Blogs Funciona nas versões 1.5 e 2.5 http://www.yootheme.com/zoo/downloads/d ... out=single
------------------------------------------------------------------------------------------------------------
Virtuemart – Componente para Loja Virtual funciona nas versões 1.5, 1.7, 2.5 http://virtuemart.net/downloads
------------------------------------------------------------------------------------------------------------
YoutubeGallery – Componente para galeria de vídeos funciona nas versões 1.5, 1.6, 1.7, 2.5 http://extensions.joomla.org/extensions ... xsZXJ5Ijt9
------------------------------------------------------------------------------------------------------------
Community Builder – Componente para criar comunidades tipo Orkut funciona nas versões 1.5, 1.6, 1.7, 2.5 http://extensions.joomla.org/extensions ... nities/210
------------------------------------------------------------------------------------------------------------
Extplorer
– Você pode usá-lo para acessar e modificar os arquivos e diretórios em
seu servidor através de acesso a arquivos FTP diretamente pelo seu
joomla funciona nas versões 1.5, 1.6, 1.7, 2.5 http://extensions.joomla.org/extensions ... ZXIiO30%3D
------------------------------------------------------------------------------------------------------------
Akeeba –
Componente para backup do seu joomla, com ele você pode transportar com
muito mais segurança seu site, funciona nas versões 1.5, 1.6, 1.7, 2.5 http://extensions.joomla.org/extensions ... YmEiO30%3D
------------------------------------------------------------------------------------------------------------
Swmenufree – ferramenta para facilitar o desenvolvimento de menus e submenus, funciona nas versões 1.5, 1.6, 1.7, 2.5 http://extensions.joomla.org/extensions ... I7fQ%3D%3D
Medidas de Segurança na programação Joomla
Antes de começar a programar componentes, módulos ou mambots/plugins
para o Joomla, é bom conhecer algumas precauções que devem ser tomadas
para evitar que seu site se torne um alvo fácil para crackers que adoram
explorar falhas de segurança.
SAMBA - Criando uma área publica para seus usuarios
Veja a baixo a minha configuração para este tipo de area:
Estou utilizando o Ubuntu Server 12 para este tutorial
Primeiro edite o arquivo do servidor SAMBA - vi /etc/samba/smb.conf
Na última linha do arquivo smb.con adicione as linhas abaixo que estao em negrito.
[publico]
comment = Publico
path = /home/publico
force directory mode = 777
directory mode = 777
force create mode = 777
create mode = 777
writeable = yes
veto files = /*.mp3/*.wmv/*.wma/*.ogg/*.pif/*.scr/*.cmd/*.bas/*.bat/*.inf/*.exe/*.src/*.avi/*.mpeg
O "veto files" serve para dizer ao servidor para não aceitar a gravação dos arquivos com determinadas extensões, pode ser qualquer extensão que você colocar, conforme exemplo acima.
OBS: Não esqueca de criar a pasta que você queira compartilhar, exemplo :
mkdir /home/publico
chmod 777 /home/publico -R
Estou utilizando o Ubuntu Server 12 para este tutorial
Primeiro edite o arquivo do servidor SAMBA - vi /etc/samba/smb.conf
Na última linha do arquivo smb.con adicione as linhas abaixo que estao em negrito.
[publico]
comment = Publico
path = /home/publico
force directory mode = 777
directory mode = 777
force create mode = 777
create mode = 777
writeable = yes
veto files = /*.mp3/*.wmv/*.wma/*.ogg/*.pif/*.scr/*.cmd/*.bas/*.bat/*.inf/*.exe/*.src/*.avi/*.mpeg
O "veto files" serve para dizer ao servidor para não aceitar a gravação dos arquivos com determinadas extensões, pode ser qualquer extensão que você colocar, conforme exemplo acima.
OBS: Não esqueca de criar a pasta que você queira compartilhar, exemplo :
mkdir /home/publico
chmod 777 /home/publico -R
quarta-feira, 1 de agosto de 2012
JPATH e $_SERVER - Como obter o caminho
Caso queira descobrir de forma rápida qual variável quer usar para achar o caminho dos seus arquivos, pode incluir os códigos abaixo:
E obter algo semelhante a isto:
01.
echo
'Joomla JPATH'
;
02.
echo
"<table border=\"1\">"
;
03.
echo
"<tr><td>"
. DS .
"</td><td>DS</td></tr>"
;
04.
echo
"<tr><td>"
. JPATH_ADMINISTRATOR .
"</td><td>JPATH_ADMINISTRATOR</td></tr>"
;
05.
echo
"<tr><td>"
. JPATH_BASE .
"</td><td>JPATH_BASE</td></tr>"
;
06.
echo
"<tr><td>"
. JPATH_CACHE .
"</td><td>JPATH_CACHE</td></tr>"
;
07.
echo
"<tr><td>"
. JPATH_COMPONENT .
"</td><td>JPATH_COMPONENT</td></tr>"
;
08.
echo
"<tr><td>"
. JPATH_COMPONENT_ADMINISTRATOR .
"</td><td>JPATH_COMPONENT_ADMINISTRATOR</td></tr>"
;
09.
echo
"<tr><td>"
. JPATH_COMPONENT_SITE .
"</td><td>JPATH_COMPONENT_SITE</td></tr>"
;
10.
echo
"<tr><td>"
. JPATH_CONFIGURATION .
"</td><td>JPATH_CONFIGURATION</td></tr>"
;
11.
echo
"<tr><td>"
. JPATH_INSTALLATION .
"</td><td>JPATH_INSTALLATION</td></tr>"
;
12.
echo
"<tr><td>"
. JPATH_LIBRARIES .
"</td><td>JPATH_LIBRARIES</td></tr>"
;
13.
echo
"<tr><td>"
. JPATH_PLUGINS .
"</td><td>JPATH_PLUGINS</td></tr>"
;
14.
echo
"<tr><td>"
. JPATH_ROOT .
"</td><td>JPATH_ROOT</td></tr>"
;
15.
echo
"<tr><td>"
. JPATH_SITE .
"</td><td>JPATH_SITE</td></tr>"
;
16.
echo
"<tr><td>"
. JPATH_THEMES .
"</td><td>JPATH_THEMES</td></tr>"
;
17.
echo
"<tr><td>"
. JPATH_XMLRPC .
"</td><td>JPATH_XMLRPC</td></tr>"
;
18.
echo
"</table>"
;
19.
20.
echo
'PHP $_SERVER'
;
21.
echo
' <!-- By jeffwk on http://www.php.net/manual/en/reserved.variables.server.php#91080 -->'
;
22.
echo
"<table border=\"1\">"
;
23.
echo
"<tr><td>"
.
$_SERVER
[
'argv'
] .
"</td><td>argv</td></tr>"
;
24.
echo
"<tr><td>"
.
$_SERVER
[
'argc'
] .
"</td><td>argc</td></tr>"
;
25.
echo
"<tr><td>"
.
$_SERVER
[
'GATEWAY_INTERFACE'
] .
"</td><td>GATEWAY_INTERFACE</td></tr>"
;
26.
echo
"<tr><td>"
.
$_SERVER
[
'SERVER_ADDR'
] .
"</td><td>SERVER_ADDR</td></tr>"
;
27.
echo
"<tr><td>"
.
$_SERVER
[
'SERVER_NAME'
] .
"</td><td>SERVER_NAME</td></tr>"
;
28.
echo
"<tr><td>"
.
$_SERVER
[
'SERVER_SOFTWARE'
] .
"</td><td>SERVER_SOFTWARE</td></tr>"
;
29.
echo
"<tr><td>"
.
$_SERVER
[
'SERVER_PROTOCOL'
] .
"</td><td>SERVER_PROTOCOL</td></tr>"
;
30.
echo
"<tr><td>"
.
$_SERVER
[
'REQUEST_METHOD'
] .
"</td><td>REQUEST_METHOD</td></tr>"
;
31.
echo
"<tr><td>"
.
$_SERVER
[
'REQUEST_TIME'
] .
"</td><td>REQUEST_TIME</td></tr>"
;
32.
echo
"<tr><td>"
.
$_SERVER
[
'QUERY_STRING'
] .
"</td><td>QUERY_STRING</td></tr>"
;
33.
echo
"<tr><td>"
.
$_SERVER
[
'DOCUMENT_ROOT'
] .
"</td><td>DOCUMENT_ROOT</td></tr>"
;
34.
echo
"<tr><td>"
.
$_SERVER
[
'HTTP_ACCEPT'
] .
"</td><td>HTTP_ACCEPT</td></tr>"
;
35.
echo
"<tr><td>"
.
$_SERVER
[
'HTTP_ACCEPT_CHARSET'
] .
"</td><td>HTTP_ACCEPT_CHARSET</td></tr>"
;
36.
echo
"<tr><td>"
.
$_SERVER
[
'HTTP_ACCEPT_ENCODING'
] .
"</td><td>HTTP_ACCEPT_ENCODING</td></tr>"
;
37.
echo
"<tr><td>"
.
$_SERVER
[
'HTTP_ACCEPT_LANGUAGE'
] .
"</td><td>HTTP_ACCEPT_LANGUAGE</td></tr>"
;
38.
echo
"<tr><td>"
.
$_SERVER
[
'HTTP_CONNECTION'
] .
"</td><td>HTTP_CONNECTION</td></tr>"
;
39.
echo
"<tr><td>"
.
$_SERVER
[
'HTTP_HOST'
] .
"</td><td>HTTP_HOST</td></tr>"
;
40.
echo
"<tr><td>"
.
$_SERVER
[
'HTTP_REFERER'
] .
"</td><td>HTTP_REFERER</td></tr>"
;
41.
echo
"<tr><td>"
.
$_SERVER
[
'HTTP_USER_AGENT'
] .
"</td><td>HTTP_USER_AGENT</td></tr>"
;
42.
echo
"<tr><td>"
.
$_SERVER
[
'HTTPS'
] .
"</td><td>HTTPS</td></tr>"
;
43.
echo
"<tr><td>"
.
$_SERVER
[
'REMOTE_ADDR'
] .
"</td><td>REMOTE_ADDR</td></tr>"
;
44.
echo
"<tr><td>"
.
$_SERVER
[
'REMOTE_HOST'
] .
"</td><td>REMOTE_HOST</td></tr>"
;
45.
echo
"<tr><td>"
.
$_SERVER
[
'REMOTE_PORT'
] .
"</td><td>REMOTE_PORT</td></tr>"
;
46.
echo
"<tr><td>"
.
$_SERVER
[
'SCRIPT_FILENAME'
] .
"</td><td>SCRIPT_FILENAME</td></tr>"
;
47.
echo
"<tr><td>"
.
$_SERVER
[
'SERVER_ADMIN'
] .
"</td><td>SERVER_ADMIN</td></tr>"
;
48.
echo
"<tr><td>"
.
$_SERVER
[
'SERVER_PORT'
] .
"</td><td>SERVER_PORT</td></tr>"
;
49.
echo
"<tr><td>"
.
$_SERVER
[
'SERVER_SIGNATURE'
] .
"</td><td>SERVER_SIGNATURE</td></tr>"
;
50.
echo
"<tr><td>"
.
$_SERVER
[
'PATH_TRANSLATED'
] .
"</td><td>PATH_TRANSLATED</td></tr>"
;
51.
echo
"<tr><td>"
.
$_SERVER
[
'SCRIPT_NAME'
] .
"</td><td>SCRIPT_NAME</td></tr>"
;
52.
echo
"<tr><td>"
.
$_SERVER
[
'REQUEST_URI'
] .
"</td><td>REQUEST_URI</td></tr>"
;
53.
echo
"<tr><td>"
.
$_SERVER
[
'PHP_AUTH_DIGEST'
] .
"</td><td>PHP_AUTH_DIGEST</td></tr>"
;
54.
echo
"<tr><td>"
.
$_SERVER
[
'PHP_AUTH_USER'
] .
"</td><td>PHP_AUTH_USER</td></tr>"
;
55.
echo
"<tr><td>"
.
$_SERVER
[
'PHP_AUTH_PW'
] .
"</td><td>PHP_AUTH_PW</td></tr>"
;
56.
echo
"<tr><td>"
.
$_SERVER
[
'AUTH_TYPE'
] .
"</td><td>AUTH_TYPE</td></tr>"
;
57.
echo
"</table>"
;
Adicionando uma tarefa agendada no cron do VMware ESXi 5
Isto explica como adicionar uma tarefa agendada para o VMware, de tal forma que ele ainda estará lá após reinicializações.
Depois de ter ativado o acesso ssh para o seu ESXi 5, ssh como root.
Em primeiro lugar, adicione o cron job para o crontab de root:
Depois de ter ativado o acesso ssh para o seu ESXi 5, ssh como root.
Em primeiro lugar, adicione o cron job para o crontab de root:
- Edite o arquivo vi /var/spool/cron/crontabs/root
- Adicione a linha (tudo em uma linha)
59 3 * * * /backupScripts/./backupVMs.sh' >> /var/spool/cron/crontabs/root > camihdo/do/seu/arquivo_de_log 2>&1 - Execute o seguinte comando "cat /var/run/crond.pid"
Isso vai imprimir o número do processo em execução crond, exemplo: 12345 - Execute o comando "kill 12345"
onde "12345" deve ser substituído com a saída número pelo comando anterior
Agora, adicione um comando para /etc/rc.local para re-gerar o agendamento na cron quando ESXi 5 for reiniciado.
- Edite o arquivo /etc/rc.local, usando este comando "vi /etc/rc.local".
- No final do arquivo, adicionar 3 linhas conforme abaixo. O primeiro comando "mata" o processo da cron, o segundo adiciona o cron job novo para o arquivo crontab de root, o último reinicia a cron:
/bin/kill $(cat /var/run/crond.pid)
/bin/echo '59 3 * * * /backupScripts/./backupVMs.sh' >> /var/spool/cron/crontabs/root > camihdo/do/seu/arquivo_de_log 2>&1' >> /var/spool/cron/crontabs/root
/bin/busybox crond - Salve e saia do editor (Pressione a tecla "Esc" depois ": wq" e pressione "Enter" no vi)
OBS: Toda vez que você alterar o agendamento da cron, lembre-se de atualizar o /etc/rc.local.
Obrigado espero ter ajudado.
Assinar:
Postagens (Atom)