#configuração, #OPW

How to install MediaWiki on Mac OS X using MAMP?


Hello everyone.

As I said earlier I will work on Wikimedia Foundation on the project MediaWiki Homepage Redesign. So the first thing I did was kill my curiosity, I downloaded the MediaWiki code and put to run on my machine. MediaWiki has been created using PHP and I need to run some MAMP solution because nowadays I ‘m using Mac OS X Mavericks (10.9). The MediaWiki works with multiple databases, but I chose the MySQL because it comes with MAMP.

Let’s work.

First you will need to obtain the MAMP, install normally and start the service.

Now you need create a user to database. To do this you can access the http://localhost:8888/MAMP and in phpMyAdmin section create a user named mediawiki and choose a password.

mediawiki user

mediawiki user

After this you need get the source code of MediaWiki, extract the content and copy to folder of MAMP, like that:


cd /Applications/MAMP/htdocs/

cp -R ~/Downloads/mediawiki-X.X.X .

mv mediawiki-X.X.X mediawiki

So, now if you access the http://localhost:8888 page you should see this:

And if you click at link you will see the page to start the installation of MediaWiki:

Installation is very simple, but you need to pay attention in connection with the database. Make sure that:

  • selected MySQL as database type
  • give a name for your database
  • inform the credentials of user database previously created
Connect database

Connect database

To finish the process of installation some file named LocalSettings.php will be generated and the last step is put it inside mediawiki folder:


cp ~/Downloads/LocalSettings.php .

And is ready!!! You can access your wiki http://localhost:8888/mediawiki/index.php.

That’s all folks 😉

Anúncios
Padrão
#bancoDeDados, #configuração

Como solucionar o erro de domain socket no PostgreSQL


Olá pessoal.

Novamente ao instalar o PostgreSQL eu me esbarrei com o erro:

Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

Este é um erro conhecido e frequente, já tive ao instalar o PostgreSQL no Mac OS e agora tive ao instalar no Ubuntu em uma instância na Amazon AWS. O erro acontece ao tentar conectar no banco de dados, via psql ou pelo comandos do PostgreSQL (ex.: createuser).

Após várias pesquisas e testes cheguei à solução que compartilho aqui.

Por algum motivo que desconheço o PostgreSQL não define nenhum valor para a variável unix_socket_directory, mas de alguma forma a criação da conexão fica procurando pela pasta /var/run/postgresql.

A primeira coisa a ser feita é definir um local para unix_socket_directory, e este local não pode ser dentro da pasta /var/run/postgresql porque até onde vi o conteúdo desta pasta não é persistente e o erro volta a acontecer após um reboot.

Então no arquivo /usr/local/pgsql/data/postgresql.conf defina um valor para a variável unix_socket_directory:

unix_socket_directory = '/tmp/postgresql'

Agora é preciso criar a pasta que será utilizada pelo socket:

sudo mkdir /tmp/postgresql

E definir as permissões para o usuário postgres e para o grupo de usuários denominado ubuntu:

sudo chown -R postgres /tmp/postgresql
sudo chgrp -R ubuntu /tmp/postgresql

Também é preciso criar o diretório de dados:

sudo mkdir -p /usr/local/pgsql/data

E definir as permissões:

sudo chown -R postgres:postgres /usr/local/pgsql/

Feito isso iremos alterar o acesso para o usuário postgres:

sudo su - postgres

Acesse o diretório dos executáveis:

cd /usr/lib/postgresql/9.1/bin/

Inicialize a área de dados:

./initdb -D /usr/local/pgsql/data

Inicie o servidor PostgresSQL:

./postgres -D /usr/local/pgsql/data

Eu também alterei o conteúdo do script de inicialização do PostgreSQL para passar as novas configurações. E o meu arquivo /etc/init.d/postgresql ficou assim:

#!/bin/sh -e
PGVER='9.1'
BINPATH="/usr/lib/postgresql/$PGVER/bin/"
PGUSER='postgres'
PGLOG='/tmp/postgresql/pgsql.log'
PGDIR='/usr/local/pgsql/data'

start(){
   cd $BINPATH
   su $PGUSER -c "./pg_ctl -D $PGDIR -l $PGLOG start"
}

stop(){
   cd $BINPATH
   su $PGUSER -c "./pg_ctl -D $PGDIR -l $PGLOG stop"
}

