Página 1 de 1

Script para cambiar los permisos de nuestra web joomla. (Permisología Joomla Linux)

Publicado: Jue Mar 29, 2018 12:23 pm
por Jaibol Santaella
¡Buenas tardes!

Hoy publicaremos un sencillo Script para linux (Obviamente) que permite verificar los permisos correctos de nuestro sitio web joomla.

Repito es muy sencillo por lo cual su explicación será breve, si desea descargarlo haga click Aquí.


Paso 01

Copie el Script dentro del directorio raíz de la página web joomla.

Código: Seleccionar todo

cp -R permisosjoomla.sh /var/www/html/mi-web
Paso 02

Cambie los permisos de su directorio

Código: Seleccionar todo

chmod -R 777   /var/www/html/mi-web/permisosjoomla.sh
Paso 03

Ejecute con el comando sh desde un terminal linux como usuario root (administrador)

Código: Seleccionar todo

sh /var/www/html/mi-web/permisosjoomla.sh
¿Que debe tener en cuenta?

1- Los directorios deben de tener permisos 755
2- Los archivos de configuración 644
3- Los archivos de estilos tales como "css" también deben llevar permisos 644.
4- Los archivos robots.txt son quienes le dicen a los buscadores (google, yahoo, bing etc) a que sitios pueden indexar y a cuales no.


Explicación del Script

Aquí simplemente estamos diciendo "Busca todos los directorios y asígnales permisos 755

Código: Seleccionar todo

find ./ -type d -exec chmod 755 {} \;
De esta manera realizamos una busqueda de los archivos php y le asignamos permisos 644

Código: Seleccionar todo

find ./ -type f -name ‘*.php’ -exec chmod 644 {} \;
Con la siguiente sintaxis:

Código: Seleccionar todo

echo '

# Directories
User-agent: *
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/

# Files
Disallow: /configuration.php
Disallow: /configuration.php-dist
Disallow: /CONTRIBUTING.md	
Disallow: /htaccess.txt
Disallow: /README.md
Disallow: /README.txt
Disallow: /web.config.txt


' > robots.txt


Agregamos las líneas al archivo robots.txt de joomla en la cual establecemos que los robot no tendrán acceso a los directorios tales cómo:
administrator, cache, bin etc etc.

Y tampoco tendrán acceso a los archivos de configuración tales como:
configuration.php, /htaccess.txt etc etc.


Es prudente que una vez que ejecuten el script lo eliminen.

Código: Seleccionar todo

rm -r /var/www/html/mi-web/permisosjoomla.sh
Recuerden que por lo general joomla al terminar la instalación genera un archivo "robots.txt.dist" el cual debes de configurar según tus necesidades y guardarlo cómo "robots.txt"

Si aun no has realizado ese cambio una pequeña parte del scripts (la ultima) no se cumplirá, por lo cual deberás hacerlo manualmente.

Ahora os dejo la publicaión del script completo, por si no desean realizar la descarga.

Código: Seleccionar todo


#/etc/bin

#Creado por Jaibol Santaella

echo 'Hola Estoy cambiando los permisos'

find ./ -type d -exec chmod 755 {} \;

find ./ -type f -name ‘*.php’ -exec chmod 644 {} \;

find ./ -type f -name ‘*.html’ -exec chmod 644 {} \;

find ./ -type f -name ‘*.css’ -exec chmod 644 {} \;

find ./ -type f -name ‘*.js’ -exec chmod 644 {} \;

find ./ -type f -name ‘*.txt’ -exec chmod 644 {} \;

find ./ -type f -name ‘*.jpg’ -exec chmod 644 {} \;

find ./ -type f -name ‘*.png’ -exec chmod 644 {} \;

find ./ -type f -name ‘*.jpeg’ -exec chmod 644 {} \;


echo 'Configurando robots.txt'

echo '

# Directories
User-agent: *
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/

# Files
Disallow: /configuration.php
Disallow: /configuration.php-dist
Disallow: /CONTRIBUTING.md	
Disallow: /htaccess.txt
Disallow: /README.md
Disallow: /README.txt
Disallow: /web.config.txt


' > robots.txt



echo 'Listo ya he terminado'



exit