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…