One Page Zen

Web Design. Simplified.

  • Tutorials
    • Google Cloud
    • Amazon Cloud
    • Microsoft Cloud
  • Start
  • Resources

Google Cloud FTP Setup with FileZilla (Quick Start)

November 13, 2020 Leron Amin 120 Comments

FacebookTweetLinkedInEmail

In this tutorial you will learn how to quickly setup FileZilla to remotely manage your files for websites running on Google Cloud Platform. This is quick-start tutorial is designed for websites running on Google Cloud’s compute engine.

Setting up FileZilla FTP is a quick and easy way to remotely manage your website’s files.

To get started, follow along with the video above. If you get stuck, check below to see the steps listed individually with images.

Before starting this tutorial, you should have already created a Google Cloud Platform account and launched a website on the Google Cloud Platform Compute Engine.

There are 7 steps in this tutorial:

  • 1. Download PuTTY and FileZilla
  • 2. Generate SSH Keys
  • 3. Copy and save the keys
  • 4. Paste Public Key in Google Cloud
  • 5. Upload Private Key in FileZilla
  • 6. Establish Connection to Google Cloud
  • 7. Navigate to your root directory

1. Download PuTTY and FileZilla

putty and filezilla logos

The first step in this tutorial is to download PuTTY and FileZilla.

Putty is an SSH client and key generator. You will use this application to generate a private/public key pair and establish a secure connection between your Google Cloud Platform instance and FileZilla.

FileZilla is the FTP Client that we will use to securely manage our Google Cloud website’s files straight from our desktop.

2. Generate SSH Keys

google cloud ftp setup generate putty key files ssh
After you’ve downloaded PuTTY Key Generator, open the application and click the “Generate” button to create a new pair of SSH Keys. After clicking the Generate button, move your cursor under the progress bar to generate your SSH key files.

3. Copy and save the keys

google cloud ftp setup save ssh key files
After your SSH Key files have been generated, copy the public key text from the top box, and download the private key file by clicking the Save private key button.

4. Paste Public Key in Google Cloud

google cloud ftp metadata edit ssh keys
From the hamburger menu in the upper left-hand corner of your Google Cloud Platform dashboard, navigate to Compute Engine > Metadata > SSH Keys. Click the Edit button.
google cloud ftp paste ssh public key
Scroll to the bottom of the Edit page, click the Add item button, and paste the Public Key text that you copied in Step 3 into the box. Finally, click Save.

5. Upload Private Key in FileZilla

google cloud ftp filezilla navigate to settings
Open FileZilla, and navigate to Edit > Settings.
google cloud ftp private key filezilla
From the left-hand column of the settings menu, navigate to Connection > FTP > SFTP. Click the Add key file… button, and select the private key file that you downloaded in Step 3.

6. Establish Connection to Google Cloud

In order to establish a connection between Google Cloud and Filezilla, you will need both the IP Address to your instance, and the username for your SSH Key.

google cloud ftp copy key
From your Google Cloud dashboard, navigate to Compute Engine > VM instances, and copy the IP Address of the instance you wish to connect to. Also, copy your SSH username, which is displayed in both the key comment section of the putty dashboard and at the end of your public key text.
google cloud ftp connect with filezilla
Back in the FileZilla dashboard, type sftp:// followed by the IP Address of the instance you wish to connect to. In the username field, paste your PuTTY username.
Lastly, click the Quickconnect button.

7. Navigate to your root directory

google cloud ftp open folder
After you’ve connected successfully, click the very top folder in the Remote site section at the right-hand side of the screen.
google cloud ftp enter root directory
Once this directory is open, navigate to your root directory by pasting the directory path in the remote host field.

If you’re running the Bitnami version of WordPress on Google Cloud, your root directory is located at:

/opt/bitnami/apps/wordpress/htdocs

If you’re running the Click-to-Deploy version of WordPress on Google Cloud, your root directory is located at:

/var/www/html

That’s it!

If you run into permission errors, click here to fix the problem.

If you are looking to configure your SSH Keys using the Cloud SDK gcloud command-line-interface, you can check out that tutorial here.

Please leave any questions and comments below!

Up Next…

backup wordpress websites on google cloud
How to Fix FTP Permission Errors on Google Cloud
increase file upload size wordpress on google cloud
Manage WordPress Files on Google Cloud Platform

Related Posts

  • Click-to-Deploy vs. Bitnami for WordPress on Google Cloud
  • Add Expires Headers for WordPress on Google Cloud (Bitnami)
  • How to Access phpMyAdmin via SSH Tunnel (GCP)
  • How to Transfer Domain Names to Google Cloud Hosting
  • How To Remove Bitnami Corner Banner From WordPress on Google Cloud Platform
  • How to Fix SSH (Linux Shell) Permission Errors on Google Cloud
FacebookTweetLinkedInEmail

Filed Under: GCP Networking, Google Cloud Platform Tagged With: cloud sdk, compute engine, filezilla, ftp, google cloud, google cloud platform, sftp

