WPBakery Install Receives the Error: fatal error: Cannot redeclare wpb_getImageBySize()
Fatal error: Cannot redeclare wpb_getImageBySize() (previously declared in /srv/www/vhosts/www.busybooks.com/wp-content/themes/busybooks/wpbakery/js_composer/composer/lib/helpers.php:15) in /srv/www/vhosts/www.website.com/wp-content/plugins/js_composer/include/helpers/helpers.phpon line 111
When installing the WPBakery plugin you receive the above error after trying to activate the plugin.
The issue is easily fixed by installing one of the default themes from WordPress. Activating it. Then returning to the plugins and activating the WPBakery Visual Composer.
If you are hosted on IIS for your wordpress site, you will notice that when you go to your XMP Sitemap Generator for WordPress, you notice a problem reported:
There was a problem writing your sitemap file. Make sure the file exists and is writable.
There was a problem writing your zipped sitemap file. Make sure the file exists and is writable.
This is telling you that the auto update process for the XML Sitemap Generator for WordPress plugin has failed to create the files needed. If you click on the Rebuild the sitemap link it will manually rebuild.
Easy one. On IIS servers, all paths for files require a \ (backslash) where the auto detected path will put a / (forward slash) after the end of the true path and before the sitemap.xml file.
Just update it in the Custom Location to the correct \ and save the changes. This will address the problem.
Last evening I signed up for Amazon Web Services (AWS) free usage tier to test the features and available services. Another reason was to use Amazon Simple Storage Service (Amazon S3) for storing my site’s backups.
The services are available at fairly reasonable price. Especially, if you are using S3 then you are making a very good deal.
Since, the free usage tier comes with 750 free hours of Amazon EC2 for each month for a year I thought of giving it a try and running WordPress.
Here is a step-by-step guide to setting up and running WordPress on Amazon EC2.
Sign up / Log in to your AWS Account:
If you do not have an AWS account then you can signup for the free usage tier and login to your account.
Setting up our server:
After you have logged in to AWS account, click “My Account / Console” in top right corner of the screen and then click on “AWS Management Console”. You will be presented with something like this :
Click on “EC2″ link and you will be taken to the EC2 Dashboard. Click on “Launch Instance” button to create a new instance. Follow the “Classic Wizard” as shown below :
Click “Continue” and on the next screen select “Ubuntu Server 12.04.1 LTS”
On the next screen, you can proceed with the default settings. Make sure that “Instance Type” is set to “Micro” because that comes free with AWS Free Usage Tier. Click “Continue”
Click “Continue” on the next screen :
Again, click continue on the next screen.
After that you can add a “Name” for your instance for better organization. I have named it as “WordPress”.
Now, you need to create a “Key Pair” so that you can connect easily with your server via SSH. Give an easy to remember name to your key pair and download the file. Keep the file in a place that you can remember. As you will need this file to connect with your server.
Next step is to configure the Firewall and make sure that only required ports are open for our server. Create a new security group. I have named it as “WP”. Now, click the dropdown for “Create a new rule” select SSH and click “Add Rule”. Repeat it for HTTP.
And we are done, setting up our instance. Click “Launch”.
Go to “Instances” page and you will see your new server being initialized and in some time it will be up and running. But, it’s not yet ready to run a WordPress site.
We need to setup the essential services to run WP : Apache, PHP and MySQL.
Connect via Terminal
Select the instance which we created above and click “Instance Actions”, in the pop-up menu click on “Connect”
Here you will need to enter the path of key file that you saved to your computer while creating the instance. Once that’s done you can click “Launch SSH Client”. If you wish you can also store key location in browser cache so that you won’t need to re-enter it every time you connect.
Setting up Apache :
Now, we are connected to our server. Next step is to setup Apache. By default, you will be logged in as user : ubuntu. Let’s switch the user to “root” so that we can get complete access. Use the following command to do so:
Follow the instructions on screen and remember the password that you enter in each field. After the installation of phpMyAdmin is complete we need to configure our Apache to make phpMyAdmin accessible via browser.
By default, all the files will be extracted in a directory “wordpress” so your files are at /var/www/wordpress/ to move the files to root of web server and then remove the “wordpress” directory we will use:
Before we install WordPress we need to map our domain name with the virtual server so that the site is accessible easily.
Mapping Domain Name :
Now we have everything ready in place and all we need to do is map our domain with our virtual server. For this you will have to associate an IP with the instance and map the domain name to that IP.
Head back to EC2 console and click “Elastic IPs” in the left pane. Click “Allocate New Address”
Now, you will see a new IP address in the console. Click “Associate Address” to associate this IP with your instance.
Now, switch to back to “Instances” panel and you can check the attachment status.
You will need to connect to your server by IP address now. Your hostname (public DNS) will no longer work, and if you detach the IP, your instance will be assigned a different hostname (public DNS). So, it’s best to not to change IP or detach it.
You can map your domain name to this elastic IP and it will work perfectly.
For now, I am using IP to access and setup the site. I entered elastic IP in address bar followed by /index.php and it came up with WordPress installation page.
That’s all! Now, you can use follow the steps of WordPress installation, enter required details and setup the site.
Oh but wait! I came up with this :
This is because our current apache user doesn’t have rights to write to the file. To fix this error we will grant access rights to our current apache user. First connect to the server via terminal as we did in the beginning and then execute following commands :
Finally! You are all set to run WordPress site on Amazon EC2. Proceed with the installation process and it will work.
Like I have it here:
Here comes the end to my tutorial. I am not a server administrator or a linux expert. This was a result of my hit-and-trial experiments. So, if you have any suggestions for improvement then please feel free to share your comments.
Which makes perfect sense to us, as we run the http://www.interactivewebs.com website blog on WordPress too. It really is so good for blogs, that at this time there is nothing better around.
We like it so much that we are recommending it to all our clients as a supportive SEO / SEM tool to bring hits to their site. We have setup our on server environment specifically for blog sites (and can offer hosted WordPress sites).
Just like the fact that good old Microsoft has dumped using their “junk blogs” in favour of a WP site.
We found that in recent weeks, it has stopped posting data when we blogged with the Windows Live Writer plugin that we normally use. So we decided to find a new plugin to take care of the auto tweeting.
We came across the “tli.tl Auto Twitter Poster” plugin. That from all accounts should work well, if only a little delayed.
The post system configures with a Twitter API registration (normal for this sort of thing), and appears to work well.
There are two versions on the plugin, one is listing as version 3.8 (we found that did not work) the other is the 3.8.1 showing as separate plugin. We found this tested fine.