Lab 09 – WordPress to Online Installation Project

This guide will walk you through the creation of a AWS instance to host a WordPress Site on, as well as transferring a current WP instance over to a new one.

Step 1 – AWS Account Creation

The site should look something like this 🙂
  • Click Create and AWS Account in top right corner
  • Follow the steps, and create and account with the below criteria
    • on the Select a Support Plan page choose the Basic Plan with the Yellow Free Button

Step 2 – Create a Virtual Machine in AWS

In this section you will create your AWS VM.

  • First log into your AWS account
  • On the home page, click on the Launch a Virtual Machine Link, as shown on the image below
Click on the link circled in red.
  • Click Amazon Marketplace side bar and type in CentOS VM to the search bar
  • Choose the select button next to the first option CentOS Image in the results
  • ENSURE YOUR SELECTION DISPLAYS Free tier eligible in the top left corner then click continue
  • Choose the t2.micro option; shown above
  • Click Next: Configure Instance Details
  • Click Next: Add Storage
  • Change the Size of the VM to 20GiB; shown above
  • Click Next: Add Tags
  • Click Next: Configure Security Group
  • Add 2 rules
    • HTTP
    • HTTPS
  • Ensure both rules look the same as shown above
  • Click Review and Launch
  • Check that your settings look like those above
  • Click Launch
  • When prompted name your private key pair, and download a copy.
    • Keep this key safe, it is the only way you can access your machine.
  • Your VM will take a few minutes to get itself set up
  • Once set up navigate to your AWS EC2 Dashboard and click instances
  • Find your VM IP Address and note it for the Step 3

Step 2.5 – Set up Billing Alerts

In this step you will set up billing alerts to make sure you know if you are getting close to the limitations of your free instance.

  • Click your account name and select My Billing Dashboard
  • Click Billing Preferences
  • Check Receive Free Tier Usage Alerts
  • Enter your email
  • Click Save Preferences

Step 3 – Create Freenom Account and link it with AWS Instance

  • Navigate to https://freenom.com
    • this page may take a bit to load, hang in there, it will load 🙂
  • Type in your desired domain name, with top level domain name at the end.
  • Create and register your domain
  • Map your Domain Name to your AWS Instance’s IP Address

Step 4 – Set up SSH Connection

Go to this link and figure out which type of device you would like to ssh from.

Step 5 – Install LAMP on your AWS VM

Go to this link and follow the steps in this document

Step 5.5 – Finishing up

Complete the below instructions to tie up the last loose threads on your AWS instance!

  • Add the above commands at the end of this file (/etc/httpd/conf/httpd.conf) on your new AWS Instance
  • mkdir -p /www/vhosts/yourdomain.tk/httpdocs
  • mkdir -p /www/vhosts/yourdomain.tk/stats
  • mkdir -p /www/ssl-certs
  • cd /www/ssl-certs
  • openssl req -new -x509 -nodes -days 1530 -out server.crt -keyout server.key
  • yum -y install mod_ssl

Make sure your site doesn’t freak out about no real certificates by doing the below commands

  • vi /etc/selinux/config

change SELINUX= to the information listed below

SELINUX=disabled
Instantly disable:
setenforce 0
After that restart Apache:
systemctl restart httpd

Step 6 – Export WP posts from offline instance to online instance

  • Boot up your old WP site, and login
  • Click the howdy, yourname link in the top right corner
  • Click Tools; shown above
  • Click Export; shown above
  • Ensure that the All Content Checkbox is clicked
  • Click Download Export File button
  • Export your WP site!

Step 7 – Import Offline WP to AWS Instance WP

  • go to your web address for you new AWS instance,
    • my web address is lizkraft.tk
  • Set up your WP site on your new AWS; this should be your
    • new account login
    • language
  • Once you’ve created an account
  • Click the howdy, yourname link in the top right corner
  • Click Tools>Import
  • Import the export file that you downloaded in the last step

Step 8 – Profit

For this final step, I called my dad to tell him about my sweet technology chops. I even forced him to go to my website. You can call the appropriate person, and tell them how awesome you are too.

Lab 07/08

Email 1

Initial Email

Subject: We Kicked Corona Cruise Announcement

Hello all,

Thank you for your hard work recently. We would not have been able to navigate this storm without each of you putting in 100 percent at all times.

With this said, we have already begun planning for the future. A future where we continue to thank and support you, our staff for all that you have given in this time. We appreciate your work, and want to thank you for what you have done, in a physical way to represent the storm we have weathered together.

Throughout this process, we have used the analogy of us as the crew, steering our ship through the storm in order to get out again on the other side and enjoy the sunshine. Since this has become such a common analogy for us, when Cruise Company approached us offering free all-inclusive tickets for their new small series, ‘We Kicked Corona Cruises’ we had to bring this to you, and see what you thought.

