HOW TO MOVE YOUR FLYWHEEL WEBSITE TO ANOTHER HOST

HOW TO MOVE YOUR FLYWHEEL WEBSITE TO ANOTHER HOST

After spending a year with Flywheel paying $15/month for hosting I decided it was time for a change.  Just so we are clear I think Flywheel is excellent  and I love their UI as well as the Local By Flywheel tool. However I could not justify the cost of paying for a website that was just sitting there collecting dust.

So in my search to find a new host I decided to hit Twitter and see if anyone had anything noteworthy to say on hosting providers.  Low and behold a few hosting companies I had never heard of before hit me up.  Prior to consulting with  Twitter I had heavily considering SiteGround as my new hosting provider.  The reason I was keen on SiteGround is because that is who we use to host clients for where I work and I wanted to become more comfortable and skilled at working on the hosting side.  However I decided to not go that route.  Instead I  decided to check out the first company that reached out to me on Twitter SetraHost.  I hadn’t heard anything about them so I decided to check out their website and social media pages.  I didn’t find anything incriminating, so I decided to check out their pricing.  It was impressive.

Their premium plan that I ended up pulling the trigger on was $4.16/month for 20 GB SSD storage, unmetered bandwidth, 10 domains hosted, 1 free domain plus the ability to make all the subdomains you want and the traditional cPanel experience.  They would even assist you with a free site migration as well ( not uncommon among hosting providers these days ).   I felt confident in my ability and wanted to do the site migration myself and forgo the free assistance.  I’d never done a site migration before , but I figured I’ve seen it done and what I’m not sure on I can Google.  

 I recommend attempting a site migration yourself when you KNOW you don’t have to worry about email.  If you or a client have been using email within a hosting environment use the free site migration the web host if offers.  They have special tools you don’t have access to.

Migrating your site the old fashioned way from FlyWheel

 

1) Boot up Transmit ( i.e. FTP Client ) and FTP into your FlyWheel directory and start transferring the files to your local environment. 

This involved dragging my site directory into my downloads folder and then going out to dinner and doing various household chores while I waited.

2) Figure out where your database file is then export it to your downloads folder.   

If you have Flywheel go here.

3) Log into your new hosting account and venture into the cPanel to create a database.   

I figured since I was going to be importing a NEW database I should probably click on the MySQL Database Wizard to create one.  For those of you who have major anxiety about making your own database below are some visuals:

4) Heading back to the cPanel with my newly created database I realized that I now have to import the database I downloaded earlier.   So to do that head over to phpMyAdmin.

phpMyAdmin

  1.  Click on the database you just created, because currently all that exists is an empty shell of nothing .
  2.  Look for an import button and click on it.
    phpMyAdmin Menu
  3. Click ‘choose file’, read through the checked options just to make sure you aren’t missing anything and then click ‘GO’.

 The first time I clicked go I had an error but that was only because I had unchecked one of the boxes, so I went through and made sure it was checked and then clicked “GO” again.  Botta bing botta boom my database was imported without a hitch.

Initially I was a little concerned about what I should name my database and whether it needed to match the database file I had downloaded.  In the end it didn’t matter.  Everything went where it needed to go.

5) Now that all the files at this point had finally made it across FTP,  go ahead and compress them and swiftly head back over to the cPanel into the ‘File Manager’.  Once there, upload the files into the root directory or public_html.

6)  Now even though my website files were in the root, the actual WordPress files were not.  They were located in a directory called shansen30 ( your directory will be different ).   So I opened up shansen30, copied all the files and then moved them to public_html.

7)  Now that you have your database imported and site files upload the next step is to connect your database.  To do that you go into the wp-config.php file which will be located in your ‘file manager‘ and look for the following:

define(‘DB_NAME’, ‘what_you_named_your_database‘);

define(‘DB_USER’, ‘your_database_username‘);

define(‘DB_PASSWORD’, ‘your_database_password‘);

Replace ‘what_you_named_your_database’ with your database name;‘your_database_username’ with your database username and finally your ‘your_database_password’ with your database password.  Save the file and exit your file manager.

