Model - moleculezz/chef-lamp GitHub Wiki

Add users

  • create user (no password)
  • set shell to /bin/bash
  • add user's public key in /home/username/.ssh/authorized_keys
  • change owner and group of /home/username/
  • add sudo group for users that need sysadmin priviledges

Install software

  • apt
    • build-essential
    • pkg-config
    • htop
    • curl
    • ack-grep
    • git
    • apache2
    • php-apc
    • php-pear
    • php5
    • php5-dev
    • php5-gd
    • php5-mysql
    • memcached
    • mysql-client
    • mysql-server
    • imagemagick
  • PECL
    • memcache
    • uploadprogress
  • composer (install globally)
    • drush

Configuration

  • sudo
    • add a file in /etc/sudoers.d/
    • enable passwordless sudo for the sudo group
  • www-data user
    • change shell of the www-data user to /bin/bash
    • add all users' public keys to /var/www/.ssh/authorized_keys
    • change owner and group of /var/www/
    • set ssh key by either:
      • generate a new keypair and add the public key to JPR Deploy Github user
      • add an existing private key (less secure)
    • set username and email to JPR Deploy
  • apache
    • add a file in /etc/apache2/conf.d/ for custom configuration
    • enable modules
      • rewrite
      • ssl
      • headers ?
      • expire ?
  • php5
    • add a file in /etc/php5/conf.d/
    • add the installed PECL extensions with extension=extension.so

Add sites

  • create a vhost for the site, pointing to /var/www/sites/sitename
  • create a backup folder at /var/www/drush-backups/sitename