Creación de una aplicación web HTML5 dinámica e implementación en un servidor web remoto con Filezilla


En los dos artículos anteriores de esta serie, explicamos cómo configurar Netbeans en una distribución de escritorio de Linux como un IDE para desarrollar aplicaciones web. Luego procedimos a agregar dos componentes principales, jQuery y Bootstrap, para que sus páginas sean amigables para dispositivos móviles y receptivas.

  1. Install Netbeans and Java to Create a Basic HTML5 Application – Part 1
  2. Creating Mobile-Friendly and Responsive Web Application Using jQuery and Bootstrap – Part 2

Como rara vez se ocupará de contenido estático como desarrollador, ahora agregaremos funcionalidad dinámica a la página básica que configuramos en la Parte 2. Para comenzar, enumeremos los requisitos previos y los abordaremos antes de seguir adelante.

Para probar una aplicación dinámica en nuestra máquina de desarrollo antes de implementarla en un servidor LAMP, necesitaremos instalar algunos paquetes. Dado que estamos usando un escritorio Ubuntu 14.04 para escribir esta serie, asumimos que su cuenta de usuario ya se agregó al archivo sudoers y se le otorgaron los permisos necesarios.

Instalación de paquetes y configuración de acceso al servidor de base de datos

Tenga en cuenta que durante la instalación se le puede solicitar que ingrese una contraseña para el usuario raíz de MySQL. Asegúrese de elegir una contraseña segura y luego continúe.

Ubuntu y derivados (también para otras distribuciones basadas en Debian):

$ sudo aptitude update && sudo aptitude install apache2 php5 php5-common php5-myqsql mysql mysql-server filezilla

Fedora/CentOS/RHEL:

$ sudo yum update && sudo yum install httpd php php-common php-mysql mysql mysql-server filezilla

Cuando se complete la instalación, se recomienda encarecidamente que ejecute mysql_secure_installation para, como es lógico, proteger su servidor de base de datos. Se le pedirá la siguiente información:

  1. Change the root password? [Y/n]. If you already set a password for the MySQL root user, you can skip this step.
  2. Remove anonymous users? [Y/n] y.
  3. Disallow root login remotely? [Y/n] y (Since this is your local development environment, you will not need to connect to your DB server remotely).
  4. Remove test database and access to it? [Y/n] y
  5. Reload privilege tables now? [Y/n] y.

Crear una base de datos de muestra y cargar datos de prueba

Para crear una base de datos de muestra y cargar algunos datos de prueba, inicie sesión en su servidor de base de datos:

$ sudo mysql -u root -p

Se le pedirá que ingrese la contraseña para el usuario raíz de MySQL.

En el indicador de MySQL, escriba

CREATE DATABASE tecmint_db;

y presione Enter:

Ahora creemos una tabla:

USE tecmint_db;
CREATE TABLE articles_tbl(
   Id INT NOT NULL AUTO_INCREMENT,
   Title VARCHAR(100) NOT NULL,
   Author VARCHAR(40) NOT NULL,
   SubmissionDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
   PRIMARY KEY ( Id )
);

y completarlo con datos de muestra:

INSERT INTO articles_tbl (Title, Author) VALUES ('Installing Filezilla in CentOS 7', 'Gabriel Canepa'), ('How to set up a LAMP server in Debian', 'Dave Null'), ('Enabling EPEL repository in CentOS 6', 'John Doe');

Agregar enlaces simbólicos en el directorio del servidor web

Dado que Netbeans, de forma predeterminada, almacena proyectos en el directorio de inicio del usuario actual, deberá agregar enlaces simbólicos que apunten a esa ubicación. Por ejemplo,

$ sudo ln -s /home/gabriel/NetBeansProjects/TecmintTest/public_html /var/www/html/TecmintTest

agregará un enlace suave llamado TecmintTest que apunta a/home/gabriel/NetBeansProjects/TecmintTest/public_html.

Por esa razón, cuando apunte su navegador a http:/localhost/TecmintTest /, verá la aplicación que configuramos en la Parte 2:

Configuración de un servidor web y FTP remoto

Dado que puede configurar fácilmente un servidor FTP y Web con las instrucciones proporcionadas en la Parte 9 - Instalar y configurar FTP seguro y servidor Web de la serie RHCSA en Tecmint, no las repetiremos aquí. Consulte esa guía antes de continuar.