Tabla de contenidos
Table of Contents | ||
---|---|---|
|
...
Guía del Administrador del Sistema
...
En definitiva, es imprescindible contar con las siguientes directivas establecidas en los valores indicados:
Code Block | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
mysql -u USERNAME -p PASSWORD
|
También podría utilizar la siguiente consulta SQL:
Code Block | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
<LIMIT GET POST>
Require valid-user
</LIMIT>
|
...
- Asegure su back-office
- 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". - Proteja su carpeta admin con los archivos
.htaccess
y.htpasswd
, o solicíte a su host que lo haga por usted. - No permita que su navegador mantenga rastro de su contraseña (cookie o cualquier otro).
- 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.
- Cambie el nombre de la carpeta
- Asegure su instalación PHP
- Vea los ajustes necesarios y recomendados de PHP, al principio de esta guía.
- Siempre elimine la carpeta
/install
después de haber instalado o actualizado PrestaShop. - Siempre elimine archivos inútiles del servidor de producción:
- todos los archivos
readme_xx.txt
. - el archivo
CHANGELOG
. - la carpeta
/docs
.
- todos los archivos
Prohibir el acceso a los archivos/plantillas de su tema, mediante un archivo
.htaccess
con 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 archivosmarty.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.php
y 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/' ); }
...