Comments

  1. Byron Rodrigues says

    February 20, 2021 at 2:17 am

    After 3 or 4 sites, this was the only one that worked … Thank you very much.

    Reply
    • Leron Amin says

      February 20, 2021 at 10:02 am

      Glad to hear it worked Byron! Thank you for the feedback!

  2. Tim says

    February 9, 2021 at 1:32 pm

    thank you! so much easier to understand than Google’s instructions which I spent about an hour trying to follow. this short video got me it working in about 10 minutes!

    Reply
    • Leron Amin says

      February 9, 2021 at 8:19 pm

      Thanks for the feedback Tim! I’m glad to hear you were able to get it working!

  3. charles haime says

    January 14, 2021 at 9:22 pm

    thanks! worked great!

    Reply
  4. Ray says

    October 31, 2020 at 12:55 am

    Help? I got to the end but I don’t have a Bitnami installation of WP. In my root directory all I see is a bunch of hidden files: .vminfo, .profile, .mysql_history, .bashrc, .bash_logout, .bash_history; and hidden folders: .ssh, .config, .cache. I’m in the /home/username directory. In the /home directory there’s also a /ubuntu directory. I can’t figure out where my wordpress installation is located. I’ve looked in every folder beneath. I know it’s there somewhere because I can see the site on my browser and I can enter the wp-admin dashboard.

    Since this is a test for me, I don’t have a static IP address.

    Reply
    • Leron Amin says

      November 7, 2020 at 8:31 pm

      Hi Ray,

      First, SSH into your instance on Google Cloud (Compute Engine > VM Instances > SSH). Next, enter the following command to navigate to your root directory:

      cd /

      This will take you to your root directory, and from here you will need to use basic linux commands to navigate your file tree and get an understanding of where your application’s files reside relative to the root directory.

      Hope this helps and let me know if you have questions,
      Joe

  5. Jiqa says

    August 28, 2020 at 1:44 pm

    Great Help me a lot . i was stuck . like newbie

    Reply
  6. Kelly says

    July 10, 2020 at 7:32 pm

    Thanks for a great tutorial, after completing it I noticed that in my next SSH session my CNTRL key no longer works. Does this have something to do with Putty? Is this tutorial undoable?

    Reply
    • Leron Amin says

      July 15, 2020 at 8:53 pm

      Hi Kelly,

      Different terminal emulators allow for different keyboard shortcuts.

      For instance, some terminals will allow users to paste with CTRL + V, and with others it requires CTRL + SHIFT + V.

      Do a web search for what you’re trying to accomplish, for instance: “how to paste text in putty”

      Let me know if you have questions,
      Joe

  7. Ashutosh K Singh says

    July 7, 2020 at 1:19 am

    I would like a question about transferring my website from shared hosting to Google cloud hosting .
    My website is heavy around 2 GB data and I have already tried to transfer website through “All in one WP Migration tool” also increase the size of transfer limit bit it didn’t increased.

    I want to upload my website through “SFTP” and how can i do .

    kindly guide me.
    Regards

    Reply
    • Leron Amin says

      July 15, 2020 at 9:52 pm

      Hi Ashutosh,

      I would recommend exporting and uploading your media separately. Or even better, I’d recommend offloading all media from your WordPress instance and serving it from Cloud Storage instead. There’s a plugin called WP-Stateless which handles this process.

      Let me know if you have other questions,
      Joe

  8. shahbaaz says

    May 17, 2020 at 10:21 am

    Hi, I am a small website owner. I follow your blog for like a year now, and It’s fantastic! Your Tutorials have always helped me a ton and saved me a lot of time.

    I have a question. Can anyone access my google cloud VM using FileZilla if they have the key end of the public key(key comment) and the VM instance IP?

    I recently tried this with FileZilla. I deleted all keys from the FileZilla settings>SFTP, Cleared all private data from the edits tab, typed my VM IP address with sftp:// , entered the last part of the public key (key comment) and I was connected with my VM.

    That scared me a lot. Am I doing something wrong? Or does FileZilla keep all the connection details? How can I make sure that no one else can access my VM with FileZilla? It would be great you can answer my question.

    Thank you So Much in advance.

    Reply
    • Leron Amin says

      May 31, 2020 at 5:50 pm

      Hi Shabaaz,

      It’s great to hear from you.

      Somehow the keys are being cached – so they’re persisting even though you deleted them. Not sure why or how, but it’s nothing to worry about.

      Let me know if you have any other questions,
      Joe

  9. Nikhil Gala says

    February 9, 2020 at 6:28 am

    Wow!
    Exactly what I wanted to do.
    Well written. Helpful. Thanks!

    Reply
    • Leron Amin says

      February 13, 2020 at 10:46 am

      Thanks for the feedback Nikhil!

  10. Harunup says

    January 14, 2020 at 6:31 am

    I paid for some body to host my site of which he did but I find it difficult to log in using FTP with the logins he gave? Saying wrong password. Any help?

    Reply
    • Leron Amin says

      January 23, 2020 at 9:33 pm

      Hi Harunup,

      In this tutorial, I showed how to set up SFTP – which requires a public/private key pair to ensure your connection is encrypted.

      I wouldn’t recommend using FTP; instead, try using the ‘upload file’ feature which is built into the Google Cloud SSH terminal.

      Let me know if you have questions,
      Joe

  11. Shahbaaz says

    January 1, 2020 at 8:23 am

    Hi joe.
    Your website has helped me to grow a lot. I am currently running a website on google cloud platform bitnami version.

    I recently imported some posts from a old blogger website I used to run. The blog didn’t have a domain and was using .blogspot domain.

    However, after that I am unable to install any plug-in. Everytime I try to install a plug in it shows

    “unable to create directory. Is the parent directory writable?”

    Thus I am unable to redirect any traffic. Can you please help me? I tried to
    chmod -R 777 /path/dir but it didn’t work.
    Please suggest me something. Thank you in advance.

    Reply
    • Leron Amin says

      January 18, 2020 at 8:27 pm

      Hi Shahbaaz,

      Thanks for the feedback – I’m glad to hear you’ve benefited from the tutorials.

      Changing the permissions level of the parent directory should fix the problem. What exactly was the command that you executed (path/dir)?

      Talk to you soon,
      Joe

    • Shahbaaz says

      January 24, 2020 at 5:29 am

      Hi. Thanks for your response. The issue is fixed. Thanks to you.

  12. Thiwa says

    December 18, 2019 at 9:11 pm

    Thanks and this is a very quick guide how to connect FileZila for GCP.

    Reply
    • Leron Amin says

      December 20, 2019 at 9:12 pm

      I’m glad the guide was helpful to you!

  13. Jity says

    November 27, 2019 at 9:58 am

    Which caching plugins are best for bitnami gcp because w3 total cache is not working properly

    Reply
    • Leron Amin says

      December 20, 2019 at 8:02 pm

      Hi Jity,

      Bitnami has documentation here which outlines how to optimize your Bitnami WordPress website’s performance, including the recommended caching plugins to use.

      Hope this helps and let me know if you have questions,
      Joe

  14. mark .j says

    November 2, 2019 at 2:35 am

    I am trying to upload new modified .htaccess file through FileZilla but every time I face Permission Denied problem. It lists (/var/www/html/.htaccess: open for write: permission denied). Can you tell me what could be the Issue?
    Thanks!

    Reply
    • Leron Amin says

      November 9, 2019 at 2:41 pm

      Hi Mark,

      You will have to change the permissions or ownership of /var/www/html in order to upload to it.

      I go over the process for changing permission in this tutorial.

      Hope this helps, and please reach out if you have any questions!
      Joe

  15. CL says

    September 12, 2019 at 5:29 am

    Hi Joe,

    I was able to connect FileZilla previously, using clear cut methods that u’ve shared in the article. However, recently when i needed to access FTP again, the same method did not work.

    I must point out that from our site we have moved from hosting at Google Cloud to Google Cloud SQL, which could be one of the reasons contributing to the current problem?

    Anyways, this message showed up “FTP Host Key Mismatch” and then there is this warning about potential security breach, and at the bottom there is this “Trust the new key and carry on connecting” and underneath that I’ve selected the checkbox for “Update cached key for this host”.

    Saw some comments at the forum “Those host key changes do not have to be security breaches, so don’t panic.The most probable explanation is that the Host keys for the sites have been updated by the site hoster (possibly because they expired*). You need to ask them if they did that change. If yes, just let FileZilla update the Host key when you get the warning. It won’t then bother you again until the next change.” which was why i ticked the checkbox and now i’m seeing the below:

    Error: Connection timed out after 20 seconds of inactivity
    Error: Could not connect to server
    Status: Waiting to retry…
    Status: Connecting to 35.187.254.58…
    Response: fzSftp started, protocol_version=8
    Command: keyfile “C:\Users\CL\Desktop\Puttykey\Puttykey.ppk”
    Command: keyfile “C:\Users\CL\Desktop\Puttykey\PrivateKey180815.ppk”
    Command: keyfile “C:\Users\CL\Desktop\Puttykey\PrivateKey190912.ppk”
    Command: open “rsa-key-20190912@35.187.254.58” 22
    Error: Connection timed out after 20 seconds of inactivity
    Error: Could not connect to server

    I’ve tried deleting the newly created ssh key from Google Cloud metadata page, redo the whole thing, yet still receiving the same message.

    Once again could you kindly shed some light on what went wrong and how to fix them? Thanks a lot!

    Reply
    • Leron Amin says

      September 25, 2019 at 5:52 pm

      Hi CL,

      I hope you’re well!

      If you go through the tutorial again (and generate a new SSH key) you’ll need to make sure you’re updating the public key that you posted into your VM instance’s settings page. Also – what are you using for the username when you try to connect? Try connecting without a username and let me know what happens.

      Talk to you soon,
      Joe

    • CL says

      October 9, 2019 at 3:53 am

      Hello Joe,

      Been busy with other stuff and just got time to look into this matter again. I’ve tried deleting the previous private puttykeys and also public SSH keys saved at Google Cloud metadata, and restarted the process all over again.

      i’ve tried using clp as the username instead of default rsa-key-xxx name, but clicking on Quickconnect led to this

      Status: Retrieving directory listing…
      Status: Listing directory /home/clp
      Status: Directory listing of “/home/clp” successful

      it seems to be connected to the wrong directory?
      i’ve tried connecting without any username, and the following appeared

      Status: Waiting to retry…
      Status: Connecting to (my external ip)…
      Response: fzSftp started, protocol_version=8
      Command: keyfile “C:\Users\CL\Desktop\Puttykey\PuttyKey 191009.ppk”
      Command: keyfile “C:\Users\CL\Desktop\Puttykey\clp.ppk”
      Command: open “anonymous@(my external ip)” 22
      Error: Disconnected: No supported authentication methods available (server sent: publickey)
      Error: Could not connect to server

      I could not understand what went wrong, as previously it used to work with ease, could you please shed some light onto my problem?

      Thank you so much!

      p.s. just noticed that when i clicked on the SSH at Google Cloud compute engine, the black screen that appeared showed Ubuntu, which i dont recall seeing so previously. If there has been such changed which is probably made by our developers, could that be the major reason causing such issue on my side? Thanks again!

    • Leron Amin says

      October 25, 2019 at 6:34 pm

      Hi CL,

      You had it right the first time!

      After you’ve connected to FileZilla using the first method that you mentioned (the one that worked), then look over at the right half of the FileZilla file explorer dashboard and click the top-most folder icon (you’ll see a folder icon with a question mark on it, and there will be a / to the right of it). Clicking this icon will bring you to your webroot, and from there you’ll see all of your website/application files and folders.

      Let me know if you have any other questions and I will be happy to help!

      Talk to you soon,
      Joe

  16. Babak says

    August 28, 2019 at 4:19 pm

    thanks so much
    i access to plugin section very easy!
    directory is
    /opt/bitnami/wordpress/wp-content/plugins

    Reply
  17. Shubham Goel says

    August 1, 2019 at 5:15 am

    I did the same but getting error from filezilla.

    fzSftp started, protocol_version=8
    Command: keyfile “C:\Users\admin1\Desktop\rsa-key-20190801”
    Command: open “rsa-key-20190801@35.232.168.43” 22
    Error: Disconnected: No supported authentication methods available (server sent: publickey)
    Error: Could not connect to server

    Please help me in this.

    Thank’s
    Shubham Goel

    Reply
    • Leron Amin says

      August 12, 2019 at 5:56 pm

      Hi Shubaham,

      This is a relatively common error, but there can be one or many causes. I’d recommend looking into this resource.

      If that doesn’t help, try doing an internet search for “Disconnected: No supported authentication methods available (server sent: publickey)”

      Let me know if you have any questions,
      Joe

  18. Madfedy says

    February 9, 2019 at 2:29 pm

    I paid for some body to host my site of which he did but I find it difficult to log in using FTP with the logins he gave? Saying wrong password. Any help?

    Reply
    • Leron Amin says

      February 12, 2019 at 11:10 pm

      Hi Madfedy,

      You may have to contact whoever is hosting the site to make sure your FTP credentials were configured properly.

      Let me know if you have questions,
      Joe

  19. anand says

    November 29, 2018 at 10:28 am

    I am moving out of Google cloud. How do I download (export) my sql db? I followed your instructions when installing wordpress on Google Cloud.

    Reply
    • Leron Amin says

      December 3, 2018 at 12:40 am

      Hi Anand,

      You can use the general instructions in this Bitnami tutorial to learn how to export your MySQL DB.

      Let me know if you have questions,
      Joe

  20. Ernest Akpos says

    October 11, 2018 at 11:00 am

    Hello Leron
    Please is it possible to connect to GPC wordpress instance by entering username and password in filezilla instead of using Private key ? I asked someone for help and he wants username and password to connect to my instance on filezilla and not private key. Thank you very much

    Reply
    • Leron Amin says

      October 11, 2018 at 11:37 am

      Hi Ernest,

      This setting is disabled by default because it is insecure. However, check out this thread for a workaround (use the solution from answer 2).

      Hope this helps!
      Joe

    • Ernest Akpos says

      October 12, 2018 at 11:13 am

      Thank you Leron. But i am stuck here

      C) Edit /etc/ssh/sshd_config setting

      For a valid user to login with no key
      PasswordAuthentication yes

      Also want root to login also with no key
      PermitRootLogin yes

      How do i edit /etc/ssh/sshd_config. Please give me the step by step command to enter to finish this step.Thanks

    • Leron Amin says

      October 15, 2018 at 1:22 am

      Hi Ernest,

      Run the following command to edit your sshd_config file:

      sudo nano /etc/ssh/sshd_config

      Once inside of the file, edit the settings as described in the link I sent you.

      Do the same thing for the sudoers file:

      sudo nano /etc/sudoers

      Once inside of the file, edit the settings accordingly.

      Do note that connecting via FTP with only a username and password is not recommended for security reasons.

      Hope this helps,
      Joe

    • Hitesh L. says

      November 10, 2018 at 10:41 am

      Thank you for helping me Leron Amin,

      I’m bit stuck, I have run this command (sudo nano /etc/ssh/sshd_config) and edited (PasswordAuthentication yes & PermitRootLogin yes)

      I didn’t know what to edit with the command (sudo nano /etc/sudoers) so I skipped it.

      Now I’m getting some sort of error when I connect to my server with Filezilla( I require the hostname, username & password right? port to be left empty?)

      Kindly assist me at the earliest.

  21. Maksim says

    October 3, 2018 at 5:42 am

    Joe!

    Thanks for the articles about WordPress in the GCP.
    I think you saved me a few days of work .

    RESPECT!!! 😀

    Reply
    • Leron Amin says

      October 5, 2018 at 2:50 pm

      Thanks for the feedback Maksim!

      I am glad to hear that the tutorials have been helpful to you! 🙂

      Regards,
      Joe

  22. Alizah says

    September 2, 2018 at 8:36 am

    Hello. My posts are getting 404 error (The requested URL /hello-world/ was not found on this server). The posts are visible only on Plain permalink option. In the rest of the option, it’s giving 404 not found error. It’s a new website.

    Reply
    • ben test says

      December 4, 2018 at 7:39 pm

      I also have this problem. Were you able to fix it?

    • Leron Amin says

      December 5, 2018 at 10:22 am

      Hi Ben,

      I’m assuming you’re using WordPress Click-to-deploy? If so, I posted the solution to this problem in a comment which you can view here.

      Let me know if you have questions,
      Joe

  23. Roger B says

    July 25, 2018 at 5:03 pm

    Thank you mucho for this tutorial; it saved me a little bit of time since Google doesn’t have anything on SFTP that i could find.

    Reply
    • Leron Amin says

      July 26, 2018 at 2:28 pm

      Thanks for the feedback Roger – I’m glad to hear the tutorial helped you! 🙂

  24. C.L. says

    July 24, 2018 at 3:01 am

    Hi Joe,

    Wasn’t able to reply to the previous thread, but once again, you’re the man! Stumbled upon another problem which required me to edit file via Filezilla, and your last comment was really helpful.

    Thanks a lot!

    Reply
    • Leron Amin says

      July 25, 2018 at 12:36 am

      Glad to hear it! – Thanks for the feedback C.L.

  25. CL says

    July 11, 2018 at 7:23 am

    Hi Joe,

    Thanks again for your clear and easy to understand tutorials. I’ve followed exactly the steps showed in the video and managed to access my root directory.

    However, when I tried to delete a Plugin due to as the installation was previously interrupted, permission was denied. Here are some of the lines appeared in Filezilla

    Status: Deleting 2 files from “/opt/bitnami/wordpress/wp-content/plugins/wp-smushit”
    Command: rm “/opt/bitnami/wordpress/wp-content/plugins/wp-smushit/readme.txt”
    Error: rm /opt/bitnami/wordpress/wp-content/plugins/wp-smushit/readme.txt: permission denied
    Command: rm “/opt/bitnami/wordpress/wp-content/plugins/wp-smushit/uninstall.php”
    Error: rm /opt/bitnami/wordpress/wp-content/plugins/wp-smushit/uninstall.php: permission denied

    Wonder if there’s any workaround that I can do?

    Thanks in advance!
    C.L.

    Reply
    • Leron Amin says

      July 11, 2018 at 12:16 pm

      Hey C.L.,

      Thanks for reaching out, and I’m glad you’ve enjoyed the tutorials.

      The error you presented appears to be a simple permissions error. I go over how to fix permission errors in the following tutorial.

      Take a look at the tutorial and feel free to reach out if you have any questions,
      Joe

    • C.L. says

      July 11, 2018 at 6:55 pm

      Hi Joe,

      I’ve actually looked into that tutorial of yours moments after posting the previous comment. I guess i’ve successfully changed the permission from initial 775 to 777.

      clpoh@wordpress-1-vm-asia:~$ stat -c “%a %n” /opt/bitnami/wordpress/wp-content/plugins
      777 /opt/bitnami/wordpress/wp-content/plugins

      but when i tried to delete the plugin file, same permission denied message appeared. I’ve then tried changing the file attributes by right clicking the plugin folder > File permission > and changed the default Numeric value of 775, to 777, but to no avail too.

      Command: chmod 777 “wp-smushit”
      Error: set attrs for /opt/bitnami/wordpress/wp-content/plugins/wp-smushit: permission denied

      Your help is very much appreciated!

    • Leron Amin says

      July 11, 2018 at 9:58 pm

      Hi C.L.,

      The command to change the permissions would be:

      sudo chmod -R 777 /opt/bitnami/wordpress/wp-content/plugins/wp-smushit

      The command to delete the plugin would be:

      sudo rm -rf /opt/bitnami/wordpress/wp-content/plugins/wp-smushit

      As a precaution, I would recommend first navigating into the plugin directory, then deleting the plugin from there:

      cd /opt/bitnami/wordpress/wp-content/plugins && sudo rm -rf wp-smushit

      Make sure that you’re creating regular backups of your website before adding/deleting files.

      Let me know if you have any questions,
      Joe

    • Leron Amin says

      July 11, 2018 at 9:58 pm

      Hi C.L.,

      The command to change the permissions would be:

      sudo chmod -R 777 /opt/bitnami/wordpress/wp-content/plugins/wp-smushit

      The command to delete the plugin would be:

      sudo rm -rf /opt/bitnami/wordpress/wp-content/plugins/wp-smushit

      As a precaution, I would recommend first navigating into the plugin directory, then deleting the plugin from there:

      sudo cd /opt/bitnami/wordpress/wp-content/plugins && rm -rf wp-smushit

      Make sure that you’re creating regular backups of your website before adding/deleting files.

      Let me know if you have any questions,
      Joe

    • C.L. says

      July 12, 2018 at 5:42 am

      Hi Joe,

      I’ve tried changing the permission by connecting to SSH at Google Cloud Console, but still got the same lines as what showed up when I tried doing the same thing via FileZilla

      clpoh@wordpress-1-vm-asia:~$ chmod -R 777 /opt/bitnami/wordpress/wp-content/plugins/wp-smushit
      chmod: changing permissions of ‘/opt/bitnami/wordpress/wp-content/plugins/wp-smushit’: Operation not permitted
      chmod: changing permissions of ‘/opt/bitnami/wordpress/wp-content/plugins/wp-smushit/uninstall.php’: Operation not permitted
      chmod: changing permissions of ‘/opt/bitnami/wordpress/wp-content/plugins/wp-smushit/_src’: Operation not permitted
      chmod: changing permissions of ‘/opt/bitnami/wordpress/wp-content/plugins/wp-smushit/_src/scss’: Operation not permitted

      I tried ” sudo rm -rf /opt/bitnami/wordpress/wp-content/plugins/wp-smushit ” but nothing showed up.

      But when I tried to look up the plugin file again via FileZilla, I can no longer find the file, so tried installing the plugin again and IT WORKED!!

      Thanks again so very much, Joe! Although still unable to change the file permission to 777, but in the meantime my problem is solved. So gonna subscribe to your page and channels.

    • Leron Amin says

      July 12, 2018 at 10:59 am

      Hi C.L.,

      You have to include “sudo” in front of chmod command:

      sudo chmod -R 777 /opt/bitnami/wordpress/wp-content/plugins/wp-smushit

      I corrected this mistake in my previous comment.

      Hope this helps,
      Joe

  26. Kaibron says

    June 30, 2018 at 6:58 pm

    Hello, could you tell me how to get his wordpress dashboard back? Because I installed extra security before accessing my dashboard. This consists of, in addition to the usual username and password, to answer a question that only the administrator knows. And it turns out that for two days, the famous question no longer appears on the login page. I find myself with the access denied because I do not answer the question. Question that I would like to answer but that is unfortunately invisible…
    I would also like to mention that I am on GCP.
    Thanks in advance for your support

    Reply
    • Leron Amin says

      July 2, 2018 at 3:13 pm

      Hi Kaibron,

      You will have to SSH into your website and delete that plugin.

      To increase your project’s security, I would recommend using strong passwords and taking regular backups of the VM that houses your WordPress website. Additionally, add 2-factor authorization to the Google Cloud account. This way, even if your website gets hacked, you’ll be able to quickly restore it from one of the backups which are housed in your Google account.

      I hope you find this information helpful, and let me know if you have any questions.
      Joe

    • Kaibron says

      July 3, 2018 at 3:41 am

      Exactly Leron,
      I wanted to know if you had not made a tutorial about it. I mean by that, got into SSH, found the plugin and deleted it.

    • Leron Amin says

      July 3, 2018 at 10:27 am

      Hi Kaibron,

      I did not make a tutorial on how to accomplish this, but you can check out this tutorial for examples of common Linux commands and their use.

      For your situation specifically, the easiest thing to do is simply to SSH into your VM instance, and run the following rm -rf command to delete the plugin. Remember to replace absolute/path/to/plugin with the absolute path to your plugin.

      sudo rm -rf absolute/path/to/plugin

      Remember to be very careful when using the rm -rf command, because it will forcefully remove files/directories.

      If you want to take a more cautious approach, you could SSH into your VM instance and then run the following command to change the permission level of the plugin to 777 (read, write, execute):

      sudo chmod -R 777 absolute/path/to/plugin

      Then connect to FileZilla, locate the plugin folder, then delete it.

      The only issue with the second method is that it adds an extra step, however, it is what I would recommend if you don’t feel fully comfortable using the rm -rf command in the SSH terminal.

      I hope this information helps and let me know if you have any questions,
      Joe

  27. Anton Lim says

    June 28, 2018 at 10:48 pm

    Hi,

    If I want to just give access to specific folder for specific user, how i can manage it?

    thank you for your tutorial 🙂

    Best Regards,
    Anton

    Reply
    • Leron Amin says

      June 29, 2018 at 12:32 pm

      Hello Anton,

      Check out this thread for some methods on how to restrict/grant access to folders for specific users.

      Let me know if you have questions,
      Joe

    • Anton Lim says

      June 29, 2018 at 10:47 pm

      Hello Joe,

      I have done like the step above, but my filezilla got connection timeout.

      My condition is like this:
      My server is windows instance windows server 2008 in google cloud.
      I have installed filezilla and putty key gen in my client pc that want to connect to server.
      I have put ssh key in metadata in google cloud console

      this is the response from my filezilla
      Response: fzSftp started, protocol_version=8
      Command: keyfile “D:\Documents\Projects Start Document\Server\1\putty-private-key.ppk”
      Command: open “rsa-key-20180630@*5.1*7.15*.*0*” 22
      Error: Connection timed out after 20 seconds of inactivity

    • Michael Backus says

      December 10, 2018 at 4:00 pm

      I am having the same issue. Did you every figure out how to resolve this problem?

    • armando says

      April 16, 2020 at 11:36 pm

      same issue

  28. Tech Dog says

    June 26, 2018 at 10:23 am

    Hi

    Thanks for help. I am following the same method but getting the error “Disconnected: No supported authentication methods available (server sent: publickey)”. Any idea why?

    Regards

    TD

    Reply
    • Leron Amin says

      June 28, 2018 at 8:37 am

      Hi Tech Dog,

      The first things I would check are:

      1. Does the username that you’re using to connect on FileZilla match the username assigned to the public key? You can open your public key file in any text editor and the username should be visible.
      2. Are you using the sftp:// prefix before you IP address in the FileZilla “Host” field?
      3. Has your private key file been uploaded to Filezilla?

      If you’ve accomplished all of these things and you’re still having issues, please feel free to reach out and I will see how I can help.

      Thanks,
      Joe

    • ChrisandTre says

      February 5, 2019 at 10:50 am

      I’m having the same issue, did Tech Dog ever come up with a solution?

      I get the same error when trying to connect through PuTTY (Putty’s says Disconnected: No supported authentication methods available (server sent: publickey)

      1. I believe it’s the same name… tried many variations of the name as well… Is it the same name that is listed in the private key?

      2. sftp:// yes.
      3. Private key uploaded yes.

      Thanks!

  29. Mary says

    June 2, 2018 at 7:56 pm

    Just wanted to say Thanks for the help. I have been watching your videos since yesterday trying to move all my wordpress sites from GoDaddy. You have helped way more than google has. Now I have to go check secure connection. Ughhh

    Thanks a bunch
    Mary

    Reply
    • Leron Amin says

      June 2, 2018 at 8:56 pm

      Thanks for the feedback Mary – I’m glad to hear the tutorials have helped you! 🙂

  30. Taylor says

    May 9, 2018 at 12:04 pm

    Once again, this worked like a charm. I really have to hand it to ya – I’m totally new to Google Cloud and your tutorials are making this a breeze.

    Reply
    • Leron Amin says

      May 9, 2018 at 10:18 pm

      Thanks for the feedback Taylor – I’m glad you found the tutorial helpful! 🙂

  31. Ethan says

    April 17, 2018 at 8:15 pm

    Hey Leron,

    Wonderful tutorials! Simple and easy to follow.

    Question:

    1. I sftp on filezilla and noticed that wp-content and plugin directories were missing. Also, the all the permission were bitnami:bitnami and not-bitnami:daemon.

    2. Does this mean my site was hacked? Can’t find any of my wordpress stuff.

    Thanks,

    Ethan

    Reply
    • Leron Amin says

      April 17, 2018 at 8:40 pm

      Hi Ethan,

      Thanks for the feedback!

      And no – you weren’t hacked.

      In FileZilla, after connecting to your VM, enter the the following in the Remote Site field (the text input field above where the remote folder/directories are listed)
      /apps/wordpress/htdocs

      This will show the directory contents of your WordPress installation, which is where your wp-content directory is located.

      Please let me know if you have any questions,
      Joe

  32. Ay says

    March 21, 2018 at 3:33 pm

    Hello Joe
    are there any way to connect ftp on amazon cloud

    Reply
    • Leron Amin says

      March 22, 2018 at 10:29 am

      Hi Ay,

      The instructions are nearly the same as in this tutorial, except with FTP you’re configuring the graphical user interface.

      That being said, check out this thread for step by step instructions for FTP on AWS.

      Feel free to reach out to me if you have any questions,
      Joe

  33. Claire says

    March 1, 2018 at 4:04 am

    Hi Joe,

    I have a question. I set up Filezilla on my Mac, and unfortunately, my computer broke (and is completely dead)… so now I have a new mac. Is it ok to just download the Filezilla again and follow your tutorial? Does it matter that I already set it up on my old computer and essentially lost it?

    Thanks,
    Claire

    Reply
    • Leron Amin says

      March 1, 2018 at 1:08 pm

      Hey Claire,

      There shouldn’t be any issues – you can start from scratch and re-install Filezilla.

      Let me know if you have any questions or run into any issues,
      Joe

  34. Ay says

    February 21, 2018 at 6:33 am

    Hello
    I have a new issue I have installed a wp-rocket plugin to cache my site but give this errors in google speed test
    Leverage browser caching
    Setting an expiry date or a maximum age in the HTTP headers for static resources instructs the browser to load previously downloaded resources from local disk rather than over the network.
    my htaccess file have the codes for a cache but not work properly
    plz can you check this page
    https://docs.wp-rocket.me/article/80-browser-caching
    they tell that may Apache expires module ( mod_expires) is turned off
    how can I test for that and how can I turned it on I have installed WordPress bitnami version
    also is the htaccess file cause this problem it have 644 permisson

    Reply
    • Leron Amin says

      February 22, 2018 at 1:45 pm

      Hi Ay,

      Here is a basic guide you can use regarding configuring expires headers, including how to activate the mod_expires module.

      Also check out this guide about optimizing a Bitnami WordPress install.

      Hope this helps,
      Joe

    • Ay says

      February 23, 2018 at 9:10 am

      Thanks alot my friend really i tried many tutorials but all not working
      i think that your site have the same problem
      https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fonepagezen.com

      plz try to solve this problem and record all setting
      i have 3 day try to solve the problem but failed you have good experience so you will find the right solution rather than me
      Great thanks to my friend Leron

    • Leron Amin says

      February 25, 2018 at 12:34 pm

      Hi Ay,

      The issues that you see listed in Google Pagespeed insights are suggestions on how to improve your website’s load time – they’re not indicative of a problem with your website. To check for indexing problems, make sure to set up your website with Google Webmasters.

      With setting up expires headers, it’s important to know the expiration to set for each element. For instance, elements on your page that remain constant such as your website’s logo, sidebar items, etc. should have a different expiration that items that change more frequently.

      Anyways, follow the guide I sent you about configuring expires headers, and check out this resource to make sure mod_pagespeed is enabled on your Bitnami install. These will both help to reduce your page-load time.

      Hope this helps,
      Joe

  35. burhanuddin says

    December 9, 2017 at 3:21 am

    Hi sir,

    i have hosted woocommerce website on google cloud. when i am installing plugin on my wordpress website its asking for ftp credential for installing plugin. i have input external ip and ssh username but its asking host name. please suggest what should i do.

    Reply
    • Leron Amin says

      December 9, 2017 at 5:17 pm

      Hi Burhanuddin,
      The host name is your external IP address, preceded by sftp://
      For instance, your host name would be sftp://134.110.63.223 if your external IP address is 134.110.63.223.
      You username is either bitnami or whatever you configured it to be (In step 3 of the tutorial, you set your username by entering it in the Key comment field).
      Let me know if you have any questions,
      Joe

    • burhanuddin says

      December 10, 2017 at 12:30 am

      yes, i have enter sftp://134.110.63.223 in host name and rsa-key in username and password left empty but its still saying FTP hostname is required. please brief me how to install plugin from wp-admin.
      where can i send you the screenshot of this issue?

    • Leron Amin says

      December 10, 2017 at 12:55 am

      Hi Burhanuddin,
      I have not had any experience with any plugins that require you to provide them with FTP information, so for that reason, I don’t have a solution for you.
      What I would do is try to contact the plugin developer and see if they can help. Based on what you’ve described, The rsa “key comment” would go in the username field, and you would use port 22.
      I hope this information helps!
      Joe

    • burhanuddin says

      December 10, 2017 at 11:48 am

      Hi sir,
      Below message is showing on WordPress dashboard. i have run 777 permission command in SSH. how do i fix it.

      “File Permission Issues
      We were unable to modify required files. Please ensure that /opt/bitnami/wordpress/wp-content/uploads/ has the proper read-write permissions, or modify your wp-config.php file to contain your FTP login credentials as outlined her..”

    • Leron Amin says

      December 11, 2017 at 1:20 pm

      Hi Burhanuddin,
      What plugin are you trying to configure?
      Did you try to change the permission level of your /opt/bitnami/wordpress/wp-content/uploads/ directory?
      Talk to you soon,
      Joe

    • Leron Amin says

      December 10, 2017 at 1:11 am

      Also, you can send me a message through Facebook messenger on the One Page Zen FaceBook page and I will take a look at it if you’d like.
      Talk to you soon,
      Joe

  36. tiger nak says

    November 22, 2017 at 12:17 am

    Thanks for the great tutorial.

    I also got permission denied problem while tried to open home directory.
    Is there any way to got a root permission using filezilla?

    Reply
    • Leron Amin says

      November 22, 2017 at 9:07 am

      Hi Tiger,
      Thanks for posting a comment!
      Unfortunately, I am not aware of a way to get root permissions through FileZilla. You will likely have to change the permissions of the file/directory that you want to edit through the SSH terminal prior to editing the file via SFTP, as shown in this tutorial.
      Let me know if you have any other questions. 🙂
      Joe

  37. Bimbimz says

    November 5, 2017 at 8:54 pm

    Hello bro.
    If i running google compute engine without cms,
    where my root directory is located ?

    Thx

    Reply
    • Leron Amin says

      November 6, 2017 at 10:29 am

      Hi Bimbimz,
      If you’re not using a CMS, you can upload files directly to your server’s ‘root’ without specifying a file path if you’re already a root user. (sudo -i)
      Let me know if this answers your question.
      Talk to you soon,
      Joe

    • Bimbimz says

      November 6, 2017 at 11:48 am

      yes thanks for the answer it is very helpful,

      Note
      if there is spare time please create tutorial about:
      * running bootstrap 3.x in google cloud.
      * hide / change phpmyadmin page url in wordpress

      Thx

    • Leron Amin says

      November 7, 2017 at 7:27 am

      Hi Bimbimz,
      Those sound like good ideas for tutorials.
      I will look into them. Thanks for the suggestions! 😀
      Joe

    • Leron Amin says

      November 6, 2017 at 10:29 am

      Hi Bimbiz,
      If you’re not using a CMS, you can upload files directly to your server’s ‘root’ without specifying a file path if you’re already a root user. (sudo -i)
      Let me know if this answers your question.
      Talk to you soon,
      Joe

  38. Shyam Chathuranga says

    October 17, 2017 at 3:40 am

    Hey mate,
    You just saved me a lot of research time. You were ranking on the first page just when I searched without knowing how to access the files of a site hosted on Google Cloud and your article solved both problems I faced instantly. (File permission 2nd problem)

    Instructions are very clear. BTW, I think I love your tutorials and going to subscribe through this comment. Keep up the great work.

    Thank you,
    Shyam Chathuranga
    Genesis Developer

    Reply
    • Leron Amin says

      October 17, 2017 at 8:27 pm

      Hey Shyam,
      I am glad to hear that the tutorial was helpful to you!
      Thanks for taking the time to post a comment and share your experience! 😀
      Best regards,
      Joe

  39. Chris says

    October 3, 2017 at 9:27 pm

    Hi Joe, I’m working through most of your tutorials. When creating the SSL certificates, this recommendation is given, “Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal.”

    When I try to download a copy this folder using Filezilla, I get
    “Error: Directory /etc/letsencrypt/accounts: permission denied
    Error: Failed to retrieve directory listing”.

    I assume that’s because there’s security on the folder. Can you tell me how to handle that?

    Thanks for all your work!

    Chris

    Reply
    • Leron Amin says

      October 3, 2017 at 10:13 pm

      Hey Chris,

      You don’t need to make regular backups of your SSL certificates simply because they are free and you can issue new ones at any time.

      I would, however, recommend that you take snapshots of your virtual machine at regular intervals (maybe 2x/month, depending on how often you update your site) in order to ensure that your data (including your SSL certs) can be safely recovered in case it breaks and can’t be easily restored.

      If you still want to make a backup of your SSL certificate files, what you would need to do is follow this tutorial.

      At step 4, the command you would execute is:
      sudo chmod -R 777 /etc/letsencrypt/

      Remember to revert the files back to their default permission level (the reason for step 3).

      After making these changes, you should be able to download the entire letsencrypt directory and it’s contents.

      Good luck and let me know if you have questions, 🙂
      Joe

  40. Mike says

    August 18, 2017 at 8:12 pm

    Beautiful post. Nicely explained. And it works. Thanks.

    Reply
    • Leron Amin says

      August 20, 2017 at 9:30 am

      Hey Mike – thanks for commenting!
      I am glad you found the tutorial helpful!
      Best regards,
      Joe

  41. Rob McDonald says

    August 9, 2017 at 8:46 am

    Hey wanted to comment here to get some help in connecting to my files using Cyberduck. I use a MacBook Pro, and I have to admit up front, that I am not that great with the command line, but I can get through it if I know the right commands to use.

    Having said that, I am having issues SFTP to my files using cyberduck. It doesn’t like the keys, or the format of the keys I am using , and it keeps asking for a passphrase, which I did not add when I created the keys. I don’t have the same problem when I create an image through the bitnami launchpad, as it generates the keys, both in .ppk and .pem and I just download the .pem file and I connect fine. However, I don’t really want to use the bitnami launchpad install as it has its limitations that I won’t go into here.

    Do you know of any tutorials for us that are using a mac trying to connect to our files with Cyberduck.

    Hope you have a great week!

    –Rob

    Do you know of any tutorials out there using cyberduck with a mac

    Reply
    • Leron Amin says

      August 9, 2017 at 8:42 pm

      Hey Rob,
      Unfortunately I don’t have a solution to your problem.
      I know Deepak proposed a solution in one of the comments before you, but if I remember correctly that pertained to the Bitnami configuration.
      Please let me know if you find the solution, as several other people have asked this same question!
      Best regards,
      Joe

    • Rob McDonald says

      August 10, 2017 at 7:54 pm

      Hey Joe,

      I have not really found a solution yet either, but I find a work-around.

      I used the .pem key that was generated by the site I created with the bitnami launch pad and added it to the site that was generated by the google launchpad. I added this key to the VM instance under the custom metadata with the value of sshKeys.

      Once I did this I was able to use this key to login with Cyberduck. I don’t know if this will work on every vm instance that I add, but maybe I can used this single key on multiple sites until I can figure out another way.

      -Rob

  42. John says

    August 1, 2017 at 12:51 pm

    Can you make a tutorial for cyberduck

    Reply
    • Leron Amin says

      August 3, 2017 at 4:42 pm

      Hi John,
      Will do – and thanks for the tutorial suggestion!
      Best regards,
      Joe

    • deepak sharma says

      August 5, 2017 at 2:36 am

      for cyberduck use the same .ppk key as the ssh private key and you can use use the above tutorial for cyberduck , file zilla and cyberduck bith can use .ppk , where as in cyberduck you can also use .pem file . so follow the tutorial and open cyberduck in servername fill the external ip, select port 22 for ssh, fill username form the putty gen key comment , and use the saved putty gen private ket i.e .ppk file as ssh private key in cyberduck and as far as i know you can connect. i have used .ppk key many times in cyberduck

      check this out https://community.bitnami.com/t/how-can-i-get-a-pem-file-for-cyberduck-using-bitnami-wordpress-on-google-cloud-console-not-on-bitnami-site/50571/2

    • Rob McDonald says

      August 10, 2017 at 8:05 pm

      Deepak,

      Have you been able to get this to work with Cyberduck? The reason I am asking is that I have tried this method and it doesn’t work for me. It clearly states in the bitnami documentation that Cyberduck need the key in .pem format. So I think that is my problem. My Cyberduck will not take the .ppk key.

      I was able to used the .pem key that was generated by the site I added with the bitnami cloud launcher and use it on the site I created with the google cloud launcher. The bitnami launcher creates both types during the install, which you can download to your pc, but the google cloud launcher only creates the ppk, which does not give you the option to download.

      Not sure why bitnami does this and not google, but at least I was able to use that key to cyberduck to my vm instance.

      –Rob

    • deepak sharma says

      August 14, 2017 at 8:26 am

      Yes it was working fine, but i can’t talk about the current requirements as i am not able to connect to my instance since few days due to some different serious bad configuration .
      But earlier it was working for me https://trac.cyberduck.io/wiki/help/en/howto/sftp#PuTTYKeyFormatInteroperability this link also says a bit about it. I am not using mac so i can’t comment with confidence. But in short as per my understanding both .ppk & .pem file should work for cyberduck as per their documentation. And you are right it is not easy to create a .pem file using google cloud platform and that was the reason i asked this question in the bitnami forum https://community.bitnami.com/t/how-can-i-get-a-pem-file-for-cyberduck-using-bitnami-wordpress-on-google-cloud-console-not-on-bitnami-site/50571/2 . thanks

  43. Ralco says

    July 26, 2017 at 3:40 am

    Hey there Leron,
    I am trying to upload new modified .htaccess file through FileZilla but every time I face Permission Denied problem. It lists (/var/www/html/.htaccess: open for write: permission denied). Can you tell me what could be the Issue?
    Thanks!

    Your Blog is Amazing 🙂

    Reply
    • Leron Amin says

      July 26, 2017 at 10:46 am

      Hi Ralco,
      Thanks for commenting!
      You are going to need to connect to your instance with SSH from your VM instance page.
      From there, enter the command sudo chmod -R 777 {DIR}
      For example, if you wanted to change the permissions for the /opt directory and all of it’s children, you would enter chmod -R 777 /opt
      This fix is not a best practice if you have multiple users with access to your Cloud Project files, as it grants full Read/Write/Execute permissions to all users.
      Let me know if you have other questions!
      Thanks,
      Joe

  44. Benjamin Waller says

    July 21, 2017 at 6:20 am

    Hello Joe,

    This looks good but unfortunately I am on a Mac so I can’t use PuTTy to generate SSH keys. Though doing a quick search online, I think I can use the in-built Terminal app and using command line. I found a video tutorial here https://www.youtube.com/watch?v=W0f2zfhH9HU
    which does the same sort of thing you did but without the graphical interface. I will have to look more into it.
    Thanks again Joe.
    Best regards,
    Ben

    Reply
    • Leron Amin says

      July 21, 2017 at 5:07 pm

      Hey Benjamin,
      I checked out the video that you linked to and it looks relatively easy to configure on Mac. The reason I used PuTTY is because I know many users prefer to avoid the command-line-interface whenever possible (which isn’t very often when working on GCP). Looks like you could just do the same steps from the PuTTY tutorial except you’d have to open up and copy the contents of the public key file. Let me know if you figure it out and what the process was like!
      Talk to you soon,
      Joe

    • Mohamed Hak says

      October 3, 2017 at 8:03 am

      Hello Benjamin,
      I am working on mac too, Can you tell me please how did you get the username for filezilla because Joe got it from Putty under Key comment.
      I followed the video you shared and it is not clear.
      thank you

    • Benjamin says

      December 27, 2017 at 6:17 pm

      Hello Mohamed,

      Look at this tutorial from Joe. All the steps are the same except that you stay in the Terminal to create the ssh key and then open the public key using ‘vi’ command.
      https://onepagezen.com/manage-wordpress-files-on-google-cloud-platform/

      It was fairly straight forward. Hope that helps.
      Cheers,
      Ben

  45. Leron Amin says

    July 21, 2017 at 12:17 am

    Did this tutorial work for you?
    Please leave your questions and comments below!
    Thanks,
    Joe

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Want Exclusive Tutorials?

Welcome to One Page Zen!

Through this blog I hope to introduce web developers to cloud computing!

author-bio

facebook-support-group kinsta-cloud-hosting

Want Exclusive Tutorials?


Contact | Sitemap | Legal | Privacy Policy | Affiliate Disclosure
      Copyright © 2017 - 2019 One Page Zen
Share this Article

Email sent!