To ensure the safety of all, these cruises will be offered after 4 points of criteria are met,

  • the WHO has declared that the state of pandemic/epidemic is over
  • the Canadian Government has declared the state of emergency over
  • the British Columbia Government has declared the state of emergency over
  • Acmeware has rehired 80% of it’s employees back to their original positions

The above mean that the cruises will not be offered until all the criteria are met, which may be some time from now. However, we look forward to celebrating with you when we are sure that this can be done with the utmost safety, and care in mind.  

I look forward to discussing this exciting celebration with each of you in the future once this storm has passed, in the meantime, stay well.

Best,

Liz Kraft

Job Title

email address

phone number with extension

Email 1 Initial Email Method

I chose a positive method for the first email, I varied between direct and indirect address. I chose direct for some of my writing to give answers when needed to people who would be asking questions irregardless, because let’s be honest a cruise is a bit of an odd way to celebrate employees. I chose indirect address for some areas, because I feel that it lessened the strangeness of the situation, and wanted the employees to feel that the fact that their employer was offering a celebratory cruise at an unknown time to feel less odd, and more like a gentle statement of fact.

Email 1 Reply – Negative Reply

Hi Liz,

I am writing to express my disapproval for the recent announcement of the upcoming ‘We Kicked Corona Cruises.’ I understand that at this time people are looking for something to look forward to. However, the current state of Cruises in our social consciousness leaves me feeling uncomfortable with the choices made to announce the decision to have these cruises at this time. Steering our ship through a storm, may be a funny analogy that we use in the company to describe these hard times, but I don’t feel that it is appropriate to continue it into the real world.

Best,

Gerald

Email 2

Initial Email

Subject: Update on COVID-19 Employee Sick Time/Temporary FT Position Postings

Hello all,

Thank you for your hard work recently in light of this rapid change in our industry. Your hard work has not gone unnoticed, and it is appreciated.

COVID-19 has spread rapidly, and is often a severe illness. In order to combat the spread, we have implemented the Stay Home, Keep Safe policy. This policy ensures that those who are ill at this time will be provided for until they are fit to return to work. This means that workers who are ill will have the recovery time needed, while also decreasing the spread of the virus. If you are ill at this time, please contact our HR department at email@address.com. You will be taken care of, we will be here for you.

With this said, we know that those of you still able to work have experienced increased workload. This increased workload has made it difficult to keep up with Acmeware’s IT needs, meaning that many tasks integral to our operations have been left to the wayside. We made a mistake in not hiring replacements to help on this sooner, and we are sorry. We understand that this has not been easy. Thank you for handling this with grace, and understanding. After discussion, and consultation Management has agreed to hire Temporary Full-time Positions to help in easing the workload. These positions will be hired until the beginning of June, and may be extended if the need is there. We will also be consulting with you, the people most affected, as these hires are made to ensure that you are supported fully, and do not find yourself with an overwhelming workload.

Starting next week, we will begin hiring, and training for these new positions. HR Person in HR has been assigned to help with any questions or concerns, please reach out to them at email@address.com.

Stay well,

Liz Kraft

Job Title

email address

phone number with extension

Email 2 Initial Email Method

I chose a positive direct method for the second email, as I wanted to ensure that the employees felt that the employer was taking action, but not brushing the important things under the rug.

Email 2 Reply – Positive Reply

Hi Liz,

Thank you for this email. I have been working for Acmeware for a decade now, and have seen many shifts in the way we operate in that time.

With this experience, I can say with confidence that you have handled the lack of employees due to the COVID-19 crisis in a fitting way. I accept your apology for not immediately reacting to the loss of workers, and appreciate that moving forward you are working to support us.

Thanks,

Linda

Collaborative Assignment Experience

Throughout my completion of this assignment I feel that I was reminded of the importance of certain habits when working on an assigned project. Primarily, I was reminded of the importance of reviewing the criteria of the assignment often to ensure my own clarity on the expected content. As of this version, I have now rewritten this section of the assignment 3 times from the preparation stage to the refining stage. I repeatedly misunderstood the expectations until I had ‘completed’ the assignment. Then having finished I would review the criteria, and realize that I had not achieved the actual goal of the assignment at all, as my perceived goal has shifted with my thoughts and ideas for my project.

With this said, I feel that I could have alleviated these issues had I followed a few sub-steps. Firstly, I should ensure that I request assistance orally for clarification on expectations for the assignment during class time; I had numerous opportunities to ask for clarification during class time, however, for some reason I did not other than one initial time. Secondarily, I should have focused on actively listening when the expectations are explained to me the first time, and ensure that I have listened and understood at that point in time.

