Recientemente se me estropeó el disco duro de mi antiguo iMac. Es un modelo early 2009 que iba muy bien, pero ya que tenía que “destriparlo” para cambiarle el disco, decidí cambiar la unidad SuperDrive por un SSD, y cambiar el disco duro roto por uno de 1 Terabyte.

Voy a contar cómo lo he distribuido las carpetas entre ambos discos duros, y cómo he instalado las aplicaciones que utilizo más frecuentemente.

Tengo que pedir perdón, pero no me guardé las referencias porque no tenía pensado realizar un post en el blog.

Moviendo las aplicaciones

Lo primero que hice fue mover la carpeta /Applications al disco grande. Si quiero que alguna vaya más rápido, ya la moveré al SSD e introduciré un link simbólico.

$ cp -R /Applications /Volumes/[drive name]/Applications
$ sudo mv /Applications /Apps
$ sudo ls -s /Volumes/[drive name]/Applications /Applications
$ sudo rm -R /Apps

Como la carpeta aplicaciones queda asociado a admin:wheel, tendremos que hacer un chown para poder seguir instalando aplicaciones mediante drag&drop

$ sudo chown -h root:admin /Applications

Moviendo los usuarios

También moví la carpeta de usuarios a una carpeta ubicada en el disco grande. Para ello, en Usuarios y grupos, hacemos clic con el botón derecho en el nombre del usuario y seleccionamos Opciones avanzadas…

Captura_de_pantalla_2015-02-12_a_las_23_39_27

En la siguiente pantalla, podremos cambiar lo que queramos, y en nuestro caso será la carpeta del usuario:

Captura_de_pantalla_2015-02-12_a_las_23_39_42

Autocorrección fuera

Si ya me molesta el autocorrector en los móviles, en el ordenador mucho más aún. Así que, en Preferencias del sistema > Teclado, me voy a la pestaña Texto y desmarco la opción Corregir ortografía automáticamente.

Captura de pantalla 2015-02-13 a las 18.58.08

Instalar MacPorts

Estaba pensndo en qué gestor instalar, si macports, homebrew o fink. En algún sitio leí que recomendaban macports, así que descargué el instalador de su página oficial.

Muchas de las cosas que instalemos requieren las command line developer tools de Apple, así que las instalaremos ya lanzando el comando:

$ xcode-select --install

Aceptaremos las condiciones y se descargarán las herramientas.

Instalación de node.js

Utilicé macports para instalar node y npm:

$ sudo port install nodejs
$ sudo port install npm

Después, edité el fichero ~/.npmrc para decirle dónde se instalarán los paquetes globales. En mi caso, quiero que se instalen en el disco de 1TB, con lo que introduciremos la siguiente línea:

prefix = /Volumes/HD1TB/lib/npm

Además, edito el fichero /etc/profile (con permisos de admin) para añadir los binarios descargados por npm al path

export PATH=/Volumes/HD1TB/lib/npm/bin:$PATH

Instalar con npm los paquetes globales que suelo utilizar:

$ npm install -g grunt-cli
$ npm install -g bower
$ npm install -g less
$ npm install -g cordova
$ npm install -g ionic

A mi me dieron bastantes timeouts, descargando los ítems (sobretodo a la hora de instalar cordova) por lo que cambie la URL del registro de NPM de la siguiente manera:

$ npm config set registry="http://registry.npmjs.org/"

AsciiDoctor

Lo utilizo para los apuntes del experto jee. Siguiendo las indicaciones de la web oficial para una instalación en el sistema:

$ sudo gem update --system
$ sudo gem install asciidoctor -N

Sourcetree

Es el cliente de Git que utilizo para los proyectos que tengo tanto en bitbucket como en github (no pongo los enlaces porque los interesantes son privados). El instalador se puede obtener de su página oficial.

Todos mis proyectos los guardo en la carpeta /projects de mi usuario, aparte de en su repositorio remoto.

Java

Ahora mismo tengo instalado el JDK7 y el JDK8. El que se lanza por defecto cuando inicio una terminal es el 1.7. Además, tengo incluido este script en el fichero ~/.bash_profile:

## ... YOUR .bash_profile file

function setjdk() {
  if [ $# -ne 0 ]; then
   removeFromPath '/System/Library/Frameworks/JavaVM.framework/Home/bin'
   if [ -n "${JAVA_HOME+x}" ]; then
    removeFromPath $JAVA_HOME
   fi
   export JAVA_HOME=`/usr/libexec/java_home -v $@`
   export PATH=$JAVA_HOME/bin:$PATH
  fi
 }
 function removeFromPath() {
  export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;")
 }

#DEFAULT JDK: 1.7
setjdk 1.7

Así, el switching de versión de java es muy sencillo:

$ setjdk 1.8
$ java -version
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)
$ setjdk 1.7
$ java -version
java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)