8)  Now your site should be ready to go.  The very final steps involves heading over to your registrar and changing where the nameservers are pointed.  I use NameCheap.

  1.   Domain List -)  Find the domain name and then click the ‘manage‘ button next to it
  2.   Scroll down to ‘NameServers‘  click the drop down and select ‘Custom DNS
  3.   Add the host provided NameServers and save.

Check out your website,  because you are live baby!

Multisite: Setting Up A Local Environment

Multisite: Setting Up A Local Environment

When considering a multisite network for your clients you need to ask yourself two questions:

 

1) Who are my clients?  

2) How do they currently use WordPress?  

 

Asking these two questions will help you the developer, designer or agency to

determine whether or not multisite is going to be the ideal solution for your clients.

A major advantage of a multisite network is that you are working with only one

instance of WordPress which means that updates to the WordPress core, themes and

plugins will be managed more easily.  So today I would like to discuss how to set up

multisite locally so you can explore all that multisite has to offer. In this tutorial I will

review the process for creating a local site through MAMP and then jump into setting

up your very own local multisite network.

 

So let’s get started!  

 

SETTING UP MAMP

 

1) Setup MAMP

– Create a directory ( < your-directory > ) for your WordPress installation.
– Make sure MAMP is pointed to the directory you just created
– Created your database in phpMyAdmin
– Make sure the Apache port is switched to 80 and MySQL 3306.

2) Configure the hosts file

 -  Terminal sudo nano /etc/hosts -  Add ‘127.0.0.1  -  Save and exit

3) Edit ‘httpd.conf’

  - Terminal  sudo nano  /Applications/MAMP/conf/apache/httpd.conf

– Look for:

          # Virtual hosts          # Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

– Remove the ‘#’ in front of the “Include” and save the file.

4) Adding Virtual Hosts to the VHOSTS file

  - Terminal sudo nano /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
  - Copy and paste into the file:
             <VirtualHost *:80>                              ServerAdmin webmaster@your-directory.dev                    DocumentRoot “/Applications/MAMP/htdocs/"                    ServerName your-directory.dev                    ServerAlias your-directory *.your-directory.dev             </VirtualHost *:80>

At this point you should be seeing the famous five minute install screen which means you are ready 

 for WordPress installation.  You are probably having issues with MAMP and the

port settings.  Follow these steps:

1) Launch MAMP

2) Open MAMP and click on ‘Reset MAMP Ports’ and change them back to the defaults, then click ok.

3) Switch to terminal and type sudo apachectl stop

4) Restart MAMP

5) Open MAMP and set APACHE and MySQL ports to 80 and 3306

6) Switch to terminal and type sudo apachectl restart

7) Switch back to MAMP and you should be good to go.

Not seeing the famous five minute install?

 

If you are still having issues with the MySQL ports, make sure to open your ‘Activity Monitor’

and quit any instances of MySQL. If you are still having issues restart your

computer and follow steps 1 through 7 again.

 

Setting up Multisite…finally

 

I’m assuming you went through the five minute install and are now running a

WordPress installation. If not please do so before continuing.

1) In your text editor open up to the ‘wp-config.php’ file and look for:

 /* That’s all, stop editing! Happy blogging. */

Above that comment you type define(‘WP_ALLOW_MULTISITE’, true);

Save the wp-config.php file and head back to your WordPress admin.

2) Once logged in scroll down to Tools > Network Setup.

After clicking ‘Network Setup‘ you will see the following screen:

 

 

This is where you will create your network. Since we are setting up the multisite network locally

make sure to select ‘Sub-directories’ as the Sub-domains option requires you to have a wildcard DNS

record.  Go ahead and click install

3) You should now see the following image:

Copy and past the first block of code into your wp-config.php.

Next head over to your .htaccess file and replace the rewrite mod rules with the new ones provided

in the ‘Enabling the Network’ screen.  Initially when I did this I ran into an issue with the copy and

paste method so  I deleted the .htaccess
file, created a new one and pasted in the fresh code.

When I attempted the process a second time I
was able to straight copy and paste from the original

file with no issue.  Next, log back into  the WordPress admin.

If you did everything correctly you should see the “My
Sites” with a drop-down and to the right of it

you should see the name of the first network you created.

 

