Como instalar Joomla desde Cero en 4 capítulos

Comienzo aquí otro tutorial, esta vez sobre como instalar Joomla en nuestro servidor desde cero. La idea es ayudar al novato sobre cómo subir, instalar, configurar y segurizar un sitio creado con este genial CMS, pero en definitiva lo va a ayudar a crear cualquier sitio web…

Es amplio porque abarcará cualquier tipo de hosting/servidores, es decir, para los que tienen Cpanel todo será más fácil y para los que no lo tienen el tutorial les ayudará bastante en todo su trabajo porque hasta inclusive explicaré como subir desde FTP por líneas de comandos.

Van a ser varios capítulos así que a no desesperarce porque lleva tiempo. Se agradecen desde ya comentarios -buenos y malos-, correcciones, ampliaciones, etc. Ahora bien, si buscan un tutorial abreviado de como instalar joomla 3 hacer clic aquí.

Capítulo I – Aclaraciones – Objetivos – Requisitos de Como instalar joomla

Este tutorial de como instalar joomla está enfocado para el que no sabe nada y recién se inicia no solo en Joomla sino también en armar una página web y subirla a un servidor. Para el avesado en la materia tal vez le amplíe el horizonte o simplemente le sirva como repaso a sus conocimientos.

“No se la crean que la saben todas porque como siempre me digo parafraseando a un viejo catecismo de la iglesia católica: “en informática siempre somos principiantes”.”

El objetivo es darle una manito al que está dando sus primeros pasos en su camino al título de webmaster :-).

Hecha las aclaraciones previas del tutorial de como instalar joomla, vamos a las papas. Para saber como instalar Joomla, la mayoría de los que tienen en sus servers Cpanel utilizan el Fantástico -un genial sistema de scripts de instalación, y luego lo actualizan copiando los archivos corregidos a traves de su cliente preferido FTP para dejarlo con la última versión.

