Instalar y configurar MongoDB y el driver PHP con MacPorts

Instalar y configurar MongoDB con MacPorts

Installar MongoDB con MacPorts es tan fácil como ejecutar el siguiente comando:

$ sudo port install mongodb

MongoDB usa por defecto la ruta /data/db para almacenar los ficheros de datos, y es muy probable que no tengas esa ruta por lo que al ejecutar el servidor de MongoDB (mongod) acabarás teniendo este error:

*********************************************************************
 ERROR: dbpath (/data/db/) does not exist.
 Create this directory or give existing directory in --dbpath.
 See http://dochub.mongodb.org/core/startingandstoppingmongo
*********************************************************************

Hay varias opciones:

Crear esa carpeta y darle los permisos adecuados:

$ sudo mkdir -p /data/db/
$ sudo chown `id -u` /data/db

Proporcionar otra ruta como la carpeta de datos usando la opción --dbpath:

$ mongodb --dbpath /var/lib/mongo

Y la mejor de todas, crear las carpetas necesarias para los datos y los logs y crear el fichero de configuración que indica dónde están dichas rutas:

$ sudo mkdir /opt/local/var/db/mongodb
$ sudo mkdir /opt/local/var/log/mongodb
$ sudo touch /opt/local/var/log/mongodb/mongodb.log
$ sudo mkdir /opt/local/etc/mongodb/

Añade lo siguiente al fichero /opt/local/etc/mongodb/mongodb.conf:

# Store data alongside MongoDB instead of the default, /data/db/
dbpath = /opt/local/var/db/mongodb

# Only accept local connections
bind_ip = 127.0.0.1

# Running as daemon
fork = true

# Take log
logpath = /opt/local/var/log/mongodb/mongodb.log
logappend = true

Puedes entonces ejecutar mongod especificando el fichero de configuración que acabas de crear:

$ sudo mongod -f /opt/local/etc/mongodb/mongodb.conf

Una forma aún más fácil es usar el comando load/unload que viene con MacPorts que crea y define todas esas opciones en el fichero /opt/local/etc/LaunchDaemons/org.macports.mongodb/org.macports.mongodb.plist. Puedes arrancar y parar MongoDB con estos comandos (usarlos hará que MongoDB se autoarranque al inicio del sistema!):

$ sudo port load mongodb
$ sudo port unload mongodb

Más opciones de configuración: http://docs.mongodb.org/manual/reference/configuration-options/

Instalar el driver PHP de MongoDB

Antes de instalar el driver tenemos que estar seguros de que tenemos instalado pear y pecl. Ejecutar los siguientes comandos a ver si muestran algún resultado:

$ pear version
$ pecl version

Ahora instalamos el driver PHP con el comando pecl:

$ sudo pecl install mongo

Cuando acabe la instalación verás algo como esto:

Build process completed successfully
Installing '/opt/local/lib/php/extensions/no-debug-non-zts-20090626/mongo.so'
install ok: channel://pecl.php.net/mongo-1.3.4
configuration option "php_ini" is not set to php.ini location
You should add "extension=mongo.so" to php.ini

La última línea indica que tienes que editar a mano el fichero php.ini, que en mi caso está en /opt/local/etc/php5/php.ini, y añadir la extensión para mongo. Puedes añadir esa línea al final del fichero pero se supone que su sitio es en la sección “Dynamic Extensions”.

Ahora reinicia el servidor Apache y ya estarás preparado para usar MongoDB desde PHP.

$ sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper start

Fuentes: http://api.mongodb.org/wiki/current/PHP%20Language%20Center.html
http://noteit.jiaeil.com/install-mongodb-via-macports-on-mac
http://stackoverflow.com/questions/8029064/new-to-mongodb-can-not-run-command-mongo

Related content:

  1. Script de instalación de Apache 2 + MySQL 5 + PHP 5.3 + phpMyAdmin 3.5.4 para Mac OS X usando MacPorts
  2. Usar el php de MacPorts desde la línea de comandos
  3. Ejecutar comandos de shell en Mac OS X ejecutando una aplicación normal
  4. MacPorts: Actualizar definiciones port y renovar los port instalados
Dejar un comentario?

0 Comentarios.

Deje un comentario