Finally, I think an important reminder from this assignment was that you should always align your expectations with the reality of the situation. I had expected that the criteria of the assignment would be clear. In turn ensuring that my personal objective for the assignment was clear. However, I have not found this to be the case, as the objective for the assignment is seemingly written in two places in the document. This meant that I had to realign my expectations for this assignment to suit the reality that the criteria was not clear as I had expected it to be. I think that it is easy in the professional world to take things at face value, but ensuring you reevaluate often and base your understanding of content on the facts in the situation, as opposed to your expectations.

Email to my Collaborative Team.

Never Have I Ever – Lab 2

What was the most interesting Never Have I Ever?

I honestly didn’t find any of the never have I ever’s particularly interesting. In discussion with my group however, I did learn some interesting facts about my classmates. For example, Gage has never had a serious injury, which is interesting as he is lifeguard, and deals with serious injuries there all the time.

How do you feel your row did in terms of time compared to others?

I think our row was intelligent about how we formatted our Never Have I ever questions. We found an item between all of our members quickly that was unique and used that to our advantage. In this case, the item was Reza’s advanced age.

Why do you feel your row performed as it did?

I feel our row performed as it did because everyone was willing to communicate openly with each other. I think our row was less organized because everyone was thinking independently still.

Where the results indicative of a Storming, Norming, or Performing Team?

I think this is indicative of the Norming stage. We were open with communication, and came to good conclusions. But the work we did was still somewhat disorganized and could have used polish, as we were still confused at some points in time about what was being communicated.

Liz Kraft – LAMP and WordPress Install

Me posing with a LAMP.

Preface

This blog post will guide you through installing all components of LAMP, and WordPress.

Step 0.5

Open your Steps Recorder, and change the settings to 999 steps recorded, you’re gonna need it. Click Start Record. Now you may begin your journey.


Chapter 1 – Installing the ISO to the VM

Step 1

In the beginning I started by venturing to http://mirror.its.sfu.ca/mirror/CentOS/7.7.1908/isos/x86_64/CentOS-7-x86_64-LiveGNOME-1908.iso to acquire the correct ISO file. My intent with this was of course to create a VIRTUAL MACHINE!!!

Liz’s Top Tips

  • You should choose the appropriate mirror for your location and situation.
  • You want a copy of LiveGNOME, the living GNOME powers the graphic interface, which is very useful.
  • Download this file straight from the mirror onto your SSD so you don’t have to transfer the file later

Step 2

While I waited patiently for the successful download of the CentOS 7 LiveGNOME, I began the next step of my long journey; the creation of my virtual machine. To do this I opened my workstation’s copy of VMWare, and created a new virtual machine with these specifications.

VM Specs
4GB RAM
1 CPU
20GB HDD
NAT Networking

Liz’s Top Tips

  • Select the I will install my OS later option if your ISO isn’t downloaded yet!

Step 3

Once my CentOS ISO file had finished downloading I began the process of installation. To do this I mounted my ISO file into the disc drive on my fresh new Virtual Machine, and powered on my virtual machine.

Step 4

I waited patiently for the ISO to load, selected Start CentOS 7 and hit enter. I clicked through each step of setup choosing the appropriate options (English… Canadian), and allowed the Linux overlords to track me. Finally I got to the desktop. On the desktop I searched until I found the file titled “Install to Hard Drive”. I double clicked that file, and followed the instructions…

Liz Top Tips

  • If you don’t want to do it later configure your root password, and user profile in the waiting installation file!
Root and User Configuration while CentOS is installing.
Click on each text box to change your settings.

Step 5

Once I received the your OS has installed notification, I restarted my computer and let it boot automatically. Upon confronting the Initial Setup Page I clicked on License Agreement, and checked the “I accept the license agreement” box. You may do so if you dare. After doing this, I clicked “done”, and “finish configuration.”

The license screen
The ‘I accept the license agreement.’ box should be checked.

Step 6

At this point I shut down my VM, and took a fresh, clean, beautiful snapshot of my newly created VM in VMWare Workstation. It was glorious.

Liz’s Top Tips

  • You should take a screenshot of your VM at this point too. This will make it easier to start over in case something gets mixed up along the way.

Chapter 2 – Installing the LAMP Bundle

For a moment here I’m going to step in. At this point in your installation you are starting into the meat of things.

Installation of LAMP Stands for 4 different softwares that work together to create a software bundle.

L – Linux

A – Apache

M – MySql

P – PHP/Perl/Python; in this case the P stands for PHP.

Together these 4 softwares will form the base that you can then install WordPress off of.

