Tutorial: Subiendo Joomla por gFTP - Tux Merlin en la Web

Transcripción

Tutorial: Subiendo Joomla por gFTP - Tux Merlin en la Web
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
Capítulo I - Introducción
El programa gFTP es un cliente FTP “bi-modo”, es decir, podemos
utilizarlo tanto en modo gráfico en entornos X-Windows como en modo
texto en la consola pingüinera. Acompaña casi todas las distribuciones
basadas en Debian y tiene li-cencia GNU. Su autor es Brian Masney
cuya web es www.gftp.org. Es un cliente muy sencillo de utilizar pero a
la vez ultraliviano y muy eficiente. Trabaja con distintos protocolos
como http y ssh.
Ya hemos visto en algún tutorial anterior el how-to (cómo) subir
archivos con este excelente programa en modo gráfico bajo entornos
X-Windows, ahora veremos cómo utilizar el mismo pero en modo
consola. Y muchos se preguntarán para qué si en modo gráfico todo es
más fácil; y si, es verdad, pero también es cierto que algunos somos
nostálgicos y presuntuosos y queremos tener un control absoluto de lo
que estamos haciendo, comprender la profundidad de un programa es
saber cómo trabajan sus comandos.
Todos los sistemas operativos y programas con entornos gráficos nos
facilitan el trabajo diario pero también debemos saber qué es lo que
están haciendo porque ante el más mínimo error no sabemos ni por
dónde empezar.
El software opera por comandos y conocer esos comandos nos dará
sabiduría y nos hará más eficientes. Basta un caso ejemplificador para
notar la diferencia: supongamos que por algún motivo desconocido no
nos arrancan las X y tenemos urgente que subir algo a nuestra web,
¿qué hacemos?...¿un arakiri con un chip?
Para los que tenemos años en informática sabemos que el “mouse
dependency” ha atrofiado las mentes de los usuarios y el 90% ante la
falta de este periférico se ahoga en un vaso de agua ya que desconoce
por completo cómo funciona su sistema operativo. Y esto es válido no
solo para GNU/Linux sino que para Windows también. Podemos ampliar
diciendo que en modo consola muchas tareas se hacen escribiendo
una simple línea de comandos, mientras que si hacemos la misma
tarea desde las X estaríamos bastante más tiempo, pero eso después
lo podrán apreciar mejor cuando lean el manual que estoy escribiendo
página 1 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
sobre GNU/Linux y que algún día saldrá a la luz. A los efectos de este
tutorial explicaré el uso de gFTP desde Debian una de las mejores y la
más GNU distribución de Linux que existe y es, por otra parte, mi
preferida. Para diferenciar el texto de lo que se ve en consola, esto
último estará en otro color y con fuente de ancho fijo. Disfruten de este
tutorial y aprendan porque el saber no ocupa lugar y vivir preguntando
nos convierte en molestos “lammers”.
Capítulo II - Entrando en la consola
Para invocar a este programa desde la consola y en modo texto
–siempre y cuando tengamos permisos- debemos ingresar el comando
de la siguiente forma:
1 ~$ gftp-text
Resultado:
gFTP 2.0.18, Copyright (C) 1998-2003 Brian Masney <[email protected]>. Si tiene alguna pregunta, comentarios o sugerencias sobre este programa, por favor envíemelas. Puede obtener en cualquier momento las últimas noticias sobre el gFTP de mi página web en http://www.gftp.org/
gFTP se entrega sin ABSOLUTAMENTE NINGUNA GARANTÍA; para más detalles, lea el archivo COPYING. Esto es software libre, y usted puede redistri-buirlo bajo ciertas condiciones; para más detalles, lea el archivo COP-YING. Francisco Javier F. Serrador [email protected] Gustavo D. Vranjes
<[email protected]>
ftp>_
Es común que en algunas distribuciones exista un enlace simbólico con
el nombre "ftp" invocando a una alternativa del cliente FTP. Si
tenemos un enlace de este tipo podemos poner en la consola
directamente "ftp" y obtendremos un resultado idéntico al mostrado.
Para el novato en linux le explico brevemente de qué se trata esto. Un
enlace simbólico es similar a lo que en Windows se llama "acceso
directo". En el caso de linux los enlaces simbólicos pueden invocar
directamente a un programa o bien a un programa con algunos de sus
parámetros modificadores o "alternatives". Un ejemplo para clarificar:
En la distribución Antix-M8 de GNU/Linux, durante la instalación, se
crea un enlace simbólico llamado "ftp" que invoca a una "alternative"
del programa con el parámetro "-text" que lo que hace es ejecutarlo en
modo texto. El enlace simbólico se coloca en el directorio “/usr/bin”
con el nombre de ftp, de modo que ftp llama a "/etc/alternatives/ftp", a
página 2 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
su vez, dentro de este último directorio, ftp ejecu-ta el comando
"gftp-text", es decir, con el modificador "-text" (ejecución en modo
texto).
Hay muchísimos comandos que podemos invocar de esta forma, este
es solo un ejemplo que nos muestra la potencia del pingüino.
Continuando con ftp, una vez ejecutado el comando estaremos dentro
de la consola ftp como se muestra más arriba. La diferencia que hay
entre trabajar en modo consola desde GNU/Linux y desde Windows, es
que como el servidor donde tenemos alojado Joomla es linux, gFTP se
comunica en sintonía ya que estamos hablando del mismo sistema
operativo.
Nota del Autor: Si bien algunas instalaciones Joomla se hacen en
servidores Windows, en este caso estamos suponiendo que tu
instalación está en alguna distribución GNU/Linux.
Para saber de qué comandos disponemos en la consola ftp ponemos la
palabra/comando “help” y nos dará un listado encolumnado como
este:
ftp> help
Comandos soportados:
about
clear
lcd
lmkdir mkdir rename
ascii
close
lchdir lpwd
mput
rmdir
binary delete lchmod lrename open
set
cd
dir
ldelete lrmdir put
site
chdir
get
ldir
ls
pwd
chmod
help
lls
mget
quit
ftp>_
Vamos a ir viendo cada uno y su aplicación práctica a los efectos de
instalar y/o mantener Joomla. Inclusive habrá al final como bonus track
un script para realizar backups frecuentes y programados.
página 3 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
En orden de importancia el primer comando que vamos a ver es cómo
salir porque es tan vital saber cómo entrar a un programa que cómo
salir, el comando para esto es "quit" o simplemente “q”.
1
Aquí debería aparecer el prompt de la consola formado por “usuario@servidor:” para hacer referencia al usuario y al servidor local de linux. He obviado esto y solo utilizo los símbolos “~$” para hacer notar que estamos en la consola como root.
Capítulo III - Viendo las opciones del comando
Vamos a ver ahora, antes de proseguir, todas las opciones y/o
parámetros que soporta el comando. Para ello podemos usar el
comando “man” de linux de la siguiente forma:
~$ man gftp
Resultado (1):
NAME
gftp - a graphical ftp client
Trad. al ES: un cliente ftp gráfico
SYNOPSIS
gftp [options] [[proto://][ user : [pass] @] site [: port ][/
di-rectory ]]
DESCRIPTION
gFTP is a multiprotocol file transfer program for X Windows and the
console. It features support for the FTP, SSH, HTTP, and local file
system protocols, simultaneous downloads, resuming of interrupted file
transfers, file transfer queues, downloading of entire directories, ftp
and http proxy support, remote directory caching, bookmarks menu,
stop button and many more features.
Trad. al ES: gFTP es un programa de transferencia de archivos
multiprotocolo para X Windows y la consola. Cuenta con soporte para
FTP, SSH, HTTP y protocolos de sistema de archivos local, descargas
simultáneas, la reanudación de la interrupción de las transferencias de
archivos, colas de transferencia de archivos, descarga de directorios
enteros, apoyo proxy para ftp y http, caché remoto de directorios,
menú de favoritos, botón de parada y muchas características más.
página 4 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
OPTIONS
You may enter a url on the command line that gFTP will automatically
connect to when it starts up.
Trad. al ES: Puede introducir una URL en la línea de comandos que
gFTP se conectará automáticamente cuando arranca.
--help, -h Display program usage, and quit
Trad. al ES: Muestra cómo usar el programa y sale
--version, -v This will display the current version of gFTP, and exit
Trad. al ES: Esto mostrará la versión actual de gFTP y sale
--download, -d This tells gFTP to download the files and directories
spe-cified in the url passed on the command line.
Trad. al ES: Esto le dice a gFTP “descargar” los archivos y directorios
especificados en la url pasados en la línea de comandos.
user This is the username that you will login as to the remote site. If
no username is supplied, the default is to login as anonymous.
Trad. al ES: Este es el nombre de usuario que se le pedirá que ingrese
en el sitio remoto. Si no se suministra el nombre de usuario, el valor
por defecto para ingresar es “anonymous” (anónimo).
pass This is the password you will use to login to the remotesi-te. If you
do not enter a password, then gFTP will ask you for one when it
startsup. I do not recommend entering your password on the command
prompt. Anyone that has access to your machine will be able to see
your username and password with the ps(1) command. If you are
logging in as anonymous, you do not need to pass a password since
gFTP will automati cally send your email address as your password.
Trad. al ES: Esta es la contraseña que usará para acceder al sitio
remoto. Si no introduce una contraseña, a continuación, gFTP le pedirá
que la ingrese cuando inicie.No recomiendo ingresar su contraseña
desde el símbolo del sistema. Cualquier persona que tenga acceso a su
máquina va a ser capaz de ver su nombre de usuario y contraseña con
el comando ps (2). Si usted ingresó como anónimo, no es necesario
pasar una contraseña automáticamente gFTP enviará su dirección de
correo como su password.
página 5 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
site This is the remote site you want to connect to port.
Trad. al ES: Este es el sitio remoto al que desea conectarse por el
puerto.
port This is the port that the remote server is listening on. If you do
not enter a port, it will default to using the ftp port listed in the
services(5) file. If the entry doesn´t exist there, it will default to port
21.
Trad. al ES: Este es el puerto que el servidor remoto está escuchando.
Si no ingresa el puerto, por defecto se utilizará el puerto ftp que
figuran en el listado archivo de servicios(3). Si la entrada no existe, se
usará por defecto el puerto 21.
directory This is the default directory to change to once you are
connected to the remote server.
Trad. al ES: Este es el directoro por defecto a posicionarse una vez que
se conectó al servidor remoto.
FILES
~/.gftp/gftprc Per user configuration file. This file is commented very
well, so that is why there isn’t a manpage for it. Most of the options in
here can be set inside gFTP itself.
Trad. al ES: Archivo de configuración para el usuario. Este archi-vo
está muy bien comentado, por esa razón no hay un manual para él. La
mayoría de las opciones de aquí se puede configurar dentro de gFTP.
BUGS
If you find any bugs in gFTP, please report them directly to the author.
AUTHOR
Brian Masney <[email protected]> - http://www.gftp.org/
FEBRUARY 2001 GFTP(1)
Como podemos apreciar no es nada complicado usar esta excelente
herra-mienta y a continuación veremos algunos ejemplos.
página 6 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
1 He puesto en azul y apaisado con el subtítulo “Trad. al ES” la traducción al castellano del manual y en rojo los parámetros.
2 Esto se refiere a que si hay otro usuario accediendo al shell del sistema, este puede usar el comando “ps”, el cual nos muestra los procesos que están corriendo, y saber qué contraseña está utilizando. Por ejemplo, si sabemos que el usuario “pepe” está utilizando el comando gFTP podemos poner en la línea de comandos de la consola linux “ps U pepe” y nos dirá todo el comando que
introdujo para conectarse (incluyendo la contraseña) :-).
3 Se refiere al archivo llamado “services” ubicado generalmente en el directorio etc. Este archivo contiene todos los servicios del sistema activos y se indican los puertos habilitados.
Capítulo IV - Abriendo una conexión con el servidor
Observen que escribí “una” conexión, pero en realidad podemos hacer
tantas como nos permita el servidor, es decir, podemos tener tres (o
más) consolas abiertas con tres (o más) conexiones distintas y
haciendo tres (o más) trabajos distintos.
Hay varias opciones para conectarse con el servidor:
1) La más común:
Ponemos en la línea de comandos lo siguiente:
~$ gftp-text ftp.miservidor.com
Resultado:
gFTP 2.0.18, Copyright (C) 1998-2003 Brian Masney… etc… (de aquí en
más se obvian textos siguientes)
Usuario [anonymous]:_
Y aquí ya deberemos ingresar nuestro nombre de usuario y luego la
contraseña.
2) Directamente incluyendo todo
Ponemos en la línea de comandos lo siguiente:
página 7 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
~$ gftp-text
ftp://usuario:[email protected]:21/public_html/joomla
Resultado:
gFTP 2.0.18, Copyright (C) 1998-2003 Brian Masney… etc…
Buscando ftp.midominio.com
Intentando ftp.midominio.com:21
Conectado a ftp.midominio.com:21
220---------- Welcome to Servidor-FTP [TLS] ---------220-You are user number 3 of 50 allowed.
220-Local time is now 17:34. Server port: 21.
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
USER pepe
331 User pepe OK. Password required
PASS xxxx
230-User pepe has group access to: pepillos
230 OK. Current restricted directory is /
SYST
215 UNIX Type: L8
TYPE I
200 TYPE is now 8-bit binary
CWD /public_html/joomla
250 OK. Current directory is /public_html/joomla
ftp> _
3) La aconsejada:
Ponemos en la línea de comandos lo siguiente:
~$ gftp-text ftp://[email protected]:21/public_html
Resultado:
gFTP 2.0.18, Copyright (C) 1998-2003 Brian Masney… etc …
Contraseña:_
Y aquí ingresaremos nuestra contraseña, la cual no se verá mientras la
escribamos (no es como en Windows que se ven asteriscos).
página 8 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
Como acotación final podemos decir que dependiendo de nuestro
servidor deberemos, tal vez, cambiar el protocolo o el puerto. Uds.
deberán ingresar aquel que corresponda a su servicio FTP que
generalmente le es provisto por el hosting.
4) Desde la consola FTP:
Ponemos en la línea de comandos lo siguiente:
~$ gftp-text
Resultado:
gFTP 2.0.18, Copyright (C) 1998-2003 Brian Masney… etc…
ftp>_
Y aquí utilizaremos el primer comando de la consola ftp: open.
Desde la línea de comandos ftp escribimos:
open ftp://usuario:[email protected]:21/public_html/joomla
Resultado:
gFTP 2.0.18, Copyright (C) 1998-2003 Brian Masney... etc.
Buscando ftp.midominio.com
Intentando ftp.midominio.com:21
Conectado a ftp.midominio.com:21
220---------- Welcome to Servidor-FTP [TLS] ---------220-You are user number 3 of 50 allowed.
220-Local time is now 17:34. Server port: 21.
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
USER pepe
331 User pepe OK. Password required
PASS xxxx
230-User pepe has group access to: pepillos
230 OK. Current restricted directory is /
SYST
215 UNIX Type: L8
TYPE I
200 TYPE is now 8-bit binary
página 9 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
CWD /public_html/joomla
250 OK. Current directory is /public_html/joomla
ftp> _
Si queremos ir haciéndolo paso a paso, ponemos:
open ftp.midominio.com
Resultado:
Usuario [anonymous]:_
Aquí introduciremos nuestro nombre de usuario y presionamos enter.
Resultado:
Contraseña:_
Aquí ingresaremos la contraseña y presionaremos enter, luego de lo
cual, si todo ha sido correctamente escrito aparecerá la bienvenida.
Resultado:
gFTP 2.0.18, Copyright (C) 1998-2003 Brian Masney… etc…
Buscando ftp.midominio.com
Intentando ftp.midominio.com:21
Conectado a ftp.midominio.com:21
220---------- Welcome to Servidor-FTP [TLS] ---------220-You are user number 3 of 50 allowed.
220-Local time is now 17:34. Server port: 21.
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
USER pepe
331 User pepe OK. Password required
PASS xxxx
230-User pepe has group access to: pepillos
230 OK. Current restricted directory is /
SYST
215 UNIX Type: L8
TYPE I
200 TYPE is now 8-bit binary
PWD
página 10 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
257 "/" is your current location
ftp> _
Observen aquí que no le hemos puesto directorio de acceso por lo que
nos dice que nuestra actual ubicación es “/”, es decir que estamos en
la raíz de nuestro directorio “home”.
Prueben con otras variantes, las más comunes están explicadas. A
continuación comenzaremos a ver los comandos de la consola FTP.
Capítulo V - Moviéndonos como peces dentro de Tux
Siguiendo un orden de utilidad empezaremos viendo los comandos
para movernos y trabajar dentro de los directorios del server y dentro
de los directorios locales. Algunos comandos se pueden escribir
abreviadamente y son iguales.
chdir (abreviado cd)
Se utiliza para cambiarse de directorio en el servidor.
Ej.: cd /public_html/joomla
Esto nos posicionaría en el directorio remoto donde podría estar la
instala-ción de Joomla.
lchdir (abreviado lcd)
Idem anterior pero en el disco local.
Ej.: cd /documentos
Esto nos posicionaría en el directorio local “documentos”.
mkdir
Crea un directorio en el servidor remoto.
Ej.: mkdir /images/phocadownload
Esto creará el directorio “phocadownload” dentro del directorio
“images”.
página 11 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
lmkdir
Idem anterior pero en el disco local.
rmdir
Borra un directorio en el servidor remoto. Por cuestiones de seguridad
el rmdir no admite modo recursivo, es decir hay que ir borrando los
archivos y luego los directorios.
Ej.: rmdir /tmp/temporal
Borrará el directorio “temporal” siempre y cuando este esté vacío.
lrmdir
Idem anterior del disco local.
Para listar los contenidos de los directorios disponemos de los
siguientes comandos:
ls – dir
Lista los contenidos del directorio remoto donde estamos posicionados.
A diferencia de lo que vimos en el FTP de Windows, en este programa
nos muestra todos los detalles de los archivos. Ejemplo:
ftp>ls
Resultado:
drwxrwxrwx 0 0 11 ago 08 2007 ..
drwxrwxrwx pepe pepe 4096 abr 07 23:45 administrator
drwxrwxrwx pepe pepe 4096 may 24 08:24 cache
drwxrwxrwx pepe pepe 4096 abr 09 12:17 codigos
drwxrwxrwx pepe pepe 4096 may 27 16:42 components
drwxrwxrwx pepe pepe 4096 may 25 07:49 images
drwxr-xr-x pepe pepe 4096 abr 07 21:07 includes
drwxrwxrwx pepe pepe 4096 ene 12 2009 language
drwxr-xr-x pepe pepe 4096 ene 12 2009 libraries
drwxrwxrwx pepe pepe 4096 may 20 15:34 logs
drwxrwxrwx pepe pepe 4096 may 24 09:23 media
drwxrwxrwx pepe pepe 4096 may 27 16:36 modules
página 12 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
drwxrwxrwx pepe pepe 4096 abr 12 18:57 plugins
drwxrwxrwx pepe pepe 4096 abr 16 17:09 rubberdoc
drwxrwxrwx pepe pepe 4096 mar 18 13:52 templates
drwxrwxrwx pepe pepe 4096 may 27 16:40 tmp
drwxr-xr-x pepe pepe 4096 ene 12 2009 xmlrpc
-rw-r--r-- pepe pepe 2663 ene 12 2009 .htaccess
-rw-r--r-- pepe pepe 88819 abr 07 21:05 CHANGELOG.php
-r--r--r-- pepe pepe 1724 may 25 08:16 configuration.php
-rw-r--r-- pepe pepe 1175 abr 07 21:05 COPYRIGHT.php
-rw-r--r-- pepe pepe 14277 abr 07 21:05 CREDITS.php
-rw-r--r-- pepe pepe 8618 may 03 17:32 error_log
-rw-r--r-- pepe pepe 2052 ene 12 2009 index.php
-rw-r--r-- pepe pepe 304 ene 12 2009 robots.txt
ftp>
lls - ldir
Idem anterior pero del disco local.
rename
Renombra un archivo o directorio remoto.
Sintaxis: rename nombreviejo nombrenuevo
lrename
Idem anterior para archivos o directorios locales.
delete
Borra un archivo o directorio remoto. Por seguridad no admite modo
recursivo y el órden para la eliminación de archivos es primero se
borran los archivos y luego los directorios.
ldelete
Idem anterior para archivos o directorios locales.
pwd
página 13 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
Muestra en qué directorio remoto estamos posicionados.
lpwd
Idem anterior pero en el disco local.
Otros comandos simples:
about: nos muestra el “acerca de…”, es decir, quién es el autor del
programa, cómo contactarlo, etc.
clear: limpia el caché.
close: cierra la conexión con el servidor pero sin salir de la consola
gFTP. Para salir de todo se usa “quit” o “q”.
site: nos permite ejecutar comandos del servidor si disponemos
permisos.
El comando set
Esta utilidad nos permite ver las variables de configuración general de
gFTP. Las variables se configuran desde el archivo que mencionamos
anteriormente:
~/.gftp/gftprc
La ejecución de este comando nos mostrará una lista similar a esta:
startup_directory =
remote_charsets =
remote_lc_time =
cache_ttl = 3600
preserve_permissions = 1
preserve_time = 1
sort_dirs_first = 1
show_hidden_files = 1
network_timeout = 120
retries = 3
sleep_time = 30
maxkbs = 0,00
página 14 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
trans_blksize = 20480
default_protocol = FTP
enable_ipv6 = 1
local_sortcol = file
local_sortasds = ascending
remote_sortcol = file
remote_sortasds = ascending
email = tux@localhost
ftp_proxy_host =
ftp_proxy_port = 0
… etc…
Capítulo VI - Los permisos del pingüino
Antes de adentrarnos en la subida y bajada de archivos, vamos a hacer
un repaso en profundidad sobre cómo maneja los permisos el sistema
GNU/Linux y de paso veremos los comandos respectivos para cambiar
y/o asignar:
El comando a utilizar es “chmod” ("change mode") para los archivos
remotos y “lchmod” para los archivos locales.
Chmod es un comando UNIX que se encuentra en la mayoría de los
sitemas operativos GNU/Linux y similares como BSD. Este comando no
permite cambiar los permisos de acceso a un archivo, a varios o a
directorios.
Cada archivo tiene nueve clases de acceso, que pueden ser permitidos
o no. Se pueden aplicar diferentes permisos al dueño del fichero, al
grupo al que el fichero pertenece y al resto de usuarios. Cada una de
estas tres clases de usuarios (dueño, grupo, resto de usuarios) puede
tener permisos de lectura, escritura y ejecución.
Cuando subimos nuestro Joomla hay ciertos directorios y archivos a los
que le tenemos que dar determinados permisos, según sea: solo de
lectura, de escritura, de ejecución o cualquier combinación de los tres.
Un ejemplo típico es el archivo “configuration.php” el que debemos
página 15 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
poner de escritura pública para poder cambiarlo cuando lo instalamos
o modificamos y luego volver a dejarlo de solo lectura. Justamente esto
nos garantiza que estarán seguros aquellos a los que queramos
mantener a salvo de extraños.
A continuación veamos un poco el concepto de usuario en GNU/Linux
para entender mejor.
El sistema operativo *NIX esta diseñado para ser multiusuario. Por ello
*NIX permite tres niveles de acceso a los archivos, para tres categorias
diferentes de usuarios:
owner (propietario): La persona que el sistema reconoce como
dueño del archivo, el que lo creó.
group (grupo): es el conjunto de usuarios con permisos similares.
Muy usado en entornos de trabajo, es de escasa aplicación en páginas
web. Un ejemplo típico que se da en entornos de redes es el
grupo “smbgroup” que corresponde a los usuarios que utilizan Samba
para compartir archivos entre Windows y Linux.
other (otros): Cualquier otra persona.
Es un error asociar el concepto de usuario a una persona real. Se trata
de una abstracción, que se refiere no a personas sino a categorias. Por
ejemplo, si nosotros creamos un script, somos efectivamente sus
autores y propietarios; pero ese script esta destinado a la red.
Nosotros, y el resto de personas, accederan al archivo no a traves de
nuestra maquina local sino por internet. Es frecuente en los servidores
la creación de usuarios genéricos (root, www, www-user etc). En
definitiva no olvides que cuando asignas permisos a un script, el owner
puede ser cualquiera que visite la página, lo cual será necesario si
como es normal se trata de scripts que se administran via web.
Tipos de permiso de acceso
Read (lectura): Permiso para ver el archivo o directorio, sin hacer
cambios.
página 16 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
Write (escritura): Permiso de escritura: puede escribir el archivo, y
por tanto, cambiarlo.
Execute (ejecución): El archivo o directorio puede ser ejecutado. Se
usa para directorios con scripts, formularios, etc ...
Los directorios en linux como en Windows se consideran como archivos
por lo que pueden tener los mismos permisos. La diferencia es que :
• El permiso read nos deja listar los archivos de un directorio.
• El permiso write no deja añadir nuevos archivos al directorio.
• El permiso execute nos deja acceder a los archivos del directorio
¿Donde se ven los permisos?
Como vimos anteriormente, al ejecutar el comando dir o ls, este nos
mostraba una lista de los archivos/subdirectorios contenidos en el
directorio especificado.
Vamos a “descomponer” alguno para entender mejor su lectura,
tomaremos el archivo de configuración “.htacces”.
El punto que precede a los archivos en linux significa que este está
oculto.
-rw-r--r-- pepe pepe 2663 ene 12 2009 .htaccess
|/ / / | | | |
|| | | | | tamaño nombre del archivo
|| | | | |_ nombre grupo
|| | | |
|| | | |_ nombre usuario
|| | |
|| | |_ Permisos genericos
|| |
|| |_ Los siguientes tres digitos los permisos del Group
||
||___ los siguientes tres caracteres determinan los permisos del owner:
| r de read, lectura; w, write, escritura y x de execute, ejecución
|
página 17 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
|
|___ El primer carácter indica si nos encontramos ante un directorio o
un
fichero: d significa directorio, - significa fichero,
l significa link (o enlace simbólico, similar a un acceso directo en
Window)
El comando “chmod” o “lchmod” puede usarse tanto con letras
como con números, pero lo más frecuente es el uso de números.
Seguro que ya nos han dicho alguna vez “ponele permiso 777”.
Para comprender el significado de los números hay que tener en
cuenta el significado de cada número de manera que representan los
permisos según este esquema:
4= lectura
2= escritura
1= ejecución
6 (4+2)= lectura y escritura
5 (4+1)= lectura y ejecución
3 (2+1)= escritura y ejecución
7 (4+2+1)= lectura, escritura y ejecución
Es decir que para el caso de un archivo con el permiso 777 significa
que tanto el owner, group y others tienen permisos de lectura,
escritura y ejecución.
Veamos una figura:
777
│││_ Permisos de others (4+2+1)= lectura, escritura y ejecución
││_ Permisos de group (4+2+1) = lectura, escritura y ejecución
│_ Permisos de owner ((4+2+1) = lectura, escritura y ejecución
En este caso quiere decir que cualquiera que acceda a nuestra web
puede leer, escribir y ejecutar el archivo. ¿Eso significa que cualquiera
nos puede modificar el archivo? No, pero todo depende de la
configuración del servidor web (Apache o el que sea) y del archivo
.htacces ubicado en nuestro directorio remoto, que por defecto
prohibide la escritura pública. Si quieren saber un poco más al
página 18 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
respecto lean sobre configuraciones de Apache.
Veamos 2 ejemplos más de permisos:
766
│││_ Permisos de others (4+2) = lectura y escritura
││_ Permisos de group (4+2) = lectura y escritura
│_ Permisos de owner ((4+2+1) = lectura, escritura y ejecución
Unos de los más típicos en Joomla:
755
│││_ Permisos de others (4+1) = lectura y ejecución
││_ Permisos de group (4+1) = lectura y ejecución
│_ Permisos de owner ((4+2+1) = lectura, escritura y ejecución
Veamos a continuación su equivalente en letras:
0
1
2
3
4
5
6
7
=
=
=
=
=
=
=
=
--- = sin acceso
--x = ejecución
-w- = escritura
-wx = escritura y ejecución
r-- = lectura
r-x = lectura y ejecución
rw- = lectura y escritura
rwx = lectura, escritura y ejecución
Asi, en el ejemplo de antes:
rw-r--r-significa que el owner tiene permisos de lectura y escritura (rw-); el
group permisos de lectura unicamente (r--) y other, permiso de lectura
(r--). Lo que sería el equivalente en números a 644.
La sintaxis para usar chmod con texto:
chmod [ugo][+-][rwx] [nombre_archivo]
Donde [u=user, g=group y o=other]; [+/- activa o desactiva los
atributos siguien-tes] [r=read, w=write, x=execute]
página 19 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
Por ejemplo, chmod go+r index.php significa que asignamos
permisos de lectura para group y others en index.php
De esta forma solo cambiamos los atributos que especificamos, pero
no alteramos otros compatibles que pudieran estar asignados
anteriormente (por ejemplo, no modifica la atribucion anterior a group
de un permiso de ejecución).
Si queremos fijar de nuevo todos los permisos, la sintaxis sería:
chmod go=r index.php
donde asignamos a group y other permiso de lectura sobre index.php y
eliminamos cualquier otro permiso para ambos.
También se pueden utilizar comodines, por ejemplo:
chmod 644 *.php
Esto le cambiaría a todos los archivos php ubicados en el directorio
donde estamos posicionados dichos permisos.
Algunos componentes Joomla nos facilitan el trabajo de los permisos
presentándonos un cuadro para seleccionarlos. Por ejemplo el
componente “JoomlaXplorer”:
La primer columna de las r son los 4
La segunda columa de las w son los 3
La tercer columna de las x son los 1
En este ejemplo sería 777
Ampliando, tienen que ir haciendo la suma por filas:
Propietario es r+w+x=7
Grupo es r+x=5 (ya que w está desmarcado)
Público es r+x=5 (ya que w está desmarcado)
Otros cuadro común el del componente eXTplorer es este:
página 20 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
En este caso es al reves que el anterior ya que las columnas
representan los tipos de usuarios y las filas los permisos.
Capítulo VII - Subiendo y bajando archivos
Ahora pasemos a ver cómo subir nuestro Joomla al servidor o bajarnos
una copia. Los comandos para este trabajo son: put y mput para subir
y get y mget para descargar.
put
Este comando nos permite subir un solo archivo a nuestro sitio.
Sintaxis: put <nombredelarchivo>
Ej.: put configuration.php
Esto subirá el archivo configuration.php al directorio remoto donde
estemos posicionados actualmente.
mput
Nos permite subir muchos archivos usando comodines o
nombrándolos.
Ejemplos:
fpt> mput *.php
Esto nos subirá todos los archivos con la extensión php desde el
directorio local donde estemos posicionados al directorio remoto
actual.
página 21 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
fpt> mput *
Esto nos subirá todos los archivos contenidos en el directorio local
donde estemos posicionados al directorio remoto actual, incluyendo
subdirectorios.
Veamos paso a paso cómo subir nuestro Joomla.
1° - Debemos tener descargado el paquete completo supongamos en
el directorio “Documents” de nuestro escritorio home en Debian
(puede ser en cualquiera que les plazca, solo lo tomo a manera de
ejemplo).
2° - El paquete debe estar descomprimido, caso contrario lo hacemos
con el programa que más nos guste.
3° - Ingresamos a gFTP. Si al ejecutar el programa ya le pusimos el
parámetro del directorio donde vamos a instalar Joomla salten al paso
5, de lo contrario sigan leyendo el 4.
4° - Suponiendo que estamos en el raíz, es decir, que no le dimos el
parámetro de directorio a gFTP y dependiendo de dónde nos permiten
alojar los archivos nuestro hosting para vista pública deberemos
cambiarnos. Generalmente es public_html o bien www. Escribimos lo
siguiente y le damos ENTER:
ftp> cd www
Resultado:
ftp> cd www
CWD www
250 OK. Current directory is /www
PWD
257 "/www" is your current location
ftp>_
Si queremos asegurarnos ejecutamos el comando ls o dir y nos dará un
re-sultado como este:
página 22 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
ftp> ls
Cargando listado del directorio /www desde el caché
(LC_TIME=es_AR.UTF-8) --> (1)
drwx--x--x pepe pepe
4096 may 30 19:53 ..
drwxr-xr-x pepe pepe
4096 nov 10 2008 .smileys
drwxr-xr-x pepe pepe
4096 ago 06 2007 _private
drwxr-xr-x pepe pepe
4096 may 19 11:22 _vti_bin
drwxr-xr-x pepe pepe
4096 ago 06 2007 _vti_cnf
drwxr-xr-x pepe pepe
4096 ago 06 2007 _vti_log
drwxr-x--- pepe pepe
4096 ago 06 2007 _vti_pvt
drwxr-xr-x pepe pepe
4096 ago 06 2007 _vti_txt
drwxr-xr-x pepe pepe
4096 jul 26 2008 cgi-bin
drwxr-xr-x pepe pepe
4096 abr 08 19:30 js
-rw------- pepe pepe
15 jul 27 2008 .ftpquota
-rw-r--r-- pepe pepe
501 abr 04 09:35 .htaccess
-rw-r--r-- pepe pepe
10683 jul 30 2008 favicon.gif
-rw-r--r-- pepe pepe
3638 ago 11 2008 favicon.ico
-rw-r--r-- pepe pepe
1756 mar 12 16:43 index.html
ftp>_
Este listado nos mostrará donde tenemos nuestros script cgi, la
extensiones de Frontpage (por si usamos este programa para diseño),
el archivo de cuota de FTP, el archivo de acceso del servidor, etc.
Puede variar según la configuración de cada servidor hasta inclusive
puede estar vacío.
Con esto ya hemos confirmado que estamos bien posicionados en el
server, hagamos lo propio con el disco local.
Ejecutamos
ftp> lls
drwxr-xr-x
drwxr-xr-x
-rw-r--r--rw-r--r--rw-r--r--rw-r--r--rw-r--r-ftp>_
el comando lls o ldir y nos dará algo como esto:
tux
tux
tux
tux
tux
tux
tux
users
4096 may 30 21:45 ..
users
4096 may 30 22:57 joomla-v1.5.10
users
51887 mar 28 10:19 antiX-FAQ_JB.html
users
119092 feb 12 2009 installed.txt
users
166 nov 18 2005 Instrucciones.txt
users
23671 mar 28 10:19 Intifada.html
users
484705 mar 28 10:19 MEPIS-manual.html
página 23 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
Como podemos ver hay un directorio llamado “joomla-v1.5.10” que es
donde previamente descomprimí el paquete Joomla.
Me cambio a ese directorio usando el comando de consola ftp “lcd”
que sirve para cambiarse de directorio localmente, ejecuto:
ftp> lcd joomla-v15.10
5 ° - Una vez confirmadas ambas ubicaciones el comando a ejecutar es
el siguien-te:
ftp> mput *
Con esto le estoy diciendo a gFTP que me suba el contenido completo
del directorio local donde estoy posicionado al directorio remoto
actual.
Resultado:
STOR /www/CHANGELOG.php
150 Accepted data connection
| [=========================================
===============================] @ 17,38KB/s
226-File successfully transferred
226 3.671 seconds (measured here), 23.63 Kbytes per second
Transferido /home/tux/Documents/joomla-v1.5.10/CHANGELOG.php
correctamen-te a 17,38 KiB/s
SITE CHMOD 744 /www/CHANGELOG.php
200 Permissions changed on /www/CHANGELOG.php
SITE UTIME 20090328014338 /www/CHANGELOG.php
500 UTC Only
MKD /www/modules
257 "/www/modules" : The directory was successfully created
SITE CHMOD 755 /www/modules
200 Permissions changed on /www/modules
SITE UTIME 20090530230716 /www/modules
500 UTC Only
PASV
227 Entering Passive Mode (66,7,198,76,27,31)
página 24 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
STOR /www/INSTALL.php
150 Accepted data connection
………………………………………………………………………………………………
…………….. etc.
Esto continuará hasta que se carguen todos los archivos a nuestro
sitio. La demora dependenderá del ancho de banda de nuestra
conexión a internet y del nivel de congestión del servidor de destino, si
es que usamos un hosting comparti-do.
(1)Para ver el contenido de lo que hemos subido, generalmente hay
que utilizar primero el comando “clear cache” de lo contrario es muy
probable que no veamos nada. Esto puede suceder si hemos hecho
muchos ls o dir del directorio remoto. El caché de directorios nos da
mayor velocidad y va guardando en una memoria temporal los últimos
listados. Si quieren puede deshabilitarlo del archivo de configuración
de gFTP.
Una vez finalizada la suba y si ya hemos creado la base de datos
previa-mente, podemos proceder a la instalación accediendo al
navegador y poniendo la dirección de nuestro sitio, lo cual iniciará el
proceso.
Nota:
Un dato importante sobre el que muchos me han preguntado es el
referente al archivo de configuración. Una vez que suban todos los
archivos, accedan y renombren el archivo
llamado “configuration.php-dist” como “configuration.php”, es
decir, eliminen el “-dist” final. Además denle permisos 777 hasta que
finalice la instalación, luego cambien los permisos a 755. Sino hacen
esto, Joomla dará un error diciéndonos que el archivo no se puede
escribir (en realidad no existe). Igualmente, sino hacemos el paso
precedente, el instalador al final nos mostrará en una casilla de texto
cómo debería ser el archivo y tendremos que hacer un copy/paste
dentro de un archivo nuevo.
Veamos ahora cómo bajar archivos o bajarnos una copia completa de
nuestra instalación.
página 25 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
get
Este comando nos permite descargar un solo archivo a nuestro disco.
Sintaxis: get <nombredelarchivo>
Ej.: get configuration.php
Esto descargará el archivo configuration.php al directorio local donde
estemos posicionados actualmente.
mget
Nos permite descargar muchos archivos o bien, una copia completa de
Joomla. Funciona similar a mput.
Supongamos que queremos descarganos una copia completa de
Joomla.
1° - Nos cambiamos a nuestro directorio personal:
ftp>lcd /home/tux
2° - Creamos el directorio backup:
ftp>lmkdir backup
3° - Nos cambiamos al directorio creado:
ftp>lcd backup
4° - Si no estamos posicionados en el directorio remoto “www”
hacemos:
ftp>cd /www
5° - Procedemos a la descarga:
ftp>mget *
Como dije con mput esto comenzará la descarga la cual demorará
según lo mencionado anteriormente.
Esto es todo por ahora, con esto ya pueden empezar a trabajar y
operar con Joomla desde gFTP.
página 26 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
CONCLUSIONES:
Si bien el trabajo de operar por FTP por líneas de comandos parece a
primera vista más engorroso, les digo que no lo es, solo es cuestión de
costumbre ya que una vez que empecemos a trabajar de esta forma
verán que todo se hace más rápido. De cualquier modo todo va en
cuestión de gustos, la idea del tutorial era darle una explicación lo más
acertada posible para que se familiaricen con los comandos y para que
en caso de tener problemas sepan qué es lo que está pasando y cómo
resolverlo.
En el capítulo siguiente y final, como bonus track, explicaré cómo usar
gFTP para hacer backups frecuentes usando el cron (lista de tareas de
linux) y dejar que le trabajo se haga solo, ideal para webmaster.
Bonus track - Script shell para backups
Para finalizar este tutorial sobre Joomla y gFTP les dejo este script
hecho en bash shell de GNU/linux y que puede servir para descargar
una copia de la instalación de nuestro sistema (en realidad sirve para
cualquier web).
Lo podemos usar dentro del cron de linux de manera que las copias se
hagan solas cada cierto período de tiempo. Las explicaciones sobre
cómo usarlo están dentro del mismo script y sino saben nada de cron,
bájense un breve manual que hay en la sección Descargas ->Manuales
Varios. Es un muy buen trabajo de Sergio Gonzalez Durán.
Si tienen acceso shell a sus servidores pueden incluir en el mismo
script los comandos necesarios "mysql -dump... etc." para bajarse una
copia de la base de datos -como por ahí expliqué en tutoriales
anteriores- y de ese modo la copia de seguridad será mas completa.
El código es este con las explicaciones del caso para cada línea. Deben
reemplazar "usuario" con su nombre de usuario en GNU/Linux y en la
sección de gFTP con su nombre de usuario y contraseña para acceso a
página 27 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
sus servidores por FTP.
# Directorio de salida: lugar donde se almacenarála copia de seguridad
finalcompactada.
# Nombre del archivo que tomará el tar gzip
OUTPUT=/home/usuario/Documents/backup_sitiojoomla_$(date
+%Y%m%d).tgz
# Creo un directorio temporal donde almacenar la descarga
mkdir /home/tux/tempbk &
# Me cambio al directorio temporal creado
cd /home/tux/tempbk &
# Cargo la variable con el nombre del directorio temporal para usarla
luego
BUDIR=/home/tux/tempbk
# Me bajo una copia de la instalación completa de Joomla con gFTP
consola
# Debe indicar el password ya que el sript se ejecuta en segundo
plano... lo siento!
gftp-text -d ftp://usuario:[email protected]/www &
# Mostrar en la pantalla de lo que estamos por hacer
echo "Creando archivo gzip con el backup de $BUDIR al archivo
$OUTPUT"
# Creando el archivo zipeado
tar -czf $OUTPUT $BUDIR &
# Chequeando si se realizó la copia y sino mostrar error
# La variable "$?" devuelve el estado del último programa ejecutado.
# Si terminó será 0 sino mostrará algúnn mensaje de error
if [ $? == 0 ]; then
echo "El archivo:"
echo $OUTPUT
echo "ha sido creado como backup del sitio:"
página 28 / 29
Tutorial: Subiendo Joomla por gFTP
by Tux Merlin - Joomla-gnu.com
www.joomla-gnu.com
echo
else
echo
echo
echo
echo
fi
$BUDIR
"A ocurrido un problema el archivo:"
$OUTPUT
"como backup del sitio:"
$BUDIR
# Borro el directorio temporal
rm -dfr /home/tux/tempbk &
Pueden descargar el script que adentro incluye todas las explicaciones
y formas de uso de la sección descargas.
El archivo de descarga está con formato text bash-shell, deben editarlo
con Vi, Nano, Joe o el editor de texto GNU/Linux que prefieran,
cuidando que no queden salgos de línea ni nada por el estilo puesto
que de lo contrario el intérprete no lo reconocerá y dará un error.
{jd_file file==11}
página 29 / 29
Powered by TCPDF (www.tcpdf.org)

Documentos relacionados