The first time I set up the multisite network it took me quite a bit of time.

The second time I set up
the multisite network it took me about five minutes ( thankfully 🙂 ),

which included creating a virtual
host and installing WordPress. The setup is relatively straight-

forward  after the initial hiccups are 
resolved.

 

Thank you for reading.

mojomarketplace banner lightning talk

bluehost banner lightning talk

 

Flushing Permalinks

Flushing Permalinks

Flushing Permalinks

 

Today I would like to talk to you about how and when you should flush your permalinks.  If you are confused as to what permalinks are just take a look up above, in your address bar. You will see what is commonly referred to as a URL.  A permalink  is just another name for the URL that you are seeing in your address bar.  

 

Reasons you would need to flush your permalinks:

 

  1. You recently changed your domain name and have noticed that when you visit your website it keeps defaulting to the old domain name. ( So frustrating!!!! )
  2.  

  3.  You have recently published a new page/ post and when you visit that page/post you are receiving a 403 Error that displays something like this :
  4.  

  5. Forbidden: You don't have permission to access [directory] on this server

 

  How to flush your permalinks:

 
Permalinks
Head over to your dashboard/admin and scroll down to the Settings and then click on Permalinks 
 
[fac_icon icon=”arrow-circle-o-left”] If you did it right you should now be in the Permalinks settings page.  
 

From here you are going to click a setting that is not currently selected and then change it back to the Post Name setting.  ( Warning ) Among the WordPress community some advise using Post name as your permalink setting while others say to change it to the Day and name setting.  For our purposes here we will stick with Post name. ( Warning )

 

Next you will go down to the blue save button and click it.  While remaining on the permalink page you are going to refresh your browser/client.  This can be done by holding down f5/shift + R ( Windows ) or Command +  R ( Mac ).  Now that you are flushed your permalinks you are ready to check out the result.

 
Head back to your website by navigating to the upper left hand corner of your screen House   Hover over the house icon and then click visit site.  Now you should be viewing your homepage.  If you are,  you may still not see a change.  Don’t worry all you need to do is refresh your homepage.  
 

If you flushed your permalinks due to a recent domain change then your problems should be resolved. If it is not then you will need to head back over to Settings -> General -> Site Address( make sure this has the new domain name ) –> WordPress Address ( this needs the new domain name too ) -> Save You should be ready to rock and roll!

 

If you flushed your permalinks due to a 403 Error, then you will need to navigate back to the problem child page/post to see if it has been resolved.  If the permalink flush did not resolve the error, then create a new page, give it a different name, copy and paste in your old content, save and refresh.  You should be back in business baby!!!!

 

 

 

***Youtube video on how to flush permalinks***

 

 

 

Thank you for reading 🙂

Where did my comments go?

Where did my comments go?

Where did my comments go?

 

Have you ever been working on a blog post and all of a sudden the comments section has disappeared on

you or is only showing up on some blog posts and not others?  If you find yourself in this situation the solution is pretty

simple.

                            1.  Look at the top of your post screen.  You should see something like this:

                                                                              Screen Options

 

   You may have seen the ‘Screen Options’ section before if not, here it is.  Screen Options allow you  to enable/disable

  multiple content features on your posts as well as pages. In our case, comments.  Once  you open the drop down menu

  you might see something like this:

 

Screen Option Drop Down

 

 

2. If  you are like me you are probably looking for the  “Comments” box to check.  You aren’t going to

find it.  What you need to look for is the “Discussion” box instead and make sure you check mark that

option. Now that it is checked you can close the drop down box on ‘Screen Options‘.

 

3.  Scroll down the Post until you see the  ‘Discussion’ box appear:

 

Comment Box

 

This box has two options.  The first option if checked will allow others to make comments on your post. If

you want users to be able to make comments on your posts then definitely make sure it is checked. If you

don’t want them to make comments, uncheck the box.

 

4.  Make sure to Update/Save Draft/Publish your page and you will be all set.  When you preview you the

Post you should now see this:

 

Comments Section

 

Your comment section might look a little different from mine and that is ok.  The main idea here is that

your users now have access to comment on your blog post and leave whatever feedback they desire.

 

 

Thank you 🙂 I hope this helps!

 