It’s probably not going to work for you the first time, and you might have to redo things a few times; redoing things is okay. Follow my tips along the way and you should get through things okay 🙂 Now go have fun typing!


I logged in as ‘root’ and followed the initial setup steps this allowed me full control of system functions.

Liz’s Top Tip

  • Use your tab complete please. You’ll have less errors if you do 🙂

Pre-flight

  1. cat /etc/redhat-release
  2. yum clean all
  3. yum update
  4. answer yes to everything it prompts you for

Apache Installation

  1. yum -y install httpd
  2. firewall-cmd –permanent –add-service=http –add-service=https
  3. firewall-cmd —reload
  4. systemctl start httpd
  5. systemctl enable httpd
    Apache Installation Complete – Good Job!

MySQL + MariaDB Installation

  1. yum -y install mariadb-server
  2. systemctl start mariadb
  3. mysql_secure_installation
    • Be AWARE on this step. Read the instructions. You are creating the password for the root use of the MariaDB you just installed. Not typing in the password for the CentOS machine.
  4. Now Answer the questions that you’re asked!
  5. Root Password: Y
  6. Remove Anonymous Users: Y
  7. Disallow root login remotely: Y
  8. Remove test database and access to it: Y
  9. Reload privilege tables now: Y
  10. systemctl enable mariadb

PHP Installation

  1. yum -y install centos-release-scl.noarch
  2. yum -y install rh-php72
  3. ln -s /opt/rh/rh-php72/root/usr/bin/php /usr/bin/php
  4. yum -y install rh-php72-php-mysqlnd
  5. systemctl restart httpd

Okay take a breather. Maybe get a coffee, take a walk, you just ran a marathon. With your fingers.


Once you’re ready go to http://realtechtalk.com/PHP_72_Apache_and_Centos_7_How_To_Install-2254-articles
Here you will redo some PHP items that are mixed up in the liquidweb article.

PHP Fix

  1. yum install centos-release-scl
  2. yum install rh-php72 rh-php72-php rh-php72-php-mysqlnd
  3. Answer yes to the question!
  4. rm -Rf /usr/bin/php
  5. ln -s /opt/rh/rh-php72/root/usr/bin/php /usr/bin/php
  6. ln -s /opt/rh/httpd24/root/etc/httpd/conf.d/rh-php72-php.conf /etc/httpd/conf.d/
  7. ln -s /opt/rh/httpd24/root/etc/httpd/conf.modules.d/15-rh-php72-php.conf /etc/httpd/conf.modules.d/
  8. ln -s /opt/rh/httpd24/root/etc/httpd/modules/librh-php72-php7.so /etc/httpd/modules/

Chapter 3: WordPress

Go here for the next set of instructions.
https://www.liquidweb.com/kb/how-to-install-wordpress-on-centos-7/

  1. mysql -u root -p
    • This command logs you into your MariaDB as the root user
    • Type in the password for the MariaDB that you set earlier!
    • If you need to leave the database type ‘exit’
  2. CREATE DATABASE wordpress;
  3. CREATE USER “yourusername”@localhost IDENTIFIED BY ‘yourpassword’;
  4. GRANT ALL PRIVILEGES ON wordpress.* TO adminuser@localhost IDENTIFIED BY ‘password’;
  5. FLUSH PRIVILEGES;
  6. exit
  7. cd ~
  8. wget http://wordpress.org/latest.tar.gz
  9. tar -xzvf latest.tar.gz
  10. sudo rsync -avP ~/wordpress/ /var/www/html/
  11. mkdir /var/www/html/wp-content/uploads
  12. sudo chown -R apache:apache /var/www/html/*
  13. cd /var/www/html
  14. cp wp-config-sample.php wp-config.php
  15. gedit wp-config.php
  16. ifconfig
    • Get the inet address from ens33 interface and note it for the next step.

If your site does not work do not fear, scroll down the liquidweb WordPress article and find the troubleshooting section. This area has tips on how to troubleshoot all the common issues.


Chapter 4: Finishing Up

I arrived at the end of the typing extravaganza. It was the best moment of my life. And then as if I had just begun, it was time to test the database. I have listed the steps I followed below.

  • open firefox
  • type in http://youripaddress/wp-admin
  • You should arrive at a page that looks like thisopen firefox
  • type in http://youripaddress/wp-admin
  • You should arrive at a page that looks like this
  • Select English (Canada) or whichever language
  • Enter the relevant information
  • Make sure to note your password at this point!
  • I would recommend to not have search engines index your site
  • Click enter and log in and voila, you have a site 🙂

Congratulations Adventurer, you have made it through my journal. You are now a WordPress expert. Or at least you know how to install it…


If you would like to download a copy of the steps recordings here is the download!