27 Jul

Instalar MAMP (Mac OS X, Apache, MySQL y PHP5) en OS X Yosemite

Acabo de restaurar mi máquina, instale Yosemite y necesito implementar un ambiente de desarrollo en mi equipo, aprovecho y hago una nota.

Mac OS X Yosemite tiene preinstaladas casi todas las herramientas que utilizo, sería un desperdicio instalar algún software como XAMPP o MAMP ya que justamente instale desde cero porque mi equipo iba lento. Tengo que poner unos comandos en la terminal, Descargar e instalar MySQL.

Activar Apache.

A partir de ejecutar este comando Apache se activará desde el inicio del sistema:

sudo apachectl start

Reviso que se haya activado visitando http://localhost, me debe mostrar It works!

Hago un respaldo del archivo de configuración de apache:

sudo cp /etc/apache2/httpd.conf /etc/apache2/httpd.conf.bk

Edito:

sudo vi /etc/apache2/httpd.conf

Quito el “#” al inicio de la líneas:

LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule php5_module libexec/apache2/libphp5.so

Reinicio Apache:

sudo apachectl restart

Descargo el instalador DMG de MySQL de este url MySQL Download pero puede variar según la versión. Ejecuto la instalación y voy a Preferencias del Sistema para iniciar el servicio.

Para poder ejecutar MySQL desde la terminal en cualquier directorio, agrego esta linea:

export PATH=/usr/local/mysql/bin:$PATH

Al archivo /Users/tuusuario/.bash_profile y ejecuto:

source /Users/tuusuario/.bash_profile

Conectando MySQL y PHP.

cd /var 
sudo mkdir mysql
cd mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

Con esto basta, para probar nuestros sitios desde http://localhost/tusitio pero me gusta usar Virtual Hosts en mis proyectos, ya que me ahorran mucho tiempo y problemas con las variables del servidor.

En el archivo /etc/apache2/httpd.conf, es necesario que quitar el “#” al inicio de las lineas:

LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
Include /private/etc/apache2/extra/httpd-vhosts.conf

Reinicio apache:

sudo apachectl restart

En el archivo /etc/apache2/extra/httpd-vhost.conf tengo lo siguiente:

# Virtual Hosts
#
# Required modules: mod_log_config
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.4/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/usr/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log"
    CustomLog "/private/var/log/apache2/dummy-host.example.com-access_log" common
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/usr/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log"
    CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common
</VirtualHost>

Voy a crear un respaldo de ese archivo:

cp /etc/apache2/extra/httpd-vhost.conf /etc/apache2/extra/httpd-vhost.conf.bk

Voy a poner todos mis proyectos en la carpeta de mi usuario bajo el directorio httpd, ruta absoluta /Users/usuario/httpd y en este archivo /etc/apache2/extra/httpd-vhost.conf voy a crear un nuevo Virtual Host:

# dominio.com
<VirtualHost *:80>
    ServerName dominio.com
    ServerAlias www.dominio.com
    ServerAdmin webmaster@dominio.com
    DocumentRoot /Users/usuario/httpd/dominio.com/web
    ErrorLog     /Users/usuario/httpd/dominio.com/logs/error.log
    CustomLog    /Users/usuario/httpd/dominio.com/logs/access.log combined
    <Directory "/Users/usuario/httpd/dominio.com/web">
    AllowOverride All
    Require all granted
    </Directory>
</VirtualHost>

Por ultimo agrego la siguiente linea en el archivo /etc/hosts

127.0.0.1 dominio.com

Reinicio apache:

sudo apachectl restart

Todo este procedimiento es el equivalente en linux “LAMP (Linux Apache MySQL PHP5) en Debian y Virtual Hosts “, nuestro ambiente debe trabajar igual…

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Eres un robot? * Time limit exceeded. Please complete the captcha once again.