Junior Developer:  Job Hunt

Junior Developer: Job Hunt

Job SearchI graduated from a coding bootcamp the week before Christmas ( 2015 ).

I was filled with both dread and excitement.  Dread because I knew

looking for a new job would be difficult and excitement for what the

future would hold.  I applied to over 100 jobs before I landed my current

gig. Some of these were through connections but most were through job

boards.

Here is what I learned while I was on the job hunt:

  1. Nobody wants a Jr Django/Python Developer.  If you are not a senior or mid-level developer don’t even bother applying.
  2.  Jr Developer positions are few and far between.  If you are lucky to find one, so have a few hundred other Jr Developers (competition is fierce ).
  3. ( Utah residents listen up!  )  Utah County has a lot of web developer positions. 🙂  However the pay is extremely low.  Like $12/hr low( yes I have actually seen this at a few companies) especially for those who are inexperienced.  What a travesty eh?  Well not really.  You see this works out great for college students ( UVU and BYU … ever heard of these schools? ) because they actually get to work in their field while going to school and they don’t necessarily have families or mortgages to worry about.  So it is a win win for the company and the college student.  However I’m not a college student.  I’m a 30 year old trying to make a career change.
  4. Despite what some people will tell you it’s pretty much an industry standard to keep your resume to one page.  If you are a grad from a bootcamp and you have no actual coding experience then it should absolutely be one page.  No one cares how awesome you were in your past life prior to coding. Let that shine in the interview 😉
  5.  Going to meetups/user groups, networking, and having friends in the industry will definitely open doors for you. However in order to walk through those doors you still need to know how to code.  Most companies aren’t hiring for potential.  They are hiring for talent.
  6. It is critical to know general programming concepts.  For example, you need to know what an object is, what data structures are, and how to work with arrays. You don’t need to know this just to be impressive in an interview.  You need to know this in order to be a productive member of your new team.  This how real life developers/programmers communicate.  They speak Computer Science.  (This wasn’t one of the many things I learned duringthe job hunt.  It was more of an on the job kind of a’ha! moment. However due to recent conversations with new bootcamp grads, I think this is very important to realize during the job hunt). 
  7. Apply for those jobs you know you are qualified for or that you really really really want.  A statistic from a Hewlett Packard internal report says, “Men apply for a job when they meet only 60% of the qualifications, but women apply only if they meet 100% of them.” To my fellow females out there if you meet at least 60% of the qualifications then definitely apply for that position.  Some advice out on the interwebs will say to apply to any and every tech job you see.  You will hear things like, ‘Companies don’t know what they want, apply anyways’ .  This may be true. However we do know what they want.  They want talent not potential.  Don’t do it. Just don’t.  It’s a waste of time for you that can end up being demoralizing in the long run.
  8. Don’t be picky.  Just because you learned a certain language or framework doesn’t mean you should restrict yourself to those positions. Despite what other developers are saying nothing is wrong with PHP and WordPress.  It’s very popular and a lot of businesses use it.  So consider it to be a very advantageous language and framework to learn.
  9. Money isn’t everything.  Sorry to break this to you but you are probably not going to land a job that pays 100k or even 70k for that matter.  Nor should you consider taking a job that will pay you that much in the first place.  Why?  Let’s see,  if a company is dumb enough to blow 70k on an inexperienced developer what does that say about the longevity of the company or your career?  To me it says you can plan on being let go.  The company won’t be able to afford it in the long run. I’ve seen it happen.  So if you are serious about your craft and truly want to become the best, consider mentorship over money.
  10. Don’t lie on your resume or embellish in your interview.  Just don’t do it. You will be found out and you will be let go. In some industries embellishing your abilities is ok. ( Whatever gets you the job right?) However the tech field is not one of those industries.

 

mojomarketplace banner job hunt

bluehost banner job hunt

Deployment in Django

Deployment in Django

Deployment in  Django

deployment django linode  

 

 This fall while attending a coding bootcamp one of my classmates, we will call her A.H. put together a deployment guide that I think is fantastic.

Audience: This is for someone who is trying to get their Django website deployed. You should already be familiar with your terminal, use Linode as your hosting service, utilize PHPMyAdmin, Apache2, and finally Namecheap.com as your domain service.

