├── .gitignore ├── doc ├── troubleshooting │ ├── linux.md │ ├── osx.md │ ├── windows.md │ └── allplatforms.md └── installation │ ├── windows │ ├── path.png │ ├── components.png │ ├── git-integration.png │ └── terminal-integration.png │ ├── osx.md │ ├── windows.md │ └── linux.md ├── ansible ├── resolv.conf ├── roles │ ├── mongodb │ │ ├── templates │ │ │ ├── mongod.conf.j2 │ │ │ ├── user-mongorc.js.j2 │ │ │ └── createuser.js.j2 │ │ ├── handlers │ │ │ └── main.yml │ │ └── tasks │ │ │ └── main.yml │ ├── nginx │ │ ├── files │ │ │ ├── applications │ │ │ │ ├── default.conf │ │ │ │ ├── wordpress.conf │ │ │ │ ├── drupal.conf │ │ │ │ ├── symfony.conf │ │ │ │ ├── lavarel.conf │ │ │ │ ├── contao.conf │ │ │ │ └── bolt.conf │ │ │ ├── certificate │ │ │ └── privatekey │ │ ├── handlers │ │ │ └── main.yml │ │ ├── tasks │ │ │ └── main.yml │ │ └── templates │ │ │ └── nginx.conf.j2 │ ├── elasticsearch │ │ ├── templates │ │ │ └── elasticsearch.yml.j2 │ │ ├── handlers │ │ │ └── main.yaml │ │ └── tasks │ │ │ └── main.yml │ ├── hhvm │ │ ├── handlers │ │ │ └── main.yml │ │ ├── templates │ │ │ ├── php.ini.j2 │ │ │ └── server.ini.j2 │ │ └── tasks │ │ │ └── main.yml │ ├── cleanup │ │ └── tasks │ │ │ └── main.yml │ ├── mariadb │ │ ├── handlers │ │ │ └── main.yml │ │ ├── templates │ │ │ ├── user-my.cnf.j2 │ │ │ └── my.cnf.j2 │ │ └── tasks │ │ │ └── main.yml │ ├── java │ │ └── tasks │ │ │ └── main.yml │ ├── php55 │ │ ├── handlers │ │ │ └── main.yml │ │ ├── templates │ │ │ ├── cli.php.ini.j2 │ │ │ ├── fpm.php.ini.j2 │ │ │ └── php-fpm.conf.j2 │ │ └── tasks │ │ │ └── main.yml │ ├── php56 │ │ ├── handlers │ │ │ └── main.yml │ │ ├── templates │ │ │ ├── cli.php.ini.j2 │ │ │ ├── fpm.php.ini.j2 │ │ │ └── php-fpm.conf.j2 │ │ └── tasks │ │ │ └── main.yml │ ├── php70 │ │ ├── handlers │ │ │ └── main.yml │ │ ├── templates │ │ │ ├── cli.php.ini.j2 │ │ │ ├── fpm.php.ini.j2 │ │ │ └── php-fpm.conf.j2 │ │ └── tasks │ │ │ └── main.yml │ ├── postgresql │ │ ├── handlers │ │ │ └── main.yml │ │ ├── templates │ │ │ ├── user-pgpass.j2 │ │ │ └── postgresql.conf.j2 │ │ └── tasks │ │ │ └── main.yml │ ├── redis │ │ ├── handlers │ │ │ └── main.yaml │ │ ├── templates │ │ │ └── redis.conf.j2 │ │ └── tasks │ │ │ └── main.yml │ ├── memcached │ │ ├── handlers │ │ │ └── main.yaml │ │ ├── templates │ │ │ └── memcached.conf.j2 │ │ └── tasks │ │ │ └── main.yml │ ├── php55-original │ │ ├── handlers │ │ │ └── main.yml │ │ ├── templates │ │ │ ├── cli.php.ini.j2 │ │ │ ├── fpm.php.ini.j2 │ │ │ └── php-fpm.conf.j2 │ │ └── tasks │ │ │ └── main.yml │ ├── freetds │ │ ├── templates │ │ │ └── freetds.conf.j2 │ │ └── tasks │ │ │ └── main.yml │ ├── git │ │ ├── tasks │ │ │ └── main.yml │ │ └── templates │ │ │ └── gitconfig.j2 │ ├── ruby │ │ └── tasks │ │ │ └── main.yml │ ├── php-commandlinetools │ │ ├── files │ │ │ ├── drush.sh │ │ │ └── lavarel.sh │ │ └── tasks │ │ │ └── main.yml │ ├── nodejs │ │ └── tasks │ │ │ └── main.yml │ └── general │ │ ├── templates │ │ └── bash_vagrant.j2 │ │ └── tasks │ │ └── main.yml ├── ansible-on-guest.sh ├── sources.list └── playbook.yml ├── presentation ├── lib │ ├── font │ │ └── source-sans-pro │ │ │ ├── source-sans-pro-italic.eot │ │ │ ├── source-sans-pro-italic.ttf │ │ │ ├── source-sans-pro-italic.woff │ │ │ ├── source-sans-pro-regular.eot │ │ │ ├── source-sans-pro-regular.ttf │ │ │ ├── source-sans-pro-regular.woff │ │ │ ├── source-sans-pro-semibold.eot │ │ │ ├── source-sans-pro-semibold.ttf │ │ │ ├── source-sans-pro-semibold.woff │ │ │ ├── source-sans-pro-semibolditalic.eot │ │ │ ├── source-sans-pro-semibolditalic.ttf │ │ │ ├── source-sans-pro-semibolditalic.woff │ │ │ ├── source-sans-pro.css │ │ │ └── LICENSE │ └── js │ │ ├── html5shiv.js │ │ ├── classList.js │ │ └── head.min.js ├── plugin │ └── print-pdf │ │ └── print-pdf.js ├── css │ ├── print │ │ ├── pdf.css │ │ └── paper.css │ ├── theme │ │ └── black.css │ └── reveal.css └── index.html ├── tools └── vagrant-suspend ├── LICENSE ├── README.md ├── Vagrantfile └── vagrant-default.yml /.gitignore: -------------------------------------------------------------------------------- 1 | /.vagrant -------------------------------------------------------------------------------- /doc/troubleshooting/linux.md: -------------------------------------------------------------------------------- 1 | # Troubleshooting within linux -------------------------------------------------------------------------------- /ansible/resolv.conf: -------------------------------------------------------------------------------- 1 | nameserver 8.8.8.8 2 | nameserver 8.8.4.4 -------------------------------------------------------------------------------- /ansible/roles/mongodb/templates/mongod.conf.j2: -------------------------------------------------------------------------------- 1 | {{ mongodb.config | to_nice_yaml }} -------------------------------------------------------------------------------- /ansible/roles/nginx/files/applications/default.conf: -------------------------------------------------------------------------------- 1 | root /vagrant; 2 | 3 | index index.php; -------------------------------------------------------------------------------- /ansible/roles/elasticsearch/templates/elasticsearch.yml.j2: -------------------------------------------------------------------------------- 1 | {{ elasticsearch.config|to_nice_yaml }} 2 | -------------------------------------------------------------------------------- /ansible/roles/hhvm/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: restart hhvm 3 | service: name=hhvm state=restarted -------------------------------------------------------------------------------- /ansible/roles/nginx/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: restart nginx 3 | service: name=nginx state=restarted -------------------------------------------------------------------------------- /ansible/roles/cleanup/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: cleanup cached apt packages 3 | command: apt-get clean 4 | -------------------------------------------------------------------------------- /ansible/roles/mariadb/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: restart mysql 3 | service: name=mysql state=restarted -------------------------------------------------------------------------------- /ansible/roles/mongodb/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: restart mongodb 3 | service: name=mongod state=restarted -------------------------------------------------------------------------------- /ansible/roles/java/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: install headless 3 | apt: name=openjdk-7-jre-headless state=present -------------------------------------------------------------------------------- /ansible/roles/php55/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: restart php55-fpm 3 | service: name=php5-fpm state=restarted -------------------------------------------------------------------------------- /ansible/roles/php56/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: restart php56-fpm 3 | service: name=php5-fpm state=restarted -------------------------------------------------------------------------------- /ansible/roles/php70/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: restart php7.0-fpm 3 | service: name=php7.0-fpm state=restarted -------------------------------------------------------------------------------- /ansible/roles/mariadb/templates/user-my.cnf.j2: -------------------------------------------------------------------------------- 1 | [client] 2 | user={{ mariadb.username }} 3 | password={{ mariadb.password }} -------------------------------------------------------------------------------- /ansible/roles/postgresql/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: restart postgresql 3 | service: name=postgresql state=restarted -------------------------------------------------------------------------------- /ansible/roles/redis/handlers/main.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: restart redis 3 | service: name=redis-server state=restarted 4 | -------------------------------------------------------------------------------- /ansible/roles/memcached/handlers/main.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: restart memcached 3 | service: name=memcached state=restarted 4 | -------------------------------------------------------------------------------- /ansible/roles/php55-original/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: restart php55-original-fpm 3 | service: name=php5-fpm state=restarted -------------------------------------------------------------------------------- /doc/installation/windows/path.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dominikzogg-legacy/vagrant-php/HEAD/doc/installation/windows/path.png -------------------------------------------------------------------------------- /ansible/roles/elasticsearch/handlers/main.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: restart elasticsearch 3 | service: name=elasticsearch state=restarted 4 | -------------------------------------------------------------------------------- /ansible/roles/postgresql/templates/user-pgpass.j2: -------------------------------------------------------------------------------- 1 | hostname:{{ postgresql.config.port}}:*:{{ postgresql.username}}:{{ postgresql.password}} -------------------------------------------------------------------------------- /doc/installation/windows/components.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dominikzogg-legacy/vagrant-php/HEAD/doc/installation/windows/components.png -------------------------------------------------------------------------------- /ansible/roles/memcached/templates/memcached.conf.j2: -------------------------------------------------------------------------------- 1 | {% for option, value in memcached.config.iteritems() %} 2 | {{ option }} {{ value }} 3 | {% endfor %} 4 | -------------------------------------------------------------------------------- /doc/installation/windows/git-integration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dominikzogg-legacy/vagrant-php/HEAD/doc/installation/windows/git-integration.png -------------------------------------------------------------------------------- /ansible/roles/nginx/files/applications/wordpress.conf: -------------------------------------------------------------------------------- 1 | root /vagrant; 2 | 3 | index index.php; 4 | 5 | location / { 6 | try_files $uri $uri/ /index.php?$args; 7 | } -------------------------------------------------------------------------------- /doc/installation/windows/terminal-integration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dominikzogg-legacy/vagrant-php/HEAD/doc/installation/windows/terminal-integration.png -------------------------------------------------------------------------------- /ansible/roles/nginx/files/applications/drupal.conf: -------------------------------------------------------------------------------- 1 | root /vagrant; 2 | 3 | index index.php; 4 | 5 | location / { 6 | try_files $uri $uri/ /index.php?q=$uri&$args; 7 | } -------------------------------------------------------------------------------- /ansible/roles/nginx/files/applications/symfony.conf: -------------------------------------------------------------------------------- 1 | root /vagrant/web; 2 | 3 | index app_dev.php; 4 | 5 | location / { 6 | try_files $uri $uri/ /app_dev.php?$args; 7 | } -------------------------------------------------------------------------------- /ansible/roles/nginx/files/applications/lavarel.conf: -------------------------------------------------------------------------------- 1 | root /vagrant/public; 2 | 3 | index index.php; 4 | 5 | location / { 6 | try_files $uri $uri/ /index.php?$query_string; 7 | } -------------------------------------------------------------------------------- /presentation/lib/font/source-sans-pro/source-sans-pro-italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dominikzogg-legacy/vagrant-php/HEAD/presentation/lib/font/source-sans-pro/source-sans-pro-italic.eot -------------------------------------------------------------------------------- /presentation/lib/font/source-sans-pro/source-sans-pro-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dominikzogg-legacy/vagrant-php/HEAD/presentation/lib/font/source-sans-pro/source-sans-pro-italic.ttf -------------------------------------------------------------------------------- /presentation/lib/font/source-sans-pro/source-sans-pro-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dominikzogg-legacy/vagrant-php/HEAD/presentation/lib/font/source-sans-pro/source-sans-pro-italic.woff -------------------------------------------------------------------------------- /presentation/lib/font/source-sans-pro/source-sans-pro-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dominikzogg-legacy/vagrant-php/HEAD/presentation/lib/font/source-sans-pro/source-sans-pro-regular.eot -------------------------------------------------------------------------------- /presentation/lib/font/source-sans-pro/source-sans-pro-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dominikzogg-legacy/vagrant-php/HEAD/presentation/lib/font/source-sans-pro/source-sans-pro-regular.ttf -------------------------------------------------------------------------------- /presentation/lib/font/source-sans-pro/source-sans-pro-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dominikzogg-legacy/vagrant-php/HEAD/presentation/lib/font/source-sans-pro/source-sans-pro-regular.woff -------------------------------------------------------------------------------- /presentation/lib/font/source-sans-pro/source-sans-pro-semibold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dominikzogg-legacy/vagrant-php/HEAD/presentation/lib/font/source-sans-pro/source-sans-pro-semibold.eot -------------------------------------------------------------------------------- /presentation/lib/font/source-sans-pro/source-sans-pro-semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dominikzogg-legacy/vagrant-php/HEAD/presentation/lib/font/source-sans-pro/source-sans-pro-semibold.ttf -------------------------------------------------------------------------------- /presentation/lib/font/source-sans-pro/source-sans-pro-semibold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dominikzogg-legacy/vagrant-php/HEAD/presentation/lib/font/source-sans-pro/source-sans-pro-semibold.woff -------------------------------------------------------------------------------- /doc/troubleshooting/osx.md: -------------------------------------------------------------------------------- 1 | # Troubleshooting within osx 2 | 3 | ## Unable to install due to FFI error 4 | 5 | Check if you have installed XCode, if yes, check if you allready started it, and accepted the license. -------------------------------------------------------------------------------- /presentation/lib/font/source-sans-pro/source-sans-pro-semibolditalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dominikzogg-legacy/vagrant-php/HEAD/presentation/lib/font/source-sans-pro/source-sans-pro-semibolditalic.eot -------------------------------------------------------------------------------- /presentation/lib/font/source-sans-pro/source-sans-pro-semibolditalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dominikzogg-legacy/vagrant-php/HEAD/presentation/lib/font/source-sans-pro/source-sans-pro-semibolditalic.ttf -------------------------------------------------------------------------------- /presentation/lib/font/source-sans-pro/source-sans-pro-semibolditalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dominikzogg-legacy/vagrant-php/HEAD/presentation/lib/font/source-sans-pro/source-sans-pro-semibolditalic.woff -------------------------------------------------------------------------------- /ansible/roles/hhvm/templates/php.ini.j2: -------------------------------------------------------------------------------- 1 | {% for groupname, group in hhvm.config.iteritems() %} 2 | [{{ groupname }}] 3 | {% for option, value in group.iteritems() %} 4 | {{ option }} = {{ value }} 5 | {% endfor %} 6 | 7 | {% endfor %} -------------------------------------------------------------------------------- /ansible/roles/mariadb/templates/my.cnf.j2: -------------------------------------------------------------------------------- 1 | {% for groupname, group in mariadb.config.iteritems() %} 2 | [{{ groupname }}] 3 | {% for option, value in group.iteritems() %} 4 | {{ option }} = {{ value }} 5 | {% endfor %} 6 | 7 | {% endfor %} -------------------------------------------------------------------------------- /ansible/roles/php55/templates/cli.php.ini.j2: -------------------------------------------------------------------------------- 1 | {% for groupname, group in php.config.cli.iteritems() %} 2 | [{{ groupname }}] 3 | {% for option, value in group.iteritems() %} 4 | {{ option }} = {{ value }} 5 | {% endfor %} 6 | 7 | {% endfor %} -------------------------------------------------------------------------------- /ansible/roles/php55/templates/fpm.php.ini.j2: -------------------------------------------------------------------------------- 1 | {% for groupname, group in php.config.fpm.iteritems() %} 2 | [{{ groupname }}] 3 | {% for option, value in group.iteritems() %} 4 | {{ option }} = {{ value }} 5 | {% endfor %} 6 | 7 | {% endfor %} -------------------------------------------------------------------------------- /ansible/roles/php56/templates/cli.php.ini.j2: -------------------------------------------------------------------------------- 1 | {% for groupname, group in php.config.cli.iteritems() %} 2 | [{{ groupname }}] 3 | {% for option, value in group.iteritems() %} 4 | {{ option }} = {{ value }} 5 | {% endfor %} 6 | 7 | {% endfor %} -------------------------------------------------------------------------------- /ansible/roles/php56/templates/fpm.php.ini.j2: -------------------------------------------------------------------------------- 1 | {% for groupname, group in php.config.fpm.iteritems() %} 2 | [{{ groupname }}] 3 | {% for option, value in group.iteritems() %} 4 | {{ option }} = {{ value }} 5 | {% endfor %} 6 | 7 | {% endfor %} -------------------------------------------------------------------------------- /ansible/roles/php70/templates/cli.php.ini.j2: -------------------------------------------------------------------------------- 1 | {% for groupname, group in php.config.cli.iteritems() %} 2 | [{{ groupname }}] 3 | {% for option, value in group.iteritems() %} 4 | {{ option }} = {{ value }} 5 | {% endfor %} 6 | 7 | {% endfor %} -------------------------------------------------------------------------------- /ansible/roles/php70/templates/fpm.php.ini.j2: -------------------------------------------------------------------------------- 1 | {% for groupname, group in php.config.fpm.iteritems() %} 2 | [{{ groupname }}] 3 | {% for option, value in group.iteritems() %} 4 | {{ option }} = {{ value }} 5 | {% endfor %} 6 | 7 | {% endfor %} -------------------------------------------------------------------------------- /ansible/roles/freetds/templates/freetds.conf.j2: -------------------------------------------------------------------------------- 1 | {% for groupname, group in freetds.config.iteritems() %} 2 | [{{ groupname }}] 3 | {% for option, value in group.iteritems() %} 4 | {{ option }} = {{ value }} 5 | {% endfor %} 6 | 7 | {% endfor %} -------------------------------------------------------------------------------- /ansible/roles/git/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: install 3 | apt: name={{ item }} state=present 4 | with_items: 5 | - git 6 | 7 | - name: copy .gitconfig 8 | template: 9 | src=gitconfig.j2 10 | dest=/home/vagrant/.gitconfig -------------------------------------------------------------------------------- /ansible/roles/git/templates/gitconfig.j2: -------------------------------------------------------------------------------- 1 | {% for groupname, group in git.config.iteritems() %} 2 | [{{ groupname }}] 3 | {% for option, value in group.iteritems() %} 4 | {{ option }} = {{ value|replace("'", '"') }} 5 | {% endfor %} 6 | 7 | {% endfor %} -------------------------------------------------------------------------------- /ansible/roles/php55-original/templates/cli.php.ini.j2: -------------------------------------------------------------------------------- 1 | {% for groupname, group in php.config.cli.iteritems() %} 2 | [{{ groupname }}] 3 | {% for option, value in group.iteritems() %} 4 | {{ option }} = {{ value }} 5 | {% endfor %} 6 | 7 | {% endfor %} -------------------------------------------------------------------------------- /ansible/roles/php55-original/templates/fpm.php.ini.j2: -------------------------------------------------------------------------------- 1 | {% for groupname, group in php.config.fpm.iteritems() %} 2 | [{{ groupname }}] 3 | {% for option, value in group.iteritems() %} 4 | {{ option }} = {{ value }} 5 | {% endfor %} 6 | 7 | {% endfor %} -------------------------------------------------------------------------------- /ansible/roles/freetds/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: install 3 | apt: name={{ item }} state=present 4 | with_items: 5 | - freetds-bin 6 | 7 | - name: configure freetds.conf 8 | template: 9 | src=freetds.conf.j2 10 | dest=/etc/freetds/freetds.conf -------------------------------------------------------------------------------- /doc/troubleshooting/windows.md: -------------------------------------------------------------------------------- 1 | # Troubleshooting within windows 2 | 3 | ## Stderr: VBoxManage.exe: error: The host network interface with the given name could not be found 4 | 5 | Take a look at issue [14][1]. 6 | 7 | [1]: https://github.com/dominikzogg/vagrant-php/issues/14 -------------------------------------------------------------------------------- /presentation/lib/js/html5shiv.js: -------------------------------------------------------------------------------- 1 | document.createElement('header'); 2 | document.createElement('nav'); 3 | document.createElement('section'); 4 | document.createElement('article'); 5 | document.createElement('aside'); 6 | document.createElement('footer'); 7 | document.createElement('hgroup'); -------------------------------------------------------------------------------- /ansible/roles/nginx/files/applications/contao.conf: -------------------------------------------------------------------------------- 1 | root /vagrant; 2 | 3 | index index.php; 4 | 5 | location ~* \.(tpl|html5|xhtml)$ { 6 | access_log off; 7 | log_not_found off; 8 | deny all; 9 | } 10 | 11 | location / { 12 | try_files $uri $uri/ /index.php?$args; 13 | } -------------------------------------------------------------------------------- /ansible/roles/memcached/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: install 3 | apt: name={{ item }} state=present 4 | with_items: 5 | - memcached 6 | 7 | - name: configure memcached.conf 8 | template: 9 | src=memcached.conf.j2 10 | dest=/etc/memcached.conf 11 | notify: 12 | - restart memcached 13 | -------------------------------------------------------------------------------- /ansible/roles/ruby/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: install core, dev 3 | apt: name={{ item }} state=present 4 | with_items: 5 | - ruby 6 | - ruby-dev 7 | - build-essential 8 | 9 | - name: install gems 10 | gem: name={{ item }} state=present user_install=no 11 | with_items: ruby.gems 12 | -------------------------------------------------------------------------------- /ansible/roles/hhvm/templates/server.ini.j2: -------------------------------------------------------------------------------- 1 | ; php options 2 | pid = /var/run/hhvm/pid 3 | 4 | ; hhvm specific 5 | hhvm.server.user = vagrant 6 | hhvm.server.file_socket = {{ hhvm.server.socket }} 7 | hhvm.server.type = fastcgi 8 | hhvm.log.use_log_file = true 9 | hhvm.log.file = {{ hhvm.server.log }} 10 | hhvm.repo.central.path = /var/run/hhvm/hhvm.hhbc -------------------------------------------------------------------------------- /ansible/roles/postgresql/templates/postgresql.conf.j2: -------------------------------------------------------------------------------- 1 | {% for option, value in postgresql.config.iteritems() %} 2 | {% if value == value|int %} 3 | {{ option }} = {{ value }} 4 | {% elif value == 'true' or value == 'false' or value == 'on' or value == 'off' %} 5 | {{ option }} = {{ value|lower }} 6 | {% else %} 7 | {{ option }} = '{{ value }}' 8 | {% endif %} 9 | {% endfor %} -------------------------------------------------------------------------------- /ansible/roles/mongodb/templates/user-mongorc.js.j2: -------------------------------------------------------------------------------- 1 | // remember the current database 2 | var currentDb = db.getName(); 3 | 4 | // temporary switch to admin database 5 | db = db.getSiblingDB('admin'); 6 | 7 | // authenticate 8 | db.auth('{{ mongodb.username }}', '{{ mongodb.password }}'); 9 | 10 | // switch back to the current database 11 | db = db.getSiblingDB(currentDb); -------------------------------------------------------------------------------- /ansible/roles/php55/templates/php-fpm.conf.j2: -------------------------------------------------------------------------------- 1 | [vagrant] 2 | user = vagrant 3 | group = vagrant 4 | 5 | listen = {{ php.server.socket }} 6 | listen.owner = vagrant 7 | listen.group = vagrant 8 | 9 | pm = dynamic 10 | pm.max_children = 10 11 | pm.start_servers = 2 12 | pm.min_spare_servers = 1 13 | pm.max_spare_servers = 4 14 | pm.max_requests = 400 15 | 16 | request_terminate_timeout = {{ nginx.config.fastcgi_read_timeout }}s -------------------------------------------------------------------------------- /ansible/roles/php56/templates/php-fpm.conf.j2: -------------------------------------------------------------------------------- 1 | [vagrant] 2 | user = vagrant 3 | group = vagrant 4 | 5 | listen = {{ php.server.socket }} 6 | listen.owner = vagrant 7 | listen.group = vagrant 8 | 9 | pm = dynamic 10 | pm.max_children = 10 11 | pm.start_servers = 2 12 | pm.min_spare_servers = 1 13 | pm.max_spare_servers = 4 14 | pm.max_requests = 400 15 | 16 | request_terminate_timeout = {{ nginx.config.fastcgi_read_timeout }}s -------------------------------------------------------------------------------- /ansible/roles/php70/templates/php-fpm.conf.j2: -------------------------------------------------------------------------------- 1 | [vagrant] 2 | user = vagrant 3 | group = vagrant 4 | 5 | listen = {{ php.server.socket }} 6 | listen.owner = vagrant 7 | listen.group = vagrant 8 | 9 | pm = dynamic 10 | pm.max_children = 10 11 | pm.start_servers = 2 12 | pm.min_spare_servers = 1 13 | pm.max_spare_servers = 4 14 | pm.max_requests = 400 15 | 16 | request_terminate_timeout = {{ nginx.config.fastcgi_read_timeout }}s -------------------------------------------------------------------------------- /ansible/roles/php55-original/templates/php-fpm.conf.j2: -------------------------------------------------------------------------------- 1 | [vagrant] 2 | user = vagrant 3 | group = vagrant 4 | 5 | listen = {{ php.server.socket }} 6 | listen.owner = vagrant 7 | listen.group = vagrant 8 | 9 | pm = dynamic 10 | pm.max_children = 10 11 | pm.start_servers = 2 12 | pm.min_spare_servers = 1 13 | pm.max_spare_servers = 4 14 | pm.max_requests = 400 15 | 16 | request_terminate_timeout = {{ nginx.config.fastcgi_read_timeout }}s -------------------------------------------------------------------------------- /doc/troubleshooting/allplatforms.md: -------------------------------------------------------------------------------- 1 | # Troubleshooting 2 | 3 | ## Unknown configuration section 'bindfs'. 4 | 5 | ```{.sh} 6 | vagrant plugin install vagrant-bindfs 7 | ``` 8 | 9 | ## Unknown configuration section 'hostmanager'. 10 | 11 | ```{.sh} 12 | vagrant plugin install vagrant-hostmanager 13 | ``` 14 | 15 | ## Errno::ENOENT: No such file or directory - ... vagrant.yml 16 | 17 | Did you forget to add a vagrant.yml to the project directory? -------------------------------------------------------------------------------- /ansible/roles/php-commandlinetools/files/drush.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ ! -d "/usr/local/lib/drush" ]; then 4 | git clone https://github.com/drush-ops/drush.git /usr/local/lib/drush 5 | ln -s /usr/local/lib/drush/drush /usr/local/bin/drush 6 | chmod +x /usr/local/lib/drush/drush 7 | fi 8 | 9 | cd /usr/local/lib/drush 10 | 11 | git checkout 7.x 12 | git pull origin 7.x 13 | git checkout `git describe --abbrev=0 --tags` 14 | composer.phar install 15 | -------------------------------------------------------------------------------- /ansible/roles/mongodb/templates/createuser.js.j2: -------------------------------------------------------------------------------- 1 | try { 2 | load('/root/.mongorc.js'); 3 | } catch(err) {} 4 | 5 | db = db.getSiblingDB('admin'); 6 | var existinguser = db.getUser('{{ mongodb.username }}'); 7 | 8 | if(existinguser == null) { 9 | db.createUser({user: '{{ mongodb.username }}', pwd: '{{ mongodb.password }}', roles: [ { role: 'root', db: 'admin' } ]}) 10 | } else { 11 | db.updateUser('{{ mongodb.username }}', {pwd: '{{ mongodb.password }}'}); 12 | } 13 | -------------------------------------------------------------------------------- /ansible/roles/php-commandlinetools/files/lavarel.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ ! -d "/usr/local/lib/lavarel-installer" ]; then 4 | git clone https://github.com/laravel/installer.git /usr/local/lib/laravel-installer 5 | ln -s /usr/local/lib/laravel-installer/laravel /usr/local/bin/laravel-installer 6 | chmod +x /usr/local/lib/laravel-installer/laravel 7 | fi 8 | 9 | cd /usr/local/lib/laravel-installer 10 | 11 | git checkout master 12 | git pull origin master 13 | git checkout `git describe --abbrev=0 --tags` 14 | composer.phar install 15 | -------------------------------------------------------------------------------- /ansible/roles/redis/templates/redis.conf.j2: -------------------------------------------------------------------------------- 1 | {% macro fixValue(value) -%} 2 | {% if value == true %} 3 | {% set value = 'yes' %} 4 | {% elif value == false %} 5 | {% set value = 'no' %} 6 | {% endif %} 7 | {{ value }} 8 | {%- endmacro %} 9 | {% for option, value in redis.config.iteritems() %} 10 | {% if value is mapping %} 11 | {% for suboption, subvalue in value.iteritems() %} 12 | {{ option }} {{ fixValue(suboption) }} {{ fixValue(subvalue) }} 13 | {% endfor %} 14 | {% else %} 15 | {{ option }} {{ fixValue(value) }} 16 | {% endif %} 17 | {% endfor %} 18 | -------------------------------------------------------------------------------- /ansible/roles/nodejs/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: add apt key 3 | apt_key: url=https://deb.nodesource.com/gpgkey/nodesource.gpg.key state=present 4 | 5 | - name: add apt repository 6 | apt_repository: repo='deb https://deb.nodesource.com/node_0.12 trusty main' state=present 7 | 8 | - name: add apt src repository 9 | apt_repository: repo='deb-src https://deb.nodesource.com/node_0.12 trusty main' state=present 10 | 11 | - name: install 12 | apt: name={{ item }} state=present 13 | with_items: 14 | - nodejs 15 | - build-essential 16 | 17 | - name: npm install 18 | npm: name={{ item }} global=yes state=present 19 | with_items: nodejs.npm -------------------------------------------------------------------------------- /ansible/roles/redis/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: add key 3 | apt_key: keyserver=keyserver.ubuntu.com id=B9316A7BC7917B12 state=present 4 | 5 | - name: app repository 6 | apt_repository: repo='deb http://ppa.launchpad.net/chris-lea/redis-server/ubuntu trusty main' state=present 7 | 8 | - name: app src repository 9 | apt_repository: repo='deb-src http://ppa.launchpad.net/chris-lea/redis-server/ubuntu trusty main' state=present 10 | 11 | - name: install 12 | apt: name={{ item }} state=present 13 | with_items: 14 | - redis-server 15 | 16 | - name: configure redis.conf 17 | template: 18 | src=redis.conf.j2 19 | dest=/etc/redis/redis.conf 20 | notify: 21 | - restart redis 22 | -------------------------------------------------------------------------------- /ansible/roles/general/templates/bash_vagrant.j2: -------------------------------------------------------------------------------- 1 | # shell layout 2 | export CLICOLOR='true' 3 | export PS1='\[\033[1;32m\]\h \[\033[1;37m\]\w \u \\$ ' 4 | 5 | export EDITOR='{{ general.config.editor }}' 6 | 7 | export HISTSIZE={{ general.config.history_length }} 8 | export HISTFILESIZE={{ general.config.history_length }} 9 | 10 | alias cls='printf "\033c"' 11 | 12 | {% if application == 'symfony' %} 13 | alias sf="./app/console" 14 | alias sfcc="sf cache:clear" 15 | alias sfai="sf assets:install --symlink" 16 | alias sfad="sf assetic:dump" 17 | alias sfaw="sf assetic:watch" 18 | alias sfdsu="sf doctrine:schema:update --force --complete" 19 | alias sfdsv="sf doctrine:schema:validate" 20 | {% endif %} 21 | 22 | cd /vagrant 23 | -------------------------------------------------------------------------------- /tools/vagrant-suspend: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | /dev/null 2>&1 11 | 12 | # Update apt information 13 | apt-get update > /dev/null 2>&1 14 | 15 | # Install ansible, https support for apt 16 | apt-get install -y ansible aptitude apt-transport-https > /dev/null 2>&1 17 | 18 | export PYTHONUNBUFFERED=1 19 | 20 | # Run the playbook. 21 | echo "Running Ansible provisioner defined in Vagrantfile." 22 | echo "extra-vars: " $2 23 | ansible-playbook -i localhost, --connection=local --extra-vars=${2} /vagrant/vagrant-php/${1} 24 | -------------------------------------------------------------------------------- /ansible/sources.list: -------------------------------------------------------------------------------- 1 | deb http://ch.archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse 2 | deb-src http://ch.archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse 3 | 4 | deb http://ch.archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse 5 | deb-src http://ch.archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse 6 | 7 | deb http://ch.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse 8 | deb-src http://ch.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse 9 | 10 | deb http://security.ubuntu.com/ubuntu trusty-security main restricted universe multiverse 11 | deb-src http://security.ubuntu.com/ubuntu trusty-security main restricted universe multiverse 12 | 13 | deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main -------------------------------------------------------------------------------- /ansible/playbook.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: all 3 | sudo: true 4 | roles: 5 | - general 6 | - { role: elasticsearch, when: role.elasticsearch } 7 | - { role: freetds, when: role.freetds } 8 | - git 9 | - { role: hhvm, when: phpversion == 'hhvm' } 10 | - { role: java, when: role.java } 11 | - { role: mariadb, when: role.mariadb } 12 | - { role: memcached, when: role.memcached } 13 | - { role: mongodb, when: role.mongodb } 14 | - nginx 15 | - { role: nodejs, when: role.nodejs } 16 | - { role: php55-original, when: phpversion == '5.5-original' } 17 | - { role: php55, when: phpversion == 5.5 } 18 | - { role: php56, when: phpversion == 5.6 } 19 | - { role: php70, when: phpversion == 7.0 } 20 | - php-commandlinetools 21 | - { role: postgresql, when: role.postgresql } 22 | - { role: redis, when: role.redis } 23 | - { role: ruby, when: role.ruby } 24 | - cleanup 25 | -------------------------------------------------------------------------------- /ansible/roles/nginx/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: add key 3 | apt_key: keyserver=keyserver.ubuntu.com id=00A6F0A3C300EE8C state=present 4 | 5 | - name: app repository 6 | apt_repository: repo='deb http://ppa.launchpad.net/nginx/stable/ubuntu trusty main' state=present 7 | 8 | - name: app src repository 9 | apt_repository: repo='deb-src http://ppa.launchpad.net/nginx/stable/ubuntu trusty main' state=present 10 | 11 | - name: install 12 | apt: name={{ item }} state=present 13 | with_items: 14 | - nginx-light 15 | 16 | - name: copy privatekey 17 | copy: 18 | src=privatekey 19 | dest=/etc/nginx/privatekey 20 | 21 | - name: copy certificate 22 | copy: 23 | src=certificate 24 | dest=/etc/nginx/certificate 25 | 26 | - name: copy application profile 27 | copy: 28 | src=applications 29 | dest=/etc/nginx/ 30 | 31 | - name: nginx.conf 32 | template: 33 | src=nginx.conf.j2 34 | dest=/etc/nginx/nginx.conf 35 | notify: 36 | - restart nginx 37 | -------------------------------------------------------------------------------- /ansible/roles/postgresql/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: add apt key 3 | apt_key: url=https://www.postgresql.org/media/keys/ACCC4CF8.asc state=present 4 | 5 | - name: app repository 6 | apt_repository: repo='deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main' state=present 7 | 8 | - name: install 9 | apt: name={{ item }} state=present 10 | with_items: 11 | - postgresql-9.4 12 | - python-psycopg2 13 | 14 | - name: configure postgresql.conf 15 | template: 16 | src=postgresql.conf.j2 17 | dest=/etc/postgresql/9.4/main/postgresql.conf 18 | notify: 19 | - restart postgresql 20 | 21 | - name: wait for postgresql 22 | wait_for: port={{postgresql.config.port}} 23 | 24 | - name: change default user to {{ postgresql.username }} / {{ postgresql.password }} 25 | sudo_user: postgres 26 | postgresql_user: name={{ postgresql.username }} password={{ postgresql.password }} role_attr_flags=SUPERUSER 27 | 28 | - name: copy .pgpass for postgres 29 | template: 30 | src=user-pgpass.j2 31 | dest=/var/lib/postgresql/.pgpass 32 | owner=postgres 33 | group=postgres 34 | mode=0600 -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015 Dominik Zogg 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is furnished 8 | to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /ansible/roles/mongodb/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: add key 3 | apt_key: keyserver=keyserver.ubuntu.com id=7F0CEB10 state=present 4 | 5 | - name: app repository 6 | apt_repository: repo='deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse' state=present 7 | 8 | - name: install 9 | apt: name={{ item }} state=present 10 | with_items: 11 | - mongodb-org 12 | 13 | - name: configure mongod.conf 14 | template: 15 | src=mongod.conf.j2 16 | dest=/etc/mongod.conf 17 | notify: 18 | - restart mongodb 19 | 20 | - name: wait for mongod 21 | wait_for: port={{mongodb.config.net.port}} 22 | 23 | - name: copy user script 24 | template: 25 | src=createuser.js.j2 26 | dest=~/createuser.js 27 | 28 | - name: add admin user 29 | command: mongo --shell ~/createuser.js 30 | 31 | - name: copy .mongorc.js file for root 32 | template: 33 | src=user-mongorc.js.j2 34 | dest=/root/.mongorc.js 35 | owner=root 36 | group=root 37 | mode=0600 38 | 39 | - name: copy .mongorc.js for vagrant 40 | template: 41 | src=user-mongorc.js.j2 42 | dest=/home/vagrant/.mongorc.js 43 | owner=vagrant 44 | group=vagrant 45 | mode=0600 -------------------------------------------------------------------------------- /ansible/roles/mariadb/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: add key 3 | apt_key: keyserver=keyserver.ubuntu.com id=0xcbcb082a1bb943db state=present 4 | 5 | - name: app repository 6 | apt_repository: repo='deb http://mirror2.hs-esslingen.de/mariadb/repo/10.0/ubuntu trusty main' state=present 7 | 8 | - name: install 9 | apt: name={{ item }} state=present 10 | with_items: 11 | - mariadb-server 12 | - mariadb-client 13 | - python-mysqldb 14 | 15 | - name: configure my.cnf 16 | template: 17 | src=my.cnf.j2 18 | dest=/etc/mysql/my.cnf 19 | notify: 20 | - restart mysql 21 | 22 | - name: wait for mariadb 23 | wait_for: port={{mariadb.config.mysqld.port}} 24 | 25 | - name: change default user to {{ mariadb.username }} / {{ mariadb.password }} 26 | mysql_user: name={{ mariadb.username }} password={{ mariadb.password }} host=localhost login_unix_socket={{ mariadb.config.mysqld.socket }} 27 | 28 | - name: copy .my.cnf file for root 29 | template: 30 | src=user-my.cnf.j2 31 | dest=/root/.my.cnf 32 | owner=root 33 | group=root 34 | mode=0600 35 | 36 | - name: copy .my.cnf for vagrant 37 | template: 38 | src=user-my.cnf.j2 39 | dest=/home/vagrant/.my.cnf 40 | owner=vagrant 41 | group=vagrant 42 | mode=0600 -------------------------------------------------------------------------------- /ansible/roles/php-commandlinetools/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: composer install 3 | shell: curl -LsS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin 4 | 5 | - name: php-cs-fixer install 6 | shell: curl -LsS http://get.sensiolabs.org/php-cs-fixer.phar -o /usr/local/bin/php-cs-fixer.phar && chmod +x /usr/local/bin/php-cs-fixer.phar 7 | 8 | - name: symfony-installer install 9 | shell: curl -LsS http://symfony.com/installer -o /usr/local/bin/symfony-installer.phar && chmod +x /usr/local/bin/symfony-installer.phar 10 | when: application == 'symfony' 11 | 12 | - name: copy drush install script 13 | copy: 14 | src=drush.sh 15 | dest=~/drush.sh 16 | when: application == 'drupal' 17 | 18 | - name: drush install 19 | script: ~/drush.sh 20 | when: application == 'drupal' 21 | 22 | - name: copy lavarel-installer install script 23 | copy: 24 | src=lavarel.sh 25 | dest=~/lavarel.sh 26 | when: application == 'lavarel' 27 | 28 | - name: lavarel-installer install 29 | script: ~/lavarel.sh 30 | when: application == 'lavarel' 31 | 32 | - name: wordpress-cli install 33 | shell: curl -LsS https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -o /usr/local/bin/wp-cli.phar && chmod +x /usr/local/bin/wp-cli.phar 34 | when: application == 'wordpress' -------------------------------------------------------------------------------- /presentation/plugin/print-pdf/print-pdf.js: -------------------------------------------------------------------------------- 1 | /** 2 | * phantomjs script for printing presentations to PDF. 3 | * 4 | * Example: 5 | * phantomjs print-pdf.js "http://lab.hakim.se/reveal-js?print-pdf" reveal-demo.pdf 6 | * 7 | * By Manuel Bieh (https://github.com/manuelbieh) 8 | */ 9 | 10 | // html2pdf.js 11 | var page = new WebPage(); 12 | var system = require( 'system' ); 13 | 14 | var slideWidth = system.args[3] ? system.args[3].split( 'x' )[0] : 960; 15 | var slideHeight = system.args[3] ? system.args[3].split( 'x' )[1] : 700; 16 | 17 | page.viewportSize = { 18 | width: slideWidth, 19 | height: slideHeight 20 | }; 21 | 22 | // TODO 23 | // Something is wrong with these config values. An input 24 | // paper width of 1920px actually results in a 756px wide 25 | // PDF. 26 | page.paperSize = { 27 | width: Math.round( slideWidth * 2 ), 28 | height: Math.round( slideHeight * 2 ), 29 | border: 0 30 | }; 31 | 32 | var inputFile = system.args[1] || 'index.html?print-pdf'; 33 | var outputFile = system.args[2] || 'slides.pdf'; 34 | 35 | if( outputFile.match( /\.pdf$/gi ) === null ) { 36 | outputFile += '.pdf'; 37 | } 38 | 39 | console.log( 'Printing PDF (Paper size: '+ page.paperSize.width + 'x' + page.paperSize.height +')' ); 40 | 41 | page.open( inputFile, function( status ) { 42 | window.setTimeout( function() { 43 | console.log( 'Printed succesfully' ); 44 | page.render( outputFile ); 45 | phantom.exit(); 46 | }, 1000 ); 47 | } ); 48 | 49 | -------------------------------------------------------------------------------- /ansible/roles/nginx/files/certificate: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDwzCCAqugAwIBAgIJAIn5HWze3ttAMA0GCSqGSIb3DQEBCwUAMHgxCzAJBgNV 3 | BAYTAkNIMQ8wDQYDVQQIDAZadXJpY2gxDzANBgNVBAcMBlp1cmljaDE3MDUGA1UE 4 | CgwuZG9taW5pa3pvZ2cvdmFncmFudC12aXJ0dWFsYm94LWFuc2libGUtc3ltZm9u 5 | eTEOMAwGA1UEAwwFKi5kZXYwHhcNMTUwNjA4MDUzNTQzWhcNMTUwNzA4MDUzNTQz 6 | WjB4MQswCQYDVQQGEwJDSDEPMA0GA1UECAwGWnVyaWNoMQ8wDQYDVQQHDAZadXJp 7 | Y2gxNzA1BgNVBAoMLmRvbWluaWt6b2dnL3ZhZ3JhbnQtdmlydHVhbGJveC1hbnNp 8 | YmxlLXN5bWZvbnkxDjAMBgNVBAMMBSouZGV2MIIBIjANBgkqhkiG9w0BAQEFAAOC 9 | AQ8AMIIBCgKCAQEAwaFeHtlKesjaC7LBtcjIPR6w/oLkLRk8fNgOx+7f0iav/82P 10 | 18SCQ3/Pceb/4LSBpW1/LR3iVUlvMnp+S+22pEx3R7JQCg332C3ySn8721SMjJLH 11 | 4slNYd++UyE4/BG3AxwF5mnFN2/wF9EFLcQ4YV/IqLb5D+YhLT8bQzpKVGLuhFTC 12 | EWsiMUHDKzMO4uHwXT0nyXfddINqKGaEcw4VV0+4h3R05RK1xlV/0jO1CugepZQo 13 | S+BnVtM4cf/8ubkUbJRP6jUnx+nfAo5QeKIY207oGnf0FKE3MulQpRrGxR14goRQ 14 | E4OEGCnZNaK/IHTLAS1VpWBKEzx8uyoTuTvT7QIDAQABo1AwTjAdBgNVHQ4EFgQU 15 | I5lM0re5FiQbwNYE3LwG5iqUWjIwHwYDVR0jBBgwFoAUI5lM0re5FiQbwNYE3LwG 16 | 5iqUWjIwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEArnBEV9/iCWWB 17 | aPAu/3lubHOt5YCcFT/JDaHLrphO4ACIUZieihXX27ui+EakcfuRwuskw8Pnnadi 18 | RRcjciitO7+FXOf1685D/qR4+SHGePyiOeu9gOhYxNAHdZTV47EjTlqTLG46leaF 19 | l3CgQ9GsO/Gat+zCCJVu8N04AczrXX2r10mOwbAz0bA1FuvhO6aJGd8esIJCGTaZ 20 | bXGMIq54lwyXkzcFgPC5TCk9OxnsJ8XMNNXjKvOLW38TT+hrQGD3jBzT0ucVr9od 21 | 7n8EePTal9fKpk4U9Th2mrOt1dDVeyNahHYnRlvTRH5aRGZtYHZXHBZ7EuJ9nu5W 22 | Y/ISO7mLug== 23 | -----END CERTIFICATE----- 24 | -------------------------------------------------------------------------------- /presentation/lib/js/classList.js: -------------------------------------------------------------------------------- 1 | /*! @source http://purl.eligrey.com/github/classList.js/blob/master/classList.js*/ 2 | if(typeof document!=="undefined"&&!("classList" in document.createElement("a"))){(function(j){var a="classList",f="prototype",m=(j.HTMLElement||j.Element)[f],b=Object,k=String[f].trim||function(){return this.replace(/^\s+|\s+$/g,"")},c=Array[f].indexOf||function(q){var p=0,o=this.length;for(;p