Archivos de Categoría: Apache

Instalar MongoDB en Ubuntu 12.04 con driver PHP

Instalar MongoDB:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
sudo apt-get update
sudo apt-get install mongodb-10gen

Instala driver PHP de MongoDB:

sudo apt-get install php-pear php5-dev
pecl search mongo
sudo pecl install mongo

Configurar driver PHP de MongoDB PHP en Apache: Crear un fichero llamado /etc/apache/conf.d/mongo.ini con el siguiente contenido:

extension=mongo.so

Luego reiniciar Apache:

sudo service apache2 restart

Arrancar, parar y reiniciar MongoDB:

sudo service mongodb start
sudo service mongodb stop
sudo service mongodb restart

Fichero de configuration:

/etc/mongodb.conf

Fichero de log:

/var/log/mongodb/mongodb.log

Ficheros de datos:

/var/lib/mongodb

Ref: http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/

Solucionar “The Alias directive in … will probably never match because ir overlaps an earlier Alias”

Este es un aviso que aparece al arrancar el servidor Apache2.

$ sudo service apache2 restart
 * Restarting web server apache2                                                [Wed May 08 11:55:52 2013] [warn] The Alias directive in /etc/phpmyadmin/apache.conf at line 3 will probably never match because it overlaps an earlier Alias.
 ... waiting [Wed May 08 11:55:54 2013] [warn] The Alias directive in /etc/phpmyadmin/apache.conf at line 3 will probably never match because it overlaps an earlier Alias.
                                                                         [ OK ]

Se debe a que la configuración para phpMyAdmin se carga 2 veces: en /etc/apache2/conf.d/phpmyadmin.conf y en /etc/apache2/apache2.conf con un include a /etc/phpmyadmin/apache.conf.

Para deshacernos de él solo hay que comentar la siguiente línea en /etc/apache2/apache2.conf:

Include /etc/phpmyadmin/apache.conf

Instalar y activar xdebug en MacPorts

Primero instalar php5-xdebug:

sudo port install php5-xdebug

Luego tan solo hay que añadir las siguientes líneas al fichero php.ini (probablemente /opt/local/etc/php5/php.ini), pero antes comprueba la ruta del fichero de la opción zend_extension:

; NOTE: This line adds the xdebug extension. The macports install will give you the path, 
; or may even add this automatically. Be smart, look for a similar line in your config first.
; (Edit: 06/22/2012)
zend_extension="/opt/local/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"

; General config
;Dumps local variables on exception
xdebug.show_local_vars=On
;Dump server variables
xdebug.dump.SERVER=*
;Dump global variables
xdebug.dump_globals=On
xdebug.collect_params=4;

; Tracing
xdebug.auto_trace=On
xdebug.trace_output_dir=/opt/local/php_traces/
xdebug.show_mem_delta=On
xdebug.collect_return=On

; Profiler
xdebug.profiler_enable=1
xdebug.profiler_output_dir=/opt/local/php_traces

; Debugging. You might need to specify your host with some additional options
xdebug.remote_enable=1

Ref: http://www.littleblackhat.com/blog/2009/02/getting-xdebug-working-on-mac-os-x-with-macports/

Alias útiles de los servicios Apache 2 y MySQL 5 para MacPorts

Estos son algunos de los alias que utilizo para arrancar, parar y reiniciar Apache 2 y MySQL 5 en mi instalación de MacPorts hecha con el script de instalación que publiqué hace un tiempo. Tienes que editar el fichero “~/.bash_profile” y añadir estas líneas:

alias mysql5start='sudo /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper start'
alias mysql5stop='sudo /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper stop'
alias mysql5restart='sudo /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper restart'

alias apache2start='sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper start'
alias apache2stop='sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper stop'
alias apache2restart='sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper restart'

Luego ejecuta “source ~/.bash_profile” para cargar los nuevos alias o simplemente abre otra ventana de terminal.

Usar el php de MacPorts desde la línea de comandos

Hace un tiempo instalé Apache+MySQL usando MacPorts en Mac OS X. Todo iba bien siempre y cuando estuviera navegando por las páginas usando un navegador, pero en cuanto usé PHP mediante el CLI para ejecutar comandos de Symfony2 comenzaron los problemas. Me decía que no tenía configurada la zona horaria, y yo estaba seguro de haberla configurado en el fichero php.ini.

$ php app/console doctrine:schema:update --force

  
[ErrorException] Warning: date_default_timezone_get(): It is not safe to rely on the system' s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those me thods and you are still getting this warning, you most likely misspelled th e timezone identifier. We selected 'Europe/Berlin' for 'CET/1.0/no DST' ins tead in /Users/enekochan/Documents/Webs/este.es/vendor/monolog/monolog/src/ Monolog/Logger.php line 199

          

Buscando una solución por internet me di cuenta de que el problema era que estaba ejecutando el php binario que viene con Mac OS X, y en ese no tenía configurada la zona horaria. Se puede ver de donde se lee el fichero php.ini ejecutando esto:

$ php -i | grep 'Configuration File'
Configuration File (php.ini) Path => /etc
Loaded Configuration File => (none)

La primera solución que se me ocurrió fue usar la ruta completa al php binario de MacPorts:

$ /opt/local/bin/php app/console doctrine:schema:update --force
$ /opt/local/bin/php -i | grep 'Configuration File'
Configuration File (php.ini) Path => /opt/local/etc/php5
Loaded Configuration File => /opt/local/etc/php5/php.ini

Una mejor solución consiste en añadir la ruta /opt/local/bin al path del sistema antes que la ruta /usr/bin. Esto se puede hacer editando el fichero ~/.bash_profile:

PATH=/opt/local/bin:$PATH;export PATH

Luego hay que cerrar y volver a abrir el terminal o recargar el ~/.bash_profile:

$ source ~/.bash_profile

Ref: Stackoverflow

  • Page 1 of 2
  • 1
  • 2
  • >