Deployment of Projects

ssh root@00.00.000.00 ( Your number will look similar to this one)

If you go to http://00.00.000.00, the php info sheet should show up.

 
 

   Go ahead and add a new table in the http://00.00.000.00/phpMyAdmin/named the same as the database for your local project.

Deploying New Project

cd /sites/projects

mkproject first_django ( first_django is what we named one of our projects. Whatever you decide to name yours make sure it matches your github repo or you could run into some debugging issues later on.)

cd ..

rm -rf first_django

Explanation: We are making a new project and virtual env with make new project, but we delete the project part so that we can replace it with the github version.

Now lets clone in our repository.

git clone https://github.com/<whateverthenameofyourprojectis>.git

pip install all of the requirements of the local project (pip install django, pip install mysql-python, pip install pillow, etc.)(found by doing pip freeze)

**NOTE** Make sure the django version you install matches the django version stated at the top of the settings file in your local project

Make a config file for the project

nano /sites/configs/nameofyourconfigfile.conf

All Apache config files should start by opening up “VirtualHost” tags. Switch out first_django with your project name.

<VirtualHost *:80>

ServerName 00.00.000.00
ServerAlias 00.00.000.00

WSGIDaemonProcess first_django python-path=/sites/projects/first_django:/sites/virtualenvs/first_django/lib/python2.7/site-packages

A) This is where those debugging issues could occur so make sure the name of your github repo matches the name of your project. MATCHY MATCHY!!!

B) If you are using a version of Python other than 2.7 you should see that version number.

WSGIProcessGroup first_django

WSGIScriptAlias / /sites/projects/first_django/project/wsgi.py

Alias /static/ “/sites/projects/first_django/static/” 
Alias /media/ “/sites/projects/first_django/media/”

ErrorLog /sites/projects/first_django/error_log 
CustomLog /sites/projects/first_django/access_log combined

</VirtualHost>

Now lets go over to our project folder ( cd /sites/projects/first_django)

Go into settings and make sure your database password is the same is the ssh one (the one you use to log into your phpmyadmin for the deployment server), and save out.

Go to main project folder

Collect staticfiles and sync up db

./manage.py collectstatic

./manage.py syncdb

./manage.py makemigrations

./manage.py migrate

Now the staticfiles should be in a new static folder found on the same level as main, so go into settings again and change the STATIC_URL to ‘/static/’ (if it is not already)

Let’s edit our local “hosts” file so we can simulate having a domain name assigned to this server before we actually do.

In a terminal that you don’t have using SSH, enter the following.

sudo nano /private/etc/hosts

You should see a series of IP addresses with names (Most notably 127.0.0.1).Now we will want to create our own Alias. For the sake of being able to actually use this alias again you will want to use the following format:

00.00.000.00 subdomain.your-real-purchased-doman.com

Ex: 00.00.000.00 firstdjango.classbased.com

Now save out of your hosts file, and try going to your new alias, for this it will be http://firstdjango.classbased.com/

Now, when we hit our domain we should see that we are now loading the index.php file we made earlier (the php info page).

We need to edit our virtual host file ( nameofconfigfile.conf ) to now make it listen for our alias made in our hosts file instead of the IP address.

Change the server name and alias to our actual subdomain that you want

 
deployment django linode

Save and close and restart apache.

(service apache2 restart)

If all went well, you should be able to login to your admin, and your site should be up.

http://firstdjango.classbased.com/admin/

Now go ahead and import your scripts or add database stuff

Hooking up linode and namecheap:

On Namecheap, go to profile, domain list, advanced DNS, add records

Select record type A:

Host: this will be the subdomain thing like “firstdjango” in “firstdjango.mydomainname.me

IP Address is the numbered IP address in linode (in DNS Manager under A Records next to the www) (It’s the server number like 00.00.000.00)

TTL click soon so you can see automatic feedback

 

https://medium.com/@HansenShaylee/deployment-django-36301ecc7449#.2jrps38du    

( Published on Medium Dec 23, 2015)

 

 

 

mojomarketplace banner deployment django linode

bluehost banner deployment django linode