Demás está decir que esto hay que hacerlo con frecuencia para evitar problemas de seguridad. Es una sana costumbre darse una vueltita por Joomla Security (http://developer.joomla.org/security.html) y enterarse qué novedades hay al respecto y hacer lo que nos dicen. Como lo hacemos con nuestro sistema operativo (ahh.. ¿no lo estas haciendo?… entonces eres candidato a que se te pegue algún virus o te hackeen).

Otros, dentro de los que me incluyo, “subimos” el último paquete completo y procedemos a su instalación de forma manual. Los menos, contratan un servicio de hosting especializado en Joomla! con todo el sistema preinstalado (esto último se lo llama “sacarle dinero a los giles”).

En los capítulos siguientes de como instalar joomla, vamos a ver cómo cargar Joomla! e instalarlo desde cero, inclusive “replicarlo”, usando los siguientes métodos:

  1. El más sencillo: Un cliente FTP (veremos desde GNU/Linux y desde XP o Vista).
  2. Más complicado: Por la consola linuxera y su shell (¡aguante el pingüino!).
  3. Igual de más complicado: Línea de comandos desde Windows 7 (que también tiene línea de comandos… ahh ¿no lo sabían? jejejejeje).

Nota: No explicaremos cómo usar Fantástico de Cpanel ya que es facilísimo, solo hay que ir hasta el enlace y seguir las intrucciones. Nos va guiando paso a paso y preguntando todo, así que no vale la pena dedicarle texto a eso.

Requisitos a Nivel Servidor

Tener instalado en el servidor (léase también en nuestro servicio de alojamiento) lo siguiente :

PHP 7.3 o superior: cuanto más nueva la versión mejor. Me ha tocado tener que actualizar PHP porque algunos módulos o componentes utilizaban funciones de PHP7, que con PHP 5 no funcionaban (son los menos, pero pasa).

Si tienen el último mejor que mejor, inclusive pueden pedirles a su proveedor de hosting que se los actualice.Les aclaro que a veces el proveedor les cambia directamente de server como me ha tocado. En estos casos hay que hacer una copia de seguridad completa y luego restaurarla en el server nuevo, sino saben cómo transferir un Joomla completo de un server a otro, avisen y armo un tuto para la próxima.

MySQL 5.6 o superior: Ya con esta versión funciona porque Joomla! no necesita integridad referencial como otros programas. Simplemente almacena datos en tablas indexadas y relacionadas.

El motor MyISAM usado por Joomla! y por muchas otras aplicaciones de la dupla PHP-MySQL es uno de los más veloces justamente por eso, porque no tiene que revisar la integridad referencial.

Y se preguntarán qué es integridad referencial, pues bien, lean aquí ya que no me voy a detener en esto. A partir de la versión 4 MySQL trae además de MyISAM el motor InoDB que sirve para otros usos, como en mi caso que programo con Powerbuilder sobre MySQL v5 porque necesito si o si integridad referencial, transacciones y clustering.

Apache 2.2 o superior: Apache es “EL” servidor web por excelencia, utilizado según Netcraf en el 80% de los servicios de hosting en el mundo entero.

Hasta el mismísimo Microsoft lo utiliza. Existen dos ediciones de este servidor la 1.x.x que es aquella especialmente optimizada, actualizada, etc. para plataformas *nix (aunque dicen que funciona igual en otros sistemas operativos ¿?) y otra, la 2.x en la que introdujeron cambios para que puedan usarse en otros sistemas operativos (XP por ejemplo).

Igualmente éste no es un problema nuestro sino que de nuestro servicio de hosting que inclusive pueden usar algún otro servidor web como Cherokee o Lighttpd que también son excelentes y derivados de Apache.

Lighttpd es mi preferido porque “¡¡¡ vuela!!!”.

Para ampliar datos pueden leer en los siguientes enlaces:

Finalmente quiero decirles algo que resulta obvio pero que la mayoría no le da importancia: Cuánto más sepamos sobre nuestra plataforma de trabajo mejor podremos resolver los problemas que se nos presenten.

Lean y aprendan todo lo que puedan sobre estos tres programas porque es la base de Joomla!, sobre lo que funciona y sobre lo que está hecho. Es como andar en bicicleta sin saber darle pedal, andas hasta que te caes y no sabes por qué: ¡¡¡ estudien !!!

Demás está decir que además de esto debemos tener nuestro nombre de usuario y contraseña para entrar al Cpanel o al servidor MySQL a mano.

Requisitos a Nivel Personal

Tener al menos 2 neuronas activas y sino seguir este tutorial paso a paso.

Una vez instalado todo estudien a fondo XHTML, PHP, MySQL y Apache, 😉

Divulguen lo que saben. A todos alguien nos ayudó, devuelvan ese acto de generosidad respondiendo en foros, contribuyendo económicamente en los proyectos, escriban tutoriales como este.

“Lo mejor fue, es y seguirá siendo GNU”.

170px-Heckert_GNU_white.svg

Averiguando qué versiones de los programas tenemos instalados

El método más fácil es preguntarle a quién le contratamos el servicio de alojamiento pero hay otras alternativas. Si tenemos Cpanel verán las versiones en la barra lateral y sino tiene Cpanel hagan como les indico a continuación.

Para saber qué Apache tienen vayan al navegador y pongan: http://www.midominio.com/pepe.html (donde pepe.html es una página que realmente no existe) y les devolverá algo como esto:

Ver versión de Apache

Para saber qué versión de PHP hay armen un archivo con el siguiente código adentro y llámenlo “phpinfo.php” (hay otros más fáciles pero este usa la clase phpinfodisplay que trae php y queda mejor presentado):

ob_start();
phpinfo();
preg_match ('%(.*?).*?(.*)%s', ob_get_clean(), $matches);
# $matches [1]; # Style information
# $matches [2]; # Body information
echo "\n",
join( "\n",
array_map(
create_function(
'$i',
'return ".phpinfodisplay " . preg_replace( "/,/", ",.phpinfodisplay ", $i );'
),
preg_split( '/\n/', $matches[1] )
)
),
"\n",
$matches[2],
"\n
\n";
?>

Después lo suben por FTP (sino saben subir lean más adelante el tutorial) a la raíz de su sitio y lo “llaman” desde cualquier navegador y van a ver algo como esto:

Información de PHP

¿Qué bonito no? 🙂

Para saber qué versión del servidor MySQL tenemos, hagan como el caso anterior, creen un archivo llamado “msqlversion.php” con el siguiente código (lo suben a la web y lo llamand el navegador):

function find_SQL_Version () {
$output = shell_exec ( 'mysql -V' );
preg_match ( '@[0-9]+\.[0-9]+\.[0-9]+@' , $output , $version );
return $version [ 0 ];
}
echo 'Tu versión de MySQL es ' . find_SQL_Version ();
?>

Capítulo II – Creando la base de datos

Seguimos con el tutorial de como instalar joomla… Para el neófito, Cpanel es un script de administración de sitios pero citemos a Wikipedia que lo dice mejor que yo:

cPanel (acrónimo de control Panel) es una herramienta de administración basado en tecnologías web para administrar sitios de manera fácil, con una interfaz limpia. Se trata de un software no libre disponible para un gran número de distribuciones de Linux que soporten RPM, como SuSE, Fedora, Mandriva, etc.

El soporte preliminar es para Debi-an, se debió solicitar que saliera del estado beta por varios años, y para el cual no posee soporte. cPanel se accesa en los puertos 2082 y 2083 (para versiones de SSL). La autenticación es por HTTP o una página de ingreso.

Se diseñó para el uso comercial de servicios de web hosting, es por esto que la compañía no lo ofrece con licencia de uso personal. Sin embargo, los dueños de organiza-ciones sin fines de lucro, como instituciones educacionales y caridad pueden solicitar una licencia sin costo.
Está disponible sólo para sistemas operativos basados en Linux, pero las versiones para Solaris, Microsoft Windows y Mac OS X está desarrollándose.

Si bien Cpanel tiene muchísimos usos, aquí nos vamos a centrar solo en algunos que serán aquellos que nos sirvan para Joomla. Lamentablemente hay poca información en castellano al respecto de Cpanel, los mejores manuales están en inglés. Eso es porque se supone que la persona que lo usa tiene conocimientos amplios de servidores web.

Vista parcial general de Cpanel.
Vista parcial general de Cpanel
Muchos hosting limitan la creación de bases de datos. Generalmente no dan más de 2. Si ya las tienes ocupadas con otros script o programas, no te preocupes, puedes instalar Joomla igual. Ve al capítulo “Instalando Joomla en una base de datos usada”. Por ahora supondremos que no tienes nada instalado.

Usaremos primero el siguiente bloque del menú de Cpanel:

Bases de Datos Cpanel

 

Paso 1 – Opción Más Fácil:

Cliqueamos en el botón/enlace MySQL Bases de Datos y veremos algo como esto:

Crear bd por Cpanel
Ponemos el nombre que le queremos dar a nuestra base de datos en el casillero “Nueva Base de Datos” y le damos al botón “Crear Base de Datos”. Usen nombres fáciles y cortos. Poner por ejemplo: “mi_base_de_datos_joomla” es poco menos que estúpido si solo vamos a tener 1 o dos DB. Igualmente el límite son 122 caracteres pero no abusen, es poco práctico.

Paso 2 – Opción fácil

Cliqueamos en el botón/enlace que dice “phpMy Admin” y nos va a aparecer algo como esto:
Vista de PHPMyAdmin

Cliqueamos en en enlace “Bases de datos” y buscamos esto:

Crear BD por PHPMyAdmin
En el casillero ponemos el nombre que le queremos dar a nuestra base de datos y presionamos crear. Listo, ya tenemos creada nuestra base de datos.

Paso 3 – Opción difícil por línea de comandos en GNU/Linux

Ingresamos a traves de la consola del shell y nos logueamos como “root”, ya sea con su, sudo, sux, etc., o como usuario si tenemos privilegios y ponemos lo siguiente:
root@tuxserver:/# mysql –u root –p//reemplazar root con el nombre del usuario
y le damos ENTER. Nos preguntará la contraseña, se la ingresamos, le damos ENTER y veremos la bienvenida del servidor de DB, algo como esto:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 319
Server version: 5.0.51a-24 (Debian)
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql>
Para crear la base de datos ingresen donde está el cursor, el siguiente comando
mysql> create database prueba;
Y nos dará como salida:
Query OK, 1 row affected (0.00 sec)
Aquí cabe destacar algunos detalles: en primer lugar cada comando ingresado a la base de datos debe terminar con “;” o con “\g”, como lo dice en el mensaje de bienvenida. Por otra parte hay que tener mucho cuidado con las mayúsculas y minúsculas ya que a diferencia de Windows en GNU/Linux éstas se interpretan de manera diferente.
Por ejemplo:
create database administracion;
Create DataBase administracion;
Aquí, en GNU/Linux la segunda línea de comandos se interpreta como un error.
Por si nos equivocamos, para borrar la base de datos, ingresamos:
mysql> drop database prueba;
Y nos dará como salida:
Query OK, 0 rows affected (0.00 sec)
Atención: “dropear” una base de datos elimina todas las tablas contenidas. Si por ejemplo tenías la base de datos “prueba” con un Joomla instalado se borrará absolutamente todo y no tiene “deshacer” como Windows, no hay vuelta atrás.
Para listar las bases de datos usamos:
mysql> show databases;
Y nos dará como salida:
+——————–+
| Database |
+——————–+
| information_schema |
| basededatos1 |
| basededatos2 |
| prueba |
+——————–+
9 rows in set (0.22 sec)

Capítulo III – Subiendo Joomla! con Filezilla y gFTP

Teniendo nuestra base de datos armada, lo que sigue es subir el paquete Joomla! al servidor. Para ese trabajo hay opciones, como dije anterioremente (ver capítulo I), así que vamos a ir viendo de a una, en orden de facilidad.

Subiendo Joomla por el cliente FTP Filezilla desde Windows
Sin dudas que el mejor cliente FTP es Filezilla, no solo por la gratuidad del producto (es GNU) sino por la cantidad de características que posee. Es sencillo de manejar, está en castellano, viene para Windows, GNU/Linux y MacOS también. Bájenlo e instálenlo.

Sino quieren cargar el registro de Windows usen la versión portable.
Para bajar la versión instalador hagan click aquí.
Para bajar la versión portable hagan click aquí.

Para ponerlo en castellano vayan a “Editar–> Opciones –> Idioma”.
Para configurar su cuenta ftp vayan “Archivo –> Gestor de Sitios” y verán una pantalla como la que sigue donde pueden poner todos los datos de su servidor (sino los saben tienen que pedírselo a su servicio de hosting):

Administración de sitios Filezilla

Una vez que ingresamos los datos en la ventana anterior, le damos al botón conectar y el programa, en la parte superior, nos va devolver el mensaje de bienvenida del servidor, similar a este:

Respuesta: 220———- Welcome to FTP Pendorcho [TLS] ———-
Respuesta: 220-You are user number 1 of 50 allowed.
Respuesta: 220-Local time is now 23:49. Server port: 21.
Respuesta: 220-IPv6 connections are also welcome on this server.
Respuesta: 220 You will be disconnected after 15 minutes of inactivity.
Comando: USER pepe
Respuesta: 331 User pepe OK. Password required
Comando: PASS *************
Respuesta: 230-User pepe has group access to: pepe
Respuesta: 230 OK. Current restricted directory is /
Estado: Conectado
Estado: Recuperando el listado del directorio…
Comando: PWD
Respuesta: 257 “/” is your current location
Estado: Directorio listado correctamente

Si no aparecen mensajes similares a estos es porque hubo algún problema. Le erraron en la contraseña, en el usuario, en el protocolo (algunos servidores usan FTPS en lugar del tradicional FTP), en el puerto (muchos servers tiene asignados otros puertos para FTP y no el más común que es el 21.

El protocolo SFTP -Secure FTP- se usa más en empresas para manejo interno de acceso servidores pero no sería raro que también lo implemente algún servicio de alojamiento web. De cualquier modo, en la ventana de log o de mensajes les dirá cuál es el problema. Sino es falla de uds. consulten con su servicio de hosting.

Hay cuatro formas distintas de presentar los contenidos en Filezilla que se configuran desde “Editar–> Opciones –> Interfaz”:

Configuración Filezilla

Elijan la que más les guste pero observen que siempre quedará separada la pantalla en dos partes: a la izquierda los archivos y carpetas locales, lo que sería nuestro Windows y a la derecha los archivos y carpetas remotas, nuestro servidor.

Suponiendo que ya bajamos nuestro paquete Joomla en castellano, última versión -por favor, por seguridad, no instalen versiones anteriores-, abrimos el Explorer de Windows, lo buscamos y lo descomprimimos en alguna carpeta.

Vamos a Filezilla y en la sección que nos muestra del servidor buscamos la carpeta llamada www o public_html y le damos doble click para que se abra.
En la sección que nos muestra los archivos locales buscamos la carpeta donde descomprimimos Joomla, seleccionamos todos los archivos (con el mouse o bien haciendo 1 click en la primer carpeta -administrator- y manteniendo presionada Shift hacemos 1 click en el último archivo que haya). Luego dentro de la selección hacemos un click con el botón derecho del mouse y elegimos “Subir”.

Son algo más de mil archivos así que demora un rato, hay que tener paciencia. Si todo va bien, al cabo de varios minutos, dependiendo de nuestra conexión a internet y del tráfico del servidor ya estará nuestro Joomla listo para instalar.

Aquí cabe una aclaración. Muchas veces, cuando estamos subiendo el paquete, el servidor se satura y nos corta. Esto sucede generalmente cuando estamos queriendo alojar Joomla en servidores gratuitos. Para estos casos, mejor suban de a poco y llevando un control de lo que hacen para que todo el paquete esté completamente alojado en el server, caso contrario, cuando vayamos a instalarlo nos va a tirar algún error.

Asimismo recomiendo NO utilizar hosting gratuitos para Joomla ya que es más que frecuente que no podamos instalarlo o tengamos problemas por los siguientes motivos:

  • Problemas de permisos: esto es, que no podemos cambiarle permisos a los directorios, tenemos habilitada la subida a una determinada carpeta y nada más. Hay algunos servicios que tienen un cron (tarea programada) que recorre las directorios y le cambia los permisos para mantener la seguridad. Los permisos se reestablecen cuando nos logueamos nuevamente al servidor. Esto es muy, pero muy, molesto.
  • Falta de actualización de la versión PHP y/o MySQL: Hay algunos servidores que tienen tecnología obsoleta (por eso son gratuitos) y no tienen actualizadas las versiones de PHP y/o MySQL y éstas no nos sirven para Joomla.
  • Cortes intermitentes en la conexión al servidor MySQL: A veces instalamos todo bien y queda nuestro Joomla que es un chichecito pero cuando se conectan varios usuarios se corta la conexión y nos tira mensajes de error SQL. Esto sucede porque el servidor MySQL es compartido y le ponen un límite de acceso o consumo del micro procesador o procesadores, tras lo cual, si éste es superado, se aborta la conexión.

De cualquier modo la decisión está en Uds. pero tengan en cuenta que instalar Joomla es un trabajo arduo, que requiere de muchas horas de trabajo (si queremos hacerlo bien, claro, cualquier mamarracho lo hacemos en pocos minutos) y no es para nada alentador que luego de tanto esfuerzo la web final no nos funcione. Si están seguros que el servicio es bueno, entonces adelante, si dudan no lo hagan.

También vale aclarar, para justificar el texto que puse en el primer capítulo sobre “esto se llama sacarle plata a los giles”, que hay algunos servicios de hosting que dan por cierto precio, Joomla pre-instalado.

Esto es lo que en Argentina se llama una “avivada”. Si bien el precio puede a veces justificarse porque brindan, supongamos, un gran ancho de banda para el acceso a las bases de datos, no siempre es así. No se dejen engañar, cualquier servicio medianamente decente que nos de acceso al servidor MySQL y que tenga PHP instalado sirve, y Joomla es GNU, no se paga por él.

Por otra parte la responsabilidad de los datos es siempre del usuario: el usuario es siempre responsable de hacer backups frecuentes y de mantener actualizado el software. Una cosa es que se caiga el server, entonces podemos reclamar por lo que pagamos, otra cosa es que te hackeen la web, ese es tu problema por negligente.

Subiendo Joomla por el cliente gFTP Filezilla desde GNU/Linux

Aquí no hay mucha diferencia en la forma en que se suben los archivos. Podemos decir que gFTP es un cliente muy sencillo de utilizar y con una apariencia, en cuanto a estructura, similar a Filezilla y otros por el estilo.
La interfase se ve así:

Vista general gFTP

El programa es desarrollado y mantenido por Brian Mansey de EEUU y está hecho para la distribución Debian aunque funciona en cualquiera. El sitio del creador es http://www.gftp.org.

Aquí solo debemos poner los datos de nuestro servidor en la parte superior, en los campos destinados a tal fin y nada más. Los sitios FTP a los que vamos accediendo se van guardando solos.

Tiene una configuración adicional en el menú superior “FTP –> Opciones” que presenta una pantalla así:

Pantalla de Opciones gFTP
Dede aquí podemos configurar por ejemplo el programa con el que visualizaremos o editaremos los archivos, el directorio de inicio y otras cuestiones que pueden ver leyen-do las etiquetas.

El archivo de configuración de gFTP es editable también vía procesador de texto o por consola y se encuentra en el directorio ~/.gftp (dentro del home del usuario). Este directorio es automáticamente creado cuando se ejecuta por primera vez el programa (como muchos programas linuxeros).

El archivo se llama ~/.gftp/gftprc, y adentro están almacenadas todas las configuraciones que hacemos desde esta ventana. Posee además muchos comentarios explicati-vos de cada parámetro.

Las direcciones FTP que vayamos agregando se guardan en el archivo ~/.gftp/bookmarks.

El archivo de log de la sesión está en ~/.gftp/gftp.log y es purgado cada vez que se inicia el programa.

Capítulo IV – FTP modo consola Windows

Para acceder a la consola de Windows 7, ir atecla de Windows (normalmente tiene el logotipo de Microsoft, está ubicada cerca de la tecla Alt) y la letra R y Aceptar o Enter“.

La consola Windows nos permite hacer muchísimas tareas de forma simple y sin mouse-dependencia, para los nostálgicos como yo, es como trabajar en DOS: comandos y parámetros. Hay una gran lista de comandos y funciones que podemos utilizar desde aquí, pero nos vamos a centrar en el comando FTP.

El help del comando (ftp /?) dice esto:

Transfiere archivos a y desde un equipo ejecutando un servicio Servidor de FTP (a veces llamado demonio). Ftp puede usarse interactivamente.

FTP [-v] [-d] [-i] [-n] [-g] [-s:archivo] [-a] [-w:tamañoventana] [-A] [host]

-v Suprime la presentación de las respuestas del servidor remoto.
-n Suprime el inicio de sesión automático cuando se establece.
-i Desactiva las peticiones interactivas de datos durante la transferencia de múltiples archivos.
-d Activa la depuración.
-g Desactiva el uso de comodines en nombres de archivo (ver GLOB).
-s:archivo Específica un archivo de texto que contiene comandos de FTP; los comandos se ejecutar automáticamente después del inicio de FTP.
-a Use cualquier interfaz local cuando vincule una conexión de datos.
-A Inicio de sesión anónimo.
-w:tambúfer Sobrescribe el tamaño de 4096 del búfer de transferencia predeterminado.
host Específica el nombre del host o la dirección IP del host remoto al que se conecta.

Notas:
– Los comandos mget and mput aceptan s/n/c para si/no/cancelar.
– Use Control-C para cancelar comandos.

Hay un parámetro que es muy útil y explicaré más adelante: se trata de -s:archivo que veremos cómo utilizar para hacer copias de seguridad de nuestro sitio, inclusive compactarlas o zipearlas de una forma muy sencilla y programando la tarea para que se haga sola cada cierto tiempo.

Para acceder a nuestro sitio web por FTP ponemos lo siguiente:
C:\Documents and Settings\Usuario>ftp ftp.misitio.com
o C:\Documents and Settings\Usuario>ftp 200.163.48.33

Nota: reemplazar ftp.misitio.com con el nombre de tu sitio o la IP 200.163.48.33 con la IP de tu sitio que usaste al registrar el dominio. En algunos casos no hace falta indicar ftp delante del nombre del dominio.

Al dar enter a la línea, nos va a dar como resultado:
C:\Documents and Settings\Usuario>ftp ftp.misitio.com
Conectado a ftp.misitio.com
220———- Welcome to FTP Pendorcho [TLS] ———-
220-You are user number 3 of 50 allowed.
220-Local time is now 08:07. Server port: 21.
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Usuario (ftp.misitio.com:(none)):

Allí pondremos nuestro nombre de usuario y le damos enter. Resultado:
331 User pepe OK. Password required
Contraseña:

Ponemos nuestra contraseña (la contraseña no se ve cuando la escribimos) y le damos enter. Resultado:
230-User pepe has group access to: pepe
230 OK. Current restricted directory is /
ftp>

Si observamos detenidamente veremos que es el mismo mensaje que nos devuelven los clientes que vimos: Filezilla y gFTP.

¿Qué pasa si el servidor usa otro puerto?

Por defecto el puerto que se usa es el 21 pero sino es ese, cambia la forma de ingresar y debemos hacerla así:
C:\Documents and Settings\Usuario>ftp

Es decir, sin ponerle el nombre o IP del servidor. Eso nos pondrá en la “consola FTP” tras lo cual deberemos ingresar comandos de consola admitidos por FTP. La consola FTP simplemente se ve así:
ftp>

Para saber qué comandos tiene ftp, pongan “help” (sin comillas) y presionen ENTER. Nos dará un listado como este:
!delete literal prompt send
? debug ls put status
append dir mdelete pwd trace
ascii disconnect mdir quit type
bell get mget quote user
binary glob mkdir recv verbose
bye hash mls remotehelp
cd help mput rename
close lcd open rmdir

El comando para conectarse es open y es aquí donde usaremos el puerto distinto poniendo lo siguiente, ej.:
ftp>open ftp.misitio.com 25

Tras lo cual, nos dará el mismo resultado que vimos anteriormente y nos pedirá nombre de usuario y contraseña.

¿Qué pasa si nos equivocamos de contraseña y no nos deja entrar?
– En estos casos usamos el comando “close” para cerrar la conexión y luego “open” para reabrirla y lo intentamos nuevamente.

Explicación de algunos comandos:

ls = Lista los archivos y directorios donde estamos posicionados en forma simple.
Ej.:

ftp> ls
200 PORT command successful
150 Connecting to port 57474
.
..
.MirrorSearch
.bash_logout
access-logs
bin
cgi-bin
index.htm
public_ftp
public_html
ruby
ssl
tmp
www
226-Options: -a
226 43 matches total
ftp: 447 bytes recibidos en 0,59 segundos 0,75 a KB/s.

dir = Lista los archivos y directorios donde estamos posicionados en forma detallada.
Ejemplo:

ftp> dir
200 PORT command successful
150 Connecting to port 57475
drwx–x–x 28 usuario usuario 4096 May 14 08:20 .
drwx–x–x 28 usuario usuario 4096 May 14 08:20 ..
drwx—— 3 usuario usuario 4096 Aug 6 2007 .MirrorSearch
-rw-r–r– 1 usuario usuario 24 Jul 4 2007 .bash_logout
-rw-r–r– 1 usuario usuario 191 Jul 4 2007 .bash_profile
-rw-r–r– 1 usuario usuario 13855 Feb 12 2008 index.htm
drwx—— 2 usuario usuario 4096 Oct 8 2007 logs
drwxr-xr-x 3 usuario usuario 4096 Aug 26 2007 public_ftp
drwxr-x— 17 usuario 99 4096 May 2 12:34 public_html
drwxr-xr-x 3 usuario usuario 4096 Jun 5 2008 ruby
drwx—— 3 usuario usuario 4096 Jun 5 2008 ssl
drwxr-xr-x 8 usuario usuario 4096 Mar 1 22:51 tmp
lrwxrwxrwx 1 0 0 11 Aug 8 2007 www -> pu-blic_html
226-Options: -a -l
226 43 matches total
ftp: 2908 bytes recibidos en 0,03 segundos 90,88 a KB/s.
ftp>

Observen que la primera columna nos dice los permisos de cada archivo o directo-rio. El formato en que están expresados es propio de los sistemas *nix, como GNU/Linux, y significan los siguiente:
r: Permiso de lectura
w: Permiso de escritura
x: Permiso de ejecución

Ahora expliquemos por cada carácter:
El carácter 1 : Define el tipo de fichero que puede ser:

  • – (un guión) Archivo común.
  • d : Es un Directorio
  • c : Dispositivo de caracteres (tty o impresora)
  • b : Dispositivo de Bloque (usualmente disco rígido o CD-ROM)
  • l : Enlace simbólico (lo que sería un acceso directo -para hacer una equivalencia con Windows)
  • s : Socket
  • p : Pipe

Los caracteres 2,3,4 : Usuario (owner) Establece los permisos para el dueño del archivo
Los caracteres 5,6,7 : Grupo (group) Establece los permisos para el grupo del archivo
Los caracteres 8,9,10: Otros (other) Establece los permisos para los usuarios que no en-tran en las categorías anteriores.

literal = Se utiliza para ordenar ejecución de comandos permitidos en el servidor
Este es un comando muy importante ya que a traves de él podemos cambiarle los permisos a los archivos.
Se utiliza de la siguiente forma:
Primero debemos saber qué comandos están autorizados en el servidor, para eso utilizamos el comando “remotehelp” que nos devolverá algo como esto:
ftp> remotehelp (Nota: literal help nos da el mismo resultado)
214-The following SITE commands are recognized
ALIAS
CHMOD
IDLE
UTIME
214 Pure-FTPd – http://pureftpd.org/

En este caso solo podemos utilizar esos 4 comandos: alias, chmod, idle, utime. Pero generalmente sucede es que solo chmod es el que podemos usar ya que los demás son de uso interno del demonio FTP.
El que nos interesa es chmod. Supongamos que tenemos un archivo index.php al que queremos cambiarle los permisos, debemos poner lo siguiente en la línea de comandos:
ftp> literal chmod 777 index.php

Y si todo fue bien, nos dará como resultado:
200 Permissions changed on index.php

Podemos hacer lo mismo para cambiarle los permisos a un directorio. Lo que no podemos hacer desde la consola FTP de Windows es dar permisos en forma recursiva, cosa que si podemos hacer desde la consola FTP de GNU/Linux. Esto se debe a que usamos un comando indirecto como lo es “literal” que invoca a otro comando. En cambio desde la consola linuxera usamos el comando como es, puesto que estamos hablando de los mismos sistemas operativos.

Mas adelante, luego de explicar la suba de archivos por la consola de GNU/Linux voy a comentar bien en profundidad todo el manejo de permisos de archivos y la importancia de tener bien configurada la capa FTP de Joomla, por ahora sigamos con los comandos FTP y veamos un resúmen de todos ellos por categoría de uso.

Comandos de Ayuda

  • ? : Muestra la información relativa al comando.
  • ? o help: Muestra una lista de los comandos disponibles.

Comandos de conexión

  • open (ejm.: open ftp.misitio.com) Inicia una conexión con un servidor FTP.
  • close o disconnect: Finaliza una conexión FTP sin cerrar el programa (ya visto).
  • bye o quit: Finaliza una conexión FTP y la sesión de trabajo del programa.

Comandos de Operación

  • cd : Cambia el directorio de trabajo en el servidor.
Por defecto la conexión arranca en el directorio raíz que nos autoriza el server y a partir del cual podemos hacer nuestro trabajo, coincide en la mayoría de los casos con la carpeta de usuario y ese será nuestro espacio de trabajo, solo allí podremos escribir, borrar y crear archivos y directorios.
Para hacer una equivalencia, imaginen que estamos en Windows y que el administrador solo nos permite usar la carpeta “C:\Documents and Settings\Usuario”. En el caso de los sevidores webs la carpeta a la que estamos autorizados tiene el nombre “/” y la carpeta donde debemos subir nuestros archivos es la “www” o “public_html”.
Ahora bien, ¿qué hay en el directorio usuario o “/”? Ahí se guardan todos los archivos de configuración de los programas a los que estamos autorizados en el servidor por ejemplo el webmail, el acceso a phpmyadmin, puede haber una carpeta llamada “bin” en la pueden estar los comandos a los que estamos autorizados a ejecutar en el servidor vía shell, o comandos propios, etc..
Hay que tener mucho cuidado con lo que hagamos en esta carpeta, preferentemente ni hay que tocarla salvo que seamos expertos, cualquier error que cometamos puede dejar de funcionar algún programa, inclusive nuestra propia web. Trabajaremos siempre en el directorio “www” o “public_html”, que es la carpeta que hace andar nuestra web y que es donde busca arrancar el servidor web. Si este servidor es Apache la configuración se encuentra en el archivo “httpd.conf”, pero olvídense, nunca tendremos acceso a dicho archivo, salvo que el servidor sea nuestro.

Un cambio de directorio sería: ftp> cd www
Para volver un directorio hacia atrás: ftp>cd ..
Para volver al directorio raíz: ftp> cd /

  • delete :

Borra un archivo en el servidor. Aquí tenemos que tener cuidado si nos estamos conectando a un servidor linux: hay que respetar las mayúsculas y minúsculas de lo con-trario nos dará un error y es para borrar de a un solo archivo.

  • mdelete

Idem anterior pero para borrar múltiples archivos basado en un patrón que se apli-ca al nombre. Ejemplos:
ftp> mdelete *.txt (nos borrará todos los archivos con la extensión “.txt” y nos irá pidiendo confirmación de cada uno. Sin no queremos que nos pregunte debemos usar el comando “prompt“. Ver más abajo.

  • dir: Muestra el contenido del directorio en el que estamos en el servidor (ya visto).
  • !: Permite salir a línea de comandos temporalmente sin cortar la conexión. Para vol-ver, teclear exit en la línea de comandos.
  • lcd : Cambia el directorio de trabajo local.
  • get :

Obtiene un archivo, es decir lo descarga a nuestra PC. Veamos un ejemplo:
Supongamos que queremos descargar el archivo “configuration.php” a nuestra PC para corregirlo, debemos hacer lo siguiente:
Elegimos una carpeta de nuestra PC ¿cómo?
Ponemos: ftp> ! –> Eso es para salir momentáneamente de la consola FTP y ver dónde estamos parados en nuestra PC.
Nos dará como resultado:
ftp> !
Microsoft Windows XP [Versión 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Usuario>
Desde aquí ya podemos trabajar con los comandos built-in o incorporados de Windows y hacer lo que querramos. Vamos a crear una carpeta temporal donde descargar nuestro archivo, ponemos:
C:\Documents and Settings\Usuario>md temporal (creamos la carpeta temporal)
C:\Documents and Settings\Usuario>exit (nos devuelve a la consola FTP)
Ya dentro de la consola ftp, nos cambiamos al directorio donde está “configuration.php”, generalmente “www”, ponemos:
ftp> lcd temporal
ftp> cd www
ftp> get configuration.php

Esto último nos descargará el archivo en la carpeta windows que creamos.

  • mget :

Similar a “get” pero para descargar muchos archivos, podemos usar comodines. Por ejemplo mget *, nos descargará todos los archivos de la carpeta actual. Lamentablemente el comando incorporado de FTP de Windows es muy limitado y no nos permite ni subidas ni descargas en modo recursivo (incluyendo subdirectorios).

Lo mismo sucede con el FTP de linux. Por ello es conveniente buscar alternativas. Para el caso de Windows es un poco difícil encontrar algo como la gente pero si alguno está interesado me avisa y les digo cuál pueden usar. Para el caso de GNU/linux, el mismo programa que expliqué en modo gráfico, utiliza un comando para el modo consola.

  • hash: Activa la impresión de caracteres # a medida que se transfieren archivos, a mo-do de barra de progreso .
  • ls: Muestra el contenido del directorio en el servidor.
  • prompt: Activa/desactiva la confirmación por parte del usuario de la ejecución de comandos. Por ejemplo al borrar múltiples archivos podemos ejecutar antes éste co-mando así evitamos que nos pida confirmación de cada uno, lo mismo para subidas o bajadas.
  • put : Envía un archivo al directorio activo del servidor. Este comando es similar al get con un uso idéntico, solo que se usa para subir archivos.
  • mput : Idem anterior pero para subir múltiples archivos. Tanto en este como en el anterior, no nos permiten usar el modo recursivo.
  • pwd: Muestra el directorio activo en el servidor.
  • rename : Cambia el nombre a un archivo en el servidor.
  • rmdir : Elimina un directorio en el servidor si ese directorio esta vacío. Si el directorio no está vació nos emitirá un error.
  • status: Muestra el estado actual de la conexión
  • bin o binary: Activa el modo de transferencia binario. Ver apartado siguiente donde se explica la modalidad de subida de archivos.
  • ascii: Activa el modo de transferencia en modo texto ASCII. (Ver apartado).
  • append : Continúa una descarga que se ha cortado previamente.
  • bell: Activa/desactiva la reproducción de un sonido cuando ha terminado cualquier proceso de transferencia de archivos.
  • glob: Activa/desactiva la visualización de nombres largos de nuestro PC
  • literal: Con esta orden se pueden ejecutar comandos del servidor de forma remota. Para saber los disponibles se utiliza: literal help. La vimos anteriormente.
  • mkdir: Crea el directorio indicado de forma remota
  • quote: Hace la misma función que literal
  • send : Envía el archivo indicado al directorio activo del servidor
  • user: Para cambiar nuestro nombre de usuario y contraseña sin necesidad de salir de la sesión ftp.

Modos de transferencia

Para subir archivos es importante saber de qué tipo son los que vamos a transferir ya que, sino usamos las opciones adecuadas, éstos se pueden cargar mal. Por eso, al eje-cutar la aplicación FTP, debemos acordarnos de utilizar uno de estos comandos:

• type ascii
Este es el más usado y el que está por defecto cuando abrimos el comando. Sirve para transferencias de archivos que sólo contengan caracteres imprimibles (archivos AS-CII, no de Word o similares, sino en texto puro), por ejemplo páginas HTML, archivos PHP (nuestro Joomla). Las imágenes no.

• type binary
Este tipo es usado cuando se trata de archivos comprimidos, ejecutables para PC, imágenes, archivos de audio, etc., el resto no incluído en el punto anterior.
Para saber qué tipo está actualmente definido debemos poner el comando sin parámetros, o sea “type”.

Ejemplos de cómo transferir algunos tipos de archivo dependiendo de su extensión:

Extensión type
txt (texto) ascii
html (página WEB) ascii
php (archivo PHP) ascii
jpg (imagen) binario
doc (documento) binario
ps (poscript) ascii
ZIP (comprimido) binario
tar (empaquetado) binario

Con lo explicado aquí ya estamos en condiciones de subir nuestro Joomla por líneas de comandos desde Windows 7 o XP para los que aún o usen.

8 comentarios en «Como instalar Joomla desde Cero en 4 capítulos»

  1. Pues ahi va la primera pregunta. Tengo un servidor Windows 2000 server funcionando con mi red local y con mi pagina web y mi correo.
    Se puede instalar el sistema Joomla con esta maquina?
    He buscado información sobre esto aquí, pero no encuentro nada.
    Gracias por la paciencia.

  2. conocer joomla
    Hola y disculpa mi ignorancia, tengo un breve recorrido por el mundo de paginas web, con editores como dreamweaver, algo de flash, etc.

    pero considero que joomla viene complementar en una sola herramienta todo para crear sitios verdaderamente profesionales, mi dduda es la siguiente, tengo un host que pongo aqui en este formulario, cuenta con PHP, apache y deseo saber si puedo instalar joomla aqui y posteriormente bajar templates de portales completos para editarlos y modificarlos conforme a las necesidades para mi aprendizaje??

    graicas por tu apoyo.

  3. pandora
    me he anclado aqui: Ingresamos a traves de la consola del shell y nos logueamos como “root”, ya sea con su, sudo, sux, etc., o como usuario si tenemos privilegios y ponemos lo siguiente:
    no me deja abrir la consola shell, como puedo seguir? gracias

  4. Desde donde comienzo?
    Perdon por mi ignorancia pero desde donde accedo a la info para instalar joomla? porque en el resumen de arriba no hay link ni nada y la parte que dice ¨He creado un enlace en el “Menú Tux Merlín” para que quede separado del resto de los artículos así lo pueden seguir paso a paso. ¨ no se desde donde acceder a eso.

  5. Instalar joomla 3
    Si buscas descargar el pack joomla 3 > Descarga joomla 3.9.

    Para una instalación de joomla > Instalar joomla 3.

    Este tutorial te muestra distintas opciones. Desde los enlaces que te acabo de pasar es mas directo.

    [quote name=”Tauronian”]Perdon por mi ignorancia pero desde donde accedo a la info para instalar joomla? porque en el resumen de arriba no hay link ni nada y la parte que dice ¨He creado un enlace en el “Menú Tux Merlín” para que quede separado del resto de los artículos así lo pueden seguir paso a paso. ¨ no se desde donde acceder a eso.[/quote]

Deja un comentario

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de sus datos para estos propósitos. Ver
Privacidad