Instalación de Magento en un servidor limpio

Como todo en esta vida, siempre hay que empezar por el principio. A aquellos que se dispongan a instalar Magento en un servidor desde cero espero que les sea de gran ayuda esta entrada. El caso práctico que comentaré es bajo un Debian y está tomado de otro blog, pero prefiero explicar con mis palabras todo paso a paso y pararme detenidamente donde sea necesario.

Magento tiene unos requerimientos mínimos para poder funcionar, estos son:

  • PHP 5.2.0 (o superior)
  • Modo seguro deshabilitado
  • Curl extensión
  • dom extensión
  • Hash extensión
  • Iconv extensión
  • Myscypt extensión
  • Pcre extensión
  • Pdo_mysql extensión
  • Simple xml extensión

Por si eres un poco nuevo en esto, comenzaré en el principio de los principios. Para poder acceder a un servidor lo más normal es que lo hagas a través de un cliente ssh, para ello necesitas que esté instalado el servidor ssh en el servidor en el que queremos meter Magento. Si tenemos acceso físico al servidor web, se puede instalar el servidor ssh mediante el comando:

$sudo apt-get install ssh

Pero lo más seguro es que la compañía que proporciona el hosting ya lo tenga instalado. Por lo tanto, comencemos a hacer la instalación propia de Magento.

Antes de todo para poder instalar cosas necesitas ser super usuario, con lo cual abrimos un terminal ssh y nos logueamos como super usuario:

$sudo su

A continuación deberemos introducir la contraseña para loguearnos, y observaremos que el símbolo del shell cambia de $ a #. Procedemos a instalar apache, PHP y Mysql:

#apt-get install apache2 mysql-server php5 php5-mysql php-soap php5-mcrypt php5-curl php5-gd

Ahora tendremos que verificar que la opción de AllowOverride está puesta a All para el directorio de nuestro Magento. Esto se puede comprobar de la siguiente manera:

#vim /etc/apache2/sites-enabled/000-default

Nos aseguramos que el modo de reescritura está cargado, para ello ejecutamos el siguiente comando:

#a2enmod rewrite

Ahora es conveniente modificar el archivo php.ini para así dar las opciones mínimas a nuestra web y también mejorar un poco el rendimiento. Para ello editamos el archivo php.ini:

#vim Edit /etc/php5/apache2/php.ini

Una vez en el archivo modificamos los siguientes parámetros:

memory_limit=512

max_execution_time= depende de las operaciones que vayamos a realizar, pero si necesitamos realizar exportaciones/importaciones de tamaño considerable, este parámetro debe tener un valor alto. Se mide en segundos.

upload_max_filesize= Igual que el parámetro anterior, si necesitas subir archivos de gran tamaño éste debe que tener como mínimo el tamaño de dicho archivo.

post_max_size= también tiene que ser grande si vas a realizar operaciones de movimientos de datos con fuentes de tamaño considerable.

display_errors=0ff

log_errors=On

error_log=directorio donde se almacenarán los log de errores.

¿Cómo leer los log? Para saber dónde se están almacenando tus errores, tienes que ir a la carpeta /var/log y aquí tendrás una estuctura de directorios para cada elemento que sea necesario. Por ejemplo para encontrar un error de 404 , deberíamos de ir a la carpeta apache2 dentro de la ruta anteriormente indicada.

No voy a profundizar mucho en cómo configurar estos parámetros, ya que en un futuro pondré alguna entrada de cómo mejorar el rendimiento de nuestro servidor para montar Magento.

Una tarea bastante importante para saber si los valores de las variables están siendo leídos correctamente es crear un fichero php que nos imprima por pantalla la configuración del PHP.

Creamos el archivo phpinfo.php cuyo contenido será

<?php

phpinfo();

¿>

Colgamos este archivo en nuestro directorio raíz del servidor web y nos imprimirá todas y cada una de las configuraciones.

Podría parecer una tontería hacer esto, pero en realidad resulta de gran utilidad saber que las modificaciones realizadas están surtiendo efecto.

En caso de que no se estén aplicando las modificaciones realizadas, nos queda la opción de dar el valor en el .htacces. Para ello en el .htacces de nuestra aplicación web debemos de introducir la siguiente línea.

php_value variable valor

un ejemplo sería:

php_value max_execution_time 90

El siguiente paso es crear la base de datos. Tendremos que loguearnos en el mysql, para ello escribimos en el terminal:

#mysql –u usuario –p

Al ejecutar dicho comando nos solicita la contraseña que se introdujo al instalar Mysql. Una vez introducida nos encontraremos en la consola de mysql, por lo tanto a partir de ahora todos los comandos que ejecutemos serán comandos mysql.

Algunos ejemplos de comandos:

  • Muestra las bases de datos: #show databases
  • Crear base de datos: #create database
  • Utilizar una base de datos: #Use [nombre de la base de datos]

Para instalar Magento es necesario crear la base de datos que utilizará, para ello en la consola de mysql introducimos la siguiente instrucción:

#create database db_magento

Esta base de datos será la que posteriormente elegiremos en la instalación que realizaremos mediante el navegador.

Descargamos nuestro magento, para ello desde la consola ssh introducimos el siguiente comando:

# wget http://www.magentocommerce.com/downloads/assets/1.5.0.1/magento-1.5.0.1.tar.gz

Y descomprimimos el archivo descargado de la siguiente manera:

#tar -zxvf magento-1.5.0.1.tar.gz

Movemos el contenido de la carpeta magento a nuestro sitio web:

# mv magento/* magento/.htaccess .

Ahora tenemos que dar los permisos adecuados a una serie de carpetas en Magento. La carpeta var contiene la cache, log, etc. de nuestra aplicación y en la carpeta media se encontrará normalmente el contenido visual de la tienda, como por ejemplo fotos. Los permisos se asignan mediante el siguiente comando:

#chmod -R o+w media var

Nos queda otra ubicación a la que darle permisos. En la carpeta etc vamos a encontrar el archivo de configuración local.xml, el cual contiene datos muy importantes como el usuario, la contraseña y el extensión key que está usando nuestra aplicación. También hay una carpeta en su interior llamada modules en la cual nos podremos encontrar las configuraciones de todos los módulos instalados y por defecto de Magento. Estas configuraciones vienen en formato xml. Procedemos otra vez a asignar los permisos:

#chmod o+w app/etc

Posteriormente lo que yo he hecho es meterme a la ubicación web de mi Magento y completar la instalación desde el navegador. Aquí voy introduciendo los datos que anteriormente le asigné, como la base de datos que creé así como el usuario y la clave del mysql.

Si no te funciona de esta manera, aquí dejo un par de enlaces desde los cuales puedes completar la instalación mediante ssh.

Blog de onestic:

onestic Este sitio es bastante recomendable, aquí podrás encontrar bastante información de interés.

en el wiki de magento encontramos este artículo también sobre la instalación por ssh.

Como comenté, este post está tomado de diferentes sitios pero parándome paso a paso donde he creído conveniente. Así, la primera parte, en la que hago referencia a la instalación de un servidor, la he sacado de aquí.

Espero haber resultado de ayuda. Un saludo y felices vacaciones.

2 comentarios sobre “Instalación de Magento en un servidor limpio”

Deja un comentario

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