terça-feira, 3 de novembro de 2009

Rails no Ubuntu 9.10 (usando o mysql do xampp)

Bom, estive tendo alguns problemas para instalar as coisas aqui no Ubuntu, mas consegui resolver, segue o passo a passo de comandos para ter tudo instalado e pegando:

1. Instalar o XAMPP e o XAMPP development package (instrucoes no site do xampp)
2. Instalar o Ruby com Development Package:
sudo apt-get install ruby1.8 ruby1.8-dev rubygems1.8 irb rake libopenssl-ruby1.8

3. instalar o rails
sudo gem install rails

4. rodar o xampp
sudo /opt/lampp/lampp start

5. instalar o mysql
sudo gem install mysql -- --with-mysql-dir=/opt/lampp/ --with-mysql-lib=/opt/lampp/lib/mysql --with-mysql-include=/opt/lampp/include/mysql

6. configurar link para socket
sudo mkdir /var/run/mysqld
sudo ln -s /opt/lampp/var/mysql/mysql.sock /var/run/mysqld/mysqld.sock


É isso, com isso rolo tudo certo aqui :)

UPDATE:

Eu percebi que o link do mysqlsock é perdido sempre que o sistema é reiniciado.
Então eu criei um script para iniciar o xampp e criar o link automaticamente na inicialização:

crie o arquivo abaixo:

/usr/bin/lamppstart
#! /bin/bash

/opt/lampp/lampp start
mkdir /var/run/mysqld
ln -s /opt/lampp/var/mysql/mysql.sock /var/run/mysqld/mysqld.sock


após criar o script é nescessário incluí-lo na inicialização do sistema, para isso adicione a linha para executa-lo dentro do arquivo /etc/rc.local, o meu arquivo ficou assim:

/etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

/usr/bin/lamppstart

exit 0

5 comentários:

Neto disse...

tava vendo pra instalar o rails no meu notebook koala 32bits hoje de tarde...
cheguei em casa e fui começar a instalar no meu desktop 64bits...aí resolvi procurar algum tuto em português porque eu tava seguindo um em inglês em que o cara instalou umas coisas diferentes que eu nunca tinha ouvido falar

mandou bem no post

Neto disse...

apareceram alguns erros na hora de instalar o mysql...aliás...o mysql é instalado no xampp, pra que preciso instalá-lo de novo?

os erros:
Building native extensions. This could take a while...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb --with-mysql-dir=/opt/lampp/ --with-mysql-lib=/opt/lampp/lib/mysql --with-mysql-include=/opt/lampp/include/mysql
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lmygcc... no
checking for mysql_query() in -lmysqlclient... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.

Wilker Lúcio disse...

Oi Neto,

Você não instala o MySQL de novo não, essa parte é para instalar a Gem Mysql do Ruby, para o Ruby conseguir utilizar o MySQL.

O erro deu provavalmente porque você não instalou o Development Package do XAMPP, tente verificar isso (o development package está disponível na mesma página que você baixou o xampp, basta baixa-lo e extrair da mesma forma que você fez com o xampp).

Neto disse...

mesmo erro após instalar o dev do mysql

/usr/bin/ruby1.8 extconf.rb --with-mysql-dir=/opt/lampp/ --with-mysql-lib=/opt/lampp/lib/mysql --with-mysql-include=/opt/lampp/include/mysql
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lmygcc... no
checking for mysql_query() in -lmysqlclient... no
*** extconf.rb failed ***

Neto disse...

oops
o dev do XAMPP