case "$1" in
   start)
      start
      ;;
   stop)
      stop
      ;;
   restart)
      stop
      start
      ;;
   *)
      echo "Usage: $0 {start|stop|restart}"
      exit 1
      ;;
esac

exit 0

Agora é possível iniciar, parar e reiniciar o PostgreSQL com os comandos:

sudo /etc/init.d/postgresql start
sudo /etc/init.d/postgresql stop
sudo /etc/init.d/postgresql restart

E acessar a interface do PostgreSQL com o comando:

sudo su - postgres
psql

That’s all folks!!!

Até breve 😉

Referências:

http://goo.gl/HQC3j

http://goo.gl/UZRGT

http://goo.gl/j4eTP

Padrão
#configuração

Instalando o Project Fedena no Ubuntu Server


Olá pessoas.

Há algum tempo descobrir o Fedena, um projeto desenvolvido com Ruby on Rails, que apresenta uma proposta muito interessante para gerência de escolas. Descobrir também que eles possuem uma versão Free & Opensource mais conhecido como Project Fedena.

Por curiosidade quis instalar a versão opensource no Ubuntu Server 11.10. Ao tentar instalar de acordo com as instruções do site obtive muitos erros, então resolvi compartilhar um passo-a-passo da instalação aqui no blog. Mãos a obra:

Instale o Ruby e suas dependências:

apt-get install ruby irb libopenssl-ruby libreadline-ruby rdoc ri ruby ruby-dev rubygems

Instale o MySQL:

apt-get install libmysqlclient-dev mysql-server

Instale o unzip:

apt-get install unzip

Instale a gem do Rails:

gem install Rails

Instale a gem do MySQL:

gem install mysql

Baixe o projeto do Fedena:

wget http://www.projectfedena.org/download/fedena-bundle-linux

Extraia o projeto:

unzip fedena-bundle-linux

Entre na pasta do projeto:

cd fedena2.2_bundle_pack/

Instale as dependências do projeto:

bundle install –local

Troque as senhas do banco de dados contidas no arquivo de configuração do banco de dados config/database.yml:

development:
host: localhost
adapter: mysql
database: fedena_ultimate
port: 3306
username: root
password: SUASENHA

Crie o banco de dados:

rake db:create

Então o primeiro erro acontece:

rake aborted!
You have already activated rake 0.9.2.2, but your Gemfile requires rake 0.8.7. Using bundle exec may solve this.

Uma forma de solucionar este erro é removendo todas as versões do rake:

gem uninstall rake

Se você possuir mais de uma versão será apresentada uma lista com todas as versões, escolha a opção que representar todas as versões.

Instale a versão do rake solicitada para o projeto Fedena:

gem install rake -v=’0.8.7′

Tente criar o banco de dados novamente:

rake db:create

E lá vem o segundo erro:

rake aborted!
uninitialized constant ActiveSupport::Dependencies::Mutex

Para solucionar este erro abra o arquivo Rakefile e acrescente a linha abaixo antes da linha que contém require ‘rake’:

require ‘thread’

Tente criar o banco de dados mais uma vez:

rake db:create

Então você deve receber esta mensagem de sucesso:

** Invoke db:create (first_time)
** Invoke db:load_config (first_time)
** Invoke rails_env (first_time)
** Execute rails_env
** Execute db:load_config
** Execute db:create

Povoe as tabelas executando o comando:

rake db:migrate

E mais um erro acontece:

