Entradas

Crear un tienda online: aspectos técnicos a considerar

,

Cuando tienes en mente la idea de crear una tienda online que imaginas que es genial hay cierta tentación a hacer las cosas lo más rápido posible. Sin embargo, vender online requiere tiempo, esfuerzo y mucha dedicación técnica para configurar una tienda online correctamente.

Existen algunos factores técnicos muy importantes que debes tener en cuenta si eres novato en esto del comercio electrónico antes de agregar productos a tu nueva tienda online.

  1. El hosting para crear una tienda online

La elección de un sistema de gestión de contenidos (CMS) no tiene por qué ser el primer paso. El primer paso sería la elección del hosting. El hosting tiene que adaptarse a las necesidades del proyecto y a las necesidades del presupuesto. Puedes elegir entre un hosting compartido, virtual dedicado o en la nube.

Hay muchas cosas que conforman un host de calidad, y encontrar uno, puede llevarte mucho tiempo y energía. Aquí hay algunas de las cosas más importantes a tener en cuenta:

  • Características: casi cualquier host puede prometer el 99% de tiempo de actividad y copias de seguridad diarias. Pero más allá de eso, es probable que tengas una lista de deseos “imprescindibles” como instalaciones de software con un solo clic, soporte técnico 24/7, entornos de alojamiento específicos (Linux / Windows), etc.
  • Precio: Busca planes a un precio razonable que correspondan a las características proporcionadas, o planes mensuales que aumenten o disminuyan sin contratos.
  • Posibilidad de crecer: lo que funciona para tu tienda online ahora podría no funcionar en seis meses. Busca un hosting que te dé espacio para crecer. Deberías poder agregar más RAM, obtener más ancho de banda, agregar almacenamiento, etc.
  1. Un plan de seguridad para crear una tienda online

Una gran cantidad de información confidencial fluye dentro y fuera de las tiendas online. Los números de tarjeta de crédito, las direcciones de facturación y otros datos personales deben mantenerse seguros. Muchas plataformas de comercio electrónico ahora vienen con elementos esenciales de seguridad.  Aun así deberías verificar que dispones de estos aspectos técnicos antes de vender un solo producto:

  • Un certificado SSL, que asegura la tarjeta de crédito y otras transacciones confidenciales
  • Sin almacenamiento permanente o de texto sin formato de datos confidenciales de clientes, como números de tarjetas de crédito o códigos de seguridad
  • Asegura los requisitos de contraseñas, lo que significa que no permitas contraseñas válidas tipo  “1234”
  • Protección del servidor como un firewall o un servicio de mantenimiento proporcionado por el hosting
  • También debes estar atento a las actualizaciones críticas de tu software de comercio electrónico, que generalmente están disponibles en caso de errores o vulnerabilidades recientemente descubiertas. Aplicar estos parches rápidamente puede evitar que tu tienda online y tus clientes se expongan a una posible amenaza.

crea tienda online

 

  1. Copias de seguridad automatizadas para crear una tienda online

Los accidentes ocurren. A veces se eliminan los archivos que se necesitaban o se eliminan registros de los clientes con clics accidentales de botones…Debes configurar copias de seguridad. Esto te permitirá recuperarte rápidamente incluso de la catástrofe más grande (sin importar de quién es la culpa). Y si las copias de seguridad están configuradas desde el principio, ni siquiera tendrás que pensar en ellas; siempre estarán ahí.

  1. La pasarela de pago para crear una tienda online

Con todos estos aspectos técnicos resueltos, tu tienda online debería estar tomando forma. ¡Pero no será funcional hasta que puedas aceptar los pagos de los clientes! Una pasarela de pago es la pieza que necesitas para aceptar los pagos con tarjeta de crédito de los clientes online. Hay docenas, sino cientos, de pasarelas compatibles con cada plataforma, y ​​las pasarelas disponibles también varían según la región y las monedas aceptadas.

Atención: No nos hemos olvidado de la elección del CMS. Esto dependerá de muchos factores. Por ejemplo para crear una tienda online de moda desde Gsoft recomendamos la utilización de Magento ya que permite la personalización a medida que crece la marca. Pero no es la única también hay otras plataformas como Prestashop, Woocommerce

La elección del CMS dependerá de muchos factores a valorar como la dimensión del ecommerce (tamaño actual y futuro), si dispones de conocimientos o necesitas apoyarte en un partner, el presupuesto disponible para invertir, las funcionalidades que precisas (multitienda, multiidioma, multidivisa…), la necesidad de sincronización o integración con software de terceros…

Crear una tienda online no es sencillo. ¿Necesitas ayuda de profesionales en el desarrollo de tu tienda online? Ponte en contacto con nosotros y desarrollaremos un proyecto único cuidando hasta el más mínimo detalle para conseguir que tengas éxito con tu tienda online.

Instalación de Magento, magento SpeedUp, Aumentar velocidad de Magento, Plesk

,

Para instalar magento.

php 5.3 on las siguientes extensiones

  • PDO/MySQL
  • MySQLi
  • mcrypt
  • mhash
  • simplexml
  • DOM
  • SOAP
yum install php53-mcrypt

Utilizaremos memcached como gestor de caché, para ello ejecutamos las siguientes lineas:

Nota: para Centos 5.8, instalar estos repositorios para memcache:

>> rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

>> rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
>> yum install memcached
 >> yum install php-memcache

Iniciamos memcached, un servicio de caché en memoria:

>> service memcached start

Reiniciamos los servicios web:

>> /usr/local/psa/admin/bin/websrvmng -av
>> service httpd restart

Configuramos para que memcached se ejecute al inicio

>> chkconfig memcached on

Ahora iremos a nuestra instalación de magento y modificaremos la configuración de caché, editaremos el fichero /app/etc/local.xml:

 <config>
     <global>
         ...
         <cache>
             <backend><![CDATA[memcached]]></backend><!-- apc / memcached / xcache / empty=file -->
             <slow_backend><![CDATA[database]]></slow_backend>
             <memcached><!-- memcached cache backend related config -->
                 <servers><!-- any number of server nodes can be included -->
                     <server>
                         <host><![CDATA[127.0.0.1]]></host>
                         <port><![CDATA[11211]]></port>
                         <persistent><![CDATA[1]]></persistent>
                         <weight><![CDATA[1]]></weight>
                         <timeout><![CDATA[10]]></timeout>
                         <retry_interval><![CDATA[10]]></retry_interval>
                         <status><![CDATA[1]]></status>
                     </server>
                 </servers>
                 <compression><![CDATA[0]]></compression>
                 <cache_dir><![CDATA[]]></cache_dir>
                 <hashed_directory_level><![CDATA[]]></hashed_directory_level>
                 <hashed_directory_umask><![CDATA[]]></hashed_directory_umask>
                 <file_name_prefix><![CDATA[]]></file_name_prefix>
             </memcached>
         </cache>
     </global>
     ...
 </config>

Reconfigurar el mysql con esto, editamos el /etc/my.cnf

# Disable Berkley DB functionality, saving memory
skip-bdb
#max_connections = 100
# tmp_table_size/max_heap_table_size: Default is 16MB, but this causes many
# temporary tables to be written to disk, and is ineffecient.
# Keep tmp_table_size and max_heap_table_size the same!
tmp_table_size = 128M # was 64M
max_heap_table_size = 128M # was 64M
### query-cache settings ###
query-cache-type = 1
query-cache-size = 84M # was 32M was 64M
query_cache_limit = 16M # was 1M was 8M
### Buffer size settings ###
#sort_buffer_size = 2M
# key_buffer_size is important for MyISAM tables.
key_buffer_size = 150M # was 16M
#join_buffer_size = 16M # was 2M
thread_cache_size = 8
# table_cache: Approximate by taking max_connections and multiplying by the
# largest number of tables that can be open for any join.
table_cache = 2048 # was 256 was 512 was 1024
### Timing options ###
interactive_timeout = 100
wait_timeout = 20
connect_timeout = 15
### Log slow queries ###
# Make sure you create this file before you start mysql or it will not work!
# Use the this command:   touch /var/log/mysql.slow-queries.log && chown mysql:mysql /var/log/mysql.slow-queries.log
log-slow-queries=/var/log/mysql.slow-queries.log
# Duration a query must run (in seconds) to get logged
long_query_time = 1
### InnoDB settings ###
# for InnoDB settings; They largely depend on your application.
innodb_buffer_pool_size = 1G

 

Con esto ya tenemos una base rápida para que magento funcione como la seda.

 

# Disable Berkley DB functionality, saving memory
skip-bdb
#max_connections = 100
# tmp_table_size/max_heap_table_size: Default is 16MB, but this causes many
# temporary tables to be written to disk, and is ineffecient.
# Keep tmp_table_size and max_heap_table_size the same!
tmp_table_size = 128M # was 64M
max_heap_table_size = 128M # was 64M
### query-cache settings ###
query-cache-type = 1
query-cache-size = 84M # was 32M was 64M
query_cache_limit = 16M # was 1M was 8M
### Buffer size settings ###
#sort_buffer_size = 2M
# key_buffer_size is important for MyISAM tables.
key_buffer_size = 150M # was 16M
#join_buffer_size = 16M # was 2M
thread_cache_size = 8
# table_cache: Approximate by taking max_connections and multiplying by the
# largest number of tables that can be open for any join.
table_cache = 2048 # was 256 was 512 was 1024
### Timing options ###
interactive_timeout = 100
wait_timeout = 20
connect_timeout = 15
### Log slow queries ###
# Make sure you create this file before you start mysql or it will not work!
# Use the this command:   touch /var/log/mysql.slow-queries.log && chown mysql:mysql /var/log/mysql.slow-queries.log
log-slow-queries=/var/log/mysql.slow-queries.log
# Duration a query must run (in seconds) to get logged
long_query_time = 1
### InnoDB settings ###
# for InnoDB settings; They largely depend on your application.
innodb_buffer_pool_size = 1G
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
open_files_limit = 8192
[isamchk]
key_buffer = 64M
sort_buffer = 64M
read_buffer = 16M
write_buffer = 16M
[myisamchk]
key_buffer = 64M
sort_buffer = 64M
read_buffer = 16M
write_buffer = 16M
Modificamos el .htacces para activas la compresión:
<IfModule mod_deflate.c>

############################################
## enable apache served files compression
## http://developer.yahoo.com/performance/rules.html#gzip

    # Insert filter on all content
    SetOutputFilter DEFLATE
    # Insert filter on selected content types only
    #AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript

    # Netscape 4.x has some problems...
    BrowserMatch ^Mozilla/4 gzip-only-text/html

    # Netscape 4.06-4.08 have some more problems
    BrowserMatch ^Mozilla/4.0[678] no-gzip

    # MSIE masquerades as Netscape, but it is fine
    BrowserMatch bMSIE !no-gzip !gzip-only-text/html

    # Don't compress images
    SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary

    # Make sure proxies don't deliver the wrong content
    Header append Vary User-Agent env=!dont-vary

    php_flag zlib.output_compression on

</IfModule>

Fuentes:

http://www.magentocommerce.com/wiki/1_-_installation_and_configuration/magento_installation_guide

http://techportal.inviqa.com/2011/03/08/optimising-magento-for-performance/#tuner