The post Unban GoDaddy / MediaTemple WordPress Plugins appeared first on Justin Silver.
]]>GoDaddy managed WordPress hosting, and by ownership MediaTemple as well, prevents some plugins from being activated on website. Some of these may make some sense if the conflict with caching, etc, but I feel like including a list is good enough and if you want to install that plugin on the website you’re paying for, so be it. There are several plugins that are banned in the list that I regularly use in my website development, for example Gravity Forms.
If you try to enable this plugin on a site hosted on GoDaddy or MediaTemple rather than activating, you get an error that says:
Not Available: This plugin is not allowed on our system due to performance, security, or compatibility concerns. Please contact our support with any questions.
There is a Must-Use Plugin called gd-system-plugin
that includes a class called GD_System_Plugin_Blacklist
. This class hooks into the plugin installer code to hide links, show errors, and otherwise prevent some plugins from being installed and activated. The way that it does this is by calling the GD_System_Plugin_Blacklist->get_blacklist()
method. This method tries to get a value for get_site_transient( 'gd_system_blacklist' )
and if it’s empty, then fetches the list from a URL and caches it.
Luckily there is a filter for pre_site_transient_*
so you can short circuit the whole thing.
We can’t just return an empty array here, because there is a check for empty()
, but we can return our own “list” of banned plugins instead of fetching it from a URL (or even the transient cache if it was already set). Plugin code is below, but the filter could just as easily be added to another plugin, functions.php in your theme, or another mu-plugin.
/* Plugin Name: Unban Goddady/MediaTemple Plugins Description: Allow plugins banned by GoDaddy to be used on your site */ add_filter( 'pre_site_transient_gd_system_blacklist', function(){ return array( array( 'name'=>'godaddy', 'minVersion'=>0, 'maxVersion'=>1 ) ); } );
This is the list of plugins banned by GoDaddy as of the writing of this post.
6scan-backup 6scan-protection adminer adsense-click-fraud-monitoring all-in-one-seo-pack all-in-one-wp-migration aspose-cloud-ebook-generator aspose-doc-exporter backupwordpress backwpup broken-link-checker contextual-related-posts custom-contact-forms easy-coming-soon ezpz-one-click-backup fancybox-for-wordpress favicon-by-realfavicongenerator fuzzy-seo-booster google-analytics-for-wordpress google-sitemap-generator google-xml-sitemaps-with-multisite-support gravityforms inboundio-marketing iwp-client jr-referrer leads liveforms miwoftp mp3-jplayer newsletter nextgen-gallery pagelines photo-gallery php-event-calendar platform pluscaptcha pods portable-phpmyadmin ptengine-real-time-web-analytics-and-heatmap quick-cache referrer-wp schram-kljsdfjkl seo-alrp sgcachepress similar-posts statpress synthesis tdwordcount the-codetree-backup toolspack ultimate-member updraft w3-total-cache wordpress-beta-tester wordpress-gzip-compression wordpress-popular-posts wordpress-seo work-the-flow-file-upload wp-all-import wp-business-intelligence-lite wp-cache wp-cachecom wp-copysafe-pdf wp-copysafe-web wp-engine-snapshot wp-fast-cache wp-fastest-cache wp-file-cache wp-phpmyadmin wp-postviews wp-power-stats wp-slimstat wp-super-cache wp-ultimate-csv-importer wpengine-common wponlinebackup wptouch wysija-newsletters yet-another-featured-posts-plugin yet-another-related-posts-plugin
The post Unban GoDaddy / MediaTemple WordPress Plugins appeared first on Justin Silver.
]]>The post GoDaddy SSL Certificates on NGINX appeared first on Justin Silver.
]]>To properly install a GoDaddy SSL certificate on an NGINX install, you will need to include the gd_intermediate.crt
and gd_bundle.crt
the SSL certificate file for your server. The location of this file can be found in the *.conf
, usually in /etc/nginx/conf.d
. In my case, the SSL certificate is located at /etc/nginx/ssl/server.crt
but you should set it appropriately to CRT_FILE
for your site.
The files to include can be found on https://certs.godaddy.com/anonymous/repository.pki, or use the following script.
[www.example.com]# curl -v -I https://www.example.com * About to connect() to www.example.com port 443 (#0) * Trying 127.0.0.1... connected * Connected to www.example.com (127.0.0.1) port 443 (#0) * successfully set certificate verify locations: * CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none * SSLv3, TLS handshake, Client hello (1): * SSLv3, TLS handshake, Server hello (2): * SSLv3, TLS handshake, CERT (11): * SSLv3, TLS alert, Server hello (2): * SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed * Closing connection #0 curl: (60) SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed More details here: http://curl.haxx.se/docs/sslcerts.html
Append your site’s SSL certificate with the GoDaddy gd_intermediate.crt
& gd_bundle.crt
intermediate certificates. Use the following to backup/update this file based on the value set to CRT_FILE
.
cp /etc/nginx/ssl/server.crt /etc/nginx/ssl/server.crt.bak CRT_FILE=/etc/nginx/ssl/server.crt GD_HOST="https://certs.godaddy.com" GD_PATH="/anonymous/repository.pki?" GD_ACTION="actionMethod=anonymous%2Frepository.xhtml%3Arepository.streamFile%28%27%27%29" GD_CID="cid=88430" GD_REPO="$GD_HOST$GD_PATH$GD_ACTION&$GD_CID" curl "$GD_REPO&streamfilename=gd_intermediate.crt" >> $CRT_FILE curl "$GD_REPO&streamfilename=gd_bundle.crt" >> $CRT_FILE service nginx restart
After the update you should be able to fetch your site over SSL with no warnings.
[www.example.com]# curl -v -I https://www.example.com * About to connect() to www.example.com port 443 (#0) * Trying 127.0.0.1... connected * Connected to www.example.com (127.0.0.1) port 443 (#0) * successfully set certificate verify locations: * CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none * SSLv3, TLS handshake, Client hello (1): * SSLv3, TLS handshake, Server hello (2): * SSLv3, TLS handshake, CERT (11): * SSLv3, TLS handshake, Server key exchange (12): * SSLv3, TLS handshake, Server finished (14): * SSLv3, TLS handshake, Client key exchange (16): * SSLv3, TLS change cipher, Client hello (1): * SSLv3, TLS handshake, Finished (20): * SSLv3, TLS change cipher, Client hello (1): * SSLv3, TLS handshake, Finished (20): * SSL connection using DHE-RSA-AES256-SHA * Server certificate: * subject: OU=Domain Control Validated; CN=*.example.com * start date: 2014-02-03 16:44:03 GMT * expire date: 2015-03-04 22:23:49 GMT * subjectAltName: www.example.com matched * issuer: C=US; ST=Arizona; L=Scottsdale; O=GoDaddy.com, Inc.; OU=http://certificates.godaddy.com/repository; CN=Go Daddy Secure Certification Authority; serialNumber=12345678 * SSL certificate verify ok. > HEAD / HTTP/1.1 > User-Agent: curl/7.21.7 (x86_64-redhat-linux-gnu) libcurl/7.21.7 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5 libssh2/1.2.7 > Host: www.example.com > Accept: */* > < HTTP/1.1 200 OK HTTP/1.1 200 OK < Server: nginx/1.4.7 Server: nginx/1.4.7
The post GoDaddy SSL Certificates on NGINX appeared first on Justin Silver.
]]>