by Garth | Jul 25, 2023 | Hosting
(VMware vSphere, Microsoft Hyper-V, Proxmox Virtual Environment (Proxmox VE), Oracle VirtualBox, Docker, Kubernetes, FreeNAS, OpenMediaVault, VMware Workstation/Fusion, Microsoft Azure, Amazon EC2, Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), DigitalOcean, Synology DiskStation, QNAP NAS, Western Digital My Cloud)
Virtualization and Storage Technologies for Website Hosting, Website Containerization, Dedicated Storage, and VM Deployments:
- Virtualization Platforms:
- VMware vSphere: Enterprise-level virtualization for server consolidation, high availability, and resource management.
- Microsoft Hyper-V: Virtualization platform for running multiple VMs on Windows servers.
- Proxmox Virtual Environment (Proxmox VE): Open-source virtualization with KVM and LXC support for data centers and cloud environments.
- Oracle VirtualBox: General-purpose virtualization software for testing and development on desktops.
- Website Containerization:
- Docker: Containerization platform for packaging applications and their dependencies for easy deployment and scalability.
- Kubernetes: Container orchestration system for automating, scaling, and managing containerized applications.
- Dedicated Storage Operating Systems:
- FreeNAS: Open-source NAS OS with support for SMB/CIFS, NFS, and iSCSI, offering data redundancy through ZFS.
- OpenMediaVault: NAS OS with a web-based interface, supporting various file sharing protocols and plugins.
- Virtual Machine Deployment:
- VMware Workstation/Fusion: Desktop virtualization for testing and development of VMs on personal computers.
- Oracle VirtualBox: General-purpose virtualization software also used for testing and running VMs on desktops.
- Microsoft Azure: Cloud platform offering VM deployment and management in the cloud.
- Amazon EC2: Cloud-based VMs on Amazon Web Services (AWS) for scalable computing.
- Cloud Hosting Services:
- Amazon Web Services (AWS): Cloud computing platform with various services, including EC2 for VMs and S3 for storage.
- Microsoft Azure: Cloud platform offering VMs, databases, and other services for website hosting and application deployment.
- Google Cloud Platform (GCP): Cloud services with Compute Engine for VMs and Cloud Storage for scalable storage.
- DigitalOcean: Cloud provider with Droplets (VMs) and Spaces for object storage.
- Network-Attached Storage (NAS) Solutions:
- Synology DiskStation: NAS solution with a user-friendly interface, supporting various services like file sharing, backups, and media streaming.
- QNAP NAS: Network storage solutions with comprehensive applications and RAID configurations for data protection.
- Western Digital My Cloud: Personal cloud storage for home users with remote access to files.
These are some of the popular virtualization and storage technologies used in the IT industry, each catering to specific use cases for website hosting, containerization, storage, and VM deployments.
by Garth | Jul 18, 2023 | Laravel Blog Posts
public function import_data(Request $request)
{
$success = true;
try {
DB::beginTransaction();
foreach ($request->array_or_object as $item) {
$record_payload = [
"name" => $item->name,
"surname" => $item->surname,
];
$record_id = $item->id ?? null;
$inserted_record = RecordModel::updateOrCreate(['id' => $record_id], $record_payload);
if (!$inserted_record) {
$success = false;
break; // Stop further processing if any insert fails
}
}
if ($success) {
DB::commit();
return ['status' => true, 'message' => 'Success, Your import has completed with no issues.'];
} else {
DB::rollBack();
return ['status' => false, 'message' => 'Unsuccessful Transaction. Not an exception.'];
}
} catch (\Exception $e) {
DB::rollBack();
$i = count($e->errorInfo) - 1;
return ['status' => false, 'message' => $e->errorInfo[$i]];
}
}
by Garth | May 15, 2023 | Laravel Blog Posts
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo for mysql
failed: Temporary failure in name resolution (SQL: select * from
information_schema.tables where table_schema = laravel and
table_name = migrations and table_type = 'BASE TABLE')
The issue has to do with the env variable DB_HOST
You need to change it. To what your localhost is configured for.
It can most likely be one of the following.
mysql
127.0.0.1
localhost
or alternatively check your docker container name for your mysql DB:
mysql_container_name
by Garth | May 11, 2023 | WordPress Blog Posts
Take note of the height restriction!
In this case we set the height for the default size of landscape images layout for the divi gallery element.
/* Gallery Image Alignment */
.et_pb_gallery_image.landscape {
display: flex;
justify-content: center;
align-items: center;
min-height: 226px;
}
by Garth | May 9, 2023 | Laravel Blog Posts
Create Project
Just use one.
The are multiple as examples.
composer create-project --prefer-dist laravel/laravel blog "11.*"
composer create-project --prefer-dist laravel/laravel blog "10.*"
composer create-project --prefer-dist laravel/laravel blog "9.*"
Generate Auth
An alternative instead of running npm run build.
Run npm run dev OR npm run watch
// With Boothstrap
composer require laravel/ui --dev
php artisan ui bootstrap --auth
npm install
npm run build
// With VUE
composer require laravel/ui --dev
php artisan ui vue --auth
npm install
npm run build
Uploading your js build to the server
If you using git and working locally and using laravel vite.
Build your project and use the below gitignore. This will push your build to the server.
The below is that if you don't include certain directories then your build files will not get uploaded and some servers don't have suffucient resources to run builds online.
So you need to build locally and upload the build via GIT.
/vendor/
npm-debug.log
yarn-error.log
public/hot
public_html/storage
public_html/hot
public/robots.txt
storage/*.key
.env
.htaccess
Homestead.yaml
Homestead.json
/.vagrant
.phpunit.result.cache
by Garth | Apr 25, 2023 | Apache Blog Posts, Hosting
First off you need access to the server terminal. Or SSH acces. If you have that then you can proceed. Else go get your Login permissions or SSH access.
Connect to your server using SSH or Cpanel terminal.
Run the following curl command to download the Node.js source code:bashCopy code
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
This will download the nvm (Node Version Manager) installation script and pipe it to the bash shell to run the script.
Once the installation is complete, run the following command to load nvm:bashCopy code
source ~/.bashrc
This will activate the nvm environment so you can install Node.js and npm.
Run the following command to install the latest version of Node.js
nvm install node
This will install the latest stable version of Node.js and npm.
Verify that Node.js and npm are installed correctly by running the following commands
node -v
npm -v
These commands should output the versions of Node.js and npm installed on your server
Keep in mind that the above steps may not work on all shared hosting providers, and some providers may not allow you to install additional software on their servers. It's always a good idea to check with your hosting provider before attempting to install software on a shared hosting server.
by Garth | Apr 16, 2023 | MySQL Blog Posts
Check Serve Status
sudo service mysql status
Start or Stop MySQL Server
service mysql stop
service mysql start
MySQL Terminal Actions
create database this_is_my_database_name;
Also, give this a read 🙂
https://www.tutorialspoint.com/starting-and-stopping-mysql-server
by Garth | Apr 16, 2023 | Apache Blog Posts
Check Apache Status
sudo systemctl status apache2
Start, Stop or Restart Apache
sudo service apache2 start
sudo service apache2 restart
sudo service apache2 stop
For other operating systems such as CentOS/Fedora
Try httpd instead of apache2
Example : systemctl status httpd
by Garth | Apr 16, 2023 | MySQL Blog Posts
You can install MySQL for Windows here.
The new MySQL install very convenient. But is made for Windows.
https://dev.mysql.com/downloads/installer/
Give this article a read for Linux
https://ubuntu.com/server/docs/databases-mysql
You can install MySQL for linux like this :
sudo apt install mysql-server
sudo service mysql status
by Garth | Apr 16, 2023 | CSS Blog Posts
The best CSS library I have ever used for mobile Optimisation!
https://getbootstrap.com/
After full time developing since 2016 I still used this one almost every project I complete. In terms of mobile optimisation. Bootstrap remains king!
It is simple and easy to learn. Allowing new developers to pick it up fast. And cutting down the work load for mobile optimisation greatly. I highly recommend BootStrap to any web developer.