templates | ||
create-user.yml | ||
README.md | ||
run-local-all | ||
settings.yml |
My Ansible Playbooks
This is just my repository of playbooks.
- create-user.yml
- Creates a user with a password, a MySql DB, and an Apache virtual host.
Setup Ansible
sudo aptitude -y install git python-jinja2 python-yaml python-mysqldb python-paramiko python-software-properties software-properties-common
add-apt-repository ppa:rquillo/ansible
aptitude update && aptitude install ansible
echo "localhost" > /etc/ansible/hosts
You can now test by typing:
ansible -c local -m ping all
You should see:
localhost | success >> {
"changed": false,
"ping": "pong"
}
Install passlib (for create-user.yml)
wget https://passlib.googlecode.com/files/passlib-1.6.1.tar.gz
tar -zxvf passlib-1.6.1.tar.gz
cd passlib-1.6.1
python setup.py install
Check my.cnf
You may need to set up a ~/.my.cnf file for the user you'll run this as (you'll probably need the user specified in the file, not just the password!):
[client]
user=root
password="mypassword"
Run the play
By executing the following, it will setup only the commonly used components:
ansible-playbook -c local --tags="common,mysql,apache,file" ./create-user.yml
You can also just run the run-all script.
For Wordpress
chmod 775 -R /home/$user/public_html
chown :www-data -R /home/$user/public_html
usermod -G www-data $user
echo "umask 002" >> /etc/apache2/envvars
echo "define( 'FS_METHOD', 'direct' );" >> /home/$user/public_html/wp-config.php