WordPress on AWS EC2 – broken after assigning elastic IP

So, I got WordPress installed and working just fine. I can access the site and the wp-admin via the public DNS that I get from the instance.

However, once I create an elastic IP and associate it with the instance, I can no longer access wp-admin and the home page style sheets and JavaScript files are not loaded.

Read More

I am attempting to access the site and the wp-admin using the new public IP from the elastic IP. Same thing is true if I try to use the public DNS from either the elastic IP or the EC2 instance.

When I view the page source I see that the reason things aren’t loaded is because the URL for all of the assets (.css, .js. etc,) is pointing to the bold public DNS

When I disassociate the elastic IP things do not go back to working again.

I’m missing something but don’t know what.

Any help would be appreciated

Related posts

Leave a Reply

3 comments

  1. Your wordpress admin is already associated with your publicDNS. This is because, when you have logged-in the wp-admin console, you have created a new admin user. This information with respect to your publicDNS was saved in the mysql db. So you won’t be able to access wp-admin from the elastic IP.

    What you can do ?

    You can log-in to your wordpress mysql and update all the references of the publicDNS to Elastic IP. Once it is done, you will be able to access the wp-admin from the static IP.

  2. I too faced the same issue, followed the steps in this page to get my issue fixed.

    http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hosting-wordpress.html

    Follow steps under this section:
    “Help! My Public DNS Name Changed and now my Blog is Broken”

    Pasting it here for quick reference: Login via ssh to your ec2 instance then run the below commands:

    1. Download the wp-cli with the following command

      curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

    2. Search and replace the old site URL in your WordPress installation with the following command. Substitute the old and new site URLs for your EC2 instance and the path to your WordPress installation (usually /var/www/html or /var/www/html/blog)

      php wp-cli.phar search-replace ‘old_site_url’ ‘new_site_url’ –path=/path/to/wordpress/installation –skip-columns=guid