Maven y ant

Para instalar maven y ant volveremos a hacer uso de macports

$ sudo port install maven3
$ sudo port select --set maven maven3
$ sudo port install apache-ant

Luego, modifico el fichero ~/.m2/settings.xml para indicar dónde quiero que se ubique el repositorio local de Maven. Como tengo una carpeta lib donde guardo las dependencias de npm, también guardaré ahí lo que me descargue maven.

<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0" xmlns:xsi="http://www.$
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apach$
  <localRepository>/Volumes/HD1TB/lib/maven</localRepository>
  <interactiveMode />
  <usePluginRegistry />
  <offline />
</settings>

IntelliJ Idea

Como IDE suelo utilizar IntelliJ Idea. Tiene un problema, que es que pide una versión Java SE6, que se puede solucionar fácilmente. Debemos editar el fichero /Applications/IntelliJ IDEA XX.app/Contents/Info.plist, y substituir la cadena:

<key>JVMVersion</key>
<string>1.6*</string>

por lo siguiente:

<key>JVMVersion</key>
<string>1.6+</string>

MySQL, Apache y PHP con Composer y XDebug

Aquí seguí los pasos que se indican en este artículo.

  1. Descargar el DMG de mysql.com e instalarlo.
  2. Abrir las preferencias e iniciar el servidor de MySQL
  3. Actualizar el PATH en nestro fichero ~/.bash_profile, añadiendo al inicio del fichero : export PATH=~/bin:/usr/local/bin:/usr/local/mysql/bin:$PATH
  4. Establecer las claves del usuario root:
    $ mysqladmin -u root password {new-password}
    $ mysqladmin -u root -p{new-password} -h localhost password {new-password}
    $ mysqladmin -u root -p{new-password} reload
    
  5. Asegurarse que el fichero mysql.sock puede ser encontrado por PHP:
    1. El servidor MySQL debe estar corriendo
    2. sudo mkdir /var/mysql
    3. sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

En cuanto a Apache, viene instalado con Yosemite. Con lo que sólo tendremos que usar la línea de comandos para iniciarlo y pararlo.

  1. cd /etc/apache2
  2. Editar el fichero /etc/apache2/httpd.conf
    1. Eliminar las almohadillas # de estas dos líneas:
      #LoadModule rewrite_module libexec/apache2/mod_rewrite.so
      #LoadModule php5_module libexec/apache2/libphp5.so
      
    2. Buscar la sección <Directory "/Library/WebServer/Documents">y cambiar:
      /Library/WebServer/Documents por /Volumes/HD1TB/webapps (o cualquiera que sea el directorio donde vas a albergar tus apps)
      AllowOverride None por AllowOverride All para que funcionen los ficheros .htaccess
      y Options FollowSymLinks Multiviews por Options FollowSymLinks Multiviews Indexes para que podamos listar directorios

Ahora, modificaremos el fichero php.ini:

  1. cd /etc
  2. sudo cp php.ini.default php.ini
  3. sudo chmod ug+w php.ini
  4. sudo chgrp admin php.ini
  5. Editar php.ini para poner bien las settings, que como mínimo serán:
    date.timezone = "Europe/London"
    error_reporting  =  E_ALL
    display_errors = On
    

Una vez hecho todo esto, reiniciaremos apache con el comando sudo apachectl restart.

Si quisiéramos instalar xDebug, editamos el fichero /etc/php.ini y añadimos esta línea al final del todo:

zend_extension = "xdebug.so"

[xdebug]
xdebug.var_display_max_children = 999
xdebug.var_display_max_data = 999
xdebug.var_display_max_depth = 100

Reiniciar apache nuevamente: sudo apachectl restart.

Instalaremos Composer en el directorio /usr/local/bin:

cd /usr/local/bin
sudo curl -sS https://getcomposer.org/installer | sudo php
sudo mv composer.phar composer

Instalaremos también el soporte de mcrypt para PHP

sudo port install php55-mcrypt

Una vez instalado, añadimos la extensión al fichero /etc/php.ini

;; MCRYPT EXTENSION
extension=/opt/local/lib/php55/extensions/no-debug-non-zts-20121212/mcrypt.so

Posteriormente, reiniciaremos apache con el comando sudo apachectl restart.

Android SDK

Imprescindible para las aplicaciones con Cordova. Descargaremos el SDK de la página oficial.

Luego, editaremos nuevamente el fichero .bash_profile para añadir el SDK de android al path:

export ANDROID_HOME=/Volumes/HD1TB/lib/android-sdk-macosx
export PATH=$PATH:$ANDROID_HOME/tools

Y así hasta hoy. Si en algún momento añado algo más, iré actualizando este post para tenerlo al día.

Anuncios