OwnCloud 2–Uma nuvem privada

O OwnCloud é basicamente um interface web para aceder a ficheiros num servidor, mas com muitas opções o que o tornam indicado para quem pretende ter acesso remotamente a ficheiros com a possibilidade de os partilhar tanto pelos utilizadores do sistema (LDAP, OpenID, etc…) como conceder acesso público.

Ainda não tive oportunidade de instalar o OwnCloud num servidor meu para poder opinar mais objectivamente, no entanto pelo demo disponível em demo.owncloud.org, parece-me muito bom.

Deixo aqui a dica para quem tiver necessidade de disponibilizar ficheiros na internet ou na intranet, de forma segura e adaptável. Como o OwnCloud é open-source escrito em PHP pode facilmente ser adaptado a necessidades mais especificas.

http://owncloud.org/

Windows IIS – Um método mais fácil

Enquanto procurava na internet uma forma de configurar o IIS 7.5 para suportar php, encontrei um site que já tinha falado aqui, onde existe um método simples de instalar o IIS e configurar o suporte para PHP, o método simplificado é fornecido por uma ferramenta da Microsoft que se chama Microsoft Web Plataform (referencia anterior).

Para instalar o IIS com esta ferramenta basta fazer download do software, abrir e seleccionar o que queremos instalar, é feita uma verificação dos pré-requisitos e caso estejam ok, a instalação prossegue.

Para activar o suporte a PHP, basta no dialogo inicial seleccionar a opção respectiva.

Microsoft Web Plataform

A Microsoft disponibiliza já há algum tempo uma espécie de wizard que instala um servidor web com vários extras, com o celebre processo de instalação “Next, Next…”.

Este wizard permite instalar de uma forma rápida e fácil os seguintes programas:

  • .NET Framework (ok, não é um programa!)
  • IIS já com algumas configurações e algumas extensões como por exemplo o IIS Media Services
  • SQL Server (Express com o SQL Server Management Studio Express)
  • Visual Web Developer (Um editor gráfico para ASP.NET suporta C# e VB.Net, se tiverem as versões express do C# ou VB.Net sem o Service pack 1 a instalação não prossegue!)
  • E mais…!

Para quem usa ou tem que usar Windows e precisa de uma ambiente de testes com suporte ás várias tecnologias web esta é uma das soluções.

O que me fez escrever este post não foi publicitar mais um produto Microsoft, mas sim o espanto ao ver que este wizard instala ou permite instalar suporte PHP no ISS, que para mim sempre foi sinónimo de caos (já o fiz várias vezes em cada uma delas surgiu um problema diferente, principalmente depois de mexer no php.ini). Além disto na instalação do PHP permite instalar também um driver para ligar o PHP ao SQL Server. Sim eu sei que esse driver já não é novo, mas nunca foi tão facil de instalar!

Além do referido existe uma lista de aplicações (Open-source!) que podem ser facilmente instaladas entre as quais o WordPress e o Drupal dois nomes que associamos imediatamente ao mundo do Open Source, e ao mundo do Linux, Apache, Php e Mysql…

Nos ultimos tempos tenho notado uma proximidade maior entre a Microsoft e o mundo Open-Source ou será só impressão minha? O que quererá isso dizer??

Já agora o link para o site da coisa é o seguinte Microsoft Web Plataform e a Galeria de Aplicações está aqui.

MD5 Hash Generator

Estamos quase no natal e o que é que me passa pela cabeça??

Encriptação de strings como não podia deixar de ser! 😉

Por vezes tenho necessidade de “traduzir” uma string para MD5, quase sempre pesquiso no Google e encontro vários resultados mas pelas mais variadas razões os resultados ás vezes não são pretendidos. Para facilitar a minha vida criei uma página simples que gera uma hash md5 da string introduzida como penso que pode ser útil para mais pessoas disponibilizo a mesma a quem a quiser usar (MD5 Hasher) é hash retornada é obtida através da função standard do PHP md5.

Aproveitei para aprender um bocado de AJAX, creio que o resultado ficou interessante e ao mesmo tempo simples de usar!!!

WordPress alterar estado posts

Para solucionar o problema colocado no fórum WordPress-PT fiz um pequeno comando SQL que permite alterar o estado de todos os posts numa categoria de uma vez só para ‘draft’, publico este pequeno UPADTE porque com pequenas modificações pode ser bastante útil a quem necessite de actualizar vários posts ou páginas de uma só vez directamente na base de dados do WordPress.

UPDATE wp_posts p /*Tabela onde estão os posts e páginas*/
LEFT OUTER JOIN wp_term_relationships r ON r.object_id = p.ID /*tabela com as relações dos posts*/
LEFT OUTER JOIN wp_terms t ON t.term_id = r.term_taxonomy_id /*tabela onde estao as descrições das categorias*/
SET p.post_status = ‘draft’ /*estados possiveis draft, publish ou pending*/
WHERE p.post_status = ‘publish’ AND p.post_type = ‘post’ AND t.slug = ‘NomeDaCategoria’ /*condições para proceder ao update*/

Reset WordPress admin Password

Ia hoje fazer alguns testes numa instalação do wordpress que tenho no meu computador, após várias tentativas não me lembrava da password de admin que configurei para esta instalação. Ainda fui á base de dados mas lá tem apenas um md5 da password.

Lá fiz um ficheiro php que faz “echo md5(password)” e colei o valor na base de dados e ficou ok.

Para me facilitar o trabalho em futuros e previsíveis esquecimentos criei um pequeno script em php que faz todo o processo de reset da password de admin, bastando para isso editar o valor da password em plain text que está no topo do ficheiro.

Em baixo disponibilizo a source em php do ficheiro, para usar basta colar este texto num ficheiro .php na pasta da raiz da instalação do wordpress e visitar o mesmo no browser.

<?php
/*Nome do utilizador do qual queremos alterar a password*/
$nome_utilizador = "admin";
/*Nova password para o utilizador configurado em cima!*/
$nova_password = "teste";
/*
ATENÇÃO: se deixar este ficheiro no servidor sempre que alguém aceder ao mesmo a password
será alterada para esta.
Não é necessário alterar nada daqui para baixo, este script lê as configurações de acesso à
base de dados através do ficheiro de configuração do wordpress
*/
require( dirname(__FILE__) . '/wp-config.php' );
$ligacao = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD);
if (!
$ligacao) {
die(
'Não foi possível Ligar: <br />' . mysql_error());
}
echo
'Ligação á base de dados bem sucedida!!<br />';
$base_dados = mysql_select_db(DB_NAME, $ligacao);
$nova_password = md5($nova_password);
if (
mysql_query ("update ".$table_prefix."users set user_pass = '".$nova_password."' where user_login = '".$nome_utilizador."'"))
{
echo
"Password alterada com sucesso!!!<br />";
}
else
{
echo
"Ocorreu um erro ao alterar a password!!<br />".mysql_error();
}
echo
"Deve agora apagar este ficheiro do servidor!!<br /><a href=\"http://antoniocampos.net\">Antonio Campos</a>";
mysql_close($ligacao);
?>