J3 Engineering VPS Development and Test Site
My current development focus has centered around web development, specifically server-side technologies, based on the LAMP (Linux, Apache, MySQL, PHP) and WAMP (Windows, Apache, MySQL, PHP) platforms. This includes:
- CentOS (linux) Server (VPS), Ubuntu (linux) Server (local), and Windows 10 Pro (local).
- Apache HTTP Server - is primarily used to serve both static content and dynamic web pages.
- MySQL - is a relational database management system (RDBMS) that runs as a server.
- PHP5 - is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML.
- CakePHP - is an open source web application framework for producing web applications. It is written in PHP, modeled after the concepts of Ruby on Rails, and distributed under the MIT License.
- JavaScript - is a client-side scripting language, which means the source code is processed by the client's web browser rather than on the web server.
- MQTT - is a lightweight, publish-subscribe network protocol that transports messages between devices.
- Node.js - is an open-source, cross-platform, back-end JavaScript runtime environment that runs on the V8 engine and executes JavaScript code outside a web browser.
I am developing locally on both Windows 10 Pro and Ubuntu Server. I then deploy my applications to my VPS development and test site.
Sites Under Development
The following websites were developed utilizing CakePHP and deployed to my VPS development and test site. CakePHP is a rapid development framework for PHP that provides an extensible architecture for developing, maintaining, and deploying applications. Using commonly known design patterns like Model-View-Controller (MVC) and Object-Relational Mapping (ORM) within the convention over configuration paradigm, CakePHP reduces development costs and helps developers write less code:
Although this site was developed in CakePHP, it does not have application specific models or controllers. It utilizes the pages_controller in the cake core library and the routes.php in the application configuration directory to route to the home page.
This site is database driven and, therefore, has models, and controllers defined for it. I use an sql client (either phpmyadmin, or locally, SQuirreL client) to populate the database.
Helicon Records Site is not in production.
A proprietary, full-featured Content Management System targeting the professional services (law, accounting, consulting, etc.) market.
The database for this site can be populated using an sql client or through a CMS administrative interface; also developed within the CakePHP framework.
The following websites are for IoT experimentation and development:
A JavaScript-based MQTT client that communicates with a MQTT Broker in the cloud.
Integrated Development Environments (IDE's)
- NetBeans v8.2
- Arduino Genuino v1.8.13
Virtual Private Server
A Virtual Private Server (VPS) is a method of partitioning a physical server computer into multiple servers such that each has the appearance and capabilities of running on its own dedicated machine. Each virtual server can run its own full-fledged operating system, and each server can be independently rebooted.
I have also built a local development server based on Ubuntu (linux) Server v20.04.3 LTS.
VPS System Components
- CentOS Linux release 7.8.2003 (Core)
- PHP 5.6.40
- mysql Ver 5.6.48-88.0 (Percona)
- Apache/2.4.6 (Centos)
- PHP System Information
VPS System Utilities
- phpMyAdmin/Adminer (mysql administration)
- FileZilla (sftp)
- PuTTY (telnet/ssh)