rake aborted!
undefined local variable or method `version_requirements’ for #<Rails::GemDependency:0x7f595afa7e30>

Para resolver este erro desinstale todas as versões do rubygems-update:

gem uninstall rubygems-update

Instale a versão 1.4.2 do rubygems-update:

gem install rubygems-update -v=’1.4.2′

Tente atualizar suas gems:

update_rubygems

Verifique se suas gems continuam instaladas:

gem list

No meu caso todas as gems foram removidas, então tive que instalar o Rails novamente:

gem install rails

Tente novamente povoar as tabelas:

rake db:migrate

É provável que receba este erro:

rake aborted!
Bundler couldn’t find some gems.Did you run `bundle install`?

Se receber este erro execute o comando:

bundle install

Remova novamente a versão 0.9.2.2 do rake:

gem uninstall rake -v=’0.9.2.2′

Agora é possível povoar as tabelas:

rake db:migrate

Por fim inicie o servidor:

bundle exec script/server

Pelo browser acesse a página inicial do Fedena:

http://localhost:3000

Para logar utilize as credenciais:

Username: admin

Password: admin123

Enjoy 😉

Acredito que estes problemas possam ser evitados com a utilização do RVM, mas isto é assunto para outro post.

Até breve.

Padrão
#configuração, #desenvolvimento

Instalando Spree no Ubuntu Server


Olá pessoal.
Este post será uma breve ajuda para instalação do Spree que é uma loja virtual opensource desenvolvida em Ruby on Rails.
Os detalhes do projeto podem ser vistos aqui no GitHub. A instalação está bem detalhada mas há uma grande chance de não funcionar de primeira por causa da versão do Rails, como foi o meu caso.
Ao tentar instalar recebi esta mensagem de erro:

ERROR: While executing gem … (Gem::DependencyError)
Unable to resolve dependencies: activerecord requires activesupport (= 3.1.4), activemodel (= 3.1.4); actionmailer requires actionpack (= 3.1.4); activeresource requires activesupport (= 3.1.4), activemodel (= 3.1.4); railties requires activesupport (= 3.1.4), actionpack (= 3.1.4)

E para resolver removi a versão atual do Rails:

gem uninstall rails

Instalei a versão 3.1.4 do Rails:

gem install rails -v 3.1.4

Neste momento tentei instalar novamente o Spree, mas recebi um novo erro:

ERROR: Error installing spree:
ERROR: Failed to build gem native extension.
/usr/bin/ruby1.8 extconf.rb
checking for libxml/parser.h… no
libxml2 is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.

Para solucioná-lo instalei as libs:

apt-get install libxml2 libxml2-dev libxslt1-dev

Enfim instalei o Spree:

gem install spree

Criei o projeto rails:

rails new store

Associei o projeto Rails ao projeto Spree:

spree install store

Neste momento será necessário responder a algumas perguntas:

Would you like to install the default gateways? (yes/no) [yes] yes
Would you like to run the migrations? (yes/no) [yes] yes
Would you like to load the seed data? (yes/no) [yes] yes
Would you like to load the sample data? (yes/no) [yes] yes
Admin Email [spree@example.com] seu_email@email.com
Admin Password [spree123] sua_senha

Entrei na pasta do projeto:

cd store

Iniciei o servidor WEBrick:

rails s

E pronto!!! Agora é só acessar o endereço http://localhost:3000 no seu navegador e você já pode logar com o e-mail e senha cadastrados na hora da criação do projeto Spree.
Espero que seja útil.

Até breve 😉

Padrão
#configuração, #desenvolvimento

Utilizando Devise em um projeto RoR


Olá pessoal.
Continuando meu propósito de criar um projeto real com RoR descobri um projeto no Github, denominado Devise que é uma solução para autenticação nos projetos RoR.
Além da página de documentação do Devise também utilizei o Railscast – Introducing Devise para enfim adicioná-lo no projeto.

Abra o terminal e instale o Devise:

$ gem install devise

Acesse a pasta do seu projeto Rails, procure pelo arquivo Gemfile e acrescente a linha:

gem 'devise'

Volte para o terminal e atualize as gems:

$ bundle install

Crie um scaffold simples:

$ rails generate scaffold project name:string

Execute as migrações:

$ rake db:migrate

Gere o devise para o projeto:

$ rails generate devise:install

Adicione a configuração default de e-mail no arquivo pastadoprojeto/config/environments/development.rb:

config.action_mailer.default_url_options = { :host => 'localhost:3000' }

Gere o devise para o model User:

$ rails generate devise User

Altere a classe do model User (pastadoprojeto/app/models/user.rb):

class User < ActiveRecord::Base

  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable

  # Setup accessible (or protected) attributes for your model
  attr_accessible :email, :password, :password_confirmation
end

Altere a migração DeviseCreateUsers (pastadoprojeto/db/migrate/…_devise_create_users.rb):

class DeviseCreateUsers < ActiveRecord::Migration
  def self.up
    create_table(:users) do |t|
      t.database_authenticatable :null => false
      t.recoverable
      t.rememberable
      t.trackable
      t.timestamps
    end

    add_index :users, :email,                :unique => true
    add_index :users, :reset_password_token, :unique => true
  end

  def self.down
    drop_table :users
  end
end

Execute as migrações:

$ rake db:migrate

Remova o arquivo index.html do diretório pastadoprojeto/public.

Adicione a rota no arquivo pastadoprojeto/config/routes.rb:

Tutorialdevise::Application.routes.draw do
  devise_for :users

  resources :projects
# Rota que redireciona para a página principal gerada pelo scaffold.
  root :to => "projects#index"

end

Execute as rotas:

$ rake routes

Por fim adicione a div user_nav no arquivo pastadoprojeto/app/views/layout/application.html.erb, que exibirá os links Sign out, Sign up e Sign in no topo de todas as páginas:

<!DOCTYPE html>
<html>
<head>
  <title>Tutorialdevise</title>
  <%= stylesheet_link_tag :all %>
  <%= javascript_include_tag :defaults %>
  <%= csrf_meta_tag %>
</head>
<body>
	<div id="user_nav">
		<% if user_signed_in? %>
			Signed in as <%= current_user.email %>. Not you?
			<%= link_to "Sign out", destroy_user_session_path %>
		<% else %>
			<%= link_to "Sign up", new_user_registration_path %> or <%= link_to "Sign in", new_user_session_path %>
		<% end %>
	</div>
<%= yield %>
</body>
</html>

Para consegui testar basta iniciar o servidor:

$ rails s

Agora abra o navegador, acesse http://localhost:3000/users/sign_up cadastre-se e depois acesse http://localhost:3000/users/sign_in para logar.
Nos dois casos as páginas serão redirecionadas para a página principal do scaffold, mas não se preocupe, isto pode ser alterado no arquivo de rotas.
Com isso já dá pra começar a brincar com o Devise.
Até breve 😉

Padrão
#configuração

Projeto RoR nas nuvens – Parte 4


Olá pessoal!
Como prometido no post anterior iremos configurar o Heroku para realizar o deploy de um projeto feito em RoR.

Primeiro é necessário realizar o cadastro no site heroku.com que é bem simples e rápido. Feito isso vamos instalar a gem do Heroku com o comando:


$ sudo gem install heroku

Para utilizar o Heroku será preciso instalar alguns pacotes no Ubuntu:


$ sudo apt-get install libopenssl-dev openssl libssl-dev

Após instalar os pacotes precisamos compilar e instalar o openssl do Ruby. Acesse o diretório onde o ruby foi descompactado e troque o usuário para root.


$ cd /opt/ruby-1.9.2-p180/ext/openssl/
$ ruby extconf.rb
$ make
$ make install

Apesar de instalar o openssl ainda tive problemas com o readline e para solucionar instalei as libs:

$ sudo apt-get install libncurses5-dev libreadline5-dev

E como de costume precisamos logar como root para compilar e instalar o readline interno do Ruby.

$ cd /opt/ruby-1.9.2-p180/ext/readline/
$ ruby extconf.rb
$ make
$ make install

Com tudo instalado precisamos adicionar uma chave pública para realizar o envio dos arquivos.

$ heroku keys:add
Uploading ssh public key /home/seuusuario/.ssh/id_rsa.pub
Enter your Heroku credentials.
Email: emailcadastradonoheroku@email.com
Password: senhaCadastradaNoHeroku
Uploading ssh public key /home/seuusuario/.ssh/id_rsa.pub

Acesse a pasta da sua aplicação Rails criada na segunda parte da série. E vamos configurar o Git.

$ git init
$ git add .
$ git commit -m "Aplicacao de teste."

É hora de criar a aplicação Heroku:

$ heroku create

E por fim vamos adicionar nossa aplicação ao Heroku:

$ git push heroku master
...
Are you sure you want to continue connecting (yes/no)? yes
...
-----> Launching... done
http://algumacoisa.heroku.com deployed to Heroku

Pronto!!!
Para testar se o deploy da sua aplicação aconteceu corretamente, você deverá acessar o link fornecido no final do push: http://algumacoisa.heroku.com
Se você for redirecionado para a página “Ruby on Rails: Welcome aboard” significa que o deploy foi realizado com sucesso. Caso contrário coloque nos comentários os erros encontrados.
Você pode alterar o link para sua aplicação através da área destinada ao gerenciamento das aplicações. Basta logar no site do Heroku e acessar https://api.heroku.com/myapps
Com isto finalizamos a série “RoR nas nuvens”, com o ambiente pronto para desenvolvermos uma aplicação “de verdade”.
Isso é tudo pessoal.
Até breve 😉

Padrão
#configuração

Projeto RoR nas nuvens – Parte 3


Olá pessoal.

No post anterior configuramos o ambiente para o desenvolvimento de aplicação RoR. Neste post iremos configurar o Git e o Github.

No terminal instale o Git e seus auxiliares:


$ sudo apt-get install git-core git-gui git-doc

Com o Git instalado é necessário configurar o Github, para isso realize seu cadastro no site www.github.com e aproveite para me seguir, é só procurar por monteirobrena 😉

Após criar sua conta será preciso criar uma chave pública para adicioná-la no Github.

Antes de criar a chave pública verifique se a pasta .ssh já existe no seu /home, senão existir crie com o comando:


$ cd ~
$ mkdir .ssh

Entre na sua pasta .ssh:


$ cd ~/.ssh

Crie a chave pública:

$ ssh-keygen -t rsa -C "emailcadastradonogithub@email.com"

Irá aparecer a mensagem:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/nomedoseuusuario/.ssh/id_rsa):
Pressione apenas ENTER.

Após pressionar ENTER irá aparecer as seguintes mensagens

Enter passphrase (empty for no passphrase): palavrachave

(Onde palavrachave será uma palavra utilizada para utilizar sua chave pública.)

Será solicitada a repetição da palavrachave para confirmar.

Enter same passphrase again: palavrachave

(Onde palavrachave é a mesma palavra informada anteriormente.)

A próxima etapa é adicionar a chave pública ao Github. Acesse seu Github e sigla o fluxo: “Account Settings” > Click “SSH Public Keys” > Click “Add another public key”

Abra o arquivo ~/.ssh/id_rsa.pub e copie TODO o seu conteúdo. Volte para a página do Github e cole o conteúdo copiado no campo “Key”, em seguida clique em “Add key”.

Chave pública adicionada. Vamos testar.

No terminal:


$ ssh git@github.com

Aparecerá uma mensagem semelhante à:

The authenticity of host ‘github.com (207.97.227.239)’ can’t be established.RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.Are you sure you want to continue connecting (yes/no)?

Digite “yes”.

Agora será solicitado que você informe a palavrachave usada na criação da chave pública. Essa solicitação pode aparecer no terminal ou em uma janela auxiliar. Seja qual for a maneira que aparecer informe a palavrachave e confirme.

Então, no terminal, deverá aprecer uma mensagem semelhante a esta:

Warning: Permanently added ‘github.com,207.97.227.239’ (RSA) to the list of known hosts.PTY allocation request failed on channel 0Hi seuusuariocadastradonogithub! You’ve successfully authenticated, but GitHub does not provide shell access. Connection to github.com closed.

Quase lá!

Agora iremos setar as informações pessoais no Github.

No terminal informe seu nome e seu e-mail:

$ git config --global user.name "Nome Sobrenome"
$ git config --global user.email "emailcadastradonogithub@email.com"

Agora falta informarmos o nome do usuário e o token fornecido pelo Github:

$ git config --global github.user nomedousuariocadastradonogithub
$ git config --global github.token tokencopiadodogithub

O tokencopiadodogithub pode ser encontrado no caminho “Account Settings” > Click “Account Admin.”

API Token
Your API token is xxxxyyyyzzzzwwwwxxxxyyyyzzzzwwww …

E como o último passo vamos criar um repositório. Para isto acesse seu “Dashboard” no Github e clique no botão “New Repository”. Digite as informações solicitadas e clique em “Create Repository”.

Volte ao terminal para criar o repositório na sua máquina:

$ mkdir ~/app
$ cd ~/app
$ git init
$ touch README

Faça o commit inicial:

$ git add README
$ git commit -m 'Primeiro commit.'

Agora falta apenas adicionar a origem e enviar o commit pro Github.

$ git remote add origin git@github.com:seuusuariocadastradonogithub/app.git
$ git push origin master

Pronto! Repositório criado e configurado no Github.
No próximo post iremos ver como realizar o deploy de uma aplicação RoR no Heroku.
Até lá 😉

Padrão