Let's say you want to host domains first.com
and second.com
.
Create folders for their files:
<?php | |
/* | |
* dl-file.php | |
* | |
* Protect uploaded files with login. | |
* | |
* @link http://wordpress.stackexchange.com/questions/37144/protect-wordpress-uploads-if-user-is-not-logged-in | |
* | |
* @author hakre <http://hakre.wordpress.com/> | |
* @license GPL-3.0+ |
<?php | |
echo '<pre>'; | |
echo '<span style="color:blue">DOWNLOADING...</span>'.PHP_EOL; | |
// Download file | |
file_put_contents('wp.zip', file_get_contents('https://wordpress.org/latest.zip')); | |
$zip = new ZipArchive(); | |
$res = $zip->open('wp.zip'); | |
if ($res === TRUE) { |
var string_to_slug = function (str) | |
{ | |
str = str.replace(/^\s+|\s+$/g, ''); // trim | |
str = str.toLowerCase(); | |
// remove accents, swap ñ for n, etc | |
var from = "àáäâèéëêìíïîòóöôùúüûñçěščřžýúůďťň·/_,:;"; | |
var to = "aaaaeeeeiiiioooouuuuncescrzyuudtn------"; | |
for (var i=0, l=from.length ; i<l ; i++) |
#!/usr/bin/env bash | |
########################################################################## | |
# Shellscript: Backup and update WordPress using wp-cli | |
# Author : Paco Orozco <[email protected]> | |
# Requires : wp-cli | |
########################################################################## | |
# Changelog | |
# 20170125: 1.0 | |
# Adds a default option to upgrade only when it's needed. | |
# 20161220: 0.1 |
var data = new FormData() | |
// Add data/files to formdata var | |
jQuery.ajax({ | |
url: wpApiSettings.root + 'routehere/v1/subroute/save', | |
type: 'POST', | |
beforeSend: function(xhr) { | |
xhr.setRequestHeader( 'X-WP-Nonce', wpApiSettings.nonce ); | |
}, |
--- | |
# SSH server settings, in line with https://stribika.github.io/2015/01/04/secure-secure-shell.html | |
# Before using, change myhosts to your hosts' nickname and myuser to your username (two instances! make sure you replace both or you'll be locked out of ssh!) | |
- hosts: myhosts | |
become: true | |
remote_user: myuser | |
tasks: | |
# Key exchange, ciphers and MACs | |
- lineinfile: dest=/etc/ssh/sshd_config regexp='^KexAlgorithms' line='KexAlgorithms [email protected],diffie-hellman-group-exchange-sha256' | |
Using the REST API to upload a file to WordPress is
quite simple. All you need is to send the file in a
POST
-Request to the wp/v2/media
route.
There are two ways of sending a file. The first method simply sends the file in the body of the request. The following PHP script shows the basic principle:
Ansible has various ways of looking up data from outside sources, including plain text password files, CSV files and INI files. But it doesn't seem to have a lookup for .env files, as used in Laravel projects, also available for PHP, Ruby, Node.js, Python and others.
One option is to launch Ansible with the Ruby dotenv
command line script... But that requires Ruby, which seems like overkill to me.
So here is a simpler solution that I use. It consists of:
.env
file itself.env
file into environment variables - ansible-playbook.sh
Get load balancer ARN
arn=$(aws elbv2 describe-load-balancers --names <value> --query 'LoadBalancers[].[LoadBalancerArn]' --output text)
Get listeners
aws elbv2 describe-listeners --load-balancer-arn "$arn" --query 'Listeners[].{ListenerArn:ListenerArn,Protocol:Protocol,Port:Port}'
[