Tech Junkie Blog - Real World Tutorials, Happy Coding!

Latest Posts

Friday, September 24, 2021

The beauty of Docker is that you can run a very lightweight image of another Linux distro on your host system.  In this post we will be pulling the latest image of Fedora into our docker container on our Ubuntu server.

Thursday, September 23, 2021

Sometimes you don't want to do everything with the root account.  So there are some super users who you trust as administrators.  For those users you want them to be able to run the sudo command.  A sudo command allows a user to run commands with root privileges without logging in as root.
For example something like this sudo yum update unlike the su command which prompts you for the root password.  The sudo command prompts you for the password of the logged in user.

In order for the sudo to work we have to configure the /etc/sudoers file.  There is a special command for editing the sudoers file and it's the visudo command.  This command should be used at all times when editing the sudoers file instead of a text editor.

Wednesday, September 22, 2021

 If your website starts to become popular, especially if it's not static you might noticed that the performance is starting to degrade.  The most logical step is to scale your architecture with a load balancer.  AWS offers three types of load balancers, there are:

  • Application Load Balancer
    • Protocols (HTTP, HTTPS)
    • Specializes in web applications, deals with traffic at the request level (layer 7)
      • Supports query strings, path routing, parameter routing, IP routing
    • Supports IP addresses, Lamda Functions (serverless, microservices), and containers
  • Network Load Balancer
    • Protocols(TCP, TLS, UDP, TCP_UDP) - Layer 4
    • When high performance and low latency is required
    • TLS offloading
    • Elastic IPs can be assigned
  • Classic Load Balancer
    • Protocols (TCP, SSL, HTTP, HTTPS) - Layer 4, 7
      • Old generation, not recommended unless you are running EC2-Classic instance

    In a nutshell a load balancer distributes the client's traffic among the many instances that are available in your architecture to offload the traffic so that more than one instance can share the burden of the traffic.  A health check is setup so that only the health instances can serve up traffic.




    Tuesday, September 21, 2021

    If you are developing Java EE applications, then WildFly is an excellent web application that you can set up easily.  In this post we are going to setup WildFly on a Windows machine.  The instructions should be similar for a Linux machine, it's just that the files ends with the .sh extensions.

    Here are the steps to setup WildFly on your machine:

    1. Go the WildFly website and download the latest version, https://wildfly.org/downloads/


















    Monday, September 20, 2021

     In the last post we created a new partition for a new disk that we've just added, in this post we are going to mount the partition and create a filesystem for the partition so that we can use it.  First lets check to see that we have a new partition by running the fdisk -l command














    As you can see a new partition called /dev/sdb1 has been created with 8 GB of disk space.  Now we all good to go.

    Here are the steps to mount and create a file system in Linux:

    1. First we need to create a filesystem so that the Linux system can read and write to it.  Linux uses the xfs filesystem so that's what we are going to use.  To do that we have to run the mkfs command. To make an xfs filesystem you simply type mkfs.xfs /dev/sdb1







    2. Now that we have a filesystem that Linux could understand, it is time to mount the partition so that we could use in our server.  It's a two step process to accomplish that, first you have to create a directory, type mkdir /data to create /data directory.  Then you are going to mount the partition to that directory with this command mount /dev/sdb1 /data now if you run the command df -h you will see the partition has been mounted to the /data director








    3. We still have one more step before we are finished.  Everything will work like it should, but once you reboot the settings will not persist in it's current state.  To make the settings persist we have to edit the fstab file.  So type the command vi /etc/fstab make sure you have your system backed up and you can revert back because if you messed up you will not be able to log in. When you are in the fstab file type in the following line at the end of the file

    /dev/sdb1               /data                   xfs     defaults        0       0

    The spaces are tabs, the 0s are options for file system checks on boot.  You probably don't want that, so just type 0s to skip it. Press esc and :wq! to write to the file.














    4. Reboot and run the df -h command again and you should see that the changes persist and you can use the new partition


    Friday, September 17, 2021

    One of the most common task you have to do as a Linux administrator is to add a new user.  Especially developers who always wants root access. Docker needs root access, however the person who is administering Docker is probably not the system administrator.  Most likely it will be the application developer. To accomplish this task you can use the useradd command in the Terminal session then add the new user to the Docker group.  Follow the steps below to add a new user to Ubuntu.

    Thursday, September 16, 2021

    In the previous post we created a user called "John Wallace", in this post we are going to add John and Jason into the developers group.  In any system you want to group users into groups so that you can easily assign constraints and privileges to a group of user instead of doing it one at a time.

    Wednesday, September 15, 2021

     In the previous post we went over what a load balancer is, in this post we are going to create one of types of load balancer AWS offers.  We are going to create a Classic Load Balancer, this balancer is not recommended by Amazon, you should only create this if you have to support EC2-Classic instances.

    Before we create the load balancer we need to create more than one instances with a web server because we need to test that the load balancer is able to switch.

    1. Create two instances with the user data to create Apache Web Servers with these commands in the User Data for instance, if you need the full instruction on how to create instances with User Data you can read this post

    #cloud-boothook
    #!/bin/bash
    #Use this for your user data (script without newlines)
    # install httpd (Linux 2 version)

    yum update -y 
    yum install -y httpd.x86_64 
    systemctl start httpd.service 
    systemctl enable httpd.service 
    echo "Hello world from $(hostname -f)" > /var/www/html/index.html

    We just created an index.html file to write out the hostname for testing later on


    Tuesday, September 14, 2021

    In order to host websites in Tomcat we need to create a project to host servlets.  In this post we are going to create Dynamic Web project in Eclipse.

    Here are the steps to create a web project in Eclipse:

    1. Right-click on "Servers" → "New" → "Other"

    2. Expand the "Web" node then select "Dynamic Web Project", then click "Next"→



























    Monday, September 13, 2021

     In the previous post we used the df and fdisk commands to gather storage information about our Linux system.  In this post we are going to add a new disk and partition to our system.  I am using VBox and you can create a new storage by going to settings and adding a new disk, it will be just like adding a real physical disk on a physical machine except it's virtual.  You can go to this post if you want to know how to do it

    Here are the steps to adding a new disk and creating a partition for the disk:

    1. First we want to see what the new disk is identified as in our Linux system, we can do that by typing the command fdisk -l








    As you can see the new disk is identified as /dev/sdb and it has 8 GB which is correct

    2. We want to go into the fdisk utility to work with our new disk, to do that you type fdisk /dev/sdb then press enter





    3. Press m to see all the options that are available





















    From the help menu we know that we have to use the n option to add a new partition

    4. Type n and then press Enter to get into the create partition steps

    5. You will be given a choice of the partition being a primary or extended, since this is a new disk we want to make it a primary partition, so press p and ENTER






    6. For the partition number accept the default 1 by pressing ENTER, once again it's a new disk so it's going to be the first partition on the disk

    7. Accept the default again for the first sector by pressing ENTER





    8. Accept the default again by pressing ENTER, if you want to create more than one partition and not use the entire disk you enter the size so that there's disk space left like this +4G, and it would use only 4 GB for the partition, but since we want to use the entire disk we just going to press ENTER







    A new partition has been created for the new disk.  Or have you? A lot of beginners forget to do the next step and the partition is not created even though they went to through all the steps. The final step to the process is that you have to type w to write your changes else nothing will happen.  It's just a confirmation that fdisk needs, for you to confirm that the changes are correct in the final step.





     In the next post we are going to mount the partition and create a filesystem for the new partition.

    Search This Blog