Skip to content
Chef cookbook for installing owcloud
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
attributes
recipes
run_list
templates/default
.gitignore
.kitchen.yml
Berksfile
Berksfile.lock
CHANGELOG.md
Gemfile
LICENSE
README.md
Thorfile
Vagrantfile
chefignore
metadata.rb

README.md

owncloud-cookbook

ownCloud (owncloud.org) is open source file sync and share software for everyone from individuals operating the free ownCloud Community Edition, to large enterprises and service providers operating the ownCloud Enterprise Edition. ownCloud provides a safe, secure, and compliant file synchronization and sharing solution on servers that you control

This cookbook automates the installation and initial setup of Owncloud of a single node deployment using the following stack:

  • Ubuntu 12.04 / 14.04
  • nginx
  • MySQL server
  • PHP-FPM

Supported Platforms

Ubuntu 12.04 and 14.04. Might work on other Debian-based distros.

Attributes

Key Type Description Default
['owncloud']['version'] string Owncloud version /td>
['owncloud']['download_url'] string URL to download the owncloud tarball /td>
['owncloud']['package_sha256_checksum'] string tarball's sha256 checksum /td>
['owncloud']['server_names'] Array fqdn for owncloud ['owncloud.example.com'] /td>
['owncloud']['document_root'] String Path for the vhost document folder /var/www/owncloud
['owncloud']['data_folder'] String Path for the data folder (can be outside the web folder for security reasons /var/www/owncloud/data
['owncloud']['admin_login'] String Handle for the owncloud admin user admin
['owncloud']['adminpassword'] String Password for the owncloud admin user
['owncloud']['max_upload_size'] String Maximum size for uploaded files 512M
['owncloud']['timeout'] String Timeout for preventing long running operations from failing (seconds) 1800
['owncloud']['disable_trusted_domains'] Boolean Disable owncloud's default restriction for connecting only whitelisted domains. true
['owncloud']['enable_ssl'] Boolean Whether to enable and enforce https connections (using snakeoil self-signed certificates if certs not providers true
['owncloud']['ssl_certificate_key'] String Path of the domain's SSL private key nil
['owncloud']['ssl_certificate'] String Path of the domain's SSL certificate nil
['owncloud']['mysql']['dbname'] String MySQL database name owncloud
['owncloud']['mysql']['dbuser'] String MySQL database user owncloud
['owncloud']['mysql']['dbpassword'] String MySQL database password owncloud
['owncloud']['mysql']['dbhost'] String MySQL server address 127.0.0.1
['owncloud']['php']['process_manager'] String PHP-FPM process spawning strategy dynamic
['owncloud']['php']['max_children'] String Max PHP workers 10
['owncloud']['php']['options'] Hash Key-Value dictionary with PHP options for the PHP-FPM pool

Usage

owncloud::default

Include owncloud in your node's run_list. At least provide values for node['owncloud']['adminpassword'], node['owncloud']['mysql']['dbpassword'], node['mysql']['server_root_password'],node['mysql']['server_debian_password'] and node['mysql']['server_repl_password'].

Override other attributes for the community nginx, MySQL server or PHP attributes to your convenience.

{
 "mysql": {
    "server_root_password": "rootpass",
    "server_debian_password": "debpass",
    "server_repl_password": "replpass"
  },
  "owncloud": {
    "adminpassword": "myverysecurepassword1",
    "mysql": {
      "dbpassword": "myverysecurepassword2"
    }
  },
  "run_list": [
    "recipe[owncloud::default]"
  ]
}

Vagrant

A Vagrantfile is provided for testing the installation on Ubuntu 12.04 and Ubuntu 14.04 . The Vagrant setup requires berkshel (installing it using the Chef-SDK package is highly recommended) and the vagrant-berkshelf plugin.

The following ports are forwarded :

Ubuntu 12.04

  • (local) 8090 -> (guest) 80
  • (local) 8091 -> (guest) 443

Ubuntu 14.04

  • (local) 8092 -> (guest) 80
  • (local) 8093 -> (guest) 443

When using the Vagrant

Contributing

  1. Fork the repository on Github
  2. Create a named feature branch (i.e. add-new-recipe)
  3. Write you change
  4. Write tests for your change (if applicable)
  5. Run the tests, ensuring they all pass
  6. Submit a Pull Request

License and Authors

Author:: David Pando (david.pando@gmail.com)

You can’t perform that action at this time.