Child pages
  • Guía del Administrador del Sistema

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Tabla de contenidos

Table of Contents
maxLevel3

...

Guía del Administrador del Sistema

...

En definitiva, es imprescindible contar con las siguientes directivas establecidas en los valores indicados:

Code Block
html
html

extension = php_mysql.dll
extension = php_gd2.dll
allow_url_fopen = On

...

En resumen, se recomienda tener las siguientes directivas establecidas en los valores indicados:

Code Block
html
html

register_globals = Off
magic_quotes_gpc = Off
allow_url_include = Off

...

Si tiene acceso a una cuenta principal de MySQL, que puede crear otros usuarios, lo podría realizar utilizando la línea de comandos:

Code Block
html
html

mysql -u USERNAME -p PASSWORD

También podría utilizar la siguiente consulta SQL:

Code Block
html
html

mysql> USE mysql;
mysql> CREATE USER 'username'@'servername' IDENTIFIED BY 'new_password';

...

Tenemos que permitir a este usuario utilizar la base de datos "prestashop" y configurar sus derechos al mismo tiempo. Aquí le mostramos una plantilla para la consulta SQL para realizarlo:

Code Block
html
html

mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER
     > ON 'prestashop'.* TO 'new_user'@'localhost';
mysql> FLUSH PRIVILEGES;

...

Para lograr la autenticación básica en su carpeta admin, tenemos que agregar un archivo .htaccess en esa carpeta (por ejemplo, /var/www/prestashop/admin):

Code Block
html
html

AuthUserFile /var/www/.prestashop_admin
AuthName "Prestashop Admin Access"
AuthType Basic
Require valid-user
Options -Indexes

...

Aquí le ofrecemos una muestra de contenido para el archivo .prestashop_admin, con un login y una contraseña:

Code Block
html
html

login1:$apr1$/wJeliK8$e9OzgRaVL8J8wSsFBXjor1
login2:$apr1$yV65Kqqz$cFt3sV2.Q7hhLRRUJDo5a/

...

También es posible llevar a cabo restricciones de dominio e IP utilizando el archivo .htaccess:

Code Block
html
html

Order Allow, Deny
Deny from all
Allow from .myprestashop.com
Allow from 127.0.0.1

Sin embargo, usted no debe ingresar este tipo de directiva:

Code Block
html
html

<LIMIT GET POST>
Require valid-user
</LIMIT>

...

  1. Asegure su back-office
    1. Cambie el nombre de la carpeta /admin después de la instalación de PrestaShop. Esto es necesario ya que usted no podrá acceder a su administración PrestaShop si no ha realizado ese cambio. Asegúrese de escoger un nombre muy singular, lo ideal sería una mezcla de letras y números, como "my4dm1n".
    2. Proteja su carpeta admin con los archivos .htaccess y .htpasswd, o solicíte a su host que lo haga por usted.
    3. No permita que su navegador mantenga rastro de su contraseña (cookie o cualquier otro).
    4. Elija una contraseña compleja, mezclando letras, números e incluso signos de puntuación, como "5r3XaDR#". Usted puede y debe usar un generador de contraseñas, tales como el de PCTools o el de GRC.
  2. Asegure su instalación PHP
    1. Vea los ajustes necesarios y recomendados de PHP, al principio de esta guía.
  3. Siempre elimine la carpeta /install después de haber instalado o actualizado PrestaShop.
  4. Siempre elimine archivos inútiles del servidor de producción:
    1. todos los archivos readme_xx.txt.
    2. el archivo CHANGELOG.
    3. la carpeta /docs.
  5. Prohibir el acceso a los archivos/plantillas de su tema, mediante un archivo .htaccesscon el siguiente contenido:

    Code Block
    html
    html
    
    <FilesMatch "\.tpl$">
    order deny,allow
    deny from all
    </FilesMatch>
    

...

  • Habilitar caché de MySQL (o pregunte a su proveedor de host que lo haga por usted), y ofrézcale un valor alto (por ejemplo, 256M).
  • No se olvide de colocar $smarty->force_compile en "false" en el modo de producción, ya sea a través del archivo smarty.inc.php o en el back-office.
  • Siempre que sea posible, utilice un opcódigo de caché (o pregunte a su host para instalar uno), para aliviar la carga procesada por el servidor. PrestaShop es compatible con eAccelerator. Opcódigo significa "código de operación" y define el estado compilado de los archivos dinámicos, los que pueden procesar más rápido.
  • Si es posible, divida sus elementos estáticos entre diferentes dominios y subdominios, para obtener conexiones paralelas HTTP. Para colocar esto en su lugar, abra el archivo /config/defines.inc.phpy agregue estas líneas (adaptadas a sus necesidades):

    Code Block
    html
    html
    
    if ( $_SERVER['REMOTE_ADDR'] != '127.0.0.1' )
    {
      define( '_THEME_IMG_DIR_',   'http://img2.xxx.com/'       );
      define( '_THEME_CSS_DIR_',   'http://css.xxx.com/'        );
      define( '_THEME_JS_DIR_',    'http://js.xxx.com/'         );
      define( '_THEME_CAT_DIR_',   'http://img1.xxx.com/c/'     );
      define( '_THEME_PROD_DIR_',  'http://img1.xxx.com/p/'     );
      define( '_THEME_MANU_DIR_',  'http://img1.xxx.com/m/'     );
      define( '_PS_IMG_',          'http://img1.xxx.com/'       );
      define( '_PS_ADMIN_IMG_',    'http://img1.xxx.com/admin/' );
    } else {
      define( '_THEME_IMG_DIR_',   _THEMES_DIR_ . _THEME_NAME_ . '/img/' );
      define( '_THEME_CSS_DIR_',   _THEMES_DIR_ . _THEME_NAME_ . '/css/' );
      define( '_THEME_JS_DIR_',    _THEMES_DIR_ . _THEME_NAME_ . '/js/'  );
      define( '_THEME_CAT_DIR_',   __PS_BASE_URI__ . 'img/c/'            );
      define( '_THEME_PROD_DIR_',  __PS_BASE_URI__ . 'img/p/'            );
      define( '_THEME_MANU_DIR_',  __PS_BASE_URI__ . 'img/m/'            );
      define( '_PS_IMG_',          __PS_BASE_URI__ . 'img/'              );
      define( '_PS_ADMIN_IMG_',    _PS_IMG_.'admin/'                     );
    }
    

...