diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..08d8481 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/.gitignore b/.gitignore index 3a76853..a45f64f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,18 @@ .DS_Store +.ansible .bundle +.editorconfig +.github/ .idea/ .vagrant Movefile +_site +npm-debug.log +package.box +playbook.retry +provision-post.sh +provision-pre.sh +site.yml vendor -www +wordpress +wp-cli.yml diff --git a/README.md b/README.md index 64cddc6..81dc981 100644 --- a/README.md +++ b/README.md @@ -17,18 +17,16 @@ To get started, check out ## Contribute -### Setting up - -1. Clone this git repository on your local machine. -2. Run `bundle install` to fetch all dependencies. - -### Running and writing tests +``` +$ git clone git@github.com:vccw-team/vccw.git +$ cd vccw +$ vagrant up +``` -There is automated tests using [Serverspec](http://serverspec.org/). +There is automated tests by [Serverspec](http://serverspec.org/). The tests files are in the `spec/` directory. - Before running the serverspec tests, you'll need some dependencies. ``` diff --git a/Vagrantfile b/Vagrantfile index 8560d25..6fb2fa0 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -7,7 +7,7 @@ Vagrant.require_version '>= 1.8' Vagrant.configure(2) do |config| - vccw_version = '2.18.0'; + vccw_version = '3.0.0'; _conf = YAML.load( File.open( @@ -36,14 +36,8 @@ Vagrant.configure(2) do |config| _conf.merge!(_site) if _site.is_a?(Hash) end - if File.exists?(_conf['chef_cookbook_path']) - chef_cookbooks_path = _conf['chef_cookbook_path'] - elsif File.exists?(File.join(File.dirname(__FILE__), _conf['chef_cookbook_path'])) - chef_cookbooks_path = File.join(File.dirname(__FILE__), _conf['chef_cookbook_path']) - else - puts "Can't find "+_conf['chef_cookbook_path']+'. Please check chef_cookbooks_path in the config.' - exit 1 - end + # forcing config variables + _conf["vagrant_dir"] = "/vagrant" config.vm.define _conf['hostname'] do |v| end @@ -56,15 +50,19 @@ Vagrant.configure(2) do |config| config.vm.hostname = _conf['hostname'] config.vm.network :private_network, ip: _conf['ip'] - config.vm.synced_folder ".", "/vagrant", :mount_options => ['dmode=755', 'fmode=644'] - config.vm.synced_folder _conf['sync_folder'], _conf['document_root'], :create => "true", :mount_options => ['dmode=755', 'fmode=644'] + config.vm.synced_folder _conf['synced_folder'], + _conf['document_root'], :create => "true", :mount_options => ['dmode=755', 'fmode=644'] if Vagrant.has_plugin?('vagrant-hostsupdater') config.hostsupdater.remove_on_suspend = true end if Vagrant.has_plugin?('vagrant-vbguest') - config.vbguest.auto_update = true + config.vbguest.auto_update = false + end + + if File.exists?(File.join(File.dirname(__FILE__), 'provision-pre.sh')) then + config.vm.provision :shell, :path => File.join( File.dirname(__FILE__), 'provision-pre.sh' ) end config.vm.provider :virtualbox do |vb| @@ -79,122 +77,20 @@ Vagrant.configure(2) do |config| vb.customize ['modifyvm', :id, '--natdnshostresolver1', 'on'] end - if 'miya0001/vccw' != config.vm.box && 'provision' != ARGV[0] - config.vm.provision 'shell', - inline: 'curl -L https://www.opscode.com/chef/install.sh | sudo bash -s -- -v 11' - end - - if File.exists?(File.join(File.dirname(__FILE__), 'provision-pre.sh')) then - config.vm.provision :shell, :path => File.join( File.dirname(__FILE__), 'provision-pre.sh' ) + config.vm.provision "ansible_local" do |ansible| + ansible.extra_vars = { + vccw: _conf + } + ansible.playbook = "provision/playbook.yml" end - config.vm.provision :chef_solo do |chef| - - chef.cookbooks_path = [ - File.join(chef_cookbooks_path, 'cookbooks'), - File.join(chef_cookbooks_path, 'site-cookbooks') - ] - - chef.json = { - :apache => { - :docroot_dir => _conf['document_root'], - :user => _conf['user'], - :group => _conf['group'], - :listen_ports => ['80', '443'] - }, - :php => { - :packages => %w(php php-cli php-devel php-mbstring php-gd php-xml php-mysql php-pecl-xdebug php-mcrypt), - :directives => { - 'default_charset' => 'UTF-8', - 'mbstring.language' => 'neutral', - 'mbstring.internal_encoding' => 'UTF-8', - 'date.timezone' => 'UTC', - 'short_open_tag' => 'Off', - 'session.save_path' => '/tmp', - 'upload_max_filesize' => '32M' - } - }, - :mysql => { - :bind_address => '0.0.0.0', - :server_debian_password => 'wordpress', - :server_root_password => 'wordpress', - :server_repl_password => 'wordpress' - }, - 'wpcli' => { - :user => _conf['user'], - :group => _conf['group'], - :wp_version => ENV['wp_version'] || _conf['version'], - :wp_host => _conf['hostname'], - :wp_home => _conf['wp_home'], - :wp_siteurl => _conf['wp_siteurl'], - :wp_docroot => _conf['document_root'], - :locale => ENV['wp_lang'] || _conf['lang'], - :admin_user => _conf['admin_user'], - :admin_password => _conf['admin_pass'], - :admin_email => _conf['admin_email'], - :default_plugins => _conf['plugins'], - :default_theme => _conf['theme'], - :title => _conf['title'], - :is_multisite => _conf['multisite'], - :force_ssl_admin => _conf['force_ssl_admin'], - :debug_mode => _conf['wp_debug'], - :savequeries => _conf['savequeries'], - :theme_unit_test => _conf['theme_unit_test'], - :theme_unit_test_data_url => _conf['theme_unit_test_uri'], - :gitignore => File.join(_conf['document_root'], ".gitignore"), - :always_reset => _conf['reset_db_on_provision'], - :dbhost => _conf['db_host'], - :dbprefix => _conf['db_prefix'], - :options => _conf['options'], - :multisite_options => _conf['multisite_options'], - :rewrite_structure => _conf['rewrite_structure'] - }, - :vccw => { - :version => vccw_version, - :user => _conf['user'], - :group => _conf['group'], - :wordmove => { - :movefile => File.join('/vagrant', 'Movefile'), - :url => 'http://' << File.join(_conf['hostname'], _conf['wp_home']), - :wpdir => File.join(_conf['document_root'], _conf['wp_siteurl']), - :dbhost => _conf['db_host'] - }, - :phpenv => { - :php_version => _conf['php_version'] - } - }, - :rbenv => { - 'rubies' => ['2.1.2'], - 'global' => '2.1.2', - 'gems' => { - '2.1.2' => [ - { - name: 'bundler', - options: '--no-document' - }, - { - name: 'sass', - options: '--no-document' - }, - { - name: 'wordmove', - options: '--no-document' - }, - { - name: 'mailcatcher', - options: '--no-document' - } - ] - } + if File.exists?(File.join(File.dirname(__FILE__), 'playbook-post.yml')) then + config.vm.provision "ansible_local" do |ansible| + ansible.extra_vars = { + vccw: _conf } - } - - chef.add_recipe 'wpcli' - chef.add_recipe 'wpcli::install' - if true != _conf['disable_vccw_cookbook'] - chef.add_recipe 'vccw' + ansible.playbook = "playbook-post.yml" end - end if File.exists?(File.join(File.dirname(__FILE__), 'provision-post.sh')) then diff --git a/ansible.cfg b/ansible.cfg new file mode 100644 index 0000000..79d1eed --- /dev/null +++ b/ansible.cfg @@ -0,0 +1,3 @@ +[defaults] +hash_behaviour=merge +remote_tmp=/vagrant/.ansible/tmp diff --git a/provision/cookbooks/.gitkeep b/provision/cookbooks/.gitkeep deleted file mode 100755 index e69de29..0000000 diff --git a/provision/cookbooks/apache2/.gitignore b/provision/cookbooks/apache2/.gitignore deleted file mode 100755 index 47e51f5..0000000 --- a/provision/cookbooks/apache2/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -test/kitchen/.kitchen/ - -Gemfile.lock diff --git a/provision/cookbooks/apache2/CHANGELOG.md b/provision/cookbooks/apache2/CHANGELOG.md deleted file mode 100755 index f574307..0000000 --- a/provision/cookbooks/apache2/CHANGELOG.md +++ /dev/null @@ -1,183 +0,0 @@ -## v1.7.0: - -### Improvement - -- [COOK-3073]: make access.log location configurable per-platform -- [COOK-3074]: don't hardcode the error.log location in the default site config -- [COOK-3268]: don't hardcode DocumentRoot and cgi-bin locations in `default_site` - -### New Feature - -- [COOK-3184]: Add `mod_filter` recipe to Apache2-cookbook -- [COOK-3236]: Add `mod_action` recipe to Apache2-cookbook - -## v1.6.6: - -1.6.4 had a missed step in the automated release, long live 1.6.6. - -### Bug - -- [COOK-3018]: apache2_module does duplicate delayed restart of - apache2 service when conf = true -- [COOK-3027]: Default site enable true, then false, does not disable - default site -- [COOK-3109]: fix apache lib_dir arch attribute regexp - -## v1.6.2 - -* [COOK-2535] - `mod_auth_openid` requires libtool to run autogen.sh -* [COOK-2667] - Typo in usage documentation -* [COOK-2461] - `apache2::mod_auth_openid` fails on some ubuntu systems -* [COOK-2720] - Apache2 minitest helper function `ran_recipe` is not - portable - -## v1.6.0: - -* [COOK-2372] - apache2 mpm_worker: add ServerLimit attribute (default - to 16) - -## v1.5.0: - -**NOTE** The `mod_auth_openid` attributes are changed. The upstream - maintainer deprecated the older release versions, and the source - repository has releases available at specific SHA1SUM references. - The new attribute, `node['apache']['mod_auth_openid']['ref']` is - used to set this. - -* [COOK-2198] - `apache::mod_auth_openid` compiles from source, but - does not install make on debian/ubuntu -* [COOK-2224] - version conflict between cucumber and other gems -* [COOK-2248] - `apache2::mod_php5` uses `not_if` "which php" without - ensuring package 'which' is installed -* [COOK-2269] - Set allow list for mod_status incase external monitor scripts need -* [COOK-2276] - cookbook apache2 documentation regarding listening - ports doesn't match default attributes -* [COOK-2296] - `mod_auth_openid` doesn't have tags/releases for the - version I need for features and fixes -* [COOK-2323] - Add Oracle linux support - -## v1.4.2: - -* [COOK-1721] - fix logrotate recipe - -## v1.4.0: - -* [COOK-1456] - iptables enhancements -* [COOK-1473] - apache2 does not disable default site when setting - "`default_site_enabled`" back to false -* [COOK-1824] - the apache2 cookbook needs to specify which binary is - used on rhel platform -* [COOK-1916] - Download location wrong for apache2 `mod_auth_openid` - >= 0.7 -* [COOK-1917] - Improve `mod_auth_openid` recipe to handle module - upgrade more gracefully -* [COOK-2029] - apache2 restarts on every run on RHEL and friends, - generate-module-list on every run. -* [COOK-2036] - apache2: Cookbook style - -## v1.3.2: - -* [COOK-1804] - fix `web_app` definition parameter so site can be - disabled. - -## v1.3.0: - -* [COOK-1738] - Better configuration for `mod_include` and some - overrides in `web_app` definition -* [COOK-1470] - Change SSL Ciphers to Mitigate BEAST attack - -## v1.2.0: - -* [COOK-692] - delete package conf.d files in module recipes, for EL -* [COOK-1693] - Foodcritic finding for unnecessary string interpolation -* [COOK-1757] - platform_family and better style / usage practices - -## v1.1.16: - -re-releasing as .16 due to error on tag 1.1.14 - -* [COOK-1466] - add `mod_auth_cas` recipe -* [COOK-1609] - apache2 changes ports.conf twice per run when using - apache2::mod_ssl - -## v1.1.12: - -* [COOK-1436] - restore apache2 web_app definition -* [COOK-1356] - allow ExtendedStatus via attribute -* [COOK-1403] - add mod_fastcgi recipe - -## v1.1.10: - -* [COOK-1315] - allow the default site to not be enabled -* [COOK-1328] - cookbook tests (minitest, cucumber) - -## v1.1.8: - -* Some platforms with minimal installations that don't have perl won't - have a `node['languages']['perl']` attribute, so remove the - conditional and rely on the power of idempotence in the package - resource. -* [COOK-1214] - address foodcritic warnings -* [COOK-1180] - add `mod_logio` and fix `mod_proxy` - -## v1.1.6: - -FreeBSD users: This release requires the `freebsd` cookbook. See README.md. - -* [COOK-1025] - freebsd support in mod_php5 recipe - -## v1.1.4: - -* [COOK-1100] - support amazon linux - -## v1.1.2: - -* [COOK-996] - apache2::mod_php5 can cause PHP and module API mismatches -* [COOK-1083] - return string for v_f_p and use correct value for - default - -## v1.1.0: - -* [COOK-861] - Add `mod_perl` and apreq2 -* [COOK-941] - fix `mod_auth_openid` on FreeBSD -* [COOK-1021] - add a commented-out LoadModule directive to keep apxs happy -* [COOK-1022] - consistency for icondir attribute -* [COOK-1023] - fix platform test for attributes -* [COOK-1024] - fix a2enmod script so it runs cleanly on !bash -* [COOK-1026] - fix `error_log` location on FreeBSD - -## v1.0.8: - -* COOK-548 - directory resource doesn't have backup parameter - -## v1.0.6: - -* COOK-915 - update to `mod_auth_openid` version 0.6, see __Recipes/mod_auth_openid__ below. -* COOK-548 - Add support for FreeBSD. - -## v1.0.4: - -* COOK-859 - don't hardcode module paths - -## v1.0.2 - -* Tickets resolved in this release: COOK-788, COOK-782, COOK-780 - -## v1.0.0 - -* Red Hat family support is greatly improved, all recipes except `god_monitor` converge. -* Recipe `mod_auth_openid` now works on RHEL family distros -* Recipe `mod_php5` will now remove config from package on RHEL family so it doesn't conflict with the cookbook's. -* Added `php5.conf.erb` template for `mod_php5` recipe. -* Create the run state directory for `mod_fcgid` to prevent a startup error on RHEL version 6. -* New attribute `node['apache']['lib_dir']` to handle lib vs lib64 on RHEL family distributions. -* New attribute `node['apache']['group']`. -* Scientific Linux support added. -* Use a file resource instead of the generate-module-list executed perl script on RHEL family. -* "default" site can now be disabled. -* web_app now has an "enable" parameter. -* Support for dav_fs apache module. -* Tickets resolved in this release: COOK-754, COOK-753, COOK-665, COOK-624, COOK-579, COOK-519, COOK-518 -* Fix node references in template for a2dissite -* Use proper user and group attributes on files and templates. -* Replace the anemic README.rdoc with this new and improved superpowered README.md :). diff --git a/provision/cookbooks/apache2/CONTRIBUTING.md b/provision/cookbooks/apache2/CONTRIBUTING.md deleted file mode 100755 index 3a99897..0000000 --- a/provision/cookbooks/apache2/CONTRIBUTING.md +++ /dev/null @@ -1,257 +0,0 @@ -# Contributing to Opscode Cookbooks - -We are glad you want to contribute to Opscode Cookbooks! The first -step is the desire to improve the project. - -You can find the answers to additional frequently asked questions -[on the wiki](http://wiki.opscode.com/display/chef/How+to+Contribute). - -You can find additional information about -[contributing to cookbooks](http://wiki.opscode.com/display/chef/How+to+Contribute+to+Opscode+Cookbooks) -on the wiki as well. - -## Quick-contribute - -* Create an account on our [bug tracker](http://tickets.opscode.com) -* Sign our contributor agreement (CLA) -[ online](https://secure.echosign.com/public/hostedForm?formid=PJIF5694K6L) -(keep reading if you're contributing on behalf of your employer) -* Create a ticket for your change on the - [bug tracker](http://tickets.opscode.com) -* Link to your patch as a rebased git branch or pull request from the - ticket -* Resolve the ticket as fixed - -We regularly review contributions and will get back to you if we have -any suggestions or concerns. - -## The Apache License and the CLA/CCLA - -Licensing is very important to open source projects, it helps ensure -the software continues to be available under the terms that the author -desired. Chef uses the Apache 2.0 license to strike a balance between -open contribution and allowing you to use the software however you -would like to. - -The license tells you what rights you have that are provided by the -copyright holder. It is important that the contributor fully -understands what rights they are licensing and agrees to them. -Sometimes the copyright holder isn't the contributor, most often when -the contributor is doing work for a company. - -To make a good faith effort to ensure these criteria are met, Opscode -requires a Contributor License Agreement (CLA) or a Corporate -Contributor License Agreement (CCLA) for all contributions. This is -without exception due to some matters not being related to copyright -and to avoid having to continually check with our lawyers about small -patches. - -It only takes a few minutes to complete a CLA, and you retain the -copyright to your contribution. - -You can complete our contributor agreement (CLA) -[ online](https://secure.echosign.com/public/hostedForm?formid=PJIF5694K6L). -If you're contributing on behalf of your employer, have your employer -fill out our -[Corporate CLA](https://secure.echosign.com/public/hostedForm?formid=PIE6C7AX856) -instead. - -## Ticket Tracker (JIRA) - -The [ticket tracker](http://tickets.opscode.com) is the most important -documentation for the code base. It provides significant historical -information, such as: - -* Which release a bug fix is included in -* Discussion regarding the design and merits of features -* Error output to aid in finding similar bugs - -Each ticket should aim to fix one bug or add one feature. - -## Using git - -You can get a quick copy of the repository for this cookbook by -running `git clone -git://github.com/opscode-coobkooks/COOKBOOKNAME.git`. - -For collaboration purposes, it is best if you create a Github account -and fork the repository to your own account. Once you do this you will -be able to push your changes to your Github repository for others to -see and use. - -If you have another repository in your GitHub account named the same -as the cookbook, we suggest you suffix the repository with -cookbook. - -### Branches and Commits - -You should submit your patch as a git branch named after the ticket, -such as COOK-1337. This is called a _topic branch_ and allows users to -associate a branch of code with the ticket. - -It is a best practice to have your commit message have a _summary -line_ that includes the ticket number, followed by an empty line and -then a brief description of the commit. This also helps other -contributors understand the purpose of changes to the code. - - [COOK-1757] - platform_family and style - - * use platform_family for platform checking - * update notifies syntax to "resource_type[resource_name]" instead of - resources() lookup - * COOK-692 - delete config files dropped off by packages in conf.d - * dropped debian 4 support because all other platforms have the same - values, and it is older than "old stable" debian release - -Remember that not all users use Chef in the same way or on the same -operating systems as you, so it is helpful to be clear about your use -case and change so they can understand it even when it doesn't apply -to them. - -### Github and Pull Requests - -All of Opscode's open source cookbook projects are available on -[Github](http://www.github.com/opscode-cookbooks). - -We don't require you to use Github, and we will even take patch diffs -attached to tickets on the tracker. However Github has a lot of -convenient features, such as being able to see a diff of changes -between a pull request and the main repository quickly without -downloading the branch. - -If you do choose to use a pull request, please provide a link to the -pull request from the ticket __and__ a link to the ticket from the -pull request. Because pull requests only have two states, open and -closed, we can't easily filter pull requests that are waiting for a -reply from the author for various reasons. - -### More information - -Additional help with git is available on the -[Working with Git](http://wiki.opscode.com/display/chef/Working+with+Git) -wiki page. - -## Functional and Unit Tests - -This cookbook is set up to run tests under -[Opscode's test-kitchen](https://github.com/opscode/test-kitchen). It -uses minitest-chef to run integration tests after the node has been -converged to verify that the state of the node. - -Test kitchen should run completely without exception using the default -[baseboxes provided by Opscode](https://github.com/opscode/bento). -Because Test Kitchen creates VirtualBox machines and runs through -every configuration in the Kitchenfile, it may take some time for -these tests to complete. - -If your changes are only for a specific recipe, run only its -configuration with Test Kitchen. If you are adding a new recipe, or -other functionality such as a LWRP or definition, please add -appropriate tests and ensure they run with Test Kitchen. - -If any don't pass, investigate them before submitting your patch. - -Any new feature should have unit tests included with the patch with -good code coverage to help protect it from future changes. Similarly, -patches that fix a bug or regression should have a _regression test_. -Simply put, this is a test that would fail without your patch but -passes with it. The goal is to ensure this bug doesn't regress in the -future. Consider a regular expression that doesn't match a certain -pattern that it should, so you provide a patch and a test to ensure -that the part of the code that uses this regular expression works as -expected. Later another contributor may modify this regular expression -in a way that breaks your use cases. The test you wrote will fail, -signalling to them to research your ticket and use case and accounting -for it. - -If you need help writing tests, please ask on the Chef Developer's -mailing list, or the #chef-hacking IRC channel. - -## Code Review - -Opscode regularly reviews code contributions and provides suggestions -for improvement in the code itself or the implementation. - -We find contributions by searching the ticket tracker for _resolved_ -tickets with a status of _fixed_. If we have feedback we will reopen -the ticket and you should resolve it again when you've made the -changes or have a response to our feedback. When we believe the patch -is ready to be merged, we will tag the _Code Reviewed_ field with -_Reviewed_. - -Depending on the project, these tickets are then merged within a week -or two, depending on the current release cycle. - -## Release Cycle - -The versioning for Opscode Cookbook projects is X.Y.Z. - -* X is a major release, which may not be fully compatible with prior - major releases -* Y is a minor release, which adds both new features and bug fixes -* Z is a patch release, which adds just bug fixes - -A released version of a cookbook will end in an even number, e.g. -"1.2.4" or "0.8.0". When development for the next version of the -cookbook begins, the "Z" patch number is incremented to the next odd -number, however the next release of the cookbook may be a major or -minor incrementing version. - -Releases of Opscode's cookbooks are usually announced on the Chef user -mailing list. Releases of several cookbooks may be batched together -and announced on the [Opscode Blog](http://www.opscode.com/blog). - -## Working with the community - -These resources will help you learn more about Chef and connect to -other members of the Chef community: - -* [chef](http://lists.opscode.com/sympa/info/chef) and - [chef-dev](http://lists.opscode.com/sympa/info/chef-dev) mailing - lists -* #chef and #chef-hacking IRC channels on irc.freenode.net -* [Community Cookbook site](http://community.opscode.com) -* [Chef wiki](http://wiki.opscode.com/display/chef) -* Opscode Chef [product page](http://www.opscode.com/chef) - - -## Cookbook Contribution Do's and Don't's - -Please do include tests for your contribution. If you need help, ask -on the -[chef-dev mailing list](http://lists.opscode.com/sympa/info/chef-dev) -or the -[#chef-hacking IRC channel](http://community.opscode.com/chat/chef-hacking). -Not all platforms that a cookbook supports may be supported by Test -Kitchen. Please provide evidence of testing your contribution if it -isn't trivial so we don't have to duplicate effort in testing. Chef -10.14+ "doc" formatted output is sufficient. - -Please do indicate new platform (families) or platform versions in the -commit message, and update the relevant ticket. - -If a contribution adds new platforms or platform versions, indicate -such in the body of the commit message(s), and update the relevant -COOK ticket. When writing commit messages, it is helpful for others if -you indicate the COOK ticket. For example: - - git commit -m '[COOK-1041] - Updated pool resource to correctly - delete.' - -Please do use [foodcritic](http://acrmp.github.com/foodcritic) to -lint-check the cookbook. Except FC007, it should pass all correctness -rules. FC007 is okay as long as the dependent cookbooks are *required* -for the default behavior of the cookbook, such as to support an -uncommon platform, secondary recipe, etc. - -Please do ensure that your changes do not break or modify behavior for -other platforms supported by the cookbook. For example if your changes -are for Debian, make sure that they do not break on CentOS. - -Please do not modify the version number in the metadata.rb, Opscode -will select the appropriate version based on the release cycle -information above. - -Please do not update the CHANGELOG.md for a new version. Not all -changes to a cookbook may be merged and released in the same versions. -Opscode will update the CHANGELOG.md when releasing a new version of -the cookbook. diff --git a/provision/cookbooks/apache2/Gemfile b/provision/cookbooks/apache2/Gemfile deleted file mode 100755 index 9dad052..0000000 --- a/provision/cookbooks/apache2/Gemfile +++ /dev/null @@ -1,10 +0,0 @@ -source "https://rubygems.org" - -gem 'cucumber', '~> 1.2.0' -gem 'httparty', '~> 0.8.3' -gem 'minitest', '~> 3.0.0' -gem 'nokogiri', '~> 1.5.0' - -group :kitchen do - gem 'test-kitchen', '< 1.0' -end diff --git a/provision/cookbooks/apache2/LICENSE b/provision/cookbooks/apache2/LICENSE deleted file mode 100755 index 11069ed..0000000 --- a/provision/cookbooks/apache2/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - -Copyright [yyyy] [name of copyright owner] - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/provision/cookbooks/apache2/README.md b/provision/cookbooks/apache2/README.md deleted file mode 100755 index d594bc1..0000000 --- a/provision/cookbooks/apache2/README.md +++ /dev/null @@ -1,583 +0,0 @@ -Description -=========== - -This cookbook provides a complete Debian/Ubuntu style Apache HTTPD -configuration. Non-Debian based distributions such as Red Hat/CentOS, -ArchLinux and others supported by this cookbook will have a -configuration that mimics Debian/Ubuntu style as it is easier to -manage with Chef. - -Debian-style Apache configuration uses scripts to manage modules and -sites (vhosts). The scripts are: - -* a2ensite -* a2dissite -* a2enmod -* a2dismod - -This cookbook ships with templates of these scripts for non -Debian/Ubuntu platforms. The scripts are used in the __Definitions__ -below. - -Requirements -============ - -## Ohai and Chef: - -* Ohai: 0.6.12+ -* Chef: 0.10.10+ - -As of v1.2.0, this cookbook makes use of `node['platform_family']` to -simplify platform selection logic. This attribute was introduced in -Ohai v0.6.12. The recipe methods were introduced in Chef v0.10.10. If -you must run an older version of Chef or Ohai, use [version 1.1.16 of -this cookbook](http://community.opscode.com/cookbooks/apache2/versions/1_1_16/downloads). - -## Cookbooks: - -This cookbook doesn't have direct dependencies on other cookbooks, as -none are needed for the default recipe or the general use cases. - -Depending on your OS configuration and security policy, you may need -additional recipes or cookbooks for this cookbook's recipes to -converge on the node. In particular, the following Operating System -settings may affect the behavior of this cookbook: - -* apt cache outdated -* SELinux enabled -* IPtables -* Compile tools -* 3rd party repositories - -On Ubuntu/Debian, use Opscode's `apt` cookbook to ensure the package -cache is updated so Chef can install packages, or consider putting -apt-get in your bootstrap process or -[knife bootstrap template](http://wiki.opscode.com/display/chef/Knife+Bootstrap). - -On RHEL, SELinux is enabled by default. The `selinux` cookbook -contains a `permissive` recipe that can be used to set SELinux to -"Permissive" state. Otherwise, additional recipes need to be created -by the user to address SELinux permissions. - -The easiest but **certainly not ideal way** to deal with IPtables is -to flush all rules. Opscode does provide an `iptables` cookbook but is -migrating from the approach used there to a more robust solution -utilizing a general "firewall" LWRP that would have an "iptables" -provider. Alternately, you can use ufw, with Opscode's `ufw` and -`firewall` cookbooks to set up rules. See those cookbooks' READMEs for -documentation. - -Build/compile tools may not be installed on the system by default. -Some recipes (e.g., `apache2::mod_auth_openid`) build the module from -source. Use Opscode's `build-essential` cookbook to get essential -build packages installed. - -On ArchLinux, if you are using the `apache2::mod_auth_openid` recipe, -you also need the `pacman` cookbook for the `pacman_aur` LWRP. Put -`recipe[pacman]` on the node's expanded run list (on the node or in a -role). This is not an explicit dependency because it is only required -for this single recipe and platform; the pacman default recipe -performs `pacman -Sy` to keep pacman's package cache updated. - -The `apache2::god_monitor` recipe uses a definition from the `god` -cookbook. Include `recipe[god]` in the node's expanded run list to -ensure that the cookbook is available to the node, and to set up `god`. - -## Platforms: - -The following platforms and versions are tested and supported using -Opscode's [test-kitchen](http://github.com/opscode/test-kitchen). - -* Ubuntu 10.04, 12.04 -* CentOS 5.8, 6.3 - -The following platform families are supported in the code, and are -assumed to work based on the successful testing on Ubuntu and CentOS. - -* Debian -* Red Hat (rhel) -* Fedora -* Amazon Linux - -The following platforms are also supported in the code, have been -tested manually but are not tested under test-kitchen. - -* SUSE/OpenSUSE -* ArchLinux -* FreeBSD - -### Notes for RHEL Family: - -On Red Hat Enterprise Linux and derivatives, the EPEL repository may -be necessary to install packages used in certain recipes. The -`apache2::default` recipe, however, does not require any additional -repositories. Opscode's `yum` cookbook contains a recipe to add the -EPEL repository. See __Examples__ for more information. - -### Notes for FreeBSD: - -The `apache2::mod_php5` recipe depends on the `freebsd` cookbook, -which it uses to set the correct options for compiling the `php5` port -from sources. You need to ensure the `freebsd` is in the expanded run -list, or this recipe will fail. We don't set an explicit dependency -because we feel the `freebsd` cookbook is something users would want -on their nodes, and due to the generality of this cookbook we don't -want additional specific dependencies. - -Tests -===== - -This cookbook in the -[source repository](https://github.com/opscode-cookbooks/apache2) -contains minitest and cucumber tests. This is an initial proof of -concept that will be fleshed out with more supporting infrastructure -at a future time. - -Please see the CONTRIBUTING file for information on how to add tests -for your contributions. - -Attributes -========== - -This cookbook uses many attributes, broken up into a few different -kinds. - -Platform specific ------------------ - -In order to support the broadest number of platforms, several -attributes are determined based on the node's platform. See the -attributes/default.rb file for default values in the case statement at -the top of the file. - -* `node['apache']['dir']` - Location for the Apache configuration -* `node['apache']['log_dir']` - Location for Apache logs -* `node['apache']['error_log']` - Location for the default error log -* `node['apache']['access_log']` - Location for the default access log -* `node['apache']['user']` - User Apache runs as -* `node['apache']['group']` - Group Apache runs as -* `node['apache']['binary']` - Apache httpd server daemon -* `node['apache']['icondir']` - Location for icons -* `node['apache']['cache_dir']` - Location for cached files used by Apache itself or recipes -* `node['apache']['pid_file']` - Location of the PID file for Apache httpd -* `node['apache']['lib_dir']` - Location for shared libraries -* `node['apache']['default_site_enabled']` - Default site enabled. Defaults to true on redhat-family platforms -* `node['apache']['ext_status']` - if true, enables ExtendedStatus for `mod_status` - -General settings ----------------- - -These are general settings used in recipes and templates. Default -values are noted. - -* `node['apache']['listen_ports']` - Ports that httpd should listen on. Default is port 80. -* `node['apache']['contact']` - Value for ServerAdmin directive. Default "ops@example.com". -* `node['apache']['timeout']` - Value for the Timeout directive. Default is 300. -* `node['apache']['keepalive']` - Value for the KeepAlive directive. Default is On. -* `node['apache']['keepaliverequests']` - Value for MaxKeepAliveRequests. Default is 100. -* `node['apache']['keepalivetimeout']` - Value for the KeepAliveTimeout directive. Default is 5. -* `node['apache']['default_modules']` - Array of module names. Can take "mod_FOO" or "FOO" as names, where FOO is the apache module, e.g. "`mod_status`" or "`status`". - -The modules listed in `default_modules` will be included as recipes in `recipe[apache::default]`. - -Prefork attributes ------------------- - -Prefork attributes are used for tuning the Apache HTTPD prefork MPM -configuration. - -* `node['apache']['prefork']['startservers']` - initial number of server processes to start. Default is 16. -* `node['apache']['prefork']['minspareservers']` - minimum number of spare server processes. Default 16. -* `node['apache']['prefork']['maxspareservers']` - maximum number of spare server processes. Default 32. -* `node['apache']['prefork']['serverlimit']` - upper limit on configurable server processes. Default 400. -* `node['apache']['prefork']['maxclients']` - Maximum number of simultaneous connections. -* `node['apache']['prefork']['maxrequestsperchild']` - Maximum number of request a child process will handle. Default 10000. - -Worker attributes ------------------ - -Worker attributes are used for tuning the Apache HTTPD worker MPM -configuration. - -* `node['apache']['worker']['startservers']` - Initial number of server processes to start. Default 4 -* `node['apache']['worker']['serverlimit']` - upper limit on configurable server processes. Default 16. -* `node['apache']['worker']['maxclients']` - Maximum number of simultaneous connections. Default 1024. -* `node['apache']['worker']['minsparethreads']` - Minimum number of spare worker threads. Default 64 -* `node['apache']['worker']['maxsparethreads']` - Maximum number of spare worker threads. Default 192. -* `node['apache']['worker']['maxrequestsperchild']` - Maximum number of requests a child process will handle. - -mod\_auth\_openid attributes ----------------------------- - -The following attributes are in the `attributes/mod_auth_openid.rb` -file. Like all Chef attributes files, they are loaded as well, but -they're logistically unrelated to the others, being specific to the -`mod_auth_openid` recipe. - -* `node['apache']['mod_auth_openid']['checksum']` - sha256sum of the tarball containing the source. -* `node['apache']['mod_auth_openid']['ref']` - Any sha, tag, or branch found from https://github.com/bmuller/mod_auth_openid -* `node['apache']['mod_auth_openid']['cache_dir']` - the cache directory is where the sqlite3 database is stored. It is separate so it can be managed as a directory resource. -* `node['apache']['mod_auth_openid']['dblocation']` - filename of the sqlite3 database used for directive `AuthOpenIDDBLocation`, stored in the `cache_dir` by default. -* `node['apache']['mod_auth_openid']['configure_flags']` - optional array of configure flags passed to the `./configure` step in the compilation of the module. - -mod\_ssl attributes -------------------- - -* `node['apache']['mod_ssl']['cipher_suite']` - sets the - SSLCiphersuite value to the specified string. The default is - considered "sane" but you may need to change it for your local - security policy, e.g. if you have PCI-DSS requirements. Additional - commentary on the - [original pull request](https://github.com/opscode-cookbooks/apache2/pull/15#commitcomment-1605406). - -Recipes -======= - -Most of the recipes in the cookbook are for enabling Apache modules. -Where additional configuration or behavior is used, it is documented -below in more detail. - -The following recipes merely enable the specified module: `mod_alias`, -`mod_basic`, `mod_digest`, `mod_authn_file`, `mod_authnz_ldap`, -`mod_authz_default`, `mod_authz_groupfile`, `mod_authz_host`, -`mod_authz_user`, `mod_autoindex`, `mod_cgi`, `mod_dav_fs`, -`mod_dav_svn`, `mod_deflate`, `mod_dir`, `mod_env`, `mod_expires`, -`mod_headers`, `mod_ldap`, `mod_log_config`, `mod_mime`, -`mod_negotiation`, `mod_proxy`, `mod_proxy_ajp`, `mod_proxy_balancer`, -`mod_proxy_connect`, `mod_proxy_http`, `mod_python`, `mod_rewrite`, -`mod_setenvif`, `mod_status`, `mod_wsgi`, `mod_xsendfile`. - -On RHEL Family distributions, certain modules ship with a config file -with the package. The recipes here may delete those configuration -files to ensure they don't conflict with the settings from the -cookbook, which will use per-module configuration in -`/etc/httpd/mods-enabled`. - -default -------- - -The default recipe does a number of things to set up Apache HTTPd. It -also includes a number of modules based on the attribute -`node['apache']['default_modules']` as recipes. - -logrotate ---------- - -Logrotate adds a logrotate entry for your apache2 logs. This recipe -requires the `logrotate` cookbook; ensure that `recipe[logrotate]` is -in the node's expanded run list. - -mod\_auth\_cas --------------- - -This recipe installs the proper package and enables the `auth_cas` -module. It can install from source or package. Package is the default, -set the attribute `node['apache']['mod_auth_cas']['from_source']` to -true to enable source installation. Modify the version to install by -changing the attribute -`node['apache']['mod_auth_cas']['source_revision']`. It is a version -tag by default, but could be master, or another tag, or branch. - -The module configuration is written out with the `CASCookiePath` set, -otherwise an error loading the module may cause Apache to not start. - -**Note**: This recipe does not work on EL 6 platforms unless -epel-testing repository is enabled (outside the scope of this -cookbook), or the package version 1.0.8.1-3.el6 or higher is otherwise -available to the system due to this bug: - -https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=708550 - -mod\_auth\_openid ------------------ - -**Changed via COOK-915** - -This recipe compiles the module from source. In addition to -`build-essential`, some other packages are included for installation -like the GNU C++ compiler and development headers. - -To use the module in your own cookbooks to authenticate systems using -OpenIDs, specify an array of OpenIDs that are allowed to authenticate -with the attribute `node['apache']['allowed_openids']`. Use the -following in a vhost to protect with OpenID authentication: - - AuthType OpenID require user <%= node['apache']['allowed_openids'].join(' ') %> - AuthOpenIDDBLocation <%= node['apache']['mod_auth_openid']['dblocation'] %> - -Change the DBLocation with the attribute as required; this file is in -a different location than previous versions, see below. It should be a -sane default for most platforms, though, see -`attributes/mod_auth_openid.rb`. - -### Changes from COOK-915: - -* `AuthType OpenID` instead of `AuthOpenIDEnabled On`. -* `require user` instead of `AuthOpenIDUserProgram`. -* A bug(?) in `mod_auth_openid` causes it to segfault when attempting - to update the database file if the containing directory is not - writable by the HTTPD process owner (e.g., www-data), even if the - file is writable. In order to not interfere with other settings from - the default recipe in this cookbook, the db file is moved. - -mod\_fastcgi ------------- - -Install the fastcgi package and enable the module. - -Only work on Debian/Ubuntu - -mod\_fcgid ----------- - -Installs the fcgi package and enables the module. Requires EPEL on -RHEL family. - -On RHEL family, this recipe will delete the fcgid.conf and on version -6+, create the /var/run/httpd/mod_fcgid` directory, which prevents the -emergency error: - - [emerg] (2)No such file or directory: mod_fcgid: Can't create shared memory for size XX bytes - -mod\_php5 --------- - -Simply installs the appropriate package on Debian, Ubuntu and -ArchLinux. - -On Red Hat family distributions including Fedora, the php.conf that -comes with the package is removed. On RHEL platforms less than v6, the -`php53` package is used. - -mod\_ssl --------- - -Besides installing and enabling `mod_ssl`, this recipe will append -port 443 to the `node['apache']['listen_ports']` attribute array and -update the ports.conf. - -god\_monitor ------------- - -Sets up a `god` monitor for Apache. External requirements are the -`god` and `runit` cookbooks from Opscode. When using this recipe, -include `recipe[god]` in the node's expanded run list to ensure the -client downloads it; `god` depends on runit so that will also be -downloaded. - -**Note** This recipe is not tested under test-kitchen yet and is - pending fix in COOK-744. - -Definitions -=========== - -The cookbook provides a few definitions. At some point in the future -these definitions may be refactored into lightweight resources and -providers as suggested by -[foodcritic rule FC015](http://acrmp.github.com/foodcritic/#FC015). - -apache\_conf ------------- - -Sets up configuration file for an Apache module from a template. The -template should be in the same cookbook where the definition is used. -This is used by the `apache_module` definition and is not often used -directly. - -This will use a template resource to write the module's configuration -file in the `mods-available` under the Apache configuration directory -(`node['apache']['dir']`). This is a platform-dependent location. See -__apache\_module__. - -### Parameters: - -* `name` - Name of the template. When used from the `apache_module`, - it will use the same name as the module. - -### Examples: - -Create `#{node['apache']['dir']}/mods-available/alias.conf`. - - apache_conf "alias" - -apache\_module --------------- - -Enable or disable an Apache module in -`#{node['apache']['dir']}/mods-available` by calling `a2enmod` or -`a2dismod` to manage the symbolic link in -`#{node['apache']['dir']}/mods-enabled`. If the module has a -configuration file, a template should be created in the cookbook where -the definition is used. See __Examples__. - -### Parameters: - -* `name` - Name of the module enabled or disabled with the `a2enmod` or `a2dismod` scripts. -* `enable` - Default true, which uses `a2enmod` to enable the module. If false, the module will be disabled with `a2dismod`. -* `conf` - Default false. Set to true if the module has a config file, which will use `apache_conf` for the file. -* `filename` - specify the full name of the file, e.g. - -### Examples: - -Enable the ssl module, which also has a configuration template in `templates/default/ssl.conf.erb`. - - apache_module "ssl" do - conf true - end - -Enable the php5 module, which has a different filename than the module default: - - apache_module "php5" do - filename "libphp5.so" - end - -Disable a module: - - apache_module "disabled_module" do - enable false - end - -See the recipes directory for many more examples of `apache_module`. - -apache\_site ------------- - -Enable or disable a VirtualHost in -`#{node['apache']['dir']}/sites-available` by calling a2ensite or -a2dissite to manage the symbolic link in -`#{node['apache']['dir']}/sites-enabled`. - -The template for the site must be managed as a separate resource. To -combine the template with enabling a site, see `web_app`. - -### Parameters: - -* `name` - Name of the site. -* `enable` - Default true, which uses `a2ensite` to enable the site. If false, the site will be disabled with `a2dissite`. - -web\_app --------- - -Manage a template resource for a VirtualHost site, and enable it with -`apache_site`. This is commonly done for managing web applications -such as Ruby on Rails, PHP or Django, and the default behavior -reflects that. However it is flexible. - -This definition includes some recipes to make sure the system is -configured to have Apache and some sane default modules: - -* `apache2` -* `apache2::mod_rewrite` -* `apache2::mod_deflate` -* `apache2::mod_headers` - -It will then configure the template (see __Parameters__ and -__Examples__ below), and enable or disable the site per the `enable` -parameter. - -### Parameters: - -Current parameters used by the definition: - -* `name` - The name of the site. The template will be written to - `#{node['apache']['dir']}/sites-available/#{params['name']}.conf` -* `cookbook` - Optional. Cookbook where the source template is. If - this is not defined, Chef will use the named template in the - cookbook where the definition is used. -* `template` - Default `web_app.conf.erb`, source template file. -* `enable` - Default true. Passed to the `apache_site` definition. - -Additional parameters can be defined when the definition is called in -a recipe, see __Examples__. - -### Examples: - -All parameters are passed into the template. You can use whatever you -like. The apache2 cookbook comes with a `web_app.conf.erb` template as -an example. The following parameters are used in the template: - -* `server_name` - ServerName directive. -* `server_aliases` - ServerAlias directive. Must be an array of aliases. -* `docroot` - DocumentRoot directive. -* `application_name` - Used in RewriteLog directive. Will be set to the `name` parameter. -* `directory_index` - Allow overriding the default DirectoryIndex setting, optional -* `directory_options` - Override Options on the docroot, for example to add parameters like Includes or Indexes, optional. -* `allow_override` - Modify the AllowOverride directive on the docroot to support apps that need .htaccess to modify configuration or require authentication. - -To use the default web_app, for example: - - web_app "my_site" do - server_name node['hostname'] - server_aliases [node['fqdn'], "my-site.example.com"] - docroot "/srv/www/my_site" - end - -The parameters specified will be used as: - -* `@params[:server_name]` -* `@params[:server_aliases]` -* `@params[:docroot]` - -In the template. When you write your own, the `@` is significant. - -For more information about Definitions and parameters, see the -[Chef Wiki](http://wiki.opscode.com/display/chef/Definitions) - -Usage -===== - -Using this cookbook is relatively straightforward. Add the desired -recipes to the run list of a node, or create a role. Depending on your -environment, you may have multiple roles that use different recipes -from this cookbook. Adjust any attributes as desired. For example, to -create a basic role for web servers that provide both HTTP and HTTPS: - - % cat roles/webserver.rb - name "webserver" - description "Systems that serve HTTP and HTTPS" - run_list( - "recipe[apache2]", - "recipe[apache2::mod_ssl]" - ) - default_attributes( - "apache" => { - "listen_ports" => ["80", "443"] - } - ) - -For examples of using the definitions in your own recipes, see their -respective sections above. - -License and Authors -=================== - -* Author:: Adam Jacob -* Author:: Joshua Timberman -* Author:: Bryan McLellan -* Author:: Dave Esposito -* Author:: David Abdemoulaie -* Author:: Edmund Haselwanter -* Author:: Eric Rochester -* Author:: Jim Browne -* Author:: Matthew Kent -* Author:: Nathen Harvey -* Author:: Ringo De Smet -* Author:: Sean OMeara -* Author:: Seth Chisamore -* Author:: Gilles Devaux - -* Copyright:: 2009-2012, Opscode, Inc -* Copyright:: 2011, Atriso -* Copyright:: 2011, CustomInk, LLC. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/provision/cookbooks/apache2/attributes/default.rb b/provision/cookbooks/apache2/attributes/default.rb deleted file mode 100755 index 2fed820..0000000 --- a/provision/cookbooks/apache2/attributes/default.rb +++ /dev/null @@ -1,168 +0,0 @@ -# -# Cookbook Name:: apache2 -# Attributes:: apache -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -default['apache']['root_group'] = "root" - -# Where the various parts of apache are -case platform -when "redhat", "centos", "scientific", "fedora", "suse", "amazon", "oracle" - default['apache']['package'] = "httpd" - default['apache']['dir'] = "/etc/httpd" - default['apache']['log_dir'] = "/var/log/httpd" - default['apache']['error_log'] = "error.log" - default['apache']['access_log'] = "access.log" - default['apache']['user'] = "apache" - default['apache']['group'] = "apache" - default['apache']['binary'] = "/usr/sbin/httpd" - default['apache']['docroot_dir'] = "/var/www/html" - default['apache']['cgibin_dir'] = "/var/www/cgi-bin" - default['apache']['icondir'] = "/var/www/icons" - default['apache']['cache_dir'] = "/var/cache/httpd" - if node['platform_version'].to_f >= 6 then - default['apache']['pid_file'] = "/var/run/httpd/httpd.pid" - else - default['apache']['pid_file'] = "/var/run/httpd.pid" - end - default['apache']['lib_dir'] = node['kernel']['machine'] =~ /^i[36]86$/ ? "/usr/lib/httpd" : "/usr/lib64/httpd" - default['apache']['libexecdir'] = "#{node['apache']['lib_dir']}/modules" - default['apache']['default_site_enabled'] = false -when "debian", "ubuntu" - default['apache']['package'] = "apache2" - default['apache']['dir'] = "/etc/apache2" - default['apache']['log_dir'] = "/var/log/apache2" - default['apache']['error_log'] = "error.log" - default['apache']['access_log'] = "access.log" - default['apache']['user'] = "www-data" - default['apache']['group'] = "www-data" - default['apache']['binary'] = "/usr/sbin/apache2" - default['apache']['docroot_dir'] = "/var/www" - default['apache']['cgibin_dir'] = "/usr/lib/cgi-bin" - default['apache']['icondir'] = "/usr/share/apache2/icons" - default['apache']['cache_dir'] = "/var/cache/apache2" - default['apache']['pid_file'] = "/var/run/apache2.pid" - default['apache']['lib_dir'] = "/usr/lib/apache2" - default['apache']['libexecdir'] = "#{node['apache']['lib_dir']}/modules" - default['apache']['default_site_enabled'] = false -when "arch" - default['apache']['package'] = "apache" - default['apache']['dir'] = "/etc/httpd" - default['apache']['log_dir'] = "/var/log/httpd" - default['apache']['error_log'] = "error.log" - default['apache']['access_log'] = "access.log" - default['apache']['user'] = "http" - default['apache']['group'] = "http" - default['apache']['binary'] = "/usr/sbin/httpd" - default['apache']['docroot_dir'] = "/srv/http" - default['apache']['cgibin_dir'] = "/usr/share/httpd/cgi-bin" - default['apache']['icondir'] = "/usr/share/httpd/icons" - default['apache']['cache_dir'] = "/var/cache/httpd" - default['apache']['pid_file'] = "/var/run/httpd/httpd.pid" - default['apache']['lib_dir'] = "/usr/lib/httpd" - default['apache']['libexecdir'] = "#{node['apache']['lib_dir']}/modules" - default['apache']['default_site_enabled'] = false -when "freebsd" - default['apache']['package'] = "apache22" - default['apache']['dir'] = "/usr/local/etc/apache22" - default['apache']['log_dir'] = "/var/log" - default['apache']['error_log'] = "httpd-error.log" - default['apache']['access_log'] = "httpd-access.log" - default['apache']['root_group'] = "wheel" - default['apache']['user'] = "www" - default['apache']['group'] = "www" - default['apache']['binary'] = "/usr/local/sbin/httpd" - default['apache']['docroot_dir'] = "/usr/local/www/apache22/data" - default['apache']['cgibin_dir'] = "/usr/local/www/apache22/cgi-bin" - default['apache']['icondir'] = "/usr/local/www/apache22/icons" - default['apache']['cache_dir'] = "/var/run/apache22" - default['apache']['pid_file'] = "/var/run/httpd.pid" - default['apache']['lib_dir'] = "/usr/local/libexec/apache22" - default['apache']['libexecdir'] = node['apache']['lib_dir'] - default['apache']['default_site_enabled'] = false -else - default['apache']['dir'] = "/etc/apache2" - default['apache']['log_dir'] = "/var/log/apache2" - default['apache']['error_log'] = "error.log" - default['apache']['access_log'] = "access.log" - default['apache']['user'] = "www-data" - default['apache']['group'] = "www-data" - default['apache']['binary'] = "/usr/sbin/apache2" - default['apache']['docroot_dir'] = "/var/www" - default['apache']['cgibin_dir'] = "/usr/lib/cgi-bin" - default['apache']['icondir'] = "/usr/share/apache2/icons" - default['apache']['cache_dir'] = "/var/cache/apache2" - default['apache']['pid_file'] = "logs/httpd.pid" - default['apache']['lib_dir'] = "/usr/lib/apache2" - default['apache']['libexecdir'] = "#{node['apache']['lib_dir']}/modules" - default['apache']['default_site_enabled'] = false -end - -### -# These settings need the unless, since we want them to be tunable, -# and we don't want to override the tunings. -### - -# General settings -default['apache']['listen_ports'] = ["80"] -default['apache']['contact'] = "ops@example.com" -default['apache']['timeout'] = 300 -default['apache']['keepalive'] = "On" -default['apache']['keepaliverequests'] = 100 -default['apache']['keepalivetimeout'] = 5 - -# Security -default['apache']['servertokens'] = "Prod" -default['apache']['serversignature'] = "On" -default['apache']['traceenable'] = "On" - -# mod_auth_openids -default['apache']['allowed_openids'] = Array.new - -# mod_status Allow list, space seprated list of allowed entries. -default['apache']['status_allow_list'] = "localhost ip6-localhost" - -# mod_status ExtendedStatus, set to 'true' to enable -default['apache']['ext_status'] = false - -# Prefork Attributes -default['apache']['prefork']['startservers'] = 16 -default['apache']['prefork']['minspareservers'] = 16 -default['apache']['prefork']['maxspareservers'] = 32 -default['apache']['prefork']['serverlimit'] = 400 -default['apache']['prefork']['maxclients'] = 400 -default['apache']['prefork']['maxrequestsperchild'] = 10000 - -# Worker Attributes -default['apache']['worker']['startservers'] = 4 -default['apache']['worker']['serverlimit'] = 16 -default['apache']['worker']['maxclients'] = 1024 -default['apache']['worker']['minsparethreads'] = 64 -default['apache']['worker']['maxsparethreads'] = 192 -default['apache']['worker']['threadsperchild'] = 64 -default['apache']['worker']['maxrequestsperchild'] = 0 - -# Default modules to enable via include_recipe - -default['apache']['default_modules'] = %w{ - status alias auth_basic authn_file authz_default authz_groupfile authz_host authz_user autoindex - dir env mime negotiation setenvif -} - -%w{ log_config logio }.each do |log_mod| - default['apache']['default_modules'] << log_mod if ["rhel", "fedora", "suse", "arch", "freebsd"].include?(node['platform_family']) -end diff --git a/provision/cookbooks/apache2/attributes/mod_auth_cas.rb b/provision/cookbooks/apache2/attributes/mod_auth_cas.rb deleted file mode 100755 index a5cc262..0000000 --- a/provision/cookbooks/apache2/attributes/mod_auth_cas.rb +++ /dev/null @@ -1,2 +0,0 @@ -default['apache']['mod_auth_cas']['from_source'] = false -default['apache']['mod_auth_cas']['source_revision'] = "v1.0.8.1" diff --git a/provision/cookbooks/apache2/attributes/mod_auth_openid.rb b/provision/cookbooks/apache2/attributes/mod_auth_openid.rb deleted file mode 100755 index d6b8f1e..0000000 --- a/provision/cookbooks/apache2/attributes/mod_auth_openid.rb +++ /dev/null @@ -1,32 +0,0 @@ -# -# Author:: Joshua Timberman -# Copyright:: Copyright (c) 2011, Opscode, Inc. -# License:: Apache License, Version 2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -default['apache']['mod_auth_openid']['ref'] = "95043901eab868400937642d9bc55d17e9dd069f" -default['apache']['mod_auth_openid']['source_url'] = "https://github.com/bmuller/mod_auth_openid/archive/#{node['apache']['mod_auth_openid']['ref']}.tar.gz" -default['apache']['mod_auth_openid']['cache_dir'] = "/var/cache/mod_auth_openid" -default['apache']['mod_auth_openid']['dblocation'] = "#{node['apache']['mod_auth_openid']['cache_dir']}/mod_auth_openid.db" - -case node['platform_family'] -when "freebsd" - default['apache']['mod_auth_openid']['configure_flags'] = [ - "CPPFLAGS=-I/usr/local/include", - "LDFLAGS=-I/usr/local/lib -lsqlite3" - ] -else - default['apache']['mod_auth_openid']['configure_flags'] = [] -end diff --git a/provision/cookbooks/apache2/attributes/mod_ssl.rb b/provision/cookbooks/apache2/attributes/mod_ssl.rb deleted file mode 100755 index c744cb4..0000000 --- a/provision/cookbooks/apache2/attributes/mod_ssl.rb +++ /dev/null @@ -1,19 +0,0 @@ -# -# Author:: Nathan L Smith -# Copyright:: Copyright (c) 2012, Opscode, Inc. -# License:: Apache License, Version 2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -default['apache']['mod_ssl']['cipher_suite'] = 'RC4-SHA:HIGH:!ADH' diff --git a/provision/cookbooks/apache2/definitions/apache_conf.rb b/provision/cookbooks/apache2/definitions/apache_conf.rb deleted file mode 100755 index 5a62158..0000000 --- a/provision/cookbooks/apache2/definitions/apache_conf.rb +++ /dev/null @@ -1,26 +0,0 @@ -# -# Cookbook Name:: apache2 -# Definition:: apache_conf -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -define :apache_conf do - template "#{node['apache']['dir']}/mods-available/#{params[:name]}.conf" do - source "mods/#{params[:name]}.conf.erb" - notifies :restart, "service[apache2]" - mode 0644 - end -end diff --git a/provision/cookbooks/apache2/definitions/apache_module.rb b/provision/cookbooks/apache2/definitions/apache_module.rb deleted file mode 100755 index 99ca29c..0000000 --- a/provision/cookbooks/apache2/definitions/apache_module.rb +++ /dev/null @@ -1,53 +0,0 @@ -# -# Cookbook Name:: apache2 -# Definition:: apache_module -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -define :apache_module, :enable => true, :conf => false do - include_recipe "apache2" - - params[:filename] = params[:filename] || "mod_#{params[:name]}.so" - params[:module_path] = params[:module_path] || "#{node['apache']['libexecdir']}/#{params[:filename]}" - - if params[:conf] - apache_conf params[:name] - end - - if platform_family?("rhel", "fedora", "arch", "suse", "freebsd") - file "#{node['apache']['dir']}/mods-available/#{params[:name]}.load" do - content "LoadModule #{params[:name]}_module #{params[:module_path]}\n" - mode 0644 - end - end - - if params[:enable] - execute "a2enmod #{params[:name]}" do - command "/usr/sbin/a2enmod #{params[:name]}" - notifies :restart, "service[apache2]" - not_if do (::File.symlink?("#{node['apache']['dir']}/mods-enabled/#{params[:name]}.load") and - ((::File.exists?("#{node['apache']['dir']}/mods-available/#{params[:name]}.conf"))? - (::File.symlink?("#{node['apache']['dir']}/mods-enabled/#{params[:name]}.conf")):(true))) - end - end - else - execute "a2dismod #{params[:name]}" do - command "/usr/sbin/a2dismod #{params[:name]}" - notifies :restart, "service[apache2]" - only_if do ::File.symlink?("#{node['apache']['dir']}/mods-enabled/#{params[:name]}.load") end - end - end -end diff --git a/provision/cookbooks/apache2/definitions/apache_site.rb b/provision/cookbooks/apache2/definitions/apache_site.rb deleted file mode 100755 index 1bc2870..0000000 --- a/provision/cookbooks/apache2/definitions/apache_site.rb +++ /dev/null @@ -1,43 +0,0 @@ -# -# Cookbook Name:: apache2 -# Definition:: apache_site -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -define :apache_site, :enable => true do - include_recipe "apache2" - - if params[:enable] - execute "a2ensite #{params[:name]}" do - command "/usr/sbin/a2ensite #{params[:name]}" - notifies :restart, resources(:service => "apache2") - not_if do - ::File.symlink?("#{node['apache']['dir']}/sites-enabled/#{params[:name]}") or - ::File.symlink?("#{node['apache']['dir']}/sites-enabled/000-#{params[:name]}") - end - only_if do ::File.exists?("#{node['apache']['dir']}/sites-available/#{params[:name]}") end - end - else - execute "a2dissite #{params[:name]}" do - command "/usr/sbin/a2dissite #{params[:name]}" - notifies :restart, resources(:service => "apache2") - only_if do - ::File.symlink?("#{node['apache']['dir']}/sites-enabled/#{params[:name]}") or - ::File.symlink?("#{node['apache']['dir']}/sites-enabled/000-#{params[:name]}") - end - end - end -end diff --git a/provision/cookbooks/apache2/definitions/web_app.rb b/provision/cookbooks/apache2/definitions/web_app.rb deleted file mode 100755 index 2547e30..0000000 --- a/provision/cookbooks/apache2/definitions/web_app.rb +++ /dev/null @@ -1,50 +0,0 @@ -# -# Cookbook Name:: apache2 -# Definition:: web_app -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -define :web_app, :template => "web_app.conf.erb", :enable => true do - - application_name = params[:name] - - include_recipe "apache2" - include_recipe "apache2::mod_rewrite" - include_recipe "apache2::mod_deflate" - include_recipe "apache2::mod_headers" - - template "#{node['apache']['dir']}/sites-available/#{application_name}.conf" do - source params[:template] - owner "root" - group node['apache']['root_group'] - mode 0644 - if params[:cookbook] - cookbook params[:cookbook] - end - variables( - :application_name => application_name, - :params => params - ) - if ::File.exists?("#{node['apache']['dir']}/sites-enabled/#{application_name}.conf") - notifies :reload, resources(:service => "apache2"), :delayed - end - end - - site_enabled = params[:enable] - apache_site "#{params[:name]}.conf" do - enable site_enabled - end -end diff --git a/provision/cookbooks/apache2/files/default/apache2_module_conf_generate.pl b/provision/cookbooks/apache2/files/default/apache2_module_conf_generate.pl deleted file mode 100755 index 83f849e..0000000 --- a/provision/cookbooks/apache2/files/default/apache2_module_conf_generate.pl +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/perl - -=begin - -Generates Ubuntu style module.load files. - -./apache2_module_conf_generate.pl /usr/lib64/httpd/modules /etc/httpd/mods-available - -ARGV[0] is the apache modules directory, ARGV[1] is where you want 'em. - -=cut - -use File::Find; - -use strict; -use warnings; - -die "Must have '/path/to/modules' and '/path/to/modules.load'" - unless $ARGV[0] && $ARGV[1]; - -find( - { - wanted => sub { - return 1 if $File::Find::name !~ /\.so$/; - my $modfile = $_; - $modfile =~ /(lib|mod_)(.+)\.so$/; - my $modname = $2; - my $filename = "$ARGV[1]/$modname.load"; - unless ( -f $filename ) { - open( FILE, ">", $filename ) or die "Cannot open $filename"; - print FILE "LoadModule " . $modname . "_module $File::Find::name\n"; - close(FILE); - } - }, - follow => 1, - }, - $ARGV[0] -); - -exit 0; - diff --git a/provision/cookbooks/apache2/files/default/tests/minitest/default_test.rb b/provision/cookbooks/apache2/files/default/tests/minitest/default_test.rb deleted file mode 100755 index 0093d23..0000000 --- a/provision/cookbooks/apache2/files/default/tests/minitest/default_test.rb +++ /dev/null @@ -1,77 +0,0 @@ -require File.expand_path('../support/helpers', __FILE__) - -describe 'apache2::default' do - include Helpers::Apache - - it 'installs apache' do - package(node['apache']['package']).must_be_installed - end - - it 'starts apache' do - apache_service.must_be_running - end - - it 'enables apache' do - apache_service.must_be_enabled - end - - it 'creates the conf.d directory' do - directory("#{node['apache']['dir']}/conf.d").must_exist.with(:mode, "755") - end - - it 'creates the logs directory' do - directory(node['apache']['log_dir']).must_exist - end - - it 'enables the default site unless it is disabled' do - skip unless node['apache']['default_site_enabled'] - file("#{node['apache']['dir']}/sites-enabled/000-default").must_exist - file("#{node['apache']['dir']}/sites-available/default").must_exist - end - - it 'ensures the debian-style apache module scripts are present' do - %w{a2ensite a2dissite a2enmod a2dismod}.each do |mod_script| - file("/usr/sbin/#{mod_script}").must_exist - end - end - - it 'reports server name only, not detailed version info' do - assert_match(/^ServerTokens Prod *$/, File.read("#{node['apache']['dir']}/conf.d/security")) - end - - it 'listens on port 80' do - apache_configured_ports.must_include(80) - end - - it 'only listens on port 443 when SSL is enabled' do - unless ran_recipe?('apache2::mod_ssl') - apache_configured_ports.wont_include(443) - end - end - - it 'reports server name only, not detailed version info' do - file("#{node['apache']['dir']}/conf.d/security").must_match(/^ServerTokens Prod *$/) - end - - it "enables default_modules" do - node['apache']['default_modules'].each do |a2mod| - apache_enabled_modules.must_include "#{a2mod}_module" - end - end - - describe 'centos' do - it 'ensures no modules are loaded in conf.d' do - Dir["#{node['apache']['dir']}/conf.d/*"].each do |f| - file(f).wont_include 'LoadModule' - end - end - end - - describe 'configuration' do - it { config.must_include '# Generated by Chef' } - it { config.must_include %Q{ServerRoot "#{node['apache']['dir']}"} } - it { config.must_include "Include #{node['apache']['dir']}/conf.d/" } - it { apache_config_parses? } - end - -end diff --git a/provision/cookbooks/apache2/files/default/tests/minitest/god_monitor_test.rb b/provision/cookbooks/apache2/files/default/tests/minitest/god_monitor_test.rb deleted file mode 100755 index 5c0d7a0..0000000 --- a/provision/cookbooks/apache2/files/default/tests/minitest/god_monitor_test.rb +++ /dev/null @@ -1,34 +0,0 @@ -# -# Author:: Joshua Timberman -# Copyright:: Copyright (c) 2012, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -require File.expand_path('../support/helpers', __FILE__) - -describe "apache2::god_monitor" do - include Helpers::Apache - - it 'starts god service to supervise apache2' do - service("god").must_be_running - end - - it 'creates the god service template for apache' do - file("/etc/god/conf.d/apache2.god").must_exist - end - - it 'starts an apache2 service that works like a regular service' do - # to be implemented when COOK-744 is fixed - end -end diff --git a/provision/cookbooks/apache2/files/default/tests/minitest/mod_apreq2_test.rb b/provision/cookbooks/apache2/files/default/tests/minitest/mod_apreq2_test.rb deleted file mode 100755 index 8679b4e..0000000 --- a/provision/cookbooks/apache2/files/default/tests/minitest/mod_apreq2_test.rb +++ /dev/null @@ -1,19 +0,0 @@ -require File.expand_path('../support/helpers', __FILE__) - -describe 'apache2::mod_apreq2' do - include Helpers::Apache - - it 'enables apreq_module' do - apache_enabled_modules.must_include "apreq_module" - end - - it 'symlinks the module on EL' do - skip unless %w{rhel fedora}.include?(node['platform_family']) - libdir = node['kernel']['machine'] == 'x86_64' ? "lib64" : "lib" - link( - "/usr/#{libdir}/httpd/modules/mod_apreq.so" - ).must_exist.with( - :link_type, :symbolic).and(:to, "/usr/#{libdir}/httpd/modules/mod_apreq2.so" - ) - end -end diff --git a/provision/cookbooks/apache2/files/default/tests/minitest/mod_auth_cas_test.rb b/provision/cookbooks/apache2/files/default/tests/minitest/mod_auth_cas_test.rb deleted file mode 100755 index f7e06ea..0000000 --- a/provision/cookbooks/apache2/files/default/tests/minitest/mod_auth_cas_test.rb +++ /dev/null @@ -1,11 +0,0 @@ -require File.expand_path('../support/helpers', __FILE__) - -describe "apache2::mod_auth_cas" do - include Helpers::Apache - - it 'enables auth_cas_module' do - skip if %w{rhel fedora}.include?(node['platform_family']) && node['platform_version'].to_f > 6.0 - apache_enabled_modules.must_include "auth_cas_module" - end - -end diff --git a/provision/cookbooks/apache2/files/default/tests/minitest/mod_auth_openid_test.rb b/provision/cookbooks/apache2/files/default/tests/minitest/mod_auth_openid_test.rb deleted file mode 100755 index 7793a44..0000000 --- a/provision/cookbooks/apache2/files/default/tests/minitest/mod_auth_openid_test.rb +++ /dev/null @@ -1,37 +0,0 @@ -require File.expand_path('../support/helpers', __FILE__) -require 'pathname' - -describe 'apache2::mod_auth_openid' do - include Helpers::Apache - - it "installs the opekele library" do - lib_dir = Pathname.new(node['apache']['lib_dir']).dirname.to_s - file("#{lib_dir}/libopkele.so").must_exist - end - - it "does not add the module to httpd.conf" do - conffile = case node['platform'] - when 'debian', 'ubuntu' - "apache2.conf" - when "redhat", "centos", "scientific", "fedora", "arch", "amazon" - "conf/httpd.conf" - when "freebsd" - "httpd.conf" - end - httpd_config = File.read(File.join(node['apache']['dir'], conffile)) - refute_match /^LoadModule authopenid_module /, httpd_config - end - - it "creates a cache directory for the module" do - directory(node['apache']['mod_auth_openid']['cache_dir']).must_exist.with(:owner, node['apache']['user']) - end - - it "ensures the db file is writable by apache" do - file(node['apache']['mod_auth_openid']['dblocation']).must_exist.with(:owner, node['apache']['user']).and(:mode, "644") - end - - it 'enables authopenid_module' do - apache_enabled_modules.must_include "authopenid_module" - end - -end diff --git a/provision/cookbooks/apache2/files/default/tests/minitest/mod_cgi_test.rb b/provision/cookbooks/apache2/files/default/tests/minitest/mod_cgi_test.rb deleted file mode 100755 index 1391240..0000000 --- a/provision/cookbooks/apache2/files/default/tests/minitest/mod_cgi_test.rb +++ /dev/null @@ -1,13 +0,0 @@ -require File.expand_path('../support/helpers', __FILE__) - -describe 'apache2::mod_cgi' do - include Helpers::Apache - - # the cgi module can be either cgi or cgid - it 'enables cgi or cgid_module' do - assert(apache_enabled_modules.include?('cgi_module') || - apache_enabled_modules.include?('cgid_module') - ) - end - -end diff --git a/provision/cookbooks/apache2/files/default/tests/minitest/mod_dav_svn_test.rb b/provision/cookbooks/apache2/files/default/tests/minitest/mod_dav_svn_test.rb deleted file mode 100755 index cfc1f61..0000000 --- a/provision/cookbooks/apache2/files/default/tests/minitest/mod_dav_svn_test.rb +++ /dev/null @@ -1,14 +0,0 @@ -require File.expand_path('../support/helpers', __FILE__) - -describe 'apache2::mod_dav_svn' do - include Helpers::Apache - - it 'enables dav_svn_module' do - apache_enabled_modules.must_include "dav_svn_module" - end - - it 'enables dav_module' do - apache_enabled_modules.must_include "dav_module" - end - -end diff --git a/provision/cookbooks/apache2/files/default/tests/minitest/mod_fastcgi.rb b/provision/cookbooks/apache2/files/default/tests/minitest/mod_fastcgi.rb deleted file mode 100755 index 1c404f8..0000000 --- a/provision/cookbooks/apache2/files/default/tests/minitest/mod_fastcgi.rb +++ /dev/null @@ -1,11 +0,0 @@ -require File.expand_path('../support/helpers', __FILE__) - -describe "apache2::mod_fastcgi" do - include Helpers::Apache - - it 'enables fastcgi_module' do - skip if %w{rhel fedora}.include?(node['platform_family']) - apache_enabled_modules.must_include "fastcgi_module" - end - -end diff --git a/provision/cookbooks/apache2/files/default/tests/minitest/mod_include_test.rb b/provision/cookbooks/apache2/files/default/tests/minitest/mod_include_test.rb deleted file mode 100755 index c0c4944..0000000 --- a/provision/cookbooks/apache2/files/default/tests/minitest/mod_include_test.rb +++ /dev/null @@ -1,15 +0,0 @@ -require File.expand_path('../support/helpers', __FILE__) - -describe 'apache2::mod_include' do - include Helpers::Apache - - it 'enables include_module' do - apache_enabled_modules.must_include "include_module" - end - - it 'drops off the include module configuration' do - assert_match(/AddType text\/html .shtml/, File.read("#{node['apache']['dir']}/mods-enabled/include.conf")) - assert_match(/AddOutputFilter INCLUDES .shtml/, File.read("#{node['apache']['dir']}/mods-enabled/include.conf")) - end - -end diff --git a/provision/cookbooks/apache2/files/default/tests/minitest/mod_perl_test.rb b/provision/cookbooks/apache2/files/default/tests/minitest/mod_perl_test.rb deleted file mode 100755 index c51341a..0000000 --- a/provision/cookbooks/apache2/files/default/tests/minitest/mod_perl_test.rb +++ /dev/null @@ -1,18 +0,0 @@ -require File.expand_path('../support/helpers', __FILE__) - -describe 'apache2::mod_perl' do - include Helpers::Apache - - it 'enables perl_module' do - apache_enabled_modules.must_include "perl_module" - end - - it 'installs the apache request library' do - req_pkg = case node['platform'] - when 'debian', 'ubuntu' then 'libapache2-request-perl' - else 'perl-libapreq2' - end - package(req_pkg).must_be_installed - end - -end diff --git a/provision/cookbooks/apache2/files/default/tests/minitest/mod_php5_test.rb b/provision/cookbooks/apache2/files/default/tests/minitest/mod_php5_test.rb deleted file mode 100755 index 33220b9..0000000 --- a/provision/cookbooks/apache2/files/default/tests/minitest/mod_php5_test.rb +++ /dev/null @@ -1,13 +0,0 @@ -require File.expand_path('../support/helpers', __FILE__) - -describe 'apache2::mod_php5' do - include Helpers::Apache - - it 'enables php5_module' do - apache_enabled_modules.must_include "php5_module" - end - - it "deletes the packaged php config if any" do - file("#{node['apache']['dir']}/conf.d/php.conf").wont_exist - end -end diff --git a/provision/cookbooks/apache2/files/default/tests/minitest/mod_python_test.rb b/provision/cookbooks/apache2/files/default/tests/minitest/mod_python_test.rb deleted file mode 100755 index 5b5f2b7..0000000 --- a/provision/cookbooks/apache2/files/default/tests/minitest/mod_python_test.rb +++ /dev/null @@ -1,10 +0,0 @@ -require File.expand_path('../support/helpers', __FILE__) - -describe 'apache2::mod_python' do - include Helpers::Apache - - it 'enables python_module' do - apache_enabled_modules.must_include "python_module" - end - -end diff --git a/provision/cookbooks/apache2/files/default/tests/minitest/mod_ssl_test.rb b/provision/cookbooks/apache2/files/default/tests/minitest/mod_ssl_test.rb deleted file mode 100755 index 035f652..0000000 --- a/provision/cookbooks/apache2/files/default/tests/minitest/mod_ssl_test.rb +++ /dev/null @@ -1,28 +0,0 @@ -require File.expand_path('../support/helpers', __FILE__) - -describe 'apache2::mod_ssl' do - include Helpers::Apache - - it 'installs the mod_ssl package on RHEL distributions' do - skip unless ["rhel", "fedora"].include? node['platform_family'] - package("mod_ssl").must_be_installed - end - - it 'enables ssl_module' do - apache_enabled_modules.must_include "ssl_module" - end - - it 'does not store SSL config in conf.d' do - file("#{node['apache']['dir']}/conf.d/ssl.conf").wont_exist - end - - it "is configured to listen on port 443" do - apache_configured_ports.must_include(443) - end - - it 'configures SSLCiphersuit from an attribute' do - assert_match(/^SSLCipherSuite #{node['apache']['mod_ssl']['cipher_suite']}$/, - File.read("#{node['apache']['dir']}/mods-enabled/ssl.conf")) - end - -end diff --git a/provision/cookbooks/apache2/files/default/tests/minitest/support/helpers.rb b/provision/cookbooks/apache2/files/default/tests/minitest/support/helpers.rb deleted file mode 100755 index 707fcf2..0000000 --- a/provision/cookbooks/apache2/files/default/tests/minitest/support/helpers.rb +++ /dev/null @@ -1,65 +0,0 @@ -module Helpers - module Apache - require 'chef/mixin/shell_out' - include Chef::Mixin::ShellOut - include MiniTest::Chef::Assertions - include MiniTest::Chef::Context - include MiniTest::Chef::Resources - - def apache_config_parses? - acp = shell_out("#{node['apache']['binary']} -t") - acp.exitstatus == 0 - end - - def apache_configured_ports - port_config = File.read("#{node['apache']['dir']}/ports.conf") - port_config.scan(/^Listen ([0-9]+)/).flatten.map { |p| p.to_i } - end - - def apache_enabled_modules - apache_modules = shell_out("#{node['apache']['binary']} -M") - apache_modules.send( - if node['platform_family'] == 'rhel' && node['platform_version'].to_f < 6.0 - :stderr - else - :stdout - end - ).split.select! { |i| i =~ /_module$/ } - end - - def apache_service - service( - case node['platform'] - when "debian", "ubuntu" then "apache2" - when "freebsd" then "apache22" - else "httpd" - end - ) - end - - def config - file( - case node['platform'] - when "debian", "ubuntu" then "#{node['apache']['dir']}/apache2.conf" - when "freebsd" then "#{node['apache']['dir']}/httpd.conf" - else "#{node['apache']['dir']}/conf/httpd.conf" - end - ) - end - - def ran_recipe?(recipe) - if Chef::VERSION < "11.0" - seen_recipes = node.run_state[:seen_recipes] - recipes = seen_recipes.keys.each { |i| i } - else - recipes = run_context.loaded_recipes - end - if recipes.empty? and Chef::Config[:solo] - #If you have roles listed in your run list they are NOT expanded - recipes = node.run_list.map {|item| item.name if item.type == :recipe } - end - recipes.include?(recipe) - end - - end -end diff --git a/provision/cookbooks/apache2/metadata.json b/provision/cookbooks/apache2/metadata.json deleted file mode 100755 index 641df2b..0000000 --- a/provision/cookbooks/apache2/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"apache2","description":"Installs and configures all aspects of apache2 using Debian style symlinks with helper definitions","long_description":"Description\n===========\n\nThis cookbook provides a complete Debian/Ubuntu style Apache HTTPD\nconfiguration. Non-Debian based distributions such as Red Hat/CentOS,\nArchLinux and others supported by this cookbook will have a\nconfiguration that mimics Debian/Ubuntu style as it is easier to\nmanage with Chef.\n\nDebian-style Apache configuration uses scripts to manage modules and\nsites (vhosts). The scripts are:\n\n* a2ensite\n* a2dissite\n* a2enmod\n* a2dismod\n\nThis cookbook ships with templates of these scripts for non\nDebian/Ubuntu platforms. The scripts are used in the __Definitions__\nbelow.\n\nRequirements\n============\n\n## Ohai and Chef:\n\n* Ohai: 0.6.12+\n* Chef: 0.10.10+\n\nAs of v1.2.0, this cookbook makes use of `node['platform_family']` to\nsimplify platform selection logic. This attribute was introduced in\nOhai v0.6.12. The recipe methods were introduced in Chef v0.10.10. If\nyou must run an older version of Chef or Ohai, use [version 1.1.16 of\nthis cookbook](http://community.opscode.com/cookbooks/apache2/versions/1_1_16/downloads).\n\n## Cookbooks:\n\nThis cookbook doesn't have direct dependencies on other cookbooks, as\nnone are needed for the default recipe or the general use cases.\n\nDepending on your OS configuration and security policy, you may need\nadditional recipes or cookbooks for this cookbook's recipes to\nconverge on the node. In particular, the following Operating System\nsettings may affect the behavior of this cookbook:\n\n* apt cache outdated\n* SELinux enabled\n* IPtables\n* Compile tools\n* 3rd party repositories\n\nOn Ubuntu/Debian, use Opscode's `apt` cookbook to ensure the package\ncache is updated so Chef can install packages, or consider putting\napt-get in your bootstrap process or\n[knife bootstrap template](http://wiki.opscode.com/display/chef/Knife+Bootstrap).\n\nOn RHEL, SELinux is enabled by default. The `selinux` cookbook\ncontains a `permissive` recipe that can be used to set SELinux to\n\"Permissive\" state. Otherwise, additional recipes need to be created\nby the user to address SELinux permissions.\n\nThe easiest but **certainly not ideal way** to deal with IPtables is\nto flush all rules. Opscode does provide an `iptables` cookbook but is\nmigrating from the approach used there to a more robust solution\nutilizing a general \"firewall\" LWRP that would have an \"iptables\"\nprovider. Alternately, you can use ufw, with Opscode's `ufw` and\n`firewall` cookbooks to set up rules. See those cookbooks' READMEs for\ndocumentation.\n\nBuild/compile tools may not be installed on the system by default.\nSome recipes (e.g., `apache2::mod_auth_openid`) build the module from\nsource. Use Opscode's `build-essential` cookbook to get essential\nbuild packages installed.\n\nOn ArchLinux, if you are using the `apache2::mod_auth_openid` recipe,\nyou also need the `pacman` cookbook for the `pacman_aur` LWRP. Put\n`recipe[pacman]` on the node's expanded run list (on the node or in a\nrole). This is not an explicit dependency because it is only required\nfor this single recipe and platform; the pacman default recipe\nperforms `pacman -Sy` to keep pacman's package cache updated.\n\nThe `apache2::god_monitor` recipe uses a definition from the `god`\ncookbook. Include `recipe[god]` in the node's expanded run list to\nensure that the cookbook is available to the node, and to set up `god`.\n\n## Platforms:\n\nThe following platforms and versions are tested and supported using\nOpscode's [test-kitchen](http://github.com/opscode/test-kitchen).\n\n* Ubuntu 10.04, 12.04\n* CentOS 5.8, 6.3\n\nThe following platform families are supported in the code, and are\nassumed to work based on the successful testing on Ubuntu and CentOS.\n\n* Debian\n* Red Hat (rhel)\n* Fedora\n* Amazon Linux\n\nThe following platforms are also supported in the code, have been\ntested manually but are not tested under test-kitchen.\n\n* SUSE/OpenSUSE\n* ArchLinux\n* FreeBSD\n\n### Notes for RHEL Family:\n\nOn Red Hat Enterprise Linux and derivatives, the EPEL repository may\nbe necessary to install packages used in certain recipes. The\n`apache2::default` recipe, however, does not require any additional\nrepositories. Opscode's `yum` cookbook contains a recipe to add the\nEPEL repository. See __Examples__ for more information.\n\n### Notes for FreeBSD:\n\nThe `apache2::mod_php5` recipe depends on the `freebsd` cookbook,\nwhich it uses to set the correct options for compiling the `php5` port\nfrom sources. You need to ensure the `freebsd` is in the expanded run\nlist, or this recipe will fail. We don't set an explicit dependency\nbecause we feel the `freebsd` cookbook is something users would want\non their nodes, and due to the generality of this cookbook we don't\nwant additional specific dependencies.\n\nTests\n=====\n\nThis cookbook in the\n[source repository](https://github.com/opscode-cookbooks/apache2)\ncontains minitest and cucumber tests. This is an initial proof of\nconcept that will be fleshed out with more supporting infrastructure\nat a future time.\n\nPlease see the CONTRIBUTING file for information on how to add tests\nfor your contributions.\n\nAttributes\n==========\n\nThis cookbook uses many attributes, broken up into a few different\nkinds.\n\nPlatform specific\n-----------------\n\nIn order to support the broadest number of platforms, several\nattributes are determined based on the node's platform. See the\nattributes/default.rb file for default values in the case statement at\nthe top of the file.\n\n* `node['apache']['dir']` - Location for the Apache configuration\n* `node['apache']['log_dir']` - Location for Apache logs\n* `node['apache']['error_log']` - Location for the default error log\n* `node['apache']['access_log']` - Location for the default access log\n* `node['apache']['user']` - User Apache runs as\n* `node['apache']['group']` - Group Apache runs as\n* `node['apache']['binary']` - Apache httpd server daemon\n* `node['apache']['icondir']` - Location for icons\n* `node['apache']['cache_dir']` - Location for cached files used by Apache itself or recipes\n* `node['apache']['pid_file']` - Location of the PID file for Apache httpd\n* `node['apache']['lib_dir']` - Location for shared libraries\n* `node['apache']['default_site_enabled']` - Default site enabled. Defaults to true on redhat-family platforms\n* `node['apache']['ext_status']` - if true, enables ExtendedStatus for `mod_status`\n\nGeneral settings\n----------------\n\nThese are general settings used in recipes and templates. Default\nvalues are noted.\n\n* `node['apache']['listen_ports']` - Ports that httpd should listen on. Default is port 80.\n* `node['apache']['contact']` - Value for ServerAdmin directive. Default \"ops@example.com\".\n* `node['apache']['timeout']` - Value for the Timeout directive. Default is 300.\n* `node['apache']['keepalive']` - Value for the KeepAlive directive. Default is On.\n* `node['apache']['keepaliverequests']` - Value for MaxKeepAliveRequests. Default is 100.\n* `node['apache']['keepalivetimeout']` - Value for the KeepAliveTimeout directive. Default is 5.\n* `node['apache']['default_modules']` - Array of module names. Can take \"mod_FOO\" or \"FOO\" as names, where FOO is the apache module, e.g. \"`mod_status`\" or \"`status`\".\n\nThe modules listed in `default_modules` will be included as recipes in `recipe[apache::default]`.\n\nPrefork attributes\n------------------\n\nPrefork attributes are used for tuning the Apache HTTPD prefork MPM\nconfiguration.\n\n* `node['apache']['prefork']['startservers']` - initial number of server processes to start. Default is 16.\n* `node['apache']['prefork']['minspareservers']` - minimum number of spare server processes. Default 16.\n* `node['apache']['prefork']['maxspareservers']` - maximum number of spare server processes. Default 32.\n* `node['apache']['prefork']['serverlimit']` - upper limit on configurable server processes. Default 400.\n* `node['apache']['prefork']['maxclients']` - Maximum number of simultaneous connections.\n* `node['apache']['prefork']['maxrequestsperchild']` - Maximum number of request a child process will handle. Default 10000.\n\nWorker attributes\n-----------------\n\nWorker attributes are used for tuning the Apache HTTPD worker MPM\nconfiguration.\n\n* `node['apache']['worker']['startservers']` - Initial number of server processes to start. Default 4\n* `node['apache']['worker']['serverlimit']` - upper limit on configurable server processes. Default 16.\n* `node['apache']['worker']['maxclients']` - Maximum number of simultaneous connections. Default 1024.\n* `node['apache']['worker']['minsparethreads']` - Minimum number of spare worker threads. Default 64\n* `node['apache']['worker']['maxsparethreads']` - Maximum number of spare worker threads. Default 192.\n* `node['apache']['worker']['maxrequestsperchild']` - Maximum number of requests a child process will handle.\n\nmod\\_auth\\_openid attributes\n----------------------------\n\nThe following attributes are in the `attributes/mod_auth_openid.rb`\nfile. Like all Chef attributes files, they are loaded as well, but\nthey're logistically unrelated to the others, being specific to the\n`mod_auth_openid` recipe.\n\n* `node['apache']['mod_auth_openid']['checksum']` - sha256sum of the tarball containing the source.\n* `node['apache']['mod_auth_openid']['ref']` - Any sha, tag, or branch found from https://github.com/bmuller/mod_auth_openid\n* `node['apache']['mod_auth_openid']['cache_dir']` - the cache directory is where the sqlite3 database is stored. It is separate so it can be managed as a directory resource.\n* `node['apache']['mod_auth_openid']['dblocation']` - filename of the sqlite3 database used for directive `AuthOpenIDDBLocation`, stored in the `cache_dir` by default.\n* `node['apache']['mod_auth_openid']['configure_flags']` - optional array of configure flags passed to the `./configure` step in the compilation of the module.\n\nmod\\_ssl attributes\n-------------------\n\n* `node['apache']['mod_ssl']['cipher_suite']` - sets the\n SSLCiphersuite value to the specified string. The default is\n considered \"sane\" but you may need to change it for your local\n security policy, e.g. if you have PCI-DSS requirements. Additional\n commentary on the\n [original pull request](https://github.com/opscode-cookbooks/apache2/pull/15#commitcomment-1605406).\n\nRecipes\n=======\n\nMost of the recipes in the cookbook are for enabling Apache modules.\nWhere additional configuration or behavior is used, it is documented\nbelow in more detail.\n\nThe following recipes merely enable the specified module: `mod_alias`,\n`mod_basic`, `mod_digest`, `mod_authn_file`, `mod_authnz_ldap`,\n`mod_authz_default`, `mod_authz_groupfile`, `mod_authz_host`,\n`mod_authz_user`, `mod_autoindex`, `mod_cgi`, `mod_dav_fs`,\n`mod_dav_svn`, `mod_deflate`, `mod_dir`, `mod_env`, `mod_expires`,\n`mod_headers`, `mod_ldap`, `mod_log_config`, `mod_mime`,\n`mod_negotiation`, `mod_proxy`, `mod_proxy_ajp`, `mod_proxy_balancer`,\n`mod_proxy_connect`, `mod_proxy_http`, `mod_python`, `mod_rewrite`,\n`mod_setenvif`, `mod_status`, `mod_wsgi`, `mod_xsendfile`.\n\nOn RHEL Family distributions, certain modules ship with a config file\nwith the package. The recipes here may delete those configuration\nfiles to ensure they don't conflict with the settings from the\ncookbook, which will use per-module configuration in\n`/etc/httpd/mods-enabled`.\n\ndefault\n-------\n\nThe default recipe does a number of things to set up Apache HTTPd. It\nalso includes a number of modules based on the attribute\n`node['apache']['default_modules']` as recipes.\n\nlogrotate\n---------\n\nLogrotate adds a logrotate entry for your apache2 logs. This recipe\nrequires the `logrotate` cookbook; ensure that `recipe[logrotate]` is\nin the node's expanded run list.\n\nmod\\_auth\\_cas\n--------------\n\nThis recipe installs the proper package and enables the `auth_cas`\nmodule. It can install from source or package. Package is the default,\nset the attribute `node['apache']['mod_auth_cas']['from_source']` to\ntrue to enable source installation. Modify the version to install by\nchanging the attribute\n`node['apache']['mod_auth_cas']['source_revision']`. It is a version\ntag by default, but could be master, or another tag, or branch.\n\nThe module configuration is written out with the `CASCookiePath` set,\notherwise an error loading the module may cause Apache to not start.\n\n**Note**: This recipe does not work on EL 6 platforms unless\nepel-testing repository is enabled (outside the scope of this\ncookbook), or the package version 1.0.8.1-3.el6 or higher is otherwise\navailable to the system due to this bug:\n\nhttps://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=708550\n\nmod\\_auth\\_openid\n-----------------\n\n**Changed via COOK-915**\n\nThis recipe compiles the module from source. In addition to\n`build-essential`, some other packages are included for installation\nlike the GNU C++ compiler and development headers.\n\nTo use the module in your own cookbooks to authenticate systems using\nOpenIDs, specify an array of OpenIDs that are allowed to authenticate\nwith the attribute `node['apache']['allowed_openids']`. Use the\nfollowing in a vhost to protect with OpenID authentication:\n\n AuthType OpenID require user <%= node['apache']['allowed_openids'].join(' ') %>\n AuthOpenIDDBLocation <%= node['apache']['mod_auth_openid']['dblocation'] %>\n\nChange the DBLocation with the attribute as required; this file is in\na different location than previous versions, see below. It should be a\nsane default for most platforms, though, see\n`attributes/mod_auth_openid.rb`.\n\n### Changes from COOK-915:\n\n* `AuthType OpenID` instead of `AuthOpenIDEnabled On`.\n* `require user` instead of `AuthOpenIDUserProgram`.\n* A bug(?) in `mod_auth_openid` causes it to segfault when attempting\n to update the database file if the containing directory is not\n writable by the HTTPD process owner (e.g., www-data), even if the\n file is writable. In order to not interfere with other settings from\n the default recipe in this cookbook, the db file is moved.\n\nmod\\_fastcgi\n------------\n\nInstall the fastcgi package and enable the module.\n\nOnly work on Debian/Ubuntu\n\nmod\\_fcgid\n----------\n\nInstalls the fcgi package and enables the module. Requires EPEL on\nRHEL family.\n\nOn RHEL family, this recipe will delete the fcgid.conf and on version\n6+, create the /var/run/httpd/mod_fcgid` directory, which prevents the\nemergency error:\n\n [emerg] (2)No such file or directory: mod_fcgid: Can't create shared memory for size XX bytes\n\nmod\\_php5\n--------\n\nSimply installs the appropriate package on Debian, Ubuntu and\nArchLinux.\n\nOn Red Hat family distributions including Fedora, the php.conf that\ncomes with the package is removed. On RHEL platforms less than v6, the\n`php53` package is used.\n\nmod\\_ssl\n--------\n\nBesides installing and enabling `mod_ssl`, this recipe will append\nport 443 to the `node['apache']['listen_ports']` attribute array and\nupdate the ports.conf.\n\ngod\\_monitor\n------------\n\nSets up a `god` monitor for Apache. External requirements are the\n`god` and `runit` cookbooks from Opscode. When using this recipe,\ninclude `recipe[god]` in the node's expanded run list to ensure the\nclient downloads it; `god` depends on runit so that will also be\ndownloaded.\n\n**Note** This recipe is not tested under test-kitchen yet and is\n pending fix in COOK-744.\n\nDefinitions\n===========\n\nThe cookbook provides a few definitions. At some point in the future\nthese definitions may be refactored into lightweight resources and\nproviders as suggested by\n[foodcritic rule FC015](http://acrmp.github.com/foodcritic/#FC015).\n\napache\\_conf\n------------\n\nSets up configuration file for an Apache module from a template. The\ntemplate should be in the same cookbook where the definition is used.\nThis is used by the `apache_module` definition and is not often used\ndirectly.\n\nThis will use a template resource to write the module's configuration\nfile in the `mods-available` under the Apache configuration directory\n(`node['apache']['dir']`). This is a platform-dependent location. See\n__apache\\_module__.\n\n### Parameters:\n\n* `name` - Name of the template. When used from the `apache_module`,\n it will use the same name as the module.\n\n### Examples:\n\nCreate `#{node['apache']['dir']}/mods-available/alias.conf`.\n\n apache_conf \"alias\"\n\napache\\_module\n--------------\n\nEnable or disable an Apache module in\n`#{node['apache']['dir']}/mods-available` by calling `a2enmod` or\n`a2dismod` to manage the symbolic link in\n`#{node['apache']['dir']}/mods-enabled`. If the module has a\nconfiguration file, a template should be created in the cookbook where\nthe definition is used. See __Examples__.\n\n### Parameters:\n\n* `name` - Name of the module enabled or disabled with the `a2enmod` or `a2dismod` scripts.\n* `enable` - Default true, which uses `a2enmod` to enable the module. If false, the module will be disabled with `a2dismod`.\n* `conf` - Default false. Set to true if the module has a config file, which will use `apache_conf` for the file.\n* `filename` - specify the full name of the file, e.g.\n\n### Examples:\n\nEnable the ssl module, which also has a configuration template in `templates/default/ssl.conf.erb`.\n\n apache_module \"ssl\" do\n conf true\n end\n\nEnable the php5 module, which has a different filename than the module default:\n\n apache_module \"php5\" do\n filename \"libphp5.so\"\n end\n\nDisable a module:\n\n apache_module \"disabled_module\" do\n enable false\n end\n\nSee the recipes directory for many more examples of `apache_module`.\n\napache\\_site\n------------\n\nEnable or disable a VirtualHost in\n`#{node['apache']['dir']}/sites-available` by calling a2ensite or\na2dissite to manage the symbolic link in\n`#{node['apache']['dir']}/sites-enabled`.\n\nThe template for the site must be managed as a separate resource. To\ncombine the template with enabling a site, see `web_app`.\n\n### Parameters:\n\n* `name` - Name of the site.\n* `enable` - Default true, which uses `a2ensite` to enable the site. If false, the site will be disabled with `a2dissite`.\n\nweb\\_app\n--------\n\nManage a template resource for a VirtualHost site, and enable it with\n`apache_site`. This is commonly done for managing web applications\nsuch as Ruby on Rails, PHP or Django, and the default behavior\nreflects that. However it is flexible.\n\nThis definition includes some recipes to make sure the system is\nconfigured to have Apache and some sane default modules:\n\n* `apache2`\n* `apache2::mod_rewrite`\n* `apache2::mod_deflate`\n* `apache2::mod_headers`\n\nIt will then configure the template (see __Parameters__ and\n__Examples__ below), and enable or disable the site per the `enable`\nparameter.\n\n### Parameters:\n\nCurrent parameters used by the definition:\n\n* `name` - The name of the site. The template will be written to\n `#{node['apache']['dir']}/sites-available/#{params['name']}.conf`\n* `cookbook` - Optional. Cookbook where the source template is. If\n this is not defined, Chef will use the named template in the\n cookbook where the definition is used.\n* `template` - Default `web_app.conf.erb`, source template file.\n* `enable` - Default true. Passed to the `apache_site` definition.\n\nAdditional parameters can be defined when the definition is called in\na recipe, see __Examples__.\n\n### Examples:\n\nAll parameters are passed into the template. You can use whatever you\nlike. The apache2 cookbook comes with a `web_app.conf.erb` template as\nan example. The following parameters are used in the template:\n\n* `server_name` - ServerName directive.\n* `server_aliases` - ServerAlias directive. Must be an array of aliases.\n* `docroot` - DocumentRoot directive.\n* `application_name` - Used in RewriteLog directive. Will be set to the `name` parameter.\n* `directory_index` - Allow overriding the default DirectoryIndex setting, optional\n* `directory_options` - Override Options on the docroot, for example to add parameters like Includes or Indexes, optional.\n* `allow_override` - Modify the AllowOverride directive on the docroot to support apps that need .htaccess to modify configuration or require authentication.\n\nTo use the default web_app, for example:\n\n web_app \"my_site\" do\n server_name node['hostname']\n server_aliases [node['fqdn'], \"my-site.example.com\"]\n docroot \"/srv/www/my_site\"\n end\n\nThe parameters specified will be used as:\n\n* `@params[:server_name]`\n* `@params[:server_aliases]`\n* `@params[:docroot]`\n\nIn the template. When you write your own, the `@` is significant.\n\nFor more information about Definitions and parameters, see the\n[Chef Wiki](http://wiki.opscode.com/display/chef/Definitions)\n\nUsage\n=====\n\nUsing this cookbook is relatively straightforward. Add the desired\nrecipes to the run list of a node, or create a role. Depending on your\nenvironment, you may have multiple roles that use different recipes\nfrom this cookbook. Adjust any attributes as desired. For example, to\ncreate a basic role for web servers that provide both HTTP and HTTPS:\n\n % cat roles/webserver.rb\n name \"webserver\"\n description \"Systems that serve HTTP and HTTPS\"\n run_list(\n \"recipe[apache2]\",\n \"recipe[apache2::mod_ssl]\"\n )\n default_attributes(\n \"apache\" => {\n \"listen_ports\" => [\"80\", \"443\"]\n }\n )\n\nFor examples of using the definitions in your own recipes, see their\nrespective sections above.\n\nLicense and Authors\n===================\n\n* Author:: Adam Jacob \n* Author:: Joshua Timberman \n* Author:: Bryan McLellan \n* Author:: Dave Esposito \n* Author:: David Abdemoulaie \n* Author:: Edmund Haselwanter \n* Author:: Eric Rochester \n* Author:: Jim Browne \n* Author:: Matthew Kent \n* Author:: Nathen Harvey \n* Author:: Ringo De Smet \n* Author:: Sean OMeara \n* Author:: Seth Chisamore \n* Author:: Gilles Devaux \n\n* Copyright:: 2009-2012, Opscode, Inc\n* Copyright:: 2011, Atriso\n* Copyright:: 2011, CustomInk, LLC.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n","maintainer":"Opscode, Inc.","maintainer_email":"cookbooks@opscode.com","license":"Apache 2.0","platforms":{"redhat":">= 0.0.0","centos":">= 0.0.0","scientific":">= 0.0.0","fedora":">= 0.0.0","debian":">= 0.0.0","ubuntu":">= 0.0.0","arch":">= 0.0.0","freebsd":">= 0.0.0","amazon":">= 0.0.0"},"dependencies":{},"recommendations":{},"suggestions":{},"conflicting":{},"providing":{},"replacing":{},"attributes":{"apache":{"display_name":"Apache Hash","description":"Hash of Apache attributes","type":"hash","choice":[],"calculated":false,"required":"optional","recipes":[]},"apache/dir":{"display_name":"Apache Directory","description":"Location for Apache configuration","default":"/etc/apache2","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/log_dir":{"display_name":"Apache Log Directory","description":"Location for Apache logs","default":"/etc/apache2","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/user":{"display_name":"Apache User","description":"User Apache runs as","default":"www-data","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/binary":{"display_name":"Apache Binary","description":"Apache server daemon program","default":"/usr/sbin/apache2","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/icondir":{"display_name":"Apache Icondir","description":"Directory location for icons","default":"/usr/share/apache2/icons","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/listen_ports":{"display_name":"Apache Listen Ports","description":"Ports that Apache should listen on","type":"array","default":["80","443"],"choice":[],"calculated":false,"required":"optional","recipes":[]},"apache/contact":{"display_name":"Apache Contact","description":"Email address of webmaster","default":"ops@example.com","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/timeout":{"display_name":"Apache Timeout","description":"Connection timeout value","default":"300","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/keepalive":{"display_name":"Apache Keepalive","description":"HTTP persistent connections","default":"On","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/keepaliverequests":{"display_name":"Apache Keepalive Requests","description":"Number of requests allowed on a persistent connection","default":"100","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/keepalivetimeout":{"display_name":"Apache Keepalive Timeout","description":"Time to wait for requests on persistent connection","default":"5","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/servertokens":{"display_name":"Apache Server Tokens","description":"Server response header","default":"Prod","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/serversignature":{"display_name":"Apache Server Signature","description":"Configure footer on server-generated documents","default":"On","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/traceenable":{"display_name":"Apache Trace Enable","description":"Determine behavior of TRACE requests","default":"On","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/allowed_openids":{"display_name":"Apache Allowed OpenIDs","description":"Array of OpenIDs allowed to authenticate","default":"","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/prefork":{"display_name":"Apache Prefork","description":"Hash of Apache prefork tuning attributes.","type":"hash","choice":[],"calculated":false,"required":"optional","recipes":[]},"apache/prefork/startservers":{"display_name":"Apache Prefork MPM StartServers","description":"Number of MPM servers to start","default":"16","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/prefork/minspareservers":{"display_name":"Apache Prefork MPM MinSpareServers","description":"Minimum number of spare server processes","default":"16","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/prefork/maxspareservers":{"display_name":"Apache Prefork MPM MaxSpareServers","description":"Maximum number of spare server processes","default":"32","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/prefork/serverlimit":{"display_name":"Apache Prefork MPM ServerLimit","description":"Upper limit on configurable server processes","default":"400","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/prefork/maxclients":{"display_name":"Apache Prefork MPM MaxClients","description":"Maximum number of simultaneous connections","default":"400","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/prefork/maxrequestsperchild":{"display_name":"Apache Prefork MPM MaxRequestsPerChild","description":"Maximum number of request a child process will handle","default":"10000","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/worker":{"display_name":"Apache Worker","description":"Hash of Apache prefork tuning attributes.","type":"hash","choice":[],"calculated":false,"required":"optional","recipes":[]},"apache/worker/startservers":{"display_name":"Apache Worker MPM StartServers","description":"Initial number of server processes to start","default":"4","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/worker/maxclients":{"display_name":"Apache Worker MPM MaxClients","description":"Maximum number of simultaneous connections","default":"1024","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/worker/minsparethreads":{"display_name":"Apache Worker MPM MinSpareThreads","description":"Minimum number of spare worker threads","default":"64","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/worker/maxsparethreads":{"display_name":"Apache Worker MPM MaxSpareThreads","description":"Maximum number of spare worker threads","default":"192","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/worker/threadsperchild":{"display_name":"Apache Worker MPM ThreadsPerChild","description":"Constant number of worker threads in each server process","default":"64","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/worker/maxrequestsperchild":{"display_name":"Apache Worker MPM MaxRequestsPerChild","description":"Maximum number of request a child process will handle","default":"0","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/default_modules":{"display_name":"Apache Default Modules","description":"Default modules to enable via recipes","default":"status alias auth_basic authn_file authz_default authz_groupfile authz_host authz_user autoindex dir env mime negotiation setenvif","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]},"apache/mod_ssl/cipher_suite":{"display_name":"Apache mod_ssl Cipher Suite","description":"String of SSL ciphers to use for SSLCipherSuite","default":"RC4-SHA:HIGH:!ADH","choice":[],"calculated":false,"type":"string","required":"optional","recipes":[]}},"groupings":{},"recipes":{"apache2":"Main Apache configuration","apache2::logrotate":"Rotate apache2 logs. Requires logrotate cookbook","apache2::mod_alias":"Apache module 'alias' with config file","apache2::mod_apreq2":"Apache module 'apreq'","apache2::mod_auth_basic":"Apache module 'auth_basic'","apache2::mod_auth_digest":"Apache module 'auth_digest'","apache2::mod_auth_openid":"Apache module 'authopenid'","apache2::mod_authn_file":"Apache module 'authn_file'","apache2::mod_authnz_ldap":"Apache module 'authnz_ldap'","apache2::mod_authz_default":"Apache module 'authz_default'","apache2::mod_authz_groupfile":"Apache module 'authz_groupfile'","apache2::mod_authz_host":"Apache module 'authz_host'","apache2::mod_authz_user":"Apache module 'authz_user'","apache2::mod_autoindex":"Apache module 'autoindex' with config file","apache2::mod_cgi":"Apache module 'cgi'","apache2::mod_dav":"Apache module 'dav'","apache2::mod_dav_svn":"Apache module 'dav_svn'","apache2::mod_deflate":"Apache module 'deflate' with config file","apache2::mod_dir":"Apache module 'dir' with config file","apache2::mod_env":"Apache module 'env'","apache2::mod_expires":"Apache module 'expires'","apache2::mod_fcgid":"Apache module 'fcgid', package on ubuntu/debian, rhel/centos, compile source on suse; with config file","apache2::mod_headers":"Apache module 'headers'","apache2::mod_include":"Apache module 'include'","apache2::mod_ldap":"Apache module 'ldap'","apache2::mod_log_config":"Apache module 'log_config'","apache2::mod_mime":"Apache module 'mime' with config file","apache2::mod_negotiation":"Apache module 'negotiation' with config file","apache2::mod_perl":"Apache module 'perl'","apache2::mod_php5":"Apache module 'php5'","apache2::mod_proxy":"Apache module 'proxy' with config file","apache2::mod_proxy_ajp":"Apache module 'proxy_ajp'","apache2::mod_proxy_balancer":"Apache module 'proxy_balancer'","apache2::mod_proxy_connect":"Apache module 'proxy_connect'","apache2::mod_proxy_http":"Apache module 'proxy_http'","apache2::mod_python":"Apache module 'python'","apache2::mod_rewrite":"Apache module 'rewrite'","apache2::mod_setenvif":"Apache module 'setenvif' with config file","apache2::mod_ssl":"Apache module 'ssl' with config file, adds port 443 to listen_ports","apache2::mod_status":"Apache module 'status' with config file","apache2::mod_xsendfile":"Apache module 'xsendfile'"},"version":"1.7.0"} \ No newline at end of file diff --git a/provision/cookbooks/apache2/metadata.rb b/provision/cookbooks/apache2/metadata.rb deleted file mode 100755 index a5aa510..0000000 --- a/provision/cookbooks/apache2/metadata.rb +++ /dev/null @@ -1,213 +0,0 @@ -name "apache2" -maintainer "Opscode, Inc." -maintainer_email "cookbooks@opscode.com" -license "Apache 2.0" -description "Installs and configures all aspects of apache2 using Debian style symlinks with helper definitions" -long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version "1.7.0" -recipe "apache2", "Main Apache configuration" -recipe "apache2::logrotate", "Rotate apache2 logs. Requires logrotate cookbook" -recipe "apache2::mod_alias", "Apache module 'alias' with config file" -recipe "apache2::mod_apreq2", "Apache module 'apreq'" -recipe "apache2::mod_auth_basic", "Apache module 'auth_basic'" -recipe "apache2::mod_auth_digest", "Apache module 'auth_digest'" -recipe "apache2::mod_auth_openid", "Apache module 'authopenid'" -recipe "apache2::mod_authn_file", "Apache module 'authn_file'" -recipe "apache2::mod_authnz_ldap", "Apache module 'authnz_ldap'" -recipe "apache2::mod_authz_default", "Apache module 'authz_default'" -recipe "apache2::mod_authz_groupfile", "Apache module 'authz_groupfile'" -recipe "apache2::mod_authz_host", "Apache module 'authz_host'" -recipe "apache2::mod_authz_user", "Apache module 'authz_user'" -recipe "apache2::mod_autoindex", "Apache module 'autoindex' with config file" -recipe "apache2::mod_cgi", "Apache module 'cgi'" -recipe "apache2::mod_dav", "Apache module 'dav'" -recipe "apache2::mod_dav_svn", "Apache module 'dav_svn'" -recipe "apache2::mod_deflate", "Apache module 'deflate' with config file" -recipe "apache2::mod_dir", "Apache module 'dir' with config file" -recipe "apache2::mod_env", "Apache module 'env'" -recipe "apache2::mod_expires", "Apache module 'expires'" -recipe "apache2::mod_fcgid", "Apache module 'fcgid', package on ubuntu/debian, rhel/centos, compile source on suse; with config file" -recipe "apache2::mod_headers", "Apache module 'headers'" -recipe "apache2::mod_include", "Apache module 'include'" -recipe "apache2::mod_ldap", "Apache module 'ldap'" -recipe "apache2::mod_log_config", "Apache module 'log_config'" -recipe "apache2::mod_mime", "Apache module 'mime' with config file" -recipe "apache2::mod_negotiation", "Apache module 'negotiation' with config file" -recipe "apache2::mod_perl", "Apache module 'perl'" -recipe "apache2::mod_php5", "Apache module 'php5'" -recipe "apache2::mod_proxy", "Apache module 'proxy' with config file" -recipe "apache2::mod_proxy_ajp", "Apache module 'proxy_ajp'" -recipe "apache2::mod_proxy_balancer", "Apache module 'proxy_balancer'" -recipe "apache2::mod_proxy_connect", "Apache module 'proxy_connect'" -recipe "apache2::mod_proxy_http", "Apache module 'proxy_http'" -recipe "apache2::mod_python", "Apache module 'python'" -recipe "apache2::mod_rewrite", "Apache module 'rewrite'" -recipe "apache2::mod_setenvif", "Apache module 'setenvif' with config file" -recipe "apache2::mod_ssl", "Apache module 'ssl' with config file, adds port 443 to listen_ports" -recipe "apache2::mod_status", "Apache module 'status' with config file" -recipe "apache2::mod_xsendfile", "Apache module 'xsendfile'" - -%w{redhat centos scientific fedora debian ubuntu arch freebsd amazon}.each do |os| - supports os -end - -attribute "apache", - :display_name => "Apache Hash", - :description => "Hash of Apache attributes", - :type => "hash" - -attribute "apache/dir", - :display_name => "Apache Directory", - :description => "Location for Apache configuration", - :default => "/etc/apache2" - -attribute "apache/log_dir", - :display_name => "Apache Log Directory", - :description => "Location for Apache logs", - :default => "/etc/apache2" - -attribute "apache/user", - :display_name => "Apache User", - :description => "User Apache runs as", - :default => "www-data" - -attribute "apache/binary", - :display_name => "Apache Binary", - :description => "Apache server daemon program", - :default => "/usr/sbin/apache2" - -attribute "apache/icondir", - :display_name => "Apache Icondir", - :description => "Directory location for icons", - :default => "/usr/share/apache2/icons" - -attribute "apache/listen_ports", - :display_name => "Apache Listen Ports", - :description => "Ports that Apache should listen on", - :type => "array", - :default => ["80", "443"] - -attribute "apache/contact", - :display_name => "Apache Contact", - :description => "Email address of webmaster", - :default => "ops@example.com" - -attribute "apache/timeout", - :display_name => "Apache Timeout", - :description => "Connection timeout value", - :default => "300" - -attribute "apache/keepalive", - :display_name => "Apache Keepalive", - :description => "HTTP persistent connections", - :default => "On" - -attribute "apache/keepaliverequests", - :display_name => "Apache Keepalive Requests", - :description => "Number of requests allowed on a persistent connection", - :default => "100" - -attribute "apache/keepalivetimeout", - :display_name => "Apache Keepalive Timeout", - :description => "Time to wait for requests on persistent connection", - :default => "5" - -attribute "apache/servertokens", - :display_name => "Apache Server Tokens", - :description => "Server response header", - :default => "Prod" - -attribute "apache/serversignature", - :display_name => "Apache Server Signature", - :description => "Configure footer on server-generated documents", - :default => "On" - -attribute "apache/traceenable", - :display_name => "Apache Trace Enable", - :description => "Determine behavior of TRACE requests", - :default => "On" - -attribute "apache/allowed_openids", - :display_name => "Apache Allowed OpenIDs", - :description => "Array of OpenIDs allowed to authenticate", - :default => "" - -attribute "apache/prefork", - :display_name => "Apache Prefork", - :description => "Hash of Apache prefork tuning attributes.", - :type => "hash" - -attribute "apache/prefork/startservers", - :display_name => "Apache Prefork MPM StartServers", - :description => "Number of MPM servers to start", - :default => "16" - -attribute "apache/prefork/minspareservers", - :display_name => "Apache Prefork MPM MinSpareServers", - :description => "Minimum number of spare server processes", - :default => "16" - -attribute "apache/prefork/maxspareservers", - :display_name => "Apache Prefork MPM MaxSpareServers", - :description => "Maximum number of spare server processes", - :default => "32" - -attribute "apache/prefork/serverlimit", - :display_name => "Apache Prefork MPM ServerLimit", - :description => "Upper limit on configurable server processes", - :default => "400" - -attribute "apache/prefork/maxclients", - :display_name => "Apache Prefork MPM MaxClients", - :description => "Maximum number of simultaneous connections", - :default => "400" - -attribute "apache/prefork/maxrequestsperchild", - :display_name => "Apache Prefork MPM MaxRequestsPerChild", - :description => "Maximum number of request a child process will handle", - :default => "10000" - -attribute "apache/worker", - :display_name => "Apache Worker", - :description => "Hash of Apache prefork tuning attributes.", - :type => "hash" - -attribute "apache/worker/startservers", - :display_name => "Apache Worker MPM StartServers", - :description => "Initial number of server processes to start", - :default => "4" - -attribute "apache/worker/maxclients", - :display_name => "Apache Worker MPM MaxClients", - :description => "Maximum number of simultaneous connections", - :default => "1024" - -attribute "apache/worker/minsparethreads", - :display_name => "Apache Worker MPM MinSpareThreads", - :description => "Minimum number of spare worker threads", - :default => "64" - -attribute "apache/worker/maxsparethreads", - :display_name => "Apache Worker MPM MaxSpareThreads", - :description => "Maximum number of spare worker threads", - :default => "192" - -attribute "apache/worker/threadsperchild", - :display_name => "Apache Worker MPM ThreadsPerChild", - :description => "Constant number of worker threads in each server process", - :default => "64" - -attribute "apache/worker/maxrequestsperchild", - :display_name => "Apache Worker MPM MaxRequestsPerChild", - :description => "Maximum number of request a child process will handle", - :default => "0" - -attribute "apache/default_modules", - :display_name => "Apache Default Modules", - :description => "Default modules to enable via recipes", - :default => "status alias auth_basic authn_file authz_default authz_groupfile authz_host authz_user autoindex dir env mime negotiation setenvif" - -attribute "apache/mod_ssl/cipher_suite", - :display_name => "Apache mod_ssl Cipher Suite", - :description => "String of SSL ciphers to use for SSLCipherSuite", - :default => "RC4-SHA:HIGH:!ADH" diff --git a/provision/cookbooks/apache2/recipes/default.rb b/provision/cookbooks/apache2/recipes/default.rb deleted file mode 100755 index f5cb6e6..0000000 --- a/provision/cookbooks/apache2/recipes/default.rb +++ /dev/null @@ -1,223 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: default -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -package "apache2" do - package_name node['apache']['package'] -end - -service "apache2" do - case node['platform_family'] - when "rhel", "fedora", "suse" - service_name "httpd" - # If restarted/reloaded too quickly httpd has a habit of failing. - # This may happen with multiple recipes notifying apache to restart - like - # during the initial bootstrap. - restart_command "/sbin/service httpd restart && sleep 1" - reload_command "/sbin/service httpd reload && sleep 1" - when "debian" - service_name "apache2" - restart_command "/usr/sbin/invoke-rc.d apache2 restart && sleep 1" - reload_command "/usr/sbin/invoke-rc.d apache2 reload && sleep 1" - when "arch" - service_name "httpd" - when "freebsd" - service_name "apache22" - end - supports [:restart, :reload, :status] - action :enable -end - -if platform_family?("rhel", "fedora", "arch", "suse", "freebsd") - directory node['apache']['log_dir'] do - mode 00755 - end - - package "perl" - - cookbook_file "/usr/local/bin/apache2_module_conf_generate.pl" do - source "apache2_module_conf_generate.pl" - mode 00755 - owner "root" - group node['apache']['root_group'] - end - - %w{sites-available sites-enabled mods-available mods-enabled}.each do |dir| - directory "#{node['apache']['dir']}/#{dir}" do - mode 00755 - owner "root" - group node['apache']['root_group'] - end - end - - execute "generate-module-list" do - command "/usr/local/bin/apache2_module_conf_generate.pl #{node['apache']['lib_dir']} #{node['apache']['dir']}/mods-available" - action :nothing - end - - %w{a2ensite a2dissite a2enmod a2dismod}.each do |modscript| - template "/usr/sbin/#{modscript}" do - source "#{modscript}.erb" - mode 00700 - owner "root" - group node['apache']['root_group'] - end - end - - # installed by default on centos/rhel, remove in favour of mods-enabled - %w{ proxy_ajp auth_pam authz_ldap webalizer ssl welcome }.each do |f| - file "#{node['apache']['dir']}/conf.d/#{f}.conf" do - action :delete - backup false - end - end - - # installed by default on centos/rhel, remove in favour of mods-enabled - file "#{node['apache']['dir']}/conf.d/README" do - action :delete - backup false - end - - # enable mod_deflate for consistency across distributions - include_recipe "apache2::mod_deflate" -end - -if platform_family?("freebsd") - - file "#{node['apache']['dir']}/Includes/no-accf.conf" do - action :delete - backup false - end - - directory "#{node['apache']['dir']}/Includes" do - action :delete - end - - %w{ - httpd-autoindex.conf httpd-dav.conf httpd-default.conf httpd-info.conf - httpd-languages.conf httpd-manual.conf httpd-mpm.conf - httpd-multilang-errordoc.conf httpd-ssl.conf httpd-userdir.conf - httpd-vhosts.conf - }.each do |f| - - file "#{node['apache']['dir']}/extra/#{f}" do - action :delete - backup false - end - - end - - directory "#{node['apache']['dir']}/extra" do - action :delete - end - -end - -directory "#{node['apache']['dir']}/ssl" do - mode 00755 - owner "root" - group node['apache']['root_group'] -end - -directory "#{node['apache']['dir']}/conf.d" do - mode 00755 - owner "root" - group node['apache']['root_group'] -end - -directory node['apache']['cache_dir'] do - mode 00755 - owner "root" - group node['apache']['root_group'] -end - -# Set the preferred execution binary - prefork or worker -template "/etc/sysconfig/httpd" do - source "etc-sysconfig-httpd.erb" - owner "root" - group node['apache']['root_group'] - mode 00644 - notifies :restart, "service[apache2]" - only_if { platform_family?("rhel", "fedora") } -end - -template "apache2.conf" do - case node['platform_family'] - when "rhel", "fedora", "arch" - path "#{node['apache']['dir']}/conf/httpd.conf" - when "debian" - path "#{node['apache']['dir']}/apache2.conf" - when "freebsd" - path "#{node['apache']['dir']}/httpd.conf" - end - source "apache2.conf.erb" - owner "root" - group node['apache']['root_group'] - mode 00644 - notifies :restart, "service[apache2]" -end - -template "apache2-conf-security" do - path "#{node['apache']['dir']}/conf.d/security" - source "security.erb" - owner "root" - group node['apache']['root_group'] - mode 00644 - backup false - notifies :restart, "service[apache2]" -end - -template "apache2-conf-charset" do - path "#{node['apache']['dir']}/conf.d/charset" - source "charset.erb" - owner "root" - group node['apache']['root_group'] - mode 00644 - backup false - notifies :restart, "service[apache2]" -end - -template "#{node['apache']['dir']}/ports.conf" do - source "ports.conf.erb" - owner "root" - group node['apache']['root_group'] - variables :apache_listen_ports => node['apache']['listen_ports'].map { |p| p.to_i }.uniq - mode 00644 - notifies :restart, "service[apache2]" -end - -template "#{node['apache']['dir']}/sites-available/default" do - source "default-site.erb" - owner "root" - group node['apache']['root_group'] - mode 00644 - notifies :restart, "service[apache2]" -end - -node['apache']['default_modules'].each do |mod| - module_recipe_name = mod =~ /^mod_/ ? mod : "mod_#{mod}" - include_recipe "apache2::#{module_recipe_name}" -end - -apache_site "default" do - enable node['apache']['default_site_enabled'] -end - -service "apache2" do - action :start -end diff --git a/provision/cookbooks/apache2/recipes/god_monitor.rb b/provision/cookbooks/apache2/recipes/god_monitor.rb deleted file mode 100755 index b3c49eb..0000000 --- a/provision/cookbooks/apache2/recipes/god_monitor.rb +++ /dev/null @@ -1,33 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: god_monitor -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_service = service "apache2" do - action :nothing -end - -start_command = apache_service.start_command -stop_command = apache_service.stop_command -restart_command = apache_service.restart_command - -god_monitor "apache2" do - config "apache2.god.erb" - start (start_command)?start_command : "/etc/init.d/#{apache_service.service_name} start" - restart (restart_command)?restart_command : "/etc/init.d/#{apache_service.service_name} restart" - stop (stop_command)?stop_command : "/etc/init.d/#{apache_service.service_name} stop" -end diff --git a/provision/cookbooks/apache2/recipes/iptables.rb b/provision/cookbooks/apache2/recipes/iptables.rb deleted file mode 100755 index fbf1eba..0000000 --- a/provision/cookbooks/apache2/recipes/iptables.rb +++ /dev/null @@ -1,20 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: iptables -# -# Copyright 2012, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -iptables_rule "port_apache" diff --git a/provision/cookbooks/apache2/recipes/logrotate.rb b/provision/cookbooks/apache2/recipes/logrotate.rb deleted file mode 100755 index d90b0fb..0000000 --- a/provision/cookbooks/apache2/recipes/logrotate.rb +++ /dev/null @@ -1,31 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: logrotate -# -# Copyright 2012, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_service = service "apache2" do - action :nothing -end - -begin - include_recipe 'logrotate' -rescue - Chef::Log.warn("The apache::logrotate recipe requires the logrotate cookbook. Install the cookbook with `knife cookbook site install logrotate`.") -end -logrotate_app apache_service.service_name do - path node['apache']['log_dir'] -end diff --git a/provision/cookbooks/apache2/recipes/mod_actions.rb b/provision/cookbooks/apache2/recipes/mod_actions.rb deleted file mode 100755 index da13b77..0000000 --- a/provision/cookbooks/apache2/recipes/mod_actions.rb +++ /dev/null @@ -1,20 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: actions -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "actions" diff --git a/provision/cookbooks/apache2/recipes/mod_alias.rb b/provision/cookbooks/apache2/recipes/mod_alias.rb deleted file mode 100755 index a4618ed..0000000 --- a/provision/cookbooks/apache2/recipes/mod_alias.rb +++ /dev/null @@ -1,22 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: alias -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "alias" do - conf true -end diff --git a/provision/cookbooks/apache2/recipes/mod_apreq2.rb b/provision/cookbooks/apache2/recipes/mod_apreq2.rb deleted file mode 100755 index c13ca10..0000000 --- a/provision/cookbooks/apache2/recipes/mod_apreq2.rb +++ /dev/null @@ -1,54 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: apreq2 -# -# modified from the python recipe by Jeremy Bingham -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -include_recipe "apache2" - -case node['platform_family'] -when "debian" - - package "libapache2-mod-apreq2" - -when "rhel", "fedora" - - package "libapreq2" do - notifies :run, "execute[generate-module-list]", :immediately - end - - # seems that the apreq lib is weirdly broken or something - it needs to be - # loaded as "apreq", but on RHEL & derivitatives the file needs a symbolic - # link to mod_apreq.so. - link "/usr/lib64/httpd/modules/mod_apreq.so" do - to "/usr/lib64/httpd/modules/mod_apreq2.so" - only_if "test -f /usr/lib64/httpd/modules/mod_apreq2.so" - end - - link "/usr/lib/httpd/modules/mod_apreq.so" do - to "/usr/lib/httpd/modules/mod_apreq2.so" - only_if "test -f /usr/lib/httpd/modules/mod_apreq2.so" - end -end - -file "#{node['apache']['dir']}/conf.d/apreq.conf" do - action :delete - backup false -end - -apache_module "apreq" diff --git a/provision/cookbooks/apache2/recipes/mod_auth_basic.rb b/provision/cookbooks/apache2/recipes/mod_auth_basic.rb deleted file mode 100755 index d30264f..0000000 --- a/provision/cookbooks/apache2/recipes/mod_auth_basic.rb +++ /dev/null @@ -1,20 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: auth_basic -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "auth_basic" diff --git a/provision/cookbooks/apache2/recipes/mod_auth_cas.rb b/provision/cookbooks/apache2/recipes/mod_auth_cas.rb deleted file mode 100755 index 87096d7..0000000 --- a/provision/cookbooks/apache2/recipes/mod_auth_cas.rb +++ /dev/null @@ -1,59 +0,0 @@ -include_recipe "apache2" - -if node['apache']['mod_auth_cas']['from_source'] - - package "httpd-devel" do - package_name value_for_platform_family( - ["rhel", "fedora", "suse"] => "httpd-devel", - "debian" => "apache2-dev" - ) - end - - git '/tmp/mod_auth_cas' do - repository 'git://github.com/Jasig/mod_auth_cas.git' - revision node['apache']['mod_auth_cas']['source_revision'] - notifies :run, 'execute[compile mod_auth_cas]', :immediately - end - - execute 'compile mod_auth_cas' do - command './configure && make && make install' - cwd '/tmp/mod_auth_cas' - not_if "test -f #{node['apache']['libexecdir']}/mod_auth_cas.so" - end - - template "#{node['apache']['dir']}/mods-available/auth_cas.load" do - source 'mods/auth_cas.load.erb' - owner 'root' - group node['apache']['root_group'] - mode 00644 - end - -else - case node['platform_family'] - when "debian" - - package "libapache2-mod-auth-cas" - - when "rhel", "fedora" - - yum_package "mod_auth_cas" do - notifies :run, "execute[generate-module-list]", :immediately - end - - file "#{node['apache']['dir']}/conf.d/auth_cas.conf" do - action :delete - backup false - end - - end -end - -apache_module 'auth_cas' do - conf true -end - -directory "#{node['apache']['cache_dir']}/mod_auth_cas" do - owner node['apache']['user'] - group node['apache']['group'] - mode 00700 -end diff --git a/provision/cookbooks/apache2/recipes/mod_auth_digest.rb b/provision/cookbooks/apache2/recipes/mod_auth_digest.rb deleted file mode 100755 index 5aef926..0000000 --- a/provision/cookbooks/apache2/recipes/mod_auth_digest.rb +++ /dev/null @@ -1,20 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: auth_digest -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "auth_digest" diff --git a/provision/cookbooks/apache2/recipes/mod_auth_openid.rb b/provision/cookbooks/apache2/recipes/mod_auth_openid.rb deleted file mode 100755 index 2aa6614..0000000 --- a/provision/cookbooks/apache2/recipes/mod_auth_openid.rb +++ /dev/null @@ -1,125 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: mod_auth_openid -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -openid_dev_pkgs = value_for_platform_family( - ["debian"] => %w{automake make g++ apache2-prefork-dev libopkele-dev libopkele3 libtool}, - ["rhel", "fedora"] => %w{gcc-c++ httpd-devel curl-devel libtidy libtidy-devel sqlite-devel pcre-devel openssl-devel make libtool}, - "arch" => ["libopkele"], - "freebsd" => %w{libopkele pcre sqlite3} -) - -make_cmd = value_for_platform_family( - "freebsd" => { "default" => "gmake" }, - "default" => "make" -) - -case node['platform_family'] -when "arch" - - include_recipe "pacman" - package "tidyhtml" - pacman_aur openid_dev_pkgs.first do - action [:build, :install] - end - -else - openid_dev_pkgs.each do |pkg| - - package pkg - - end -end - -case node['platform_family'] -when "rhel", "fedora" - remote_file "#{Chef::Config['file_cache_path']}/libopkele-2.0.4.tar.gz" do - source "http://kin.klever.net/dist/libopkele-2.0.4.tar.gz" - mode 00644 - checksum "57a5bc753b7e80c5ece1e5968b2051b0ce7ed9ce4329d17122c61575a9ea7648" - end - - bash "install libopkele" do - cwd Chef::Config['file_cache_path'] - # Ruby 1.8.6 does not have rpartition, unfortunately - syslibdir = node['apache']['lib_dir'][0..node['apache']['lib_dir'].rindex("/")] - code <<-EOH - tar zxvf libopkele-2.0.4.tar.gz - cd libopkele-2.0.4 && ./configure --prefix=/usr --libdir=#{syslibdir} - #{make_cmd} && #{make_cmd} install - EOH - creates "#{syslibdir}/libopkele.a" - end -end - -version = node['apache']['mod_auth_openid']['ref'] -configure_flags = node['apache']['mod_auth_openid']['configure_flags'] - -remote_file "#{Chef::Config['file_cache_path']}/mod_auth_openid-#{version}.tar.gz" do - source node['apache']['mod_auth_openid']['source_url'] - mode 00644 - action :create_if_missing -end - -file "mod_auth_openid_dblocation" do - path node['apache']['mod_auth_openid']['dblocation'] - action :nothing -end - -bash "untar mod_auth_openid" do - cwd Chef::Config['file_cache_path'] - code <<-EOH - tar zxvf mod_auth_openid-#{version}.tar.gz - EOH -end - -bash "compile mod_auth_openid" do - cwd "#{Chef::Config['file_cache_path']}/mod_auth_openid-#{version}" - code <<-EOH - ./autogen.sh - ./configure #{configure_flags.join(' ')} - perl -pi -e "s/-i -a -n 'authopenid'/-i -n 'authopenid'/g" Makefile - #{make_cmd} && #{make_cmd} install - EOH - creates "#{node['apache']['libexecdir']}/mod_auth_openid.so" - notifies :delete, "file[mod_auth_openid_dblocation]", :immediately - notifies :restart, "service[apache2]" -end - -directory node['apache']['mod_auth_openid']['cache_dir'] do - owner node['apache']['user'] - group node['apache']['group'] - mode 00700 -end - -file node['apache']['mod_auth_openid']['dblocation'] do - owner node['apache']['user'] - group node['apache']['group'] - mode 00644 -end - -template "#{node['apache']['dir']}/mods-available/authopenid.load" do - source "mods/authopenid.load.erb" - owner "root" - group node['apache']['root_group'] - mode 00644 -end - -apache_module "authopenid" do - filename "mod_auth_openid.so" -end diff --git a/provision/cookbooks/apache2/recipes/mod_authn_file.rb b/provision/cookbooks/apache2/recipes/mod_authn_file.rb deleted file mode 100755 index 872caa7..0000000 --- a/provision/cookbooks/apache2/recipes/mod_authn_file.rb +++ /dev/null @@ -1,20 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: authn_file -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "authn_file" diff --git a/provision/cookbooks/apache2/recipes/mod_authnz_ldap.rb b/provision/cookbooks/apache2/recipes/mod_authnz_ldap.rb deleted file mode 100755 index 0310d24..0000000 --- a/provision/cookbooks/apache2/recipes/mod_authnz_ldap.rb +++ /dev/null @@ -1,20 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: authnz_ldap -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "authnz_ldap" diff --git a/provision/cookbooks/apache2/recipes/mod_authz_default.rb b/provision/cookbooks/apache2/recipes/mod_authz_default.rb deleted file mode 100755 index 123536d..0000000 --- a/provision/cookbooks/apache2/recipes/mod_authz_default.rb +++ /dev/null @@ -1,20 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: authz_default -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "authz_default" diff --git a/provision/cookbooks/apache2/recipes/mod_authz_groupfile.rb b/provision/cookbooks/apache2/recipes/mod_authz_groupfile.rb deleted file mode 100755 index b2833b2..0000000 --- a/provision/cookbooks/apache2/recipes/mod_authz_groupfile.rb +++ /dev/null @@ -1,20 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: authz_groupfile -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "authz_groupfile" diff --git a/provision/cookbooks/apache2/recipes/mod_authz_host.rb b/provision/cookbooks/apache2/recipes/mod_authz_host.rb deleted file mode 100755 index 87c1a4b..0000000 --- a/provision/cookbooks/apache2/recipes/mod_authz_host.rb +++ /dev/null @@ -1,20 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: authz_host -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "authz_host" diff --git a/provision/cookbooks/apache2/recipes/mod_authz_user.rb b/provision/cookbooks/apache2/recipes/mod_authz_user.rb deleted file mode 100755 index 8dd46df..0000000 --- a/provision/cookbooks/apache2/recipes/mod_authz_user.rb +++ /dev/null @@ -1,20 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: authz_user -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "authz_user" diff --git a/provision/cookbooks/apache2/recipes/mod_autoindex.rb b/provision/cookbooks/apache2/recipes/mod_autoindex.rb deleted file mode 100755 index 622a66e..0000000 --- a/provision/cookbooks/apache2/recipes/mod_autoindex.rb +++ /dev/null @@ -1,22 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: autoindex -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "autoindex" do - conf true -end diff --git a/provision/cookbooks/apache2/recipes/mod_cgi.rb b/provision/cookbooks/apache2/recipes/mod_cgi.rb deleted file mode 100755 index a151d07..0000000 --- a/provision/cookbooks/apache2/recipes/mod_cgi.rb +++ /dev/null @@ -1,20 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: cgi -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "cgi" diff --git a/provision/cookbooks/apache2/recipes/mod_dav.rb b/provision/cookbooks/apache2/recipes/mod_dav.rb deleted file mode 100755 index 94f7c1a..0000000 --- a/provision/cookbooks/apache2/recipes/mod_dav.rb +++ /dev/null @@ -1,20 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: dav -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "dav" diff --git a/provision/cookbooks/apache2/recipes/mod_dav_fs.rb b/provision/cookbooks/apache2/recipes/mod_dav_fs.rb deleted file mode 100755 index bd3e74b..0000000 --- a/provision/cookbooks/apache2/recipes/mod_dav_fs.rb +++ /dev/null @@ -1,21 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: dav_fs -# -# Copyright 2011, Atriso -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -include_recipe "apache2::mod_dav" -apache_module "dav_fs" diff --git a/provision/cookbooks/apache2/recipes/mod_dav_svn.rb b/provision/cookbooks/apache2/recipes/mod_dav_svn.rb deleted file mode 100755 index 3a1d0fc..0000000 --- a/provision/cookbooks/apache2/recipes/mod_dav_svn.rb +++ /dev/null @@ -1,41 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: dav_svn -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -include_recipe "apache2::mod_dav" - -package "libapache2-svn" do - case node['platform_family'] - when "rhel", "fedora", "suse" - package_name "mod_dav_svn" - else - package_name "libapache2-svn" - end -end - -case node['platform_family'] -when "rhel", "fedora", "suse" - - file "#{node['apache']['conf']}/conf.d/subversion.conf" do - action :delete - backup false - end - -end - -apache_module "dav_svn" diff --git a/provision/cookbooks/apache2/recipes/mod_deflate.rb b/provision/cookbooks/apache2/recipes/mod_deflate.rb deleted file mode 100755 index b568f30..0000000 --- a/provision/cookbooks/apache2/recipes/mod_deflate.rb +++ /dev/null @@ -1,22 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: deflate -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "deflate" do - conf true -end diff --git a/provision/cookbooks/apache2/recipes/mod_dir.rb b/provision/cookbooks/apache2/recipes/mod_dir.rb deleted file mode 100755 index e59b36b..0000000 --- a/provision/cookbooks/apache2/recipes/mod_dir.rb +++ /dev/null @@ -1,22 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: dir -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "dir" do - conf true -end diff --git a/provision/cookbooks/apache2/recipes/mod_env.rb b/provision/cookbooks/apache2/recipes/mod_env.rb deleted file mode 100755 index d345503..0000000 --- a/provision/cookbooks/apache2/recipes/mod_env.rb +++ /dev/null @@ -1,20 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: env -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "env" diff --git a/provision/cookbooks/apache2/recipes/mod_expires.rb b/provision/cookbooks/apache2/recipes/mod_expires.rb deleted file mode 100755 index 9e5042e..0000000 --- a/provision/cookbooks/apache2/recipes/mod_expires.rb +++ /dev/null @@ -1,20 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: expires -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "expires" diff --git a/provision/cookbooks/apache2/recipes/mod_fastcgi.rb b/provision/cookbooks/apache2/recipes/mod_fastcgi.rb deleted file mode 100755 index a0a4d95..0000000 --- a/provision/cookbooks/apache2/recipes/mod_fastcgi.rb +++ /dev/null @@ -1,26 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: fastcgi -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -if platform_family?("debian") - package "libapache2-mod-fastcgi" - - apache_module "fastcgi" do - conf true - end -end diff --git a/provision/cookbooks/apache2/recipes/mod_fcgid.rb b/provision/cookbooks/apache2/recipes/mod_fcgid.rb deleted file mode 100755 index b82dc95..0000000 --- a/provision/cookbooks/apache2/recipes/mod_fcgid.rb +++ /dev/null @@ -1,55 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: fcgid -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -if platform_family?("debian") - package "libapache2-mod-fcgid" -elsif platform_family?("rhel", "fedora") - - package "mod_fcgid" do - notifies :run, resources(:execute => "generate-module-list"), :immediately - end - - file "#{node['apache']['dir']}/conf.d/fcgid.conf" do - action :delete - backup false - end - - directory "/var/run/httpd/mod_fcgid" do - recursive true - only_if { node['platform_version'].to_i >= 6 } - end - -elsif platform_family?("suse") - apache_lib_path = node['apache']['lib_dir'] - - package "httpd-devel" - - bash "install-fcgid" do - code <<-EOH -(cd #{Chef::Config['file_cache_path']}; wget http://superb-east.dl.sourceforge.net/sourceforge/mod-fcgid/mod_fcgid.2.2.tgz) -(cd #{Chef::Config['file_cache_path']}; tar zxvf mod_fcgid.2.2.tgz) -(cd #{Chef::Config['file_cache_path']}; perl -pi -e 's!/usr/local/apache2!#{apache_lib_path}!g' ./mod_fcgid.2.2/Makefile) -(cd #{Chef::Config['file_cache_path']}/mod_fcgid.2.2; make install) -EOH - end -end - -apache_module "fcgid" do - conf true -end diff --git a/provision/cookbooks/apache2/recipes/mod_filter.rb b/provision/cookbooks/apache2/recipes/mod_filter.rb deleted file mode 100755 index 148ef7d..0000000 --- a/provision/cookbooks/apache2/recipes/mod_filter.rb +++ /dev/null @@ -1,20 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: filter -# -# Copyright 2008-2013, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "filter" diff --git a/provision/cookbooks/apache2/recipes/mod_headers.rb b/provision/cookbooks/apache2/recipes/mod_headers.rb deleted file mode 100755 index 5e6b94d..0000000 --- a/provision/cookbooks/apache2/recipes/mod_headers.rb +++ /dev/null @@ -1,20 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: headers -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "headers" diff --git a/provision/cookbooks/apache2/recipes/mod_include.rb b/provision/cookbooks/apache2/recipes/mod_include.rb deleted file mode 100755 index e46d81f..0000000 --- a/provision/cookbooks/apache2/recipes/mod_include.rb +++ /dev/null @@ -1,22 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: include -# -# Copyright 2012, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "include" do - conf true -end diff --git a/provision/cookbooks/apache2/recipes/mod_ldap.rb b/provision/cookbooks/apache2/recipes/mod_ldap.rb deleted file mode 100755 index 0877694..0000000 --- a/provision/cookbooks/apache2/recipes/mod_ldap.rb +++ /dev/null @@ -1,20 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: ldap -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "ldap" diff --git a/provision/cookbooks/apache2/recipes/mod_log_config.rb b/provision/cookbooks/apache2/recipes/mod_log_config.rb deleted file mode 100755 index 4ab653f..0000000 --- a/provision/cookbooks/apache2/recipes/mod_log_config.rb +++ /dev/null @@ -1,24 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: log_config -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -if platform_family?("rhel", "fedora", "suse", "arch", "freebsd") - apache_module "log_config" -else - include_recipe "apache2" -end diff --git a/provision/cookbooks/apache2/recipes/mod_logio.rb b/provision/cookbooks/apache2/recipes/mod_logio.rb deleted file mode 100755 index 74f1350..0000000 --- a/provision/cookbooks/apache2/recipes/mod_logio.rb +++ /dev/null @@ -1,24 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: logio -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -if platform_family?("rhel", "fedora", "suse", "arch", "freebsd") - apache_module "logio" -else - include_recipe "apache2" -end diff --git a/provision/cookbooks/apache2/recipes/mod_mime.rb b/provision/cookbooks/apache2/recipes/mod_mime.rb deleted file mode 100755 index 16aee1a..0000000 --- a/provision/cookbooks/apache2/recipes/mod_mime.rb +++ /dev/null @@ -1,22 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: mime -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "mime" do - conf true -end diff --git a/provision/cookbooks/apache2/recipes/mod_negotiation.rb b/provision/cookbooks/apache2/recipes/mod_negotiation.rb deleted file mode 100755 index 348e11f..0000000 --- a/provision/cookbooks/apache2/recipes/mod_negotiation.rb +++ /dev/null @@ -1,22 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: negotiation -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "negotiation" do - conf true -end diff --git a/provision/cookbooks/apache2/recipes/mod_perl.rb b/provision/cookbooks/apache2/recipes/mod_perl.rb deleted file mode 100755 index b4d2a74..0000000 --- a/provision/cookbooks/apache2/recipes/mod_perl.rb +++ /dev/null @@ -1,44 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: perl -# -# adapted from the mod_python recipe by Jeremy Bingham -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -case node['platform_family'] -when "debian" - %w{libapache2-mod-perl2 libapache2-request-perl apache2-mpm-prefork}.each do |pkg| - - package pkg - - end -when "rhel", "fedora" - - package "mod_perl" do - notifies :run, "execute[generate-module-list]", :immediately - end - - package "perl-libapreq2" - -end - -file "#{node['apache']['dir']}/conf.d/perl.conf" do - action :delete - backup false -end - -apache_module "perl" diff --git a/provision/cookbooks/apache2/recipes/mod_php5.rb b/provision/cookbooks/apache2/recipes/mod_php5.rb deleted file mode 100755 index 63cc0ce..0000000 --- a/provision/cookbooks/apache2/recipes/mod_php5.rb +++ /dev/null @@ -1,78 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: php5 -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -case node['platform_family'] -when "debian" - - package "libapache2-mod-php5" - -when "arch" - - package "php-apache" do - notifies :run, "execute[generate-module-list]", :immediately - end - -when "rhel" - - package "which" - package "php package" do - if node['platform_version'].to_f < 6.0 - package_name "php53" - else - package_name "php" - end - notifies :run, "execute[generate-module-list]", :immediately - not_if "which php" - end - -when "fedora" - - package "php package" do - package_name "php" - notifies :run, "execute[generate-module-list]", :immediately - not_if "which php" - end - -when "freebsd" - - freebsd_port_options "php5" do - options "APACHE" => true - action :create - end - - package "php package" do - package_name "php5" - source "ports" - notifies :run, "execute[generate-module-list]", :immediately - end - -end - -file "#{node['apache']['dir']}/conf.d/php.conf" do - action :delete - backup false -end - -apache_module "php5" do - case node['platform_family'] - when "rhel", "fedora", "freebsd" - conf true - filename "libphp5.so" - end -end diff --git a/provision/cookbooks/apache2/recipes/mod_proxy.rb b/provision/cookbooks/apache2/recipes/mod_proxy.rb deleted file mode 100755 index fff7627..0000000 --- a/provision/cookbooks/apache2/recipes/mod_proxy.rb +++ /dev/null @@ -1,22 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: proxy -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "proxy" do - conf true -end diff --git a/provision/cookbooks/apache2/recipes/mod_proxy_ajp.rb b/provision/cookbooks/apache2/recipes/mod_proxy_ajp.rb deleted file mode 100755 index 61bc078..0000000 --- a/provision/cookbooks/apache2/recipes/mod_proxy_ajp.rb +++ /dev/null @@ -1,21 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: proxy -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -include_recipe "apache2::mod_proxy" -apache_module "proxy_ajp" diff --git a/provision/cookbooks/apache2/recipes/mod_proxy_balancer.rb b/provision/cookbooks/apache2/recipes/mod_proxy_balancer.rb deleted file mode 100755 index dc62a71..0000000 --- a/provision/cookbooks/apache2/recipes/mod_proxy_balancer.rb +++ /dev/null @@ -1,20 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: proxy -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "proxy_balancer" diff --git a/provision/cookbooks/apache2/recipes/mod_proxy_connect.rb b/provision/cookbooks/apache2/recipes/mod_proxy_connect.rb deleted file mode 100755 index f41954f..0000000 --- a/provision/cookbooks/apache2/recipes/mod_proxy_connect.rb +++ /dev/null @@ -1,20 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: proxy -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "proxy_connect" diff --git a/provision/cookbooks/apache2/recipes/mod_proxy_http.rb b/provision/cookbooks/apache2/recipes/mod_proxy_http.rb deleted file mode 100755 index ddff3ea..0000000 --- a/provision/cookbooks/apache2/recipes/mod_proxy_http.rb +++ /dev/null @@ -1,20 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: proxy_http -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "proxy_http" diff --git a/provision/cookbooks/apache2/recipes/mod_python.rb b/provision/cookbooks/apache2/recipes/mod_python.rb deleted file mode 100755 index bfa684a..0000000 --- a/provision/cookbooks/apache2/recipes/mod_python.rb +++ /dev/null @@ -1,37 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: python -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -case node['platform_family'] -when "debian" - - package "libapache2-mod-python" - -when "rhel", "fedora" - - package "mod_python" do - notifies :run, "execute[generate-module-list]", :immediately - end -end - -file "#{node['apache']['dir']}/conf.d/python.conf" do - action :delete - backup false -end - -apache_module "python" diff --git a/provision/cookbooks/apache2/recipes/mod_rewrite.rb b/provision/cookbooks/apache2/recipes/mod_rewrite.rb deleted file mode 100755 index df388a6..0000000 --- a/provision/cookbooks/apache2/recipes/mod_rewrite.rb +++ /dev/null @@ -1,20 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: rewrite -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "rewrite" diff --git a/provision/cookbooks/apache2/recipes/mod_setenvif.rb b/provision/cookbooks/apache2/recipes/mod_setenvif.rb deleted file mode 100755 index 4048a5f..0000000 --- a/provision/cookbooks/apache2/recipes/mod_setenvif.rb +++ /dev/null @@ -1,22 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: setenvif -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "setenvif" do - conf true -end diff --git a/provision/cookbooks/apache2/recipes/mod_ssl.rb b/provision/cookbooks/apache2/recipes/mod_ssl.rb deleted file mode 100755 index d5095ec..0000000 --- a/provision/cookbooks/apache2/recipes/mod_ssl.rb +++ /dev/null @@ -1,46 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: ssl -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -unless node['apache']['listen_ports'].include?("443") - node.set['apache']['listen_ports'] = node['apache']['listen_ports'] + ["443"] -end - -ports = node['apache']['listen_ports'] - -if platform_family?("rhel", "fedora", "suse") - - package "mod_ssl" do - notifies :run, "execute[generate-module-list]", :immediately - end - - file "#{node['apache']['dir']}/conf.d/ssl.conf" do - action :delete - backup false - end -end - -template "#{node['apache']['dir']}/ports.conf" do - source "ports.conf.erb" - variables :apache_listen_ports => ports.map { |p| p.to_i }.uniq - notifies :restart, "service[apache2]" - mode 00644 -end - -apache_module "ssl" do - conf true -end diff --git a/provision/cookbooks/apache2/recipes/mod_status.rb b/provision/cookbooks/apache2/recipes/mod_status.rb deleted file mode 100755 index 3e71727..0000000 --- a/provision/cookbooks/apache2/recipes/mod_status.rb +++ /dev/null @@ -1,22 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: status -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -apache_module "status" do - conf true -end diff --git a/provision/cookbooks/apache2/recipes/mod_wsgi.rb b/provision/cookbooks/apache2/recipes/mod_wsgi.rb deleted file mode 100755 index fef91bb..0000000 --- a/provision/cookbooks/apache2/recipes/mod_wsgi.rb +++ /dev/null @@ -1,38 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: mod_wsgi -# -# Copyright 2008-2012, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -case node['platform_family'] -when "debian" - - package "libapache2-mod-wsgi" - -when "rhel", "fedora", "arch" - - package "mod_wsgi" do - notifies :run, "execute[generate-module-list]", :immediately - end - -end - -file "#{node['apache']['dir']}/conf.d/wsgi.conf" do - action :delete - backup false -end - -apache_module "wsgi" diff --git a/provision/cookbooks/apache2/recipes/mod_xsendfile.rb b/provision/cookbooks/apache2/recipes/mod_xsendfile.rb deleted file mode 100755 index 9d4c60f..0000000 --- a/provision/cookbooks/apache2/recipes/mod_xsendfile.rb +++ /dev/null @@ -1,38 +0,0 @@ -# -# Cookbook Name:: apache2 -# Recipe:: mod_xsendfile -# -# Copyright 2011, CustomInk, LLC. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -case node['platform_family'] -when "debian" - - package "libapache2-mod-xsendfile" - -when "rhel", "fedora" - - package "mod_xsendfile" do - notifies :run, "execute[generate-module-list]", :immediately - end - -end - -file "#{node['apache']['dir']}/conf.d/xsendfile.conf" do - action :delete - backup false -end - -apache_module "xsendfile" diff --git a/provision/cookbooks/apache2/templates/default/a2dismod.erb b/provision/cookbooks/apache2/templates/default/a2dismod.erb deleted file mode 100755 index e66a292..0000000 --- a/provision/cookbooks/apache2/templates/default/a2dismod.erb +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -e - -SYSCONFDIR='<%= node['apache']['dir'] %>' - -if [ -z $1 ]; then - echo "Which module would you like to disable?" - echo -n "Your choices are: " - ls $SYSCONFDIR/mods-enabled/*.load | \ - sed -e "s,$SYSCONFDIR/mods-enabled/,,g" | sed -e 's/\.load$//g;' | xargs echo - echo -n "Module name? " - read MODNAME -else - MODNAME=$1 -fi - -if ! [ -e $SYSCONFDIR/mods-enabled/$MODNAME.load ]; then - echo "This module is already disabled, or does not exist!" - exit 1 -fi - -rm -f $SYSCONFDIR/mods-enabled/$MODNAME.* -echo "Module $MODNAME disabled; reload apache to fully disable." \ No newline at end of file diff --git a/provision/cookbooks/apache2/templates/default/a2dissite.erb b/provision/cookbooks/apache2/templates/default/a2dissite.erb deleted file mode 100755 index 9e074c5..0000000 --- a/provision/cookbooks/apache2/templates/default/a2dissite.erb +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh -e - -SYSCONFDIR='<%= node['apache']['dir'] %>' - -if [ -z $1 ]; then - echo "Which site would you like to disable?" - echo -n "Your choices are: " - ls $SYSCONFDIR/sites-enabled/* | \ - sed -e "s,$SYSCONFDIR/sites-enabled/,,g" | xargs echo - echo -n "Site name? " - read SITENAME -else - SITENAME=$1 -fi - -if [ $SITENAME = "default" ]; then - PRIORITY="000" -fi - -if ! [ -e $SYSCONFDIR/sites-enabled/$SITENAME -o \ - -e $SYSCONFDIR/sites-enabled/"$PRIORITY"-"$SITENAME" ]; then - echo "This site is already disabled, or does not exist!" - exit 1 -fi - -if ! rm $SYSCONFDIR/sites-enabled/$SITENAME 2>/dev/null; then - rm -f $SYSCONFDIR/sites-enabled/"$PRIORITY"-"$SITENAME" -fi -echo "Site $SITENAME disabled; reload apache to disable." diff --git a/provision/cookbooks/apache2/templates/default/a2enmod.erb b/provision/cookbooks/apache2/templates/default/a2enmod.erb deleted file mode 100755 index fe641df..0000000 --- a/provision/cookbooks/apache2/templates/default/a2enmod.erb +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh -e - -SYSCONFDIR='<%= node['apache']['dir'] %>' - -if [ -z $1 ]; then - echo "Which module would you like to enable?" - echo -n "Your choices are: " - ls $SYSCONFDIR/mods-available/*.load | \ - sed -e "s,$SYSCONFDIR/mods-available/,,g" | sed -e 's/\.load$//g;' | xargs echo - echo -n "Module name? " - read MODNAME -else - MODNAME=$1 -fi - -#figure out if we're on a prefork or threaded mpm -if [ -x /usr/sbin/apache2 ]; then - PREFORK=`/usr/sbin/apache2 -l | grep prefork || true` -fi - -if [ -e $SYSCONFDIR/mods-enabled/$MODNAME.load -a -e $SYSCONFDIR/mods-enabled/$MODNAME.conf ]; then - echo "This module is already enabled!" - exit 0 -fi - -if ! [ -e $SYSCONFDIR/mods-available/$MODNAME.load ]; then - echo "This module does not exist!" - exit 1 -fi - -for i in conf load; do - if [ -e $SYSCONFDIR/mods-available/$MODNAME.$i -a ! -e $SYSCONFDIR/mods-enabled/$MODNAME.$i ]; then - ln -sf $SYSCONFDIR/mods-available/$MODNAME.$i $SYSCONFDIR/mods-enabled/$MODNAME.$i; - fi -done - -echo "Module $MODNAME installed; reload apache to enable." diff --git a/provision/cookbooks/apache2/templates/default/a2ensite.erb b/provision/cookbooks/apache2/templates/default/a2ensite.erb deleted file mode 100755 index 3a7c628..0000000 --- a/provision/cookbooks/apache2/templates/default/a2ensite.erb +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/sh -e - -SYSCONFDIR='<%= node['apache']['dir'] %>' - -if [ -z $1 ]; then - echo "Which site would you like to enable?" - echo -n "Your choices are: " - ls $SYSCONFDIR/sites-available/* | \ - sed -e "s,$SYSCONFDIR/sites-available/,,g" | xargs echo - echo -n "Site name? " - read SITENAME -else - SITENAME=$1 -fi - -if [ $SITENAME = "default" ]; then - PRIORITY="000" -fi - -if [ -e $SYSCONFDIR/sites-enabled/$SITENAME -o \ - -e $SYSCONFDIR/sites-enabled/"$PRIORITY"-"$SITENAME" ]; then - echo "This site is already enabled!" - exit 0 -fi - -if ! [ -e $SYSCONFDIR/sites-available/$SITENAME ]; then - echo "This site does not exist!" - exit 1 -fi - -if [ $SITENAME = "default" ]; then - ln -sf $SYSCONFDIR/sites-available/$SITENAME \ - $SYSCONFDIR/sites-enabled/"$PRIORITY"-"$SITENAME" -else - ln -sf $SYSCONFDIR/sites-available/$SITENAME $SYSCONFDIR/sites-enabled/$SITENAME -fi - -echo "Site $SITENAME installed; reload apache to enable." \ No newline at end of file diff --git a/provision/cookbooks/apache2/templates/default/apache2.conf.erb b/provision/cookbooks/apache2/templates/default/apache2.conf.erb deleted file mode 100755 index bea4993..0000000 --- a/provision/cookbooks/apache2/templates/default/apache2.conf.erb +++ /dev/null @@ -1,238 +0,0 @@ -# -# Generated by Chef -# -# Based on the Ubuntu apache2.conf - -ServerRoot "<%= node['apache']['dir'] %>" - -# -# The accept serialization lock file MUST BE STORED ON A LOCAL DISK. -# -<% if %w{debian}.include?(node['platform_family']) -%> -LockFile /var/lock/apache2/accept.lock -<% elsif %w{freebsd}.include?(node['platform_family']) -%> -LockFile /var/log/accept.lock -<% else %> -LockFile logs/accept.lock -<% end -%> - -# -# PidFile: The file in which the server should record its process -# identification number when it starts. -# -PidFile <%= node['apache']['pid_file'] %> - -# -# Timeout: The number of seconds before receives and sends time out. -# -Timeout <%= node['apache']['timeout'] %> - -# -# KeepAlive: Whether or not to allow persistent connections (more than -# one request per connection). Set to "Off" to deactivate. -# -KeepAlive <%= node['apache']['keepalive'] %> - -# -# MaxKeepAliveRequests: The maximum number of requests to allow -# during a persistent connection. Set to 0 to allow an unlimited amount. -# We recommend you leave this number high, for maximum performance. -# -MaxKeepAliveRequests <%= node['apache']['keepaliverequests'] %> - -# -# KeepAliveTimeout: Number of seconds to wait for the next request from the -# same client on the same connection. -# -KeepAliveTimeout <%= node['apache']['keepalivetimeout'] %> - -## -## Server-Pool Size Regulation (MPM specific) -## - -# prefork MPM -# StartServers: number of server processes to start -# MinSpareServers: minimum number of server processes which are kept spare -# MaxSpareServers: maximum number of server processes which are kept spare -# MaxClients: maximum number of server processes allowed to start -# MaxRequestsPerChild: maximum number of requests a server process serves - - StartServers <%= node['apache']['prefork']['startservers'] %> - MinSpareServers <%= node['apache']['prefork']['minspareservers'] %> - MaxSpareServers <%= node['apache']['prefork']['maxspareservers'] %> - ServerLimit <%= node['apache']['prefork']['serverlimit'] %> - MaxClients <%= node['apache']['prefork']['maxclients'] %> - MaxRequestsPerChild <%= node['apache']['prefork']['maxrequestsperchild'] %> - - -# worker MPM -# StartServers: initial number of server processes to start -# MaxClients: maximum number of simultaneous client connections -# MinSpareThreads: minimum number of worker threads which are kept spare -# MaxSpareThreads: maximum number of worker threads which are kept spare -# ThreadsPerChild: constant number of worker threads in each server process -# MaxRequestsPerChild: maximum number of requests a server process serves - - StartServers <%= node['apache']['worker']['startservers'] %> - ServerLimit <%= node['apache']['worker']['serverlimit'] %> - MaxClients <%= node['apache']['worker']['maxclients'] %> - MinSpareThreads <%= node['apache']['worker']['minsparethreads'] %> - MaxSpareThreads <%= node['apache']['worker']['maxsparethreads'] %> - ThreadsPerChild <%= node['apache']['worker']['threadsperchild'] %> - MaxRequestsPerChild <%= node['apache']['worker']['maxrequestsperchild'] %> - - -User <%= node['apache']['user'] %> -Group <%= node['apache']['group'] %> - -# -# AccessFileName: The name of the file to look for in each directory -# for additional configuration directives. See also the AllowOverride -# directive. -# - -AccessFileName .htaccess - -# -# The following lines prevent .htaccess and .htpasswd files from being -# viewed by Web clients. -# - - Order allow,deny - Deny from all - - -# -# DefaultType is the default MIME type the server will use for a document -# if it cannot otherwise determine one, such as from filename extensions. -# If your server contains mostly text or HTML documents, "text/plain" is -# a good value. If most of your content is binary, such as applications -# or images, you may want to use "application/octet-stream" instead to -# keep browsers from trying to display binary files as though they are -# text. -# -DefaultType text/plain - - -# -# HostnameLookups: Log the names of clients or just their IP addresses -# e.g., www.apache.org (on) or 204.62.129.132 (off). -# The default is off because it'd be overall better for the net if people -# had to knowingly turn this feature on, since enabling it means that -# each client request will result in AT LEAST one lookup request to the -# nameserver. -# -HostnameLookups Off - -# ErrorLog: The location of the error log file. -# If you do not specify an ErrorLog directive within a -# container, error messages relating to that virtual host will be -# logged here. If you *do* define an error logfile for a -# container, that host's errors will be logged there and not here. -# -ErrorLog <%= node['apache']['log_dir'] %>/<%= node['apache']['error_log'] %> - -# -# LogLevel: Control the number of messages logged to the error_log. -# Possible values include: debug, info, notice, warn, error, crit, -# alert, emerg. -# -LogLevel warn - -# COOK-1021: Dummy LoadModule directive to aid module installations -#LoadModule dummy_module modules/mod_dummy.so - -# Include module configuration: -Include <%= node['apache']['dir'] %>/mods-enabled/*.load -Include <%= node['apache']['dir'] %>/mods-enabled/*.conf - -<% if %w{freebsd}.include?(node['platform_family']) -%> - - AcceptFilter http none - AcceptFilter https none - -<% end %> - -# Include ports listing -Include <%= node['apache']['dir'] %>/ports.conf - -# -# The following directives define some format nicknames for use with -# a CustomLog directive (see below). -# -LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined -LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined -LogFormat "%h %l %u %t \"%r\" %>s %b" common -LogFormat "%{Referer}i -> %U" referer -LogFormat "%{User-agent}i" agent -# - -# Customizable error responses come in three flavors: -# 1) plain text 2) local redirects 3) external redirects -# -# Some examples: -#ErrorDocument 500 "The server made a boo boo." -#ErrorDocument 404 /missing.html -#ErrorDocument 404 "/cgi-bin/missing_handler.pl" -#ErrorDocument 402 http://www.example.com/subscription_info.html -# - -# -# Putting this all together, we can internationalize error responses. -# -# We use Alias to redirect any /error/HTTP_.html.var response to -# our collection of by-error message multi-language collections. We use -# includes to substitute the appropriate text. -# -# You can modify the messages' appearance without changing any of the -# default HTTP_.html.var files by adding the line: -# -# Alias /error/include/ "/your/include/path/" -# -# which allows you to create your own set of files by starting with the -# /usr/share/apache2/error/include/ files and copying them to /your/include/path/, -# even on a per-VirtualHost basis. The default include files will display -# your Apache version number and your ServerAdmin email address regardless -# of the setting of ServerSignature. -# -# The internationalized error documents require mod_alias, mod_include -# and mod_negotiation. To activate them, uncomment the following 30 lines. - -# Alias /error/ "/usr/share/apache2/error/" -# -# -# AllowOverride None -# Options IncludesNoExec -# AddOutputFilter Includes html -# AddHandler type-map var -# Order allow,deny -# Allow from all -# LanguagePriority en cs de es fr it nl sv pt-br ro -# ForceLanguagePriority Prefer Fallback -# -# -# ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var -# ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var -# ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var -# ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var -# ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var -# ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var -# ErrorDocument 410 /error/HTTP_GONE.html.var -# ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var -# ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var -# ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var -# ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var -# ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var -# ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var -# ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var -# ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var -# ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var -# ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var - - - -# Include generic snippets of statements -Include <%= node['apache']['dir'] %>/conf.d/ - -# Include the virtual host configurations: -Include <%= node['apache']['dir'] %>/sites-enabled/ diff --git a/provision/cookbooks/apache2/templates/default/apache2.god.erb b/provision/cookbooks/apache2/templates/default/apache2.god.erb deleted file mode 100755 index 86947f5..0000000 --- a/provision/cookbooks/apache2/templates/default/apache2.god.erb +++ /dev/null @@ -1,19 +0,0 @@ -God.watch do |w| - w.name = "apache2" - w.interval = 30.seconds # default - w.start = "<%= @params[:start] %>" - w.stop = "<%= @params[:stop] %>" - w.restart = "<%= @params[:restart] %>" - w.start_grace = 10.seconds - w.restart_grace = 10.seconds - w.pid_file = "/var/run/apache2.pid" - w.behavior(:clean_pid_file) - - w.start_if do |start| - start.condition(:process_running) do |c| - c.interval = 5.seconds - c.running = false - c.notify = 'admin' - end - end -end diff --git a/provision/cookbooks/apache2/templates/default/charset.erb b/provision/cookbooks/apache2/templates/default/charset.erb deleted file mode 100755 index 40d7198..0000000 --- a/provision/cookbooks/apache2/templates/default/charset.erb +++ /dev/null @@ -1,6 +0,0 @@ -# Read the documentation before enabling AddDefaultCharset. -# In general, it is only a good idea if you know that all your files -# have this encoding. It will override any encoding given in the files -# in meta http-equiv or xml encoding tags. - -#AddDefaultCharset UTF-8 diff --git a/provision/cookbooks/apache2/templates/default/default-site.erb b/provision/cookbooks/apache2/templates/default/default-site.erb deleted file mode 100755 index a65ab53..0000000 --- a/provision/cookbooks/apache2/templates/default/default-site.erb +++ /dev/null @@ -1,57 +0,0 @@ - - ServerAdmin <%= node['apache']['contact'] %> - - DocumentRoot <%= node['apache']['docroot_dir'] %>/ - - Options FollowSymLinks - AllowOverride None - - /> - Options Indexes FollowSymLinks MultiViews - AllowOverride None - Order allow,deny - allow from all - # This directive allows us to have apache2's default start page - # in /apache2-default/, but still have / go to the right place - #RedirectMatch ^/$ /apache2-default/ - - - ScriptAlias /cgi-bin/ <%= node['apache']['cgibin_dir'] %>/ - "> - AllowOverride None - Options ExecCGI -MultiViews +SymLinksIfOwnerMatch - Order allow,deny - Allow from all - - - ErrorLog <%= node['apache']['log_dir'] %>/<%= node['apache']['error_log'] %> - - # Possible values include: debug, info, notice, warn, error, crit, - # alert, emerg. - LogLevel warn - - CustomLog <%= node['apache']['log_dir'] %>/<%= node['apache']['access_log'] %> combined - ServerSignature On - - Alias /doc/ "/usr/share/doc/" - - Options Indexes MultiViews FollowSymLinks - AllowOverride None - Order deny,allow - Deny from all - Allow from 127.0.0.0/255.0.0.0 ::1/128 - - - <% if %w{ rhel fedora }.include?(node['platform_family']) -%> - # - # This configuration file enables the default "Welcome" - # page if there is no default index page present for - # the root URL. To disable the Welcome page, comment - # out all the lines below. - # - - Options -Indexes - ErrorDocument 403 /error/noindex.html - - <% end -%> - diff --git a/provision/cookbooks/apache2/templates/default/etc-sysconfig-httpd.erb b/provision/cookbooks/apache2/templates/default/etc-sysconfig-httpd.erb deleted file mode 100755 index dd1c2a7..0000000 --- a/provision/cookbooks/apache2/templates/default/etc-sysconfig-httpd.erb +++ /dev/null @@ -1,31 +0,0 @@ -# This file managed by Chef. Changes will be overwritten. - -# -# The default processing model (MPM) is the process-based -# 'prefork' model. A thread-based model, 'worker', is also -# available, but does not work with some modules (such as PHP). -# The service must be stopped before changing this variable. -# -HTTPD=<%= node['apache']['binary'] %> - -# -# To pass additional options (for instance, -D definitions) to the -# httpd binary at startup, set OPTIONS here. -# -#OPTIONS= - -# -# By default, the httpd process is started in the C locale; to -# change the locale in which the server runs, the HTTPD_LANG -# variable can be set. -# -#HTTPD_LANG=C - -# -# By default, the httpd process will create the file -# /var/run/httpd/httpd.pid in which it records its process -# identification number when it starts. If an alternate location is -# specified in httpd.conf (via the PidFile directive), the new -# location needs to be reported in the PIDFILE. -# -#PIDFILE=<%= node['apache']['pid_file'] %> diff --git a/provision/cookbooks/apache2/templates/default/mods/README b/provision/cookbooks/apache2/templates/default/mods/README deleted file mode 100755 index df9f0bc..0000000 --- a/provision/cookbooks/apache2/templates/default/mods/README +++ /dev/null @@ -1,2 +0,0 @@ -These configs are taken from a Debian apache2.2-common 2.2.11-3 install. They -work on CentOS 5.3 with a few conditions using erb. diff --git a/provision/cookbooks/apache2/templates/default/mods/alias.conf.erb b/provision/cookbooks/apache2/templates/default/mods/alias.conf.erb deleted file mode 100755 index 5ab139e..0000000 --- a/provision/cookbooks/apache2/templates/default/mods/alias.conf.erb +++ /dev/null @@ -1,24 +0,0 @@ - -# -# Aliases: Add here as many aliases as you need (with no limit). The format is -# Alias fakename realname -# -# Note that if you include a trailing / on fakename then the server will -# require it to be present in the URL. So "/icons" isn't aliased in this -# example, only "/icons/". If the fakename is slash-terminated, then the -# realname must also be slash terminated, and if the fakename omits the -# trailing slash, the realname must also omit it. -# -# We include the /icons/ alias for FancyIndexed directory listings. If -# you do not use FancyIndexing, you may comment this out. -# -Alias /icons/ "<%= node['apache']['icondir'] %>/" - -"> - Options Indexes MultiViews - AllowOverride None - Order allow,deny - Allow from all - - - diff --git a/provision/cookbooks/apache2/templates/default/mods/auth_cas.conf.erb b/provision/cookbooks/apache2/templates/default/mods/auth_cas.conf.erb deleted file mode 100755 index 80efafe..0000000 --- a/provision/cookbooks/apache2/templates/default/mods/auth_cas.conf.erb +++ /dev/null @@ -1 +0,0 @@ -CASCookiePath <%= node['apache']['cache_dir'] %>/mod_auth_cas/ \ No newline at end of file diff --git a/provision/cookbooks/apache2/templates/default/mods/auth_cas.load.erb b/provision/cookbooks/apache2/templates/default/mods/auth_cas.load.erb deleted file mode 100755 index 0e3a002..0000000 --- a/provision/cookbooks/apache2/templates/default/mods/auth_cas.load.erb +++ /dev/null @@ -1 +0,0 @@ -LoadModule auth_cas_module <%= node['apache']['libexecdir'] %>/mod_auth_cas.so diff --git a/provision/cookbooks/apache2/templates/default/mods/authopenid.load.erb b/provision/cookbooks/apache2/templates/default/mods/authopenid.load.erb deleted file mode 100755 index d226ecf..0000000 --- a/provision/cookbooks/apache2/templates/default/mods/authopenid.load.erb +++ /dev/null @@ -1 +0,0 @@ -LoadModule authopenid_module <%= node['apache']['libexecdir'] %>/mod_auth_openid.so diff --git a/provision/cookbooks/apache2/templates/default/mods/autoindex.conf.erb b/provision/cookbooks/apache2/templates/default/mods/autoindex.conf.erb deleted file mode 100755 index 3839093..0000000 --- a/provision/cookbooks/apache2/templates/default/mods/autoindex.conf.erb +++ /dev/null @@ -1,101 +0,0 @@ - -# -# Directives controlling the display of server-generated directory listings. -# - -# -# IndexOptions: Controls the appearance of server-generated directory -# listings. -# Remove/replace the "Charset=UTF-8" if you don't use UTF-8 for your filenames. -# -IndexOptions FancyIndexing VersionSort HTMLTable NameWidth=* DescriptionWidth=* Charset=UTF-8 - -# -# AddIcon* directives tell the server which icon to show for different -# files or filename extensions. These are only displayed for -# FancyIndexed directories. -# -AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip x-bzip2 - -AddIconByType (TXT,/icons/text.gif) text/* -AddIconByType (IMG,/icons/image2.gif) image/* -AddIconByType (SND,/icons/sound2.gif) audio/* -AddIconByType (VID,/icons/movie.gif) video/* - -AddIcon /icons/binary.gif .bin .exe -AddIcon /icons/binhex.gif .hqx -AddIcon /icons/tar.gif .tar -AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv -AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip -AddIcon /icons/a.gif .ps .ai .eps -AddIcon /icons/layout.gif .html .shtml .htm .pdf -AddIcon /icons/text.gif .txt -AddIcon /icons/c.gif .c -AddIcon /icons/p.gif .pl .py -AddIcon /icons/f.gif .for -AddIcon /icons/dvi.gif .dvi -AddIcon /icons/uuencoded.gif .uu -AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl -AddIcon /icons/tex.gif .tex -# It's a suffix rule, so simply matching "core" matches "score" as well ! -AddIcon /icons/bomb.gif /core -AddIcon (SND,/icons/sound2.gif) .ogg -AddIcon (VID,/icons/movie.gif) .ogm - -AddIcon /icons/back.gif .. -AddIcon /icons/hand.right.gif README -AddIcon /icons/folder.gif ^^DIRECTORY^^ -AddIcon /icons/blank.gif ^^BLANKICON^^ - -# Default icons for OpenDocument format -AddIcon /icons/odf6odt-20x22.png .odt -AddIcon /icons/odf6ods-20x22.png .ods -AddIcon /icons/odf6odp-20x22.png .odp -AddIcon /icons/odf6odg-20x22.png .odg -AddIcon /icons/odf6odc-20x22.png .odc -AddIcon /icons/odf6odf-20x22.png .odf -AddIcon /icons/odf6odb-20x22.png .odb -AddIcon /icons/odf6odi-20x22.png .odi -AddIcon /icons/odf6odm-20x22.png .odm - -AddIcon /icons/odf6ott-20x22.png .ott -AddIcon /icons/odf6ots-20x22.png .ots -AddIcon /icons/odf6otp-20x22.png .otp -AddIcon /icons/odf6otg-20x22.png .otg -AddIcon /icons/odf6otc-20x22.png .otc -AddIcon /icons/odf6otf-20x22.png .otf -AddIcon /icons/odf6oti-20x22.png .oti -AddIcon /icons/odf6oth-20x22.png .oth - -# -# DefaultIcon is which icon to show for files which do not have an icon -# explicitly set. -# -DefaultIcon /icons/unknown.gif - -# -# AddDescription allows you to place a short description after a file in -# server-generated indexes. These are only displayed for FancyIndexed -# directories. -# Format: AddDescription "description" filename -# -#AddDescription "GZIP compressed document" .gz -#AddDescription "tar archive" .tar -#AddDescription "GZIP compressed tar archive" .tgz - -# -# ReadmeName is the name of the README file the server will look for by -# default, and append to directory listings. -# -# HeaderName is the name of a file which should be prepended to -# directory indexes. -ReadmeName README.html -HeaderName HEADER.html - -# -# IndexIgnore is a set of filenames which directory indexing should ignore -# and not include in the listing. Shell-style wildcarding is permitted. -# -IndexIgnore .??* *~ *# RCS CVS *,v *,t - - diff --git a/provision/cookbooks/apache2/templates/default/mods/deflate.conf.erb b/provision/cookbooks/apache2/templates/default/mods/deflate.conf.erb deleted file mode 100755 index 2e41975..0000000 --- a/provision/cookbooks/apache2/templates/default/mods/deflate.conf.erb +++ /dev/null @@ -1,16 +0,0 @@ - - AddOutputFilterByType DEFLATE text/html - AddOutputFilterByType DEFLATE text/css - AddOutputFilterByType DEFLATE text/plain - AddOutputFilterByType DEFLATE text/xml - AddOutputFilterByType DEFLATE application/xhtml+xml - AddOutputFilterByType DEFLATE application/xml - AddOutputFilterByType DEFLATE image/svg+xml - AddOutputFilterByType DEFLATE application/rss+xml - AddOutputFilterByType DEFLATE application/atom_xml - AddOutputFilterByType DEFLATE application/javascript - AddOutputFilterByType DEFLATE application/x-javascript - AddOutputFilterByType DEFLATE application/x-httpd-php - AddOutputFilterByType DEFLATE application/x-httpd-fastphp - AddOutputFilterByType DEFLATE application/x-httpd-eruby - diff --git a/provision/cookbooks/apache2/templates/default/mods/dir.conf.erb b/provision/cookbooks/apache2/templates/default/mods/dir.conf.erb deleted file mode 100755 index e16fcb3..0000000 --- a/provision/cookbooks/apache2/templates/default/mods/dir.conf.erb +++ /dev/null @@ -1,5 +0,0 @@ - - - DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm - - diff --git a/provision/cookbooks/apache2/templates/default/mods/fastcgi.conf.erb b/provision/cookbooks/apache2/templates/default/mods/fastcgi.conf.erb deleted file mode 100755 index a252609..0000000 --- a/provision/cookbooks/apache2/templates/default/mods/fastcgi.conf.erb +++ /dev/null @@ -1,5 +0,0 @@ - - AddHandler fastcgi-script .fcgi - #FastCgiWrapper /usr/lib/apache2/suexec - FastCgiIpcDir /var/lib/apache2/fastcgi - diff --git a/provision/cookbooks/apache2/templates/default/mods/fcgid.conf.erb b/provision/cookbooks/apache2/templates/default/mods/fcgid.conf.erb deleted file mode 100755 index b314292..0000000 --- a/provision/cookbooks/apache2/templates/default/mods/fcgid.conf.erb +++ /dev/null @@ -1,10 +0,0 @@ - - AddHandler fcgid-script .fcgi - IPCConnectTimeout 20 - - -<% if %w{ rhel fedora }.include?(node['platform_family']) -%> -# Sane place to put sockets and shared memory file -SocketPath run/mod_fcgid -SharememPath run/mod_fcgid/fcgid_shm -<% end -%> diff --git a/provision/cookbooks/apache2/templates/default/mods/include.conf.erb b/provision/cookbooks/apache2/templates/default/mods/include.conf.erb deleted file mode 100755 index 46f5547..0000000 --- a/provision/cookbooks/apache2/templates/default/mods/include.conf.erb +++ /dev/null @@ -1,4 +0,0 @@ - - AddType text/html .shtml - AddOutputFilter INCLUDES .shtml - \ No newline at end of file diff --git a/provision/cookbooks/apache2/templates/default/mods/include.erb b/provision/cookbooks/apache2/templates/default/mods/include.erb deleted file mode 100755 index d5fbbed..0000000 --- a/provision/cookbooks/apache2/templates/default/mods/include.erb +++ /dev/null @@ -1,4 +0,0 @@ - - AddType text/html .shtml - AddOutputFilter INCLUDES .shtml - \ No newline at end of file diff --git a/provision/cookbooks/apache2/templates/default/mods/mime.conf.erb b/provision/cookbooks/apache2/templates/default/mods/mime.conf.erb deleted file mode 100755 index 3f21225..0000000 --- a/provision/cookbooks/apache2/templates/default/mods/mime.conf.erb +++ /dev/null @@ -1,198 +0,0 @@ - - -# -# TypesConfig points to the file containing the list of mappings from -# filename extension to MIME-type. -# -<% case node['platform_family'] -%> -<% when "arch" -%> -TypesConfig <%= node['apache']['dir'] %>/conf/mime.types -<% when "freebsd" -%> -TypesConfig <%= node['apache']['dir'] %>/mime.types -<% else -%> -TypesConfig /etc/mime.types -<% end -%> - -# -# AddType allows you to add to or override the MIME configuration -# file mime.types for specific file types. -# -#AddType application/x-gzip .tgz -# -# AddEncoding allows you to have certain browsers uncompress -# information on the fly. Note: Not all browsers support this. -# Despite the name similarity, the following Add* directives have -# nothing to do with the FancyIndexing customization directives above. -# -#AddEncoding x-compress .Z -#AddEncoding x-gzip .gz .tgz -#AddEncoding x-bzip2 .bz2 -# -# If the AddEncoding directives above are commented-out, then you -# probably should define those extensions to indicate media types: -# -AddType application/x-compress .Z -AddType application/x-gzip .gz .tgz -AddType application/x-bzip2 .bz2 - -# -# DefaultLanguage and AddLanguage allows you to specify the language of -# a document. You can then use content negotiation to give a browser a -# file in a language the user can understand. -# -# Specify a default language. This means that all data -# going out without a specific language tag (see below) will -# be marked with this one. You probably do NOT want to set -# this unless you are sure it is correct for all cases. -# -# * It is generally better to not mark a page as -# * being a certain language than marking it with the wrong -# * language! -# -# DefaultLanguage nl -# -# Note 1: The suffix does not have to be the same as the language -# keyword --- those with documents in Polish (whose net-standard -# language code is pl) may wish to use "AddLanguage pl .po" to -# avoid the ambiguity with the common suffix for perl scripts. -# -# Note 2: The example entries below illustrate that in some cases -# the two character 'Language' abbreviation is not identical to -# the two character 'Country' code for its country, -# E.g. 'Danmark/dk' versus 'Danish/da'. -# -# Note 3: In the case of 'ltz' we violate the RFC by using a three char -# specifier. There is 'work in progress' to fix this and get -# the reference data for rfc1766 cleaned up. -# -# Catalan (ca) - Croatian (hr) - Czech (cs) - Danish (da) - Dutch (nl) -# English (en) - Esperanto (eo) - Estonian (et) - French (fr) - German (de) -# Greek-Modern (el) - Hebrew (he) - Italian (it) - Japanese (ja) -# Korean (ko) - Luxembourgeois* (ltz) - Norwegian Nynorsk (nn) -# Norwegian (no) - Polish (pl) - Portugese (pt) -# Brazilian Portuguese (pt-BR) - Russian (ru) - Swedish (sv) -# Simplified Chinese (zh-CN) - Spanish (es) - Traditional Chinese (zh-TW) -# -AddLanguage ca .ca -AddLanguage cs .cz .cs -AddLanguage da .dk -AddLanguage de .de -AddLanguage el .el -AddLanguage en .en -AddLanguage eo .eo -# See README.Debian for Spanish -AddLanguage es .es -AddLanguage et .et -AddLanguage fr .fr -AddLanguage he .he -AddLanguage hr .hr -AddLanguage it .it -AddLanguage ja .ja -AddLanguage ko .ko -AddLanguage ltz .ltz -AddLanguage nl .nl -AddLanguage nn .nn -AddLanguage no .no -AddLanguage pl .po -AddLanguage pt .pt -AddLanguage pt-BR .pt-br -AddLanguage ru .ru -AddLanguage sv .sv -# See README.Debian for Turkish -AddLanguage tr .tr -AddLanguage zh-CN .zh-cn -AddLanguage zh-TW .zh-tw - -# -# Commonly used filename extensions to character sets. You probably -# want to avoid clashes with the language extensions, unless you -# are good at carefully testing your setup after each change. -# See http://www.iana.org/assignments/character-sets for the -# official list of charset names and their respective RFCs. -# -AddCharset us-ascii .ascii .us-ascii -AddCharset ISO-8859-1 .iso8859-1 .latin1 -AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen -AddCharset ISO-8859-3 .iso8859-3 .latin3 -AddCharset ISO-8859-4 .iso8859-4 .latin4 -AddCharset ISO-8859-5 .iso8859-5 .cyr .iso-ru -AddCharset ISO-8859-6 .iso8859-6 .arb .arabic -AddCharset ISO-8859-7 .iso8859-7 .grk .greek -AddCharset ISO-8859-8 .iso8859-8 .heb .hebrew -AddCharset ISO-8859-9 .iso8859-9 .latin5 .trk -AddCharset ISO-8859-10 .iso8859-10 .latin6 -AddCharset ISO-8859-13 .iso8859-13 -AddCharset ISO-8859-14 .iso8859-14 .latin8 -AddCharset ISO-8859-15 .iso8859-15 .latin9 -AddCharset ISO-8859-16 .iso8859-16 .latin10 -AddCharset ISO-2022-JP .iso2022-jp .jis -AddCharset ISO-2022-KR .iso2022-kr .kis -AddCharset ISO-2022-CN .iso2022-cn .cis -AddCharset Big5 .Big5 .big5 .b5 -AddCharset cn-Big5 .cn-big5 -# For russian, more than one charset is used (depends on client, mostly): -AddCharset WINDOWS-1251 .cp-1251 .win-1251 -AddCharset CP866 .cp866 -AddCharset KOI8 .koi8 -AddCharset KOI8-E .koi8-e -AddCharset KOI8-r .koi8-r .koi8-ru -AddCharset KOI8-U .koi8-u -AddCharset KOI8-ru .koi8-uk .ua -AddCharset ISO-10646-UCS-2 .ucs2 -AddCharset ISO-10646-UCS-4 .ucs4 -AddCharset UTF-7 .utf7 -AddCharset UTF-8 .utf8 -AddCharset UTF-16 .utf16 -AddCharset UTF-16BE .utf16be -AddCharset UTF-16LE .utf16le -AddCharset UTF-32 .utf32 -AddCharset UTF-32BE .utf32be -AddCharset UTF-32LE .utf32le -AddCharset euc-cn .euc-cn -AddCharset euc-gb .euc-gb -AddCharset euc-jp .euc-jp -AddCharset euc-kr .euc-kr -#Not sure how euc-tw got in - IANA doesn't list it??? -AddCharset EUC-TW .euc-tw -AddCharset gb2312 .gb2312 .gb -AddCharset iso-10646-ucs-2 .ucs-2 .iso-10646-ucs-2 -AddCharset iso-10646-ucs-4 .ucs-4 .iso-10646-ucs-4 -AddCharset shift_jis .shift_jis .sjis - -# -# AddHandler allows you to map certain file extensions to "handlers": -# actions unrelated to filetype. These can be either built into the server -# or added with the Action directive (see below) -# -# To use CGI scripts outside of ScriptAliased directories: -# (You will also need to add "ExecCGI" to the "Options" directive.) -# -#AddHandler cgi-script .cgi - -# -# For files that include their own HTTP headers: -# -#AddHandler send-as-is asis - -# -# For server-parsed imagemap files: -# -#AddHandler imap-file map - -# -# For type maps (negotiated resources): -# (This is enabled by default to allow the Apache "It Worked" page -# to be distributed in multiple languages.) -# -AddHandler type-map var - -# -# Filters allow you to process content before it is sent to the client. -# -# To parse .shtml files for server-side includes (SSI): -# (You will also need to add "Includes" to the "Options" directive.) -# -AddType text/html .shtml -AddOutputFilter INCLUDES .shtml - - diff --git a/provision/cookbooks/apache2/templates/default/mods/negotiation.conf.erb b/provision/cookbooks/apache2/templates/default/mods/negotiation.conf.erb deleted file mode 100755 index 0e3455b..0000000 --- a/provision/cookbooks/apache2/templates/default/mods/negotiation.conf.erb +++ /dev/null @@ -1,18 +0,0 @@ - -# -# LanguagePriority allows you to give precedence to some languages -# in case of a tie during content negotiation. -# -# Just list the languages in decreasing order of preference. We have -# more or less alphabetized them here. You probably want to change this. -# -LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv tr zh-CN zh-TW - -# -# ForceLanguagePriority allows you to serve a result page rather than -# MULTIPLE CHOICES (Prefer) [in case of a tie] or NOT ACCEPTABLE (Fallback) -# [in case no accepted languages matched the available variants] -# -ForceLanguagePriority Prefer Fallback - - diff --git a/provision/cookbooks/apache2/templates/default/mods/php5.conf.erb b/provision/cookbooks/apache2/templates/default/mods/php5.conf.erb deleted file mode 100755 index 5d2f911..0000000 --- a/provision/cookbooks/apache2/templates/default/mods/php5.conf.erb +++ /dev/null @@ -1,16 +0,0 @@ - - - SetHandler application/x-httpd-php - - - SetHandler application/x-httpd-php-source - - # To re-enable php in user directories comment the following lines - # (from to .) Do NOT set it to On as it - # prevents .htaccess files from disabling it. - - - php_admin_value engine Off - - - diff --git a/provision/cookbooks/apache2/templates/default/mods/proxy.conf.erb b/provision/cookbooks/apache2/templates/default/mods/proxy.conf.erb deleted file mode 100755 index 46407a1..0000000 --- a/provision/cookbooks/apache2/templates/default/mods/proxy.conf.erb +++ /dev/null @@ -1,19 +0,0 @@ - - #turning ProxyRequests on and allowing proxying from all may allow - #spammers to use your proxy to send email. - - ProxyRequests Off - - - AddDefaultCharset off - Order deny,allow - Deny from all - #Allow from .example.com - - - # Enable/disable the handling of HTTP/1.1 "Via:" headers. - # ("Full" adds the server version; "Block" removes all outgoing Via: headers) - # Set to one of: Off | On | Full | Block - - ProxyVia On - diff --git a/provision/cookbooks/apache2/templates/default/mods/setenvif.conf.erb b/provision/cookbooks/apache2/templates/default/mods/setenvif.conf.erb deleted file mode 100755 index 6b7d6e2..0000000 --- a/provision/cookbooks/apache2/templates/default/mods/setenvif.conf.erb +++ /dev/null @@ -1,28 +0,0 @@ - - -# -# The following directives modify normal HTTP response behavior to -# handle known problems with browser implementations. -# -BrowserMatch "Mozilla/2" nokeepalive -BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 -BrowserMatch "RealPlayer 4\.0" force-response-1.0 -BrowserMatch "Java/1\.0" force-response-1.0 -BrowserMatch "JDK/1\.0" force-response-1.0 - -# -# The following directive disables redirects on non-GET requests for -# a directory that does not include the trailing slash. This fixes a -# problem with Microsoft WebFolders which does not appropriately handle -# redirects for folders with DAV methods. -# Same deal with Apple's DAV filesystem and Gnome VFS support for DAV. -# -BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully -BrowserMatch "MS FrontPage" redirect-carefully -BrowserMatch "^WebDrive" redirect-carefully -BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully -BrowserMatch "^gnome-vfs/1.0" redirect-carefully -BrowserMatch "^XML Spy" redirect-carefully -BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully - - diff --git a/provision/cookbooks/apache2/templates/default/mods/ssl.conf.erb b/provision/cookbooks/apache2/templates/default/mods/ssl.conf.erb deleted file mode 100755 index 2582f30..0000000 --- a/provision/cookbooks/apache2/templates/default/mods/ssl.conf.erb +++ /dev/null @@ -1,77 +0,0 @@ - -# -# Pseudo Random Number Generator (PRNG): -# Configure one or more sources to seed the PRNG of the SSL library. -# The seed data should be of good random quality. -# WARNING! On some platforms /dev/random blocks if not enough entropy -# is available. This means you then cannot use the /dev/random device -# because it would lead to very long connection times (as long as -# it requires to make more entropy available). But usually those -# platforms additionally provide a /dev/urandom device which doesn't -# block. So, if available, use this one instead. Read the mod_ssl User -# Manual for more details. -# -SSLRandomSeed startup builtin -SSLRandomSeed startup file:/dev/urandom 512 -SSLRandomSeed connect builtin -SSLRandomSeed connect file:/dev/urandom 512 - -## -## SSL Global Context -## -## All SSL configuration in this context applies both to -## the main server and all SSL-enabled virtual hosts. -## - -# -# Some MIME-types for downloading Certificates and CRLs -# -AddType application/x-x509-ca-cert .crt -AddType application/x-pkcs7-crl .crl - -# Pass Phrase Dialog: -# Configure the pass phrase gathering process. -# The filtering dialog program (`builtin' is a internal -# terminal dialog) has to provide the pass phrase on stdout. -SSLPassPhraseDialog builtin - -# Inter-Process Session Cache: -# Configure the SSL Session Cache: First the mechanism -# to use and second the expiring timeout (in seconds). -#SSLSessionCache dbm:/var/run/apache2/ssl_scache -<% if %w{ rhel fedora suse }.include?(node['platform_family']) -%> -SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000) -<% elsif %w{ freebsd }.include?(node['platform_family']) -%> -SSLSessionCache shmcb:/var/run/ssl_scache(512000) -<% else -%> -SSLSessionCache shmcb:/var/run/apache2/ssl_scache -<% end -%> -SSLSessionCacheTimeout 300 - -# Semaphore: -# Configure the path to the mutual exclusion semaphore the -# SSL engine uses internally for inter-process synchronization. -<% if %w{ rhel fedora suse }.include?(node['platform_family']) -%> -SSLMutex default -<% elsif %w{ freebsd }.include?(node['platform_family']) -%> -SSLMutex file:/var/run/ssl_mutex -<% else -%> -SSLMutex file:/var/run/apache2/ssl_mutex -<% end -%> - -SSLHonorCipherOrder On -# SSL Cipher Suite: -# List the ciphers that the client is permitted to negotiate. -# See the mod_ssl documentation for a complete list. -# enable only secure ciphers: -SSLCipherSuite <%= node['apache']['mod_ssl']['cipher_suite'] %> -# Use this instead if you want to allow cipher upgrades via SGC facility. -# In this case you also have to use something like -# SSLRequire %{SSL_CIPHER_USEKEYSIZE} >= 128 -# see http://httpd.apache.org/docs/2.2/ssl/ssl_howto.html.en#upgradeenc -#SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL - -# enable only secure protocols: SSLv3 and TLSv1, but not SSLv2 -SSLProtocol all -SSLv2 - - diff --git a/provision/cookbooks/apache2/templates/default/mods/status.conf.erb b/provision/cookbooks/apache2/templates/default/mods/status.conf.erb deleted file mode 100755 index 8bafc52..0000000 --- a/provision/cookbooks/apache2/templates/default/mods/status.conf.erb +++ /dev/null @@ -1,26 +0,0 @@ - -# -# Allow server status reports generated by mod_status, -# with the URL of http://servername/server-status -# Uncomment and change the ".example.com" to allow -# access from other hosts. -# - - SetHandler server-status - Order deny,allow - Deny from all - Allow from <%=node['apache']['status_allow_list']%> -# Allow from .example.com - -# -# ExtendedStatus controls whether Apache will generate "full" status -# information (ExtendedStatus On) or just basic information (ExtendedStatus -# Off) when the "server-status" handler is called. The default is Off. -# -<% if node['apache']['ext_status'] %> -ExtendedStatus On -<% else -%> -ExtendedStatus Off -<% end -%> -# - diff --git a/provision/cookbooks/apache2/templates/default/port_apache.erb b/provision/cookbooks/apache2/templates/default/port_apache.erb deleted file mode 100755 index 45aa56e..0000000 --- a/provision/cookbooks/apache2/templates/default/port_apache.erb +++ /dev/null @@ -1,3 +0,0 @@ -<% node['apache']['listen_ports'].each do |port| -%> --A FWR -p tcp -m tcp --dport <%= port %> -j ACCEPT -<% end %> \ No newline at end of file diff --git a/provision/cookbooks/apache2/templates/default/ports.conf.erb b/provision/cookbooks/apache2/templates/default/ports.conf.erb deleted file mode 100755 index cc3631e..0000000 --- a/provision/cookbooks/apache2/templates/default/ports.conf.erb +++ /dev/null @@ -1,6 +0,0 @@ -#This file generated via template by Chef. -<% @apache_listen_ports.each do |port| -%> -Listen <%= port %> -NameVirtualHost *:<%= port %> - -<% end -%> diff --git a/provision/cookbooks/apache2/templates/default/security.erb b/provision/cookbooks/apache2/templates/default/security.erb deleted file mode 100755 index d40dbb4..0000000 --- a/provision/cookbooks/apache2/templates/default/security.erb +++ /dev/null @@ -1,50 +0,0 @@ -# -# Disable access to the entire file system except for the directories that -# are explicitly allowed later. -# -# This currently breaks the configurations that come with some web application -# Debian packages. It will be made the default for the release after lenny. -# -# -# AllowOverride None -# Order Deny,Allow -# Deny from all -# - - -# Changing the following options will not really affect the security of the -# server, but might make attacks slightly more difficult in some cases. - -# -# ServerTokens -# This directive configures what you return as the Server HTTP response -# Header. The default is 'Full' which sends information about the OS-Type -# and compiled in modules. -# Set to one of: Full | OS | Minimal | Minor | Major | Prod -# where Full conveys the most information, and Prod the least. -# -#ServerTokens Minimal -ServerTokens <%= node['apache']['servertokens'] %> - -# -# Optionally add a line containing the server version and virtual host -# name to server-generated pages (internal error documents, FTP directory -# listings, mod_status and mod_info output etc., but not CGI generated -# documents or custom error documents). -# Set to "EMail" to also include a mailto: link to the ServerAdmin. -# Set to one of: On | Off | EMail -# -#ServerSignature Off -ServerSignature <%= node['apache']['serversignature'] %> - -# -# Allow TRACE method -# -# Set to "extended" to also reflect the request body (only for testing and -# diagnostic purposes). -# -# Set to one of: On | Off | extended -# -#TraceEnable Off -TraceEnable <%= node['apache']['traceenable'] %> - diff --git a/provision/cookbooks/apache2/templates/default/web_app.conf.erb b/provision/cookbooks/apache2/templates/default/web_app.conf.erb deleted file mode 100755 index c5d9f95..0000000 --- a/provision/cookbooks/apache2/templates/default/web_app.conf.erb +++ /dev/null @@ -1,47 +0,0 @@ - - ServerName <%= @params[:server_name] %> - ServerAlias <% @params[:server_aliases].each do |a| %><%= a %> <% end %> - DocumentRoot <%= @params[:docroot] %> - RewriteEngine On - - > - Options <%= [@params[:directory_options] || "FollowSymLinks" ].flatten.join " " %> - AllowOverride <%= [@params[:allow_override] || "None" ].flatten.join " " %> - Order allow,deny - Allow from all - - - - Options FollowSymLinks - AllowOverride None - - - - SetHandler server-status - - Order Deny,Allow - Deny from all - Allow from 127.0.0.1 - - - LogLevel info - ErrorLog <%= node['apache']['log_dir'] %>/<%= @params[:name] %>-error.log - CustomLog <%= node['apache']['log_dir'] %>/<%= @params[:name] %>-access.log combined - - <% if @params[:directory_index] -%> - DirectoryIndex <%= [@params[:directory_index]].flatten.join " " %> - <% end -%> - - RewriteEngine On - RewriteLog <%= node['apache']['log_dir'] %>/<%= @application_name %>-rewrite.log - RewriteLogLevel 0 - - # Canonical host, <%= @params[:server_name] %> - RewriteCond %{HTTP_HOST} !^<%= @params[:server_name] %> [NC] - RewriteCond %{HTTP_HOST} !^$ - RewriteRule ^/(.*)$ http://<%= @params[:server_name] %>/$1 [L,R=301] - - RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f - RewriteCond %{SCRIPT_FILENAME} !maintenance.html - RewriteRule ^.*$ /system/maintenance.html [L] - diff --git a/provision/cookbooks/build-essential/CHANGELOG.md b/provision/cookbooks/build-essential/CHANGELOG.md deleted file mode 100755 index 966a596..0000000 --- a/provision/cookbooks/build-essential/CHANGELOG.md +++ /dev/null @@ -1,54 +0,0 @@ -build-essential Cookbook CHANGELOG -================================== -This file is used to list changes made in each version of the build-essential cookbook. - -v1.4.2 ------- -### Bug -- **[COOK-3318](https://tickets.opscode.com/browse/COOK-3318)** - Use Mixlib::ShellOut instead of Chef::ShellOut - -### New Feature -- **[COOK-3093](https://tickets.opscode.com/browse/COOK-3093)** - Add OmniOS support - -### Improvement -- **[COOK-3024](https://tickets.opscode.com/browse/COOK-3024)** - Use newer package on SmartOS - -v1.4.0 ------- -This version splits up the default recipe into recipes included based on the node's platform_family. - -- [COOK-2505] - backport omnibus builder improvements - -v1.3.4 ------- -- [COOK-2272] - Complete `platform_family` conversion in build-essential - -v1.3.2 ------- -- [COOK-2069] - build-essential will install osx-gcc-installer when XCode is present - -v1.3.0 ------- -- [COOK-1895] - support smartos - -v1.2.0 ------- -- Add test-kitchen support (source repo only) -- [COOK-1677] - build-essential cookbook support for OpenSuse and SLES -- [COOK-1718] - build-essential cookbook metadata should include scientific -- [COOK-1768] - The apt-get update in build-essentials needs to be renamed - -v1.1.2 ------- -- [COOK-1620] - support OS X 10.8 - -v1.1.0 ------- -- [COOK-1098] - support amazon linux -- [COOK-1149] - support Mac OS X -- [COOK-1296] - allow for compile-time installation of packages through an attribute (see README) - -v1.0.2 ------- -- [COOK-1098] - Add Amazon Linux platform support -- [COOK-1149] - Add OS X platform support diff --git a/provision/cookbooks/build-essential/README.md b/provision/cookbooks/build-essential/README.md deleted file mode 100755 index 95a3acb..0000000 --- a/provision/cookbooks/build-essential/README.md +++ /dev/null @@ -1,147 +0,0 @@ -Description -=========== - -Installs packages required for compiling C software from source. Use -this cookbook if you wish to compile C programs, or install RubyGems -with native extensions. - -Requirements -============ - -Chef version 0.10.10+ and Ohai 0.6.12+ are required. - -## Platform - -Supported platforms by platform family: - -* debian (debian, ubuntu) -* fedora -* mac_os_x (10.6+) -* rhel (centos, redhat, amazon, scientific) -* smartos -* solaris2 -* omnios - -**Note for OmniOS**: Currently, OmniOS's Ruby package is built with -GCC 4.6.3, and the path is hardcoded, as the gcc binaries are not -installed in the default $PATH. This means that in order to install -RubyGems into the "system" Ruby, one must install `developer/gcc46`. -[An issue](https://github.com/omniti-labs/omnios-build/issues/19) is -open upstream w/ OmniOS to rebuild the Ruby package with GCC 4.7.2. - -## Cookbooks - -This cookbook suggests the following external cookbooks: - -* [pkgin](http://community.opscode.com/cookbooks/pkgin) (someara) - SmartOS only -* [pkgutil](http://community.opscode.com/cookbooks/pkgutil) (marthag) - Solaris 2 only - -Attributes -========== - -* `node['build_essential']['compiletime']` - Whether the resources in -the default recipe should be configured at the "Compile" phase of the -Chef run. Defaults to false, see __Usage__ for more information. -* `node['build_essential']['osx']['gcc_installer_url']` - The URL of - the OS X GCC package installer (.pkg). -* `node['build_essential']['osx']['gcc_installer_checksum']` - The - SHA256 checksum of the OS X GCC installer. - -Recipes -======= - -The main entrypoint for this cookbook is the `default` recipe. This -recipe includes a platform specific recipe based on the node's platform -family. - -On Linux platforms (see __Platform__ above for a supported list of -families), packages required to build C source projects are installed. -This includes GCC, make, autconf and others. On Debian-family -distributions, the apt-cache may need to be updated, especially during -compile time installation. See __Usage__ for further information. - -On Mac OS X, the GCC standalone installer by Kenneth Reitz is -installed. Note that this is *not* the Xcode CLI package, as that does -not include all programs and headers required to build some common -GNU-style C projects, such as those that are available from projects -such as MacPorts or Homebrew. Changing the attributes for the GCC -installer URL and checksum to the Xcode values may work, but this is -untested. - -Usage -===== - -Simply include the `build-essential` and the required tools will be -installed to the system, and later recipes will be able to compile -software from C source code. - -For RubyGems that include native C extensions you wish to use with -Chef, you should do two things. - -0. Ensure that the C libraries, include files and other assorted "dev" -type packages are installed. You should do this in the compile phase -after the build-essential recipe. -1. Use the `chef_gem` resource in your recipes. This requires Chef version 0.10.10+. -2. Set the `compiletime` attribute in roles where such recipes are -required. This will ensure that the build tools are available to -compile the RubyGems' extensions, as `chef_gem` happens during the -compile phase, too. - -Example installation of a devel package at compile-time in a recipe: - - package "mypackage-dev" do - action :nothing - end.run_action(:install) - -Example use of `chef_gem`: - - chef_gem "mygem" - -Example role: - - name "myapp" - run_list( - "recipe[build-essential]", - "recipe[myapp]" - ) - default_attributes( - "build_essential" => { - "compiletime" => true - } - ) - -The compile time option (via the attribute) is to ensure that the -proper packages are available at the right time in the Chef run. It is -recommended that the build-essential recipe appear early in the run -list. - -The Chef wiki has documentation on -[the anatomy of a chef run](http://wiki.opscode.com/display/chef/Anatomy+of+a+Chef+Run). - -Limitations -=========== - -It is not in the scope of this cookbook to handle installing the -required headers for individual software projects in order to compile -them, or to compile RubyGems with native C extensions. You should -create a cookbook for handling that. - -License and Author -================== - -Author:: Joshua Timberman () -Author:: Seth Chisamore () - -Copyright 2009-2011, Opscode, Inc. () - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/provision/cookbooks/build-essential/attributes/default.rb b/provision/cookbooks/build-essential/attributes/default.rb deleted file mode 100755 index f45750f..0000000 --- a/provision/cookbooks/build-essential/attributes/default.rb +++ /dev/null @@ -1,33 +0,0 @@ -# -# Cookbook Name:: build-essential -# Attributes:: default -# -# Copyright 2008-2012, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -default['build_essential']['compiletime'] = false - -case node['platform_family'] -when "mac_os_x" - case - when Chef::VersionConstraint.new("~> 10.7.0").include?(node['platform_version']), - Chef::VersionConstraint.new("~> 10.8.0").include?(node['platform_version']) - default['build_essential']['osx']['gcc_installer_url'] = "https://github.com/downloads/kennethreitz/osx-gcc-installer/GCC-10.7-v2.pkg" - default['build_essential']['osx']['gcc_installer_checksum'] = "df36aa87606feb99d0db9ac9a492819e" - when Chef::VersionConstraint.new("~> 10.6.0").include?(node['platform_version']) - default['build_essential']['osx']['gcc_installer_url'] = "https://github.com/downloads/kennethreitz/osx-gcc-installer/GCC-10.6.pkg" - default['build_essential']['osx']['gcc_installer_checksum'] = "d1db5bab6a3f6b9f3b5577a130baeefa" - end -end diff --git a/provision/cookbooks/build-essential/metadata.json b/provision/cookbooks/build-essential/metadata.json deleted file mode 100755 index 5d2a556..0000000 --- a/provision/cookbooks/build-essential/metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"build-essential","description":"Installs C compiler / build tools","long_description":"","maintainer":"Opscode, Inc.","maintainer_email":"cookbooks@opscode.com","license":"Apache 2.0","platforms":{"fedora":">= 0.0.0","redhat":">= 0.0.0","centos":">= 0.0.0","ubuntu":">= 0.0.0","debian":">= 0.0.0","amazon":">= 0.0.0","suse":">= 0.0.0","scientific":">= 0.0.0","oracle":">= 0.0.0","smartos":">= 0.0.0","mac_os_x":">= 10.6.0","mac_os_x_server":">= 10.6.0"},"dependencies":{},"recommendations":{},"suggestions":{"pkgutil":">= 0.0.0"},"conflicting":{},"providing":{},"replacing":{},"attributes":{},"groupings":{},"recipes":{"build-essential":"Installs packages required for compiling C software from source."},"version":"1.4.2"} \ No newline at end of file diff --git a/provision/cookbooks/build-essential/metadata.rb b/provision/cookbooks/build-essential/metadata.rb deleted file mode 100755 index ac1ac4e..0000000 --- a/provision/cookbooks/build-essential/metadata.rb +++ /dev/null @@ -1,15 +0,0 @@ -name "build-essential" -maintainer "Opscode, Inc." -maintainer_email "cookbooks@opscode.com" -license "Apache 2.0" -description "Installs C compiler / build tools" -version "1.4.2" -recipe "build-essential", "Installs packages required for compiling C software from source." - -%w{ fedora redhat centos ubuntu debian amazon suse scientific oracle smartos}.each do |os| - supports os -end - -supports "mac_os_x", ">= 10.6.0" -supports "mac_os_x_server", ">= 10.6.0" -suggests "pkgutil" # Solaris 2 diff --git a/provision/cookbooks/build-essential/recipes/debian.rb b/provision/cookbooks/build-essential/recipes/debian.rb deleted file mode 100755 index 39df6c3..0000000 --- a/provision/cookbooks/build-essential/recipes/debian.rb +++ /dev/null @@ -1,45 +0,0 @@ -# -# Cookbook Name:: build-essential -# Recipe:: debian -# -# Copyright 2008-2013, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -# on apt-based platforms when first provisioning we need to force -# apt-get update at compiletime if we are going to try to install at compiletime -execute "apt-get-update-build-essentials" do - command "apt-get update" - action :nothing - # tip: to suppress this running every time, just use the apt cookbook - not_if do - ::File.exists?('/var/lib/apt/periodic/update-success-stamp') && - ::File.mtime('/var/lib/apt/periodic/update-success-stamp') > Time.now - 86400*2 - end -end.run_action(:run) if node['build_essential']['compiletime'] - -%w{ - autoconf - binutils-doc - bison - build-essential - flex -}.each do |pkg| - - r = package pkg do - action( node['build_essential']['compiletime'] ? :nothing : :install ) - end - r.run_action(:install) if node['build_essential']['compiletime'] - -end diff --git a/provision/cookbooks/build-essential/recipes/default.rb b/provision/cookbooks/build-essential/recipes/default.rb deleted file mode 100755 index 75e8f00..0000000 --- a/provision/cookbooks/build-essential/recipes/default.rb +++ /dev/null @@ -1,24 +0,0 @@ -# -# Cookbook Name:: build-essential -# Recipe:: default -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -begin - include_recipe "build-essential::#{node['platform_family']}" -rescue Chef::Exceptions::RecipeNotFound - Chef::Log.warn "A build-essential recipe does not exist for the platform_family: #{node['platform_family']}" -end diff --git a/provision/cookbooks/build-essential/recipes/fedora.rb b/provision/cookbooks/build-essential/recipes/fedora.rb deleted file mode 100755 index 88c0d97..0000000 --- a/provision/cookbooks/build-essential/recipes/fedora.rb +++ /dev/null @@ -1,36 +0,0 @@ -# -# Cookbook Name:: build-essential -# Recipe:: fedora -# -# Copyright 2008-2013, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -%w{ - autoconf - bison - flex - gcc - gcc-c++ - kernel-devel - make - m4 -}.each do |pkg| - - r = package pkg do - action( node['build_essential']['compiletime'] ? :nothing : :install ) - end - r.run_action(:install) if node['build_essential']['compiletime'] - -end diff --git a/provision/cookbooks/build-essential/recipes/mac_os_x.rb b/provision/cookbooks/build-essential/recipes/mac_os_x.rb deleted file mode 100755 index 14c6b1a..0000000 --- a/provision/cookbooks/build-essential/recipes/mac_os_x.rb +++ /dev/null @@ -1,39 +0,0 @@ -# -# Cookbook Name:: build-essential -# Recipe:: mac_os_x -# -# Copyright 2008-2013, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - - -result = Mixlib::ShellOut.new("pkgutil --pkgs").run_command -osx_gcc_installer_installed = result.stdout.split("\n").include?("com.apple.pkg.gcc4.2Leo") -developer_tools_cli_installed = result.stdout.split("\n").include?("com.apple.pkg.DeveloperToolsCLI") -pkg_filename = ::File.basename(node['build_essential']['osx']['gcc_installer_url']) -pkg_path = "#{Chef::Config[:file_cache_path]}/#{pkg_filename}" - -r = remote_file pkg_path do - source node['build_essential']['osx']['gcc_installer_url'] - checksum node['build_essential']['osx']['gcc_installer_checksum'] - action( node['build_essential']['compiletime'] ? :nothing : :create ) - not_if { osx_gcc_installer_installed or developer_tools_cli_installed } -end -r.run_action(:create) if node['build_essential']['compiletime'] - -r = execute "sudo installer -pkg \"#{pkg_path}\" -target /" do - action( node['build_essential']['compiletime'] ? :nothing : :run ) - not_if { osx_gcc_installer_installed or developer_tools_cli_installed } -end -r.run_action(:run) if node['build_essential']['compiletime'] diff --git a/provision/cookbooks/build-essential/recipes/omnios.rb b/provision/cookbooks/build-essential/recipes/omnios.rb deleted file mode 100755 index e5484a0..0000000 --- a/provision/cookbooks/build-essential/recipes/omnios.rb +++ /dev/null @@ -1,39 +0,0 @@ -# -# Cookbook Name:: build-essential -# Recipe:: omnios -# -# Copyright 2013, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -%w{ - developer/gcc47 - developer/object-file - developer/linker - developer/library/lint - developer/build/gnu-make - system/header - system/library/math/header-math -}.each do |pkg| - - r = package pkg do - action( node['build_essential']['compiletime'] ? :nothing : :install ) - end - r.run_action(:install) if node['build_essential']['compiletime'] - - # Per OmniOS documentation, the gcc bin dir isn't in the default - # $PATH, so add it to the running process environment - # http://omnios.omniti.com/wiki.php/DevEnv - ENV['PATH'] = "#{ENV['PATH']}:/opt/gcc-4.7.2/bin" -end diff --git a/provision/cookbooks/build-essential/recipes/rhel.rb b/provision/cookbooks/build-essential/recipes/rhel.rb deleted file mode 100755 index 0d1fbac..0000000 --- a/provision/cookbooks/build-essential/recipes/rhel.rb +++ /dev/null @@ -1,43 +0,0 @@ -# -# Cookbook Name:: build-essential -# Recipe:: rhel -# -# Copyright 2008-2013, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -pkgs = %w{ - autoconf - bison - flex - gcc - gcc-c++ - kernel-devel - make - m4 -} - -# ensure GCC 4 is available on older pre-6 EL -if node['platform_version'].to_i < 6 - pkgs.unshift %w{ gcc44 gcc44-c++ } -end - -pkgs.flatten.each do |pkg| - - r = package pkg do - action( node['build_essential']['compiletime'] ? :nothing : :install ) - end - r.run_action(:install) if node['build_essential']['compiletime'] - -end diff --git a/provision/cookbooks/build-essential/recipes/smartos.rb b/provision/cookbooks/build-essential/recipes/smartos.rb deleted file mode 100755 index a3563eb..0000000 --- a/provision/cookbooks/build-essential/recipes/smartos.rb +++ /dev/null @@ -1,29 +0,0 @@ -# -# Cookbook Name:: build-essential -# Recipe:: smartos -# -# Copyright 2008-2013, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -%w{ - build-essential -}.each do |pkg| - - r = package pkg do - action( node['build_essential']['compiletime'] ? :nothing : :install ) - end - r.run_action(:install) if node['build_essential']['compiletime'] - -end diff --git a/provision/cookbooks/build-essential/recipes/solaris2.rb b/provision/cookbooks/build-essential/recipes/solaris2.rb deleted file mode 100755 index 83e4e5e..0000000 --- a/provision/cookbooks/build-essential/recipes/solaris2.rb +++ /dev/null @@ -1,42 +0,0 @@ -# -# Cookbook Name:: build-essential -# Recipe:: solaris2 -# -# Copyright 2013, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -%w{ - autoconf - automake - bison - coreutils - flex - gcc4core - gcc4g++ - gcc4objc - gcc3core - gcc3g++ - ggrep - gmake - gtar - pkgconfig -}.each do |pkg| - - r = pkgutil_package pkg do - action( node['build_essential']['compiletime'] ? :nothing : :install ) - end - r.run_action(:install) if node['build_essential']['compiletime'] - -end diff --git a/provision/cookbooks/build-essential/recipes/suse.rb b/provision/cookbooks/build-essential/recipes/suse.rb deleted file mode 100755 index 914ccd6..0000000 --- a/provision/cookbooks/build-essential/recipes/suse.rb +++ /dev/null @@ -1,36 +0,0 @@ -# -# Cookbook Name:: build-essential -# Recipe:: suse -# -# Copyright 2008-2013, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -%w{ - autoconf - bison - flex - gcc - gcc-c++ - kernel-default-devel - make - m4 -}.each do |pkg| - - r = package pkg do - action( node['build_essential']['compiletime'] ? :nothing : :install ) - end - r.run_action(:install) if node['build_essential']['compiletime'] - -end diff --git a/provision/cookbooks/mysql/CHANGELOG.md b/provision/cookbooks/mysql/CHANGELOG.md deleted file mode 100755 index 73aff60..0000000 --- a/provision/cookbooks/mysql/CHANGELOG.md +++ /dev/null @@ -1,155 +0,0 @@ -mysql Cookbook CHANGELOG -======================== -This file is used to list changes made in each version of the mysql cookbook. - -v3.0.4 ------- -### Bug -- **[COOK-3310](https://tickets.opscode.com/browse/COOK-3310)** - Fix missing `GRANT` option -- **[COOK-3233](https://tickets.opscode.com/browse/COOK-3233)** - Fix escaping special characters -- **[COOK-3156](https://tickets.opscode.com/browse/COOK-3156)** - Fix GRANTS file when `remote_root_acl` is specified -- **[COOK-3134](https://tickets.opscode.com/browse/COOK-3134)** - Fix Chef 11 support -- **[COOK-2318](https://tickets.opscode.com/browse/COOK-2318)** - Remove redundant `if` block around `node.mysql.tunable.log_bin` - -v3.0.2 ------- -### Bug -- [COOK-2158]: apt-get update is run twice at compile time -- [COOK-2832]: mysql grants.sql file has errors depending on attrs -- [COOK-2995]: server.rb is missing a platform_family comparison value - -### Sub-task -- [COOK-2102]: `innodb_flush_log_at_trx_commit` value is incorrectly set based on CPU count - -v3.0.0 ------- -**Note** This is a backwards incompatible version with previous versions of the cookbook. Tickets that introduce incompatibility are COOK-2615 and COOK-2617. - -- [COOK-2478] - Duplicate 'read_only' server attribute in base and tunable -- [COOK-2471] - Add tunable to set slave_compressed_protocol for reduced network traffic -- [COOK-1059] - Update attributes in mysql cookbook to support missing options for my.cnf usable by Percona -- [COOK-2590] - Typo in server recipe to do with conf_dir and confd_dir -- [COOK-2602] - Add `lower_case_table_names` tunable -- [COOK-2430] - Add a tunable to create a network ACL when allowing `remote_root_access` -- [COOK-2619] - mysql: isamchk deprecated -- [COOK-2515] - Better support for SUSE distribution for mysql cookbook -- [COOK-2557] - mysql::percona_repo attributes missing and key server typo -- [COOK-2614] - Duplicate `innodb_file_per_table` -- [COOK-2145] - MySQL cookbook should remove anonymous and password less accounts -- [COOK-2553] - Enable include directory in my.cnf template for any platform -- [COOK-2615] - Rename `key_buffer` to `key_buffer_size` -- [COOK-2626] - Percona repo URL is being constructed incorrectly -- [COOK-2616] - Unneeded attribute thread_cache -- [COOK-2618] - myisam-recover not using attribute value -- [COOK-2617] - open-files is a duplicate of open-files-limit - -v2.1.2 ------- -- [COOK-2172] - Mysql cookbook duplicates `binlog_format` configuration - -v2.1.0 ------- -- [COOK-1669] - Using platform("ubuntu") in default attributes always returns true -- [COOK-1694] - Added additional my.cnf fields and reorganized cookbook to avoid race conditions with mysql startup and sql script execution -- [COOK-1851] - Support server-id and binlog_format settings -- [COOK-1929] - Update msyql server attributes file because setting attributes without specifying a precedence is deprecated -- [COOK-1999] - Add read_only tunable useful for replication slave servers - -v2.0.2 ------- -- [COOK-1967] - mysql: trailing comma in server.rb platform family - -v2.0.0 ------- -**Important note for this release** - -Under Chef Solo, you must set the node attributes for the root, debian and repl passwords or the run will completely fail. See COOK-1737 for background on this. - -- [COOK-1390] - MySQL service cannot start after reboot -- [COOK-1610] - Set root password outside preseed (blocker for drop-in mysql replacements) -- [COOK-1624] - Mysql cookbook fails to even compile on windows -- [COOK-1669] - Using platform("ubuntu") in default attributes always returns true -- [COOK-1686] - Add mysql service start -- [COOK-1687] - duplicate `innodb_buffer_pool_size` attribute -- [COOK-1704] - mysql cookbook fails spec tests when minitest-handler cookbook enabled -- [COOK-1737] - Fail a chef-solo run when `server_root_password`, `server_debian_password`, and/or `server_repl_password` is not set -- [COOK-1769] - link to database recipe in mysql README goes to old opscode/cookbooks repo instead of opscode-cookbook organization -- [COOK-1963] - use `platform_family` - -v1.3.0 ------- -**Important note for this release** - -This version no longer installs Ruby bindings in the client recipe by default. Use the ruby recipe if you'd like the RubyGem. If you'd like packages from your distribution, use them in your application's specific cookbook/recipe, or modify the client packages attribute. This resolves the following tickets: - -- COOK-932 -- COOK-1009 -- COOK-1384 - -Additionally, this cookbook now has tests (COOK-1439) for use under test-kitchen. - -The following issues are also addressed in this release. - -- [COOK-1443] - MySQL (>= 5.1.24) does not support `innodb_flush_method` = fdatasync -- [COOK-1175] - Add Mac OS X support -- [COOK-1289] - handle additional tunable attributes -- [COOK-1305] - add auto-increment-increment and auto-increment-offset attributes -- [COOK-1397] - make the port an attribute -- [COOK-1439] - Add MySQL cookbook tests for test-kitchen support -- [COOK-1236] - Move package names into attributes to allow percona to free-ride -- [COOK-934] - remove deprecated mysql/libraries/database.rb, use the database cookbook instead. -- [COOK-1475] - fix restart on config change - -v1.2.6 ------- -- [COOK-1113] - Use an attribute to determine if upstart is used -- [COOK-1121] - Add support for Windows -- [COOK-1140] - Fix conf.d on Debian -- [COOK-1151] - Fix server_ec2 handling /var/lib/mysql bind mount -- [COOK-1321] - Document setting password attributes for solo - -v1.2.4 ------- -- [COOK-992] - fix FATAL nameerror -- [COOK-827] - `mysql:server_ec2` recipe can't mount `data_dir` -- [COOK-945] - FreeBSD support - -v1.2.2 ------- -- [COOK-826] mysql::server recipe doesn't quote password string -- [COOK-834] Add 'scientific' and 'amazon' platforms to mysql cookbook - -v1.2.1 ------- -- [COOK-644] Mysql client cookbook 'package missing' error message is confusing -- [COOK-645] RHEL6/CentOS6 - mysql cookbook contains 'skip-federated' directive which is unsupported on MySQL 5.1 - -v1.2.0 ------- -- [COOK-684] remove mysql_database LWRP - -v1.0.8 ------- -- [COOK-633] ensure "cloud" attribute is available - -v1.0.7 ------- -- [COOK-614] expose all mysql tunable settings in config -- [COOK-617] bind to private IP if available - -v1.0.6 ------- -- [COOK-605] install mysql-client package on ubuntu/debian - -v1.0.5 ------- -- [COOK-465] allow optional remote root connections to mysql -- [COOK-455] improve platform version handling -- externalize conf_dir attribute for easier cross platform support -- change datadir attribute to data_dir for consistency - -v1.0.4 ------- -- fix regressions on debian platform -- [COOK-578] wrap root password in quotes -- [COOK-562] expose all tunables in my.cnf diff --git a/provision/cookbooks/mysql/README.md b/provision/cookbooks/mysql/README.md deleted file mode 100755 index 9c935d5..0000000 --- a/provision/cookbooks/mysql/README.md +++ /dev/null @@ -1,220 +0,0 @@ -mysql Cookbook -============== -Installs and configures MySQL client or server. - - -Requirements ------------- -Chef 0.10.10+. - - -Platform --------- -- Debian, Ubuntu -- CentOS, Red Hat, Fedora -- Mac OS X (Using homebrew) - -Tested on: - -- Debian 5.0, 6.0 -- Ubuntu 10.04-12.04 -- CentOS 5.5-5.8, 6.2-6.3 -- Mac OS X 10.7.2 - -See TESTING.md for information about running tests in Opscode's Test Kitchen. - - -Cookbooks ---------- -Requires Opscode's openssl cookbook for secure password generation. See _Attributes_ and _Usage_ for more information. - -The RubyGem installation in the `mysql::ruby` recipe requires a C compiler and Ruby development headers to be installed in order to build the mysql gem. - -Requires `homebrew` [cookbook](http://community.opscode.com/cookbooks/homebrew) on Mac OS X. - - -Resources and Providers ------------------------ -The LWRP that used to ship as part of this cookbook has been refactored into the -[database](http://community.opscode.com/cookbooks/database) cookbook. Please see the README for details on updated usage. - - -Attributes ----------- -See the `attributes/server.rb` or `attributes/client.rb` for default values. Several attributes have values that vary based on the node's platform and version. - -* `node['mysql']['client']['packages']` - An array of package names - that should be installed on "client" systems. This can be modified, - e.g., to specify packages for Percona. -* `node['mysql']['server']['packages']` - An array of package names - that should be installed on "server" systems. This can be modified, - e.g., to specify packages for Percona. - -* `node['mysql']['auto-increment-increment']` - - auto-increment-increment value in my.cnf -* `node['mysql']['auto-increment-offset]` - auto-increment-offset - value in my.cnf -* `node['mysql']['basedir']` - Base directory where MySQL is installed -* `node['mysql']['bind_address']` - Listen address for MySQLd -* `node['mysql']['conf_dir']` - Location for mysql conf directory -* `node['mysql']['confd_dir']` - Location for mysql conf.d style - include directory -* `node['mysql']['data_dir']` - Location for mysql data directory -* `node['mysql']['ec2_path']` - location of mysql data_dir on EC2 - nodes -* `node['mysql']['grants_path']` - Path where the grants.sql should be - written -* `node['mysql']['mysqladmin_bin']` - Path to the mysqladmin binary -* `node['mysql']['old_passwords']` - Sets the `old_passwords` value in - my.cnf. -* `node['mysql']['pid_file']` - Path to the mysqld.pid file -* `node['mysql']['port']` - Liten port for MySQLd -* `node['mysql']['reload_action']` - Action to take when mysql conf - files are modified. Also allows "reload" and "none". -* `node['mysql']['root_group']` - The default group of the "root" user -* `node['mysql']['service_name']` - The name of the mysqld service -* `node['mysql']['socket']` - Path to the mysqld.sock file -* `node['mysql']['use_upstart']` - Whether to use upstart for the - service provider -* `mysql['root_network_acl']` - Set define the network the root user will be able to login from, default is nil - -Performance and other "tunable" attributes are under the `node['mysql']['tunable']` attribute, corresponding to the same-named parameter in my.cnf, and the default values are used. See `attributes/server.rb`. - -By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. - -* `node['mysql']['remove_anonymous_users']` - Remove anonymous users - -Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. - -* `node['mysql']['allow_remote_root']` - If true Sets root access from '%'. If false deletes any non-localhost root users. - -By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. This will also drop any user privileges to the test databae and any DB named test_% . - -* `node['mysql']['remove_test_database']` - Delete the test database and access to it. - -The following attributes are randomly generated passwords handled in the `mysql::server` recipe, using the OpenSSL cookbook's `secure_password` helper method. These are set using the `set_unless` node attribute method, which allows them to be easily overridden e.g. -in a role. - -* `node['mysql']['server_root_password']` - Set the server's root - password -* `node['mysql']['server_repl_password']` - Set the replication user - 'repl' password -* `node['mysql']['server_debian_password']` - Set the debian-sys-maint - user password - -### Windows Specific - -The following attributes are specific to Windows platforms. - -* `node['mysql']['client']['version']` - The version of MySQL - connector to install. -* `node['mysql']['client']['arch']` - Force 32 bit to work with the - mysql gem -* `node['mysql']['client']['package_file']` - The MSI file for the - mysql connector. -* `node['mysql']['client']['url']` - URL to download the mysql - connector. -* `node['mysql']['client']['packages']` - Similar to other platforms, - this is the name of the client package. -* `node['mysql']['client']['basedir']` - Base installation location -* `node['mysql']['client']['lib_dir']` - Libraries under the base location -* `node['mysql']['client']['bin_dir']` - binary directory under base location -* `node['mysql']['client']['ruby_dir']` - location where the Ruby - binaries will be - - -Usage ------ -On client nodes, use the client (or default) recipe: - -```javascript -{ "run_list": ["recipe[mysql::client]"] } -``` - -This will install the MySQL client libraries and development headers on the system. - -On nodes which may use the `database` cookbook's mysql resources, also use the ruby recipe. This installs the mysql RubyGem in the Ruby environment Chef is using via `chef_gem`. - -```javascript -{ "run_list": ["recipe[mysql::client]", "recipe[mysql::ruby]"] } -``` - -If you need to install the mysql Ruby library as a package for your system, override the client packages attribute in your node or role. For example, on an Ubuntu system: - -```javascript -{ - "mysql": { - "client": { - "packages": ["mysql-client", "libmysqlclient-dev","ruby-mysql"] - } - } -} -``` - -This creates a resource object for the package and does the installation before other recipes are parsed. You'll need to have the C compiler and such (ie, build-essential on Ubuntu) before running the recipes, but we already do that when installing Chef :-). - -On server nodes, use the server recipe: - -```javascript -{ "run_list": ["recipe[mysql::server]"] } -``` - -On Debian and Ubuntu, this will preseed the mysql-server package with the randomly generated root password in the recipe file. On other platforms, it simply installs the required packages. It will also create an SQL file, `/etc/mysql/grants.sql`, that will be used to set up grants for the root, repl and debian-sys-maint users. - -The recipe will perform a `node.save` unless it is run under `chef-solo` after the password attributes are used to ensure that in the event of a failed run, the saved attributes would be used. - -On EC2 nodes, use the `server_ec2` recipe and the mysql data dir will be set up in the ephmeral storage. - -```javascript -{ "run_list": ["recipe[mysql::server_ec2]"] } -``` - -When the `ec2_path` doesn't exist we look for a mounted filesystem (eg, EBS) and move the data_dir there. - -The client recipe is already included by server and 'default' recipes. - -For more infromation on the compile vs execution phase of a Chef run: - -- http://wiki.opscode.com/display/chef/Anatomy+of+a+Chef+Run - - -Chef Solo Note --------------- -These node attributes are stored on the Chef server when using `chef-client`. Because `chef-solo` does not connect to a server or save the node object at all, to have the same passwords persist across `chef-solo` runs, you must specify them in the `json_attribs` file used. For example: - -```javascript -{ - "mysql": { - "server_root_password": "iloverandompasswordsbutthiswilldo", - "server_repl_password": "iloverandompasswordsbutthiswilldo", - "server_debian_password": "iloverandompasswordsbutthiswilldo" - }, - "run_list":["recipe[mysql::server]"] -} -``` - - -License & Authors ------------------ -- Author:: Joshua Timberman () -- Author:: AJ Christensen () -- Author:: Seth Chisamore () -- Author:: Brian Bianco () -- Author:: Jesse Howarth () -- Author:: Andrew Crump () - -```text -Copyright:: 2009-2013 Opscode, Inc - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -``` diff --git a/provision/cookbooks/mysql/attributes/client.rb b/provision/cookbooks/mysql/attributes/client.rb deleted file mode 100755 index fcaa1da..0000000 --- a/provision/cookbooks/mysql/attributes/client.rb +++ /dev/null @@ -1,52 +0,0 @@ -# -# Cookbook Name:: mysql -# Attributes:: client -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Include Opscode helper in Node class to get access -# to debian_before_squeeze? and ubuntu_before_lucid? -::Chef::Node.send(:include, Opscode::Mysql::Helpers) - -case node['platform_family'] -when "rhel", "fedora" - default['mysql']['client']['packages'] = %w{mysql mysql-devel} -when "suse" - default['mysql']['client']['packages'] = %w{mysql-community-server-client libmysqlclient-devel} -when "debian" - if debian_before_squeeze? || ubuntu_before_lucid? - default['mysql']['client']['packages'] = %w{mysql-client libmysqlclient15-dev} - else - default['mysql']['client']['packages'] = %w{mysql-client libmysqlclient-dev} - end -when "freebsd" - default['mysql']['client']['packages'] = %w{mysql55-client} -when "windows" - default['mysql']['client']['version'] = "6.0.2" - default['mysql']['client']['arch'] = "win32" # force 32 bit to work with mysql gem - default['mysql']['client']['package_file'] = "mysql-connector-c-#{mysql['client']['version']}-#{mysql['client']['arch']}.msi" - default['mysql']['client']['url'] = "http://www.mysql.com/get/Downloads/Connector-C/#{mysql['client']['package_file']}/from/http://mysql.mirrors.pair.com/" - default['mysql']['client']['packages'] = ["MySQL Connector C #{mysql['client']['version']}"] - - default['mysql']['client']['basedir'] = "#{ENV['SYSTEMDRIVE']}\\Program Files (x86)\\MySQL\\#{mysql['client']['packages'].first}" - default['mysql']['client']['lib_dir'] = "#{mysql['client']['basedir']}\\lib/opt" - default['mysql']['client']['bin_dir'] = "#{mysql['client']['basedir']}\\bin" - default['mysql']['client']['ruby_dir'] = RbConfig::CONFIG['bindir'] -when "mac_os_x" - default['mysql']['client']['packages'] = %w{mysql-connector-c} -else - default['mysql']['client']['packages'] = %w{mysql-client libmysqlclient-dev} -end - diff --git a/provision/cookbooks/mysql/attributes/percona_repo.rb b/provision/cookbooks/mysql/attributes/percona_repo.rb deleted file mode 100755 index 80650a6..0000000 --- a/provision/cookbooks/mysql/attributes/percona_repo.rb +++ /dev/null @@ -1,3 +0,0 @@ -default['mysql']['percona']['apt_key_id'] = 'CD2EFD2A' -default['mysql']['percona']['apt_uri'] = "http://repo.percona.com/apt" -default['mysql']['percona']['apt_keyserver'] = "keys.gnupg.net" diff --git a/provision/cookbooks/mysql/attributes/server.rb b/provision/cookbooks/mysql/attributes/server.rb deleted file mode 100755 index 77fca39..0000000 --- a/provision/cookbooks/mysql/attributes/server.rb +++ /dev/null @@ -1,254 +0,0 @@ -# -# Cookbook Name:: mysql -# Attributes:: server -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -default['mysql']['bind_address'] = node.attribute?('cloud') ? node.cloud['local_ipv4'] : node['ipaddress'] -default['mysql']['port'] = 3306 -default['mysql']['nice'] = 0 - -case node["platform_family"] -when "debian" - default['mysql']['server']['packages'] = %w{mysql-server} - default['mysql']['service_name'] = "mysql" - default['mysql']['basedir'] = "/usr" - default['mysql']['data_dir'] = "/var/lib/mysql" - default['mysql']['root_group'] = "root" - default['mysql']['mysqladmin_bin'] = "/usr/bin/mysqladmin" - default['mysql']['mysql_bin'] = "/usr/bin/mysql" - - default['mysql']['conf_dir'] = '/etc/mysql' - default['mysql']['confd_dir'] = '/etc/mysql/conf.d' - default['mysql']['socket'] = "/var/run/mysqld/mysqld.sock" - default['mysql']['pid_file'] = "/var/run/mysqld/mysqld.pid" - default['mysql']['old_passwords'] = 0 - default['mysql']['grants_path'] = "/etc/mysql/grants.sql" -when "rhel", "fedora" - if node["mysql"]["version"].to_f >= 5.5 - default['mysql']['service_name'] = "mysql" - default['mysql']['pid_file'] = "/var/run/mysql/mysql.pid" - else - default['mysql']['service_name'] = "mysqld" - default['mysql']['pid_file'] = "/var/run/mysqld/mysqld.pid" - end - default['mysql']['server']['packages'] = %w{mysql-server} - default['mysql']['basedir'] = "/usr" - default['mysql']['data_dir'] = "/var/lib/mysql" - default['mysql']['root_group'] = "root" - default['mysql']['mysqladmin_bin'] = "/usr/bin/mysqladmin" - default['mysql']['mysql_bin'] = "/usr/bin/mysql" - - default['mysql']['conf_dir'] = '/etc' - default['mysql']['confd_dir'] = '/etc/mysql/conf.d' - default['mysql']['socket'] = "/var/lib/mysql/mysql.sock" - default['mysql']['old_passwords'] = 1 - default['mysql']['grants_path'] = "/etc/mysql_grants.sql" - # RHEL/CentOS mysql package does not support this option. - default['mysql']['tunable']['innodb_adaptive_flushing'] = false -when "suse" - default['mysql']['service_name'] = "mysql" - default['mysql']['server']['packages'] = %w{mysql-community-server} - default['mysql']['basedir'] = "/usr" - default['mysql']['data_dir'] = "/var/lib/mysql" - default['mysql']['root_group'] = "root" - default['mysql']['mysqladmin_bin'] = "/usr/bin/mysqladmin" - default['mysql']['mysql_bin'] = "/usr/bin/mysql" - default['mysql']['conf_dir'] = '/etc' - default['mysql']['confd_dir'] = '/etc/mysql/conf.d' - default['mysql']['socket'] = "/var/run/mysql/mysql.sock" - default['mysql']['pid_file'] = "/var/run/mysql/mysqld.pid" - default['mysql']['old_passwords'] = 1 - default['mysql']['grants_path'] = "/etc/mysql_grants.sql" -when "freebsd" - default['mysql']['server']['packages'] = %w{mysql55-server} - default['mysql']['service_name'] = "mysql-server" - default['mysql']['basedir'] = "/usr/local" - default['mysql']['data_dir'] = "/var/db/mysql" - default['mysql']['root_group'] = "wheel" - default['mysql']['mysqladmin_bin'] = "/usr/local/bin/mysqladmin" - default['mysql']['mysql_bin'] = "/usr/local/bin/mysql" - - default['mysql']['conf_dir'] = '/usr/local/etc' - default['mysql']['confd_dir'] = '/usr/local/etc/mysql/conf.d' - default['mysql']['socket'] = "/tmp/mysqld.sock" - default['mysql']['pid_file'] = "/var/run/mysqld/mysqld.pid" - default['mysql']['old_passwords'] = 0 - default['mysql']['grants_path'] = "/var/db/mysql/grants.sql" -when "windows" - default['mysql']['server']['packages'] = ["MySQL Server 5.5"] - default['mysql']['version'] = '5.5.21' - default['mysql']['arch'] = 'win32' - default['mysql']['package_file'] = "mysql-#{mysql['version']}-#{mysql['arch']}.msi" - default['mysql']['url'] = "http://www.mysql.com/get/Downloads/MySQL-5.5/#{mysql['package_file']}/from/http://mysql.mirrors.pair.com/" - - default['mysql']['service_name'] = "mysql" - default['mysql']['basedir'] = "#{ENV['SYSTEMDRIVE']}\\Program Files (x86)\\MySQL\\#{mysql['server']['packages'].first}" - default['mysql']['data_dir'] = "#{node['mysql']['basedir']}\\Data" - default['mysql']['bin_dir'] = "#{node['mysql']['basedir']}\\bin" - default['mysql']['mysqladmin_bin'] = "#{node['mysql']['bin_dir']}\\mysqladmin" - default['mysql']['mysql_bin'] = "#{node['mysql']['bin_dir']}\\mysql" - - default['mysql']['conf_dir'] = node['mysql']['basedir'] - default['mysql']['old_passwords'] = 0 - default['mysql']['grants_path'] = "#{node['mysql']['conf_dir']}\\grants.sql" -when "mac_os_x" - default['mysql']['server']['packages'] = %w{mysql} - default['mysql']['basedir'] = "/usr/local/Cellar" - default['mysql']['data_dir'] = "/usr/local/var/mysql" - default['mysql']['root_group'] = "admin" - default['mysql']['mysqladmin_bin'] = "/usr/local/bin/mysqladmin" - default['mysql']['mysql_bin'] = "/usr/local/bin/mysql" -else - default['mysql']['server']['packages'] = %w{mysql-server} - default['mysql']['service_name'] = "mysql" - default['mysql']['basedir'] = "/usr" - default['mysql']['data_dir'] = "/var/lib/mysql" - default['mysql']['root_group'] = "root" - default['mysql']['mysqladmin_bin'] = "/usr/bin/mysqladmin" - default['mysql']['mysql_bin'] = "/usr/bin/mysql" - - default['mysql']['conf_dir'] = '/etc/mysql' - default['mysql']['confd_dir'] = '/etc/mysql/conf.d' - default['mysql']['socket'] = "/var/run/mysqld/mysqld.sock" - default['mysql']['pid_file'] = "/var/run/mysqld/mysqld.pid" - default['mysql']['old_passwords'] = 0 - default['mysql']['grants_path'] = "/etc/mysql/grants.sql" -end - -if attribute?('ec2') - default['mysql']['ec2_path'] = "/mnt/mysql" - default['mysql']['ebs_vol_dev'] = "/dev/sdi" - default['mysql']['ebs_vol_size'] = 50 -end - -default['mysql']['reload_action'] = "restart" # or "reload" or "none" - -default['mysql']['use_upstart'] = node['platform'] == "ubuntu" && node['platform_version'].to_f >= 10.04 - -default['mysql']['auto-increment-increment'] = 1 -default['mysql']['auto-increment-offset'] = 1 - -default['mysql']['allow_remote_root'] = false -default['mysql']['remove_anonymous_users'] = false -default['mysql']['remove_test_database'] = false -default['mysql']['root_network_acl'] = nil -default['mysql']['tunable']['character-set-server'] = "utf8" -default['mysql']['tunable']['collation-server'] = "utf8_general_ci" -default['mysql']['tunable']['lower_case_table_names'] = nil -default['mysql']['tunable']['back_log'] = "128" -default['mysql']['tunable']['key_buffer_size'] = "256M" -default['mysql']['tunable']['myisam_sort_buffer_size'] = "8M" -default['mysql']['tunable']['myisam_max_sort_file_size'] = "2147483648" -default['mysql']['tunable']['myisam_repair_threads'] = "1" -default['mysql']['tunable']['myisam-recover'] = "BACKUP" -default['mysql']['tunable']['max_allowed_packet'] = "16M" -default['mysql']['tunable']['max_connections'] = "800" -default['mysql']['tunable']['max_connect_errors'] = "10" -default['mysql']['tunable']['concurrent_insert'] = "2" -default['mysql']['tunable']['connect_timeout'] = "10" -default['mysql']['tunable']['tmp_table_size'] = "32M" -default['mysql']['tunable']['max_heap_table_size'] = node['mysql']['tunable']['tmp_table_size'] -default['mysql']['tunable']['bulk_insert_buffer_size'] = node['mysql']['tunable']['tmp_table_size'] -default['mysql']['tunable']['net_read_timeout'] = "30" -default['mysql']['tunable']['net_write_timeout'] = "30" -default['mysql']['tunable']['table_cache'] = "128" - -default['mysql']['tunable']['thread_cache_size'] = 8 -default['mysql']['tunable']['thread_concurrency'] = 10 -default['mysql']['tunable']['thread_stack'] = "256K" -default['mysql']['tunable']['sort_buffer_size'] = "2M" -default['mysql']['tunable']['read_buffer_size'] = "128k" -default['mysql']['tunable']['read_rnd_buffer_size'] = "256k" -default['mysql']['tunable']['join_buffer_size'] = "128k" -default['mysql']['tunable']['wait_timeout'] = "180" -default['mysql']['tunable']['open-files-limit'] = "1024" - -default['mysql']['tunable']['sql_mode'] = nil - -default['mysql']['tunable']['skip-character-set-client-handshake'] = false -default['mysql']['tunable']['skip-name-resolve'] = false - -default['mysql']['tunable']['slave_compressed_protocol'] = 0 - -default['mysql']['tunable']['server_id'] = nil -default['mysql']['tunable']['log_bin'] = nil -default['mysql']['tunable']['log_bin_trust_function_creators'] = false - -default['mysql']['tunable']['relay_log'] = nil -default['mysql']['tunable']['relay_log_index'] = nil -default['mysql']['tunable']['log_slave_updates'] = false - -default['mysql']['tunable']['sync_binlog'] = 0 -default['mysql']['tunable']['skip_slave_start'] = false -default['mysql']['tunable']['read_only'] = false - -default['mysql']['tunable']['log_error'] = nil -default['mysql']['tunable']['log_warnings'] = false -default['mysql']['tunable']['log_queries_not_using_index'] = true -default['mysql']['tunable']['log_bin_trust_function_creators'] = false - -default['mysql']['tunable']['innodb_log_file_size'] = "5M" -default['mysql']['tunable']['innodb_buffer_pool_size'] = "128M" -default['mysql']['tunable']['innodb_buffer_pool_instances'] = "4" -default['mysql']['tunable']['innodb_additional_mem_pool_size'] = "8M" -default['mysql']['tunable']['innodb_data_file_path'] = "ibdata1:10M:autoextend" -default['mysql']['tunable']['innodb_flush_method'] = false -default['mysql']['tunable']['innodb_log_buffer_size'] = "8M" -default['mysql']['tunable']['innodb_write_io_threads'] = "4" -default['mysql']['tunable']['innodb_io_capacity'] = "200" -default['mysql']['tunable']['innodb_file_per_table'] = true -default['mysql']['tunable']['innodb_lock_wait_timeout'] = "60" -if node['cpu'].nil? or node['cpu']['total'].nil? - default['mysql']['tunable']['innodb_thread_concurrency'] = "8" - default['mysql']['tunable']['innodb_commit_concurrency'] = "8" - default['mysql']['tunable']['innodb_read_io_threads'] = "8" -else - default['mysql']['tunable']['innodb_thread_concurrency'] = "#{(Integer(node['cpu']['total'])) * 2}" - default['mysql']['tunable']['innodb_commit_concurrency'] = "#{(Integer(node['cpu']['total'])) * 2}" - default['mysql']['tunable']['innodb_read_io_threads'] = "#{(Integer(node['cpu']['total'])) * 2}" -end -default['mysql']['tunable']['innodb_flush_log_at_trx_commit'] = "1" -default['mysql']['tunable']['innodb_support_xa'] = true -default['mysql']['tunable']['innodb_table_locks'] = true -default['mysql']['tunable']['skip-innodb-doublewrite'] = false - -default['mysql']['tunable']['transaction-isolation'] = nil - -default['mysql']['tunable']['query_cache_limit'] = "1M" -default['mysql']['tunable']['query_cache_size'] = "16M" - -default['mysql']['tunable']['log_slow_queries'] = "/var/log/mysql/slow.log" -default['mysql']['tunable']['slow_query_log'] = node['mysql']['tunable']['log_slow_queries'] # log_slow_queries is deprecated - # in favor of slow_query_log -default['mysql']['tunable']['long_query_time'] = 2 - -default['mysql']['tunable']['expire_logs_days'] = 10 -default['mysql']['tunable']['max_binlog_size'] = "100M" -default['mysql']['tunable']['binlog_cache_size'] = "32K" - -default['mysql']['tmpdir'] = ["/tmp"] - -default['mysql']['log_dir'] = node['mysql']['data_dir'] -default['mysql']['log_files_in_group'] = false -default['mysql']['innodb_status_file'] = false - -unless node['platform_family'] == "rhel" && node['platform_version'].to_i < 6 - # older RHEL platforms don't support these options - default['mysql']['tunable']['event_scheduler'] = 0 - default['mysql']['tunable']['table_open_cache'] = "128" - default['mysql']['tunable']['binlog_format'] = "statement" if node['mysql']['tunable']['log_bin'] -end diff --git a/provision/cookbooks/mysql/libraries/helpers.rb b/provision/cookbooks/mysql/libraries/helpers.rb deleted file mode 100755 index 40adcfc..0000000 --- a/provision/cookbooks/mysql/libraries/helpers.rb +++ /dev/null @@ -1,33 +0,0 @@ -# -# Author:: Seth Chisamore () -# Copyright:: Copyright (c) 2011 Opscode, Inc. -# License:: Apache License, Version 2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -module Opscode - module Mysql - module Helpers - - def debian_before_squeeze? - (node['platform'] == "debian") && (node['platform_version'].to_f < 6.0) - end - - def ubuntu_before_lucid? - (node['platform'] == "ubuntu") && (node['platform_version'].to_f < 10.0) - end - - end - end -end diff --git a/provision/cookbooks/mysql/metadata.json b/provision/cookbooks/mysql/metadata.json deleted file mode 100755 index 836db99..0000000 --- a/provision/cookbooks/mysql/metadata.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "name": "mysql", - "version": "3.0.4", - "description": "Installs and configures mysql for client or server", - "long_description": "mysql Cookbook\n==============\nInstalls and configures MySQL client or server.\n\n\nRequirements\n------------\nChef 0.10.10+.\n\n\nPlatform\n--------\n- Debian, Ubuntu\n- CentOS, Red Hat, Fedora\n- Mac OS X (Using homebrew)\n\nTested on:\n\n- Debian 5.0, 6.0\n- Ubuntu 10.04-12.04\n- CentOS 5.5-5.8, 6.2-6.3\n- Mac OS X 10.7.2\n\nSee TESTING.md for information about running tests in Opscode's Test Kitchen.\n\n\nCookbooks\n---------\nRequires Opscode's openssl cookbook for secure password generation. See _Attributes_ and _Usage_ for more information.\n\nThe RubyGem installation in the `mysql::ruby` recipe requires a C compiler and Ruby development headers to be installed in order to build the mysql gem.\n\nRequires `homebrew` [cookbook](http://community.opscode.com/cookbooks/homebrew) on Mac OS X.\n\n\nResources and Providers\n-----------------------\nThe LWRP that used to ship as part of this cookbook has been refactored into the\n[database](http://community.opscode.com/cookbooks/database) cookbook. Please see the README for details on updated usage.\n\n\nAttributes\n----------\nSee the `attributes/server.rb` or `attributes/client.rb` for default values. Several attributes have values that vary based on the node's platform and version.\n\n* `node['mysql']['client']['packages']` - An array of package names\n that should be installed on \"client\" systems. This can be modified,\n e.g., to specify packages for Percona.\n* `node['mysql']['server']['packages']` - An array of package names\n that should be installed on \"server\" systems. This can be modified,\n e.g., to specify packages for Percona.\n\n* `node['mysql']['auto-increment-increment']` -\n auto-increment-increment value in my.cnf\n* `node['mysql']['auto-increment-offset]` - auto-increment-offset\n value in my.cnf\n* `node['mysql']['basedir']` - Base directory where MySQL is installed\n* `node['mysql']['bind_address']` - Listen address for MySQLd\n* `node['mysql']['conf_dir']` - Location for mysql conf directory\n* `node['mysql']['confd_dir']` - Location for mysql conf.d style\n include directory\n* `node['mysql']['data_dir']` - Location for mysql data directory\n* `node['mysql']['ec2_path']` - location of mysql data_dir on EC2\n nodes\n* `node['mysql']['grants_path']` - Path where the grants.sql should be\n written\n* `node['mysql']['mysqladmin_bin']` - Path to the mysqladmin binary\n* `node['mysql']['old_passwords']` - Sets the `old_passwords` value in\n my.cnf.\n* `node['mysql']['pid_file']` - Path to the mysqld.pid file\n* `node['mysql']['port']` - Liten port for MySQLd\n* `node['mysql']['reload_action']` - Action to take when mysql conf\n files are modified. Also allows \"reload\" and \"none\".\n* `node['mysql']['root_group']` - The default group of the \"root\" user\n* `node['mysql']['service_name']` - The name of the mysqld service\n* `node['mysql']['socket']` - Path to the mysqld.sock file\n* `node['mysql']['use_upstart']` - Whether to use upstart for the\n service provider\n* `mysql['root_network_acl']` - Set define the network the root user will be able to login from, default is nil\n\nPerformance and other \"tunable\" attributes are under the `node['mysql']['tunable']` attribute, corresponding to the same-named parameter in my.cnf, and the default values are used. See `attributes/server.rb`.\n\nBy default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment.\n\n* `node['mysql']['remove_anonymous_users']` - Remove anonymous users\n\nNormally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network.\n\n* `node['mysql']['allow_remote_root']` - If true Sets root access from '%'. If false deletes any non-localhost root users.\n\nBy default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. This will also drop any user privileges to the test databae and any DB named test_% .\n\n* `node['mysql']['remove_test_database']` - Delete the test database and access to it.\n\nThe following attributes are randomly generated passwords handled in the `mysql::server` recipe, using the OpenSSL cookbook's `secure_password` helper method. These are set using the `set_unless` node attribute method, which allows them to be easily overridden e.g.\nin a role.\n\n* `node['mysql']['server_root_password']` - Set the server's root\n password\n* `node['mysql']['server_repl_password']` - Set the replication user\n 'repl' password\n* `node['mysql']['server_debian_password']` - Set the debian-sys-maint\n user password\n\n### Windows Specific\n\nThe following attributes are specific to Windows platforms.\n\n* `node['mysql']['client']['version']` - The version of MySQL\n connector to install.\n* `node['mysql']['client']['arch']` - Force 32 bit to work with the\n mysql gem\n* `node['mysql']['client']['package_file']` - The MSI file for the\n mysql connector.\n* `node['mysql']['client']['url']` - URL to download the mysql\n connector.\n* `node['mysql']['client']['packages']` - Similar to other platforms,\n this is the name of the client package.\n* `node['mysql']['client']['basedir']` - Base installation location\n* `node['mysql']['client']['lib_dir']` - Libraries under the base location\n* `node['mysql']['client']['bin_dir']` - binary directory under base location\n* `node['mysql']['client']['ruby_dir']` - location where the Ruby\n binaries will be\n\n\nUsage\n-----\nOn client nodes, use the client (or default) recipe:\n\n```javascript\n{ \"run_list\": [\"recipe[mysql::client]\"] }\n```\n\nThis will install the MySQL client libraries and development headers on the system.\n\nOn nodes which may use the `database` cookbook's mysql resources, also use the ruby recipe. This installs the mysql RubyGem in the Ruby environment Chef is using via `chef_gem`.\n\n```javascript\n{ \"run_list\": [\"recipe[mysql::client]\", \"recipe[mysql::ruby]\"] }\n```\n\nIf you need to install the mysql Ruby library as a package for your system, override the client packages attribute in your node or role. For example, on an Ubuntu system:\n\n```javascript\n{\n \"mysql\": {\n \"client\": {\n \"packages\": [\"mysql-client\", \"libmysqlclient-dev\",\"ruby-mysql\"]\n }\n }\n}\n```\n\nThis creates a resource object for the package and does the installation before other recipes are parsed. You'll need to have the C compiler and such (ie, build-essential on Ubuntu) before running the recipes, but we already do that when installing Chef :-).\n\nOn server nodes, use the server recipe:\n\n```javascript\n{ \"run_list\": [\"recipe[mysql::server]\"] }\n```\n\nOn Debian and Ubuntu, this will preseed the mysql-server package with the randomly generated root password in the recipe file. On other platforms, it simply installs the required packages. It will also create an SQL file, `/etc/mysql/grants.sql`, that will be used to set up grants for the root, repl and debian-sys-maint users.\n\nThe recipe will perform a `node.save` unless it is run under `chef-solo` after the password attributes are used to ensure that in the event of a failed run, the saved attributes would be used.\n\nOn EC2 nodes, use the `server_ec2` recipe and the mysql data dir will be set up in the ephmeral storage.\n\n```javascript\n{ \"run_list\": [\"recipe[mysql::server_ec2]\"] }\n```\n\nWhen the `ec2_path` doesn't exist we look for a mounted filesystem (eg, EBS) and move the data_dir there.\n\nThe client recipe is already included by server and 'default' recipes.\n\nFor more infromation on the compile vs execution phase of a Chef run:\n\n- http://wiki.opscode.com/display/chef/Anatomy+of+a+Chef+Run\n\n\nChef Solo Note\n--------------\nThese node attributes are stored on the Chef server when using `chef-client`. Because `chef-solo` does not connect to a server or save the node object at all, to have the same passwords persist across `chef-solo` runs, you must specify them in the `json_attribs` file used. For example:\n\n```javascript\n{\n \"mysql\": {\n \"server_root_password\": \"iloverandompasswordsbutthiswilldo\",\n \"server_repl_password\": \"iloverandompasswordsbutthiswilldo\",\n \"server_debian_password\": \"iloverandompasswordsbutthiswilldo\"\n },\n \"run_list\":[\"recipe[mysql::server]\"]\n}\n```\n\n\nLicense & Authors\n-----------------\n- Author:: Joshua Timberman ()\n- Author:: AJ Christensen ()\n- Author:: Seth Chisamore ()\n- Author:: Brian Bianco ()\n- Author:: Jesse Howarth ()\n- Author:: Andrew Crump ()\n\n```text\nCopyright:: 2009-2013 Opscode, Inc\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n", - "maintainer": "Opscode, Inc.", - "maintainer_email": "cookbooks@opscode.com", - "license": "Apache 2.0", - "platforms": { - "debian": ">= 0.0.0", - "ubuntu": ">= 0.0.0", - "centos": ">= 0.0.0", - "suse": ">= 0.0.0", - "fedora": ">= 0.0.0", - "redhat": ">= 0.0.0", - "scientific": ">= 0.0.0", - "amazon": ">= 0.0.0", - "freebsd": ">= 0.0.0", - "windows": ">= 0.0.0", - "mac_os_x": ">= 0.0.0" - }, - "dependencies": { - "openssl": ">= 0.0.0", - "build-essential": "> 1.1.0" - }, - "recommendations": { - }, - "suggestions": { - "homebrew": ">= 0.0.0", - "windows": ">= 0.0.0" - }, - "conflicting": { - }, - "providing": { - }, - "replacing": { - }, - "attributes": { - "mysql/server_root_password": { - "display_name": "MySQL Server Root Password", - "description": "Randomly generated password for the mysqld root user", - "default": "randomly generated" - }, - "mysql/bind_address": { - "display_name": "MySQL Bind Address", - "description": "Address that mysqld should listen on", - "default": "ipaddress" - }, - "mysql/data_dir": { - "display_name": "MySQL Data Directory", - "description": "Location of mysql databases", - "default": "/var/lib/mysql" - }, - "mysql/conf_dir": { - "display_name": "MySQL Conf Directory", - "description": "Location of mysql conf files", - "default": "/etc/mysql" - }, - "mysql/ec2_path": { - "display_name": "MySQL EC2 Path", - "description": "Location of mysql directory on EC2 instance EBS volumes", - "default": "/mnt/mysql" - }, - "mysql/reload_action": { - "display_name": "MySQL conf file reload action", - "description": "Action to take when mysql conf files are modified", - "default": "reload" - }, - "mysql/tunable": { - "display_name": "MySQL Tunables", - "description": "Hash of MySQL tunable attributes", - "type": "hash" - }, - "mysql/tunable/key_buffer": { - "display_name": "MySQL Tuntable Key Buffer", - "default": "250M" - }, - "mysql/tunable/max_connections": { - "display_name": "MySQL Tunable Max Connections", - "default": "800" - }, - "mysql/tunable/wait_timeout": { - "display_name": "MySQL Tunable Wait Timeout", - "default": "180" - }, - "mysql/tunable/net_read_timeout": { - "display_name": "MySQL Tunable Net Read Timeout", - "default": "30" - }, - "mysql/tunable/net_write_timeout": { - "display_name": "MySQL Tunable Net Write Timeout", - "default": "30" - }, - "mysql/tunable/back_log": { - "display_name": "MySQL Tunable Back Log", - "default": "128" - }, - "mysql/tunable/table_cache": { - "display_name": "MySQL Tunable Table Cache for MySQL < 5.1.3", - "default": "128" - }, - "mysql/tunable/table_open_cache": { - "display_name": "MySQL Tunable Table Cache for MySQL >= 5.1.3", - "default": "128" - }, - "mysql/tunable/max_heap_table_size": { - "display_name": "MySQL Tunable Max Heap Table Size", - "default": "32M" - }, - "mysql/tunable/expire_logs_days": { - "display_name": "MySQL Exipre Log Days", - "default": "10" - }, - "mysql/tunable/max_binlog_size": { - "display_name": "MySQL Max Binlog Size", - "default": "100M" - }, - "mysql/client": { - "display_name": "MySQL Connector/C Client", - "description": "Hash of MySQL client attributes", - "type": "hash" - }, - "mysql/client/version": { - "display_name": "MySQL Connector/C Version", - "default": "6.0.2" - }, - "mysql/client/arch": { - "display_name": "MySQL Connector/C Architecture", - "default": "win32" - }, - "mysql/client/package_file": { - "display_name": "MySQL Connector/C Package File Name", - "default": "mysql-connector-c-6.0.2-win32.msi" - }, - "mysql/client/url": { - "display_name": "MySQL Connector/C Download URL", - "default": "http://www.mysql.com/get/Downloads/Connector-C/mysql-connector-c-6.0.2-win32.msi/from/http://mysql.mirrors.pair.com/" - }, - "mysql/client/package_name": { - "display_name": "MySQL Connector/C Registry DisplayName", - "default": "MySQL Connector C 6.0.2" - }, - "mysql/client/basedir": { - "display_name": "MySQL Connector/C Base Install Directory", - "default": "C:\\Program Files (x86)\\MySQL\\Connector C 6.0.2" - }, - "mysql/client/lib_dir": { - "display_name": "MySQL Connector/C Library Directory (containing libmysql.dll)", - "default": "C:\\Program Files (x86)\\MySQL\\Connector C 6.0.2\\lib\\opt" - }, - "mysql/client/bin_dir": { - "display_name": "MySQL Connector/C Executable Directory", - "default": "C:\\Program Files (x86)\\MySQL\\Connector C 6.0.2\\bin" - }, - "mysql/client/ruby_dir": { - "display_name": "Ruby Executable Directory which should gain MySQL support", - "default": "system ruby" - } - }, - "groupings": { - }, - "recipes": { - "mysql": "Includes the client recipe to configure a client", - "mysql::client": "Installs packages required for mysql clients using run_action magic", - "mysql::server": "Installs packages required for mysql servers w/o manual intervention", - "mysql::server_ec2": "Performs EC2-specific mountpoint manipulation" - } -} \ No newline at end of file diff --git a/provision/cookbooks/mysql/metadata.rb b/provision/cookbooks/mysql/metadata.rb deleted file mode 100755 index d1f7e16..0000000 --- a/provision/cookbooks/mysql/metadata.rb +++ /dev/null @@ -1,140 +0,0 @@ -name "mysql" -maintainer "Opscode, Inc." -maintainer_email "cookbooks@opscode.com" -license "Apache 2.0" -description "Installs and configures mysql for client or server" -long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version "3.0.4" -recipe "mysql", "Includes the client recipe to configure a client" -recipe "mysql::client", "Installs packages required for mysql clients using run_action magic" -recipe "mysql::server", "Installs packages required for mysql servers w/o manual intervention" -recipe "mysql::server_ec2", "Performs EC2-specific mountpoint manipulation" - -%w{ debian ubuntu centos suse fedora redhat scientific amazon freebsd windows mac_os_x }.each do |os| - supports os -end - -depends "openssl" -depends "build-essential", "> 1.1.0" -suggests "homebrew" -suggests "windows" - -attribute "mysql/server_root_password", - :display_name => "MySQL Server Root Password", - :description => "Randomly generated password for the mysqld root user", - :default => "randomly generated" - -attribute "mysql/bind_address", - :display_name => "MySQL Bind Address", - :description => "Address that mysqld should listen on", - :default => "ipaddress" - -attribute "mysql/data_dir", - :display_name => "MySQL Data Directory", - :description => "Location of mysql databases", - :default => "/var/lib/mysql" - -attribute "mysql/conf_dir", - :display_name => "MySQL Conf Directory", - :description => "Location of mysql conf files", - :default => "/etc/mysql" - -attribute "mysql/ec2_path", - :display_name => "MySQL EC2 Path", - :description => "Location of mysql directory on EC2 instance EBS volumes", - :default => "/mnt/mysql" - -attribute "mysql/reload_action", - :display_name => "MySQL conf file reload action", - :description => "Action to take when mysql conf files are modified", - :default => "reload" - -attribute "mysql/tunable", - :display_name => "MySQL Tunables", - :description => "Hash of MySQL tunable attributes", - :type => "hash" - -attribute "mysql/tunable/key_buffer", - :display_name => "MySQL Tuntable Key Buffer", - :default => "250M" - -attribute "mysql/tunable/max_connections", - :display_name => "MySQL Tunable Max Connections", - :default => "800" - -attribute "mysql/tunable/wait_timeout", - :display_name => "MySQL Tunable Wait Timeout", - :default => "180" - -attribute "mysql/tunable/net_read_timeout", - :display_name => "MySQL Tunable Net Read Timeout", - :default => "30" - -attribute "mysql/tunable/net_write_timeout", - :display_name => "MySQL Tunable Net Write Timeout", - :default => "30" - -attribute "mysql/tunable/back_log", - :display_name => "MySQL Tunable Back Log", - :default => "128" - -attribute "mysql/tunable/table_cache", - :display_name => "MySQL Tunable Table Cache for MySQL < 5.1.3", - :default => "128" - -attribute "mysql/tunable/table_open_cache", - :display_name => "MySQL Tunable Table Cache for MySQL >= 5.1.3", - :default => "128" - -attribute "mysql/tunable/max_heap_table_size", - :display_name => "MySQL Tunable Max Heap Table Size", - :default => "32M" - -attribute "mysql/tunable/expire_logs_days", - :display_name => "MySQL Exipre Log Days", - :default => "10" - -attribute "mysql/tunable/max_binlog_size", - :display_name => "MySQL Max Binlog Size", - :default => "100M" - -attribute "mysql/client", - :display_name => "MySQL Connector/C Client", - :description => "Hash of MySQL client attributes", - :type => "hash" - -attribute "mysql/client/version", - :display_name => "MySQL Connector/C Version", - :default => "6.0.2" - -attribute "mysql/client/arch", - :display_name => "MySQL Connector/C Architecture", - :default => "win32" - -attribute "mysql/client/package_file", - :display_name => "MySQL Connector/C Package File Name", - :default => "mysql-connector-c-6.0.2-win32.msi" - -attribute "mysql/client/url", - :display_name => "MySQL Connector/C Download URL", - :default => "http://www.mysql.com/get/Downloads/Connector-C/mysql-connector-c-6.0.2-win32.msi/from/http://mysql.mirrors.pair.com/" - -attribute "mysql/client/package_name", - :display_name => "MySQL Connector/C Registry DisplayName", - :default => "MySQL Connector C 6.0.2" - -attribute "mysql/client/basedir", - :display_name => "MySQL Connector/C Base Install Directory", - :default => "C:\\Program Files (x86)\\MySQL\\Connector C 6.0.2" - -attribute "mysql/client/lib_dir", - :display_name => "MySQL Connector/C Library Directory (containing libmysql.dll)", - :default => "C:\\Program Files (x86)\\MySQL\\Connector C 6.0.2\\lib\\opt" - -attribute "mysql/client/bin_dir", - :display_name => "MySQL Connector/C Executable Directory", - :default => "C:\\Program Files (x86)\\MySQL\\Connector C 6.0.2\\bin" - -attribute "mysql/client/ruby_dir", - :display_name => "Ruby Executable Directory which should gain MySQL support", - :default => "system ruby" diff --git a/provision/cookbooks/mysql/recipes/client.rb b/provision/cookbooks/mysql/recipes/client.rb deleted file mode 100755 index 91787e7..0000000 --- a/provision/cookbooks/mysql/recipes/client.rb +++ /dev/null @@ -1,59 +0,0 @@ -# -# Cookbook Name:: mysql -# Recipe:: client -# -# Copyright 2008-2011, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -# Include Opscode helper in Recipe class to get access -# to debian_before_squeeze? and ubuntu_before_lucid? -::Chef::Recipe.send(:include, Opscode::Mysql::Helpers) - -case node['platform'] -when "windows" - package_file = node['mysql']['client']['package_file'] - remote_file "#{Chef::Config[:file_cache_path]}/#{package_file}" do - source node['mysql']['client']['url'] - not_if { File.exists? "#{Chef::Config[:file_cache_path]}/#{package_file}" } - end - - windows_package node['mysql']['client']['packages'].first do - source "#{Chef::Config[:file_cache_path]}/#{package_file}" - end - windows_path node['mysql']['client']['bin_dir'] do - action :add - end - def package(*args, &blk) - windows_package(*args, &blk) - end -when "mac_os_x" - include_recipe 'homebrew' -end - -node['mysql']['client']['packages'].each do |mysql_pack| - package mysql_pack do - action :install - end -end - -if platform? 'windows' - ruby_block "copy libmysql.dll into ruby path" do - block do - require 'fileutils' - FileUtils.cp "#{node['mysql']['client']['lib_dir']}\\libmysql.dll", node['mysql']['client']['ruby_dir'] - end - not_if { File.exist?("#{node['mysql']['client']['ruby_dir']}\\libmysql.dll") } - end -end diff --git a/provision/cookbooks/mysql/recipes/default.rb b/provision/cookbooks/mysql/recipes/default.rb deleted file mode 100755 index 9ff90d6..0000000 --- a/provision/cookbooks/mysql/recipes/default.rb +++ /dev/null @@ -1,20 +0,0 @@ -# -# Cookbook Name:: mysql -# Recipe:: default -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -include_recipe "mysql::client" diff --git a/provision/cookbooks/mysql/recipes/percona_repo.rb b/provision/cookbooks/mysql/recipes/percona_repo.rb deleted file mode 100755 index 0051d68..0000000 --- a/provision/cookbooks/mysql/recipes/percona_repo.rb +++ /dev/null @@ -1,48 +0,0 @@ -# -# Cookbook Name:: mysql -# Recipe:: percona_repo -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - - -case node['platform'] -when "ubuntu", "debian" - include_recipe "apt" - apt_repository "percona" do - uri node['mysql']['percona']['apt_uri'] - distribution node['lsb']['codename'] - components [ "main" ] - keyserver node['mysql']['percona']['apt_keyserver'] - key node['mysql']['percona']['apt_key_id'] - action :add - end -when "centos", "amazon", "redhat" - include_recipe "yum" - yum_key "RPM-GPG-KEY-percona" do - url "http://www.percona.com/downloads/RPM-GPG-KEY-percona" - action :add - end - arch = node['kernel']['machine'] - arch = "i386" unless arch == "x86_64" - pversion = node['platform_version'].split('.').first - yum_repository "percona" do - repo_name "Percona" - description "Percona Repo" - url "http://repo.percona.com/centos/#{pversion}/os/#{arch}/" - key "RPM-GPG-KEY-percona" - action :add - end -end diff --git a/provision/cookbooks/mysql/recipes/ruby.rb b/provision/cookbooks/mysql/recipes/ruby.rb deleted file mode 100755 index 8c8470d..0000000 --- a/provision/cookbooks/mysql/recipes/ruby.rb +++ /dev/null @@ -1,31 +0,0 @@ -# -# Cookbook Name:: mysql -# Recipe:: ruby -# -# Author:: Jesse Howarth () -# Author:: Jamie Winsor () -# -# Copyright 2008-2012, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -node.set['build_essential']['compiletime'] = true -include_recipe "build-essential" -include_recipe "mysql::client" - -node['mysql']['client']['packages'].each do |mysql_pack| - resources("package[#{mysql_pack}]").run_action(:install) -end - -chef_gem "mysql" diff --git a/provision/cookbooks/mysql/recipes/server.rb b/provision/cookbooks/mysql/recipes/server.rb deleted file mode 100755 index ea70b13..0000000 --- a/provision/cookbooks/mysql/recipes/server.rb +++ /dev/null @@ -1,221 +0,0 @@ -# -# Cookbook Name:: mysql -# Recipe:: default -# -# Copyright 2008-2011, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -::Chef::Recipe.send(:include, Opscode::OpenSSL::Password) - -include_recipe "mysql::client" - -if Chef::Config[:solo] - missing_attrs = %w{ - server_debian_password server_root_password server_repl_password - }.select do |attr| - node["mysql"][attr].nil? - end.map { |attr| "node['mysql']['#{attr}']" } - - if !missing_attrs.empty? - Chef::Application.fatal!([ - "You must set #{missing_attrs.join(', ')} in chef-solo mode.", - "For more information, see https://github.com/opscode-cookbooks/mysql#chef-solo-note" - ].join(' ')) - end -else - # generate all passwords - node.set_unless['mysql']['server_debian_password'] = secure_password - node.set_unless['mysql']['server_root_password'] = secure_password - node.set_unless['mysql']['server_repl_password'] = secure_password - node.save -end - -if platform_family?(%w{debian}) - - directory "/var/cache/local/preseeding" do - owner "root" - group node['mysql']['root_group'] - mode 0755 - recursive true - end - - execute "preseed mysql-server" do - command "debconf-set-selections /var/cache/local/preseeding/mysql-server.seed" - action :nothing - end - - template "/var/cache/local/preseeding/mysql-server.seed" do - source "mysql-server.seed.erb" - owner "root" - group node['mysql']['root_group'] - mode "0600" - notifies :run, "execute[preseed mysql-server]", :immediately - end - - template "#{node['mysql']['conf_dir']}/debian.cnf" do - source "debian.cnf.erb" - owner "root" - group node['mysql']['root_group'] - mode "0600" - end - -end - -if platform_family?('windows') - package_file = node['mysql']['package_file'] - - remote_file "#{Chef::Config[:file_cache_path]}/#{package_file}" do - source node['mysql']['url'] - not_if { File.exists? "#{Chef::Config[:file_cache_path]}/#{package_file}" } - end - - windows_package node['mysql']['server']['packages'].first do - source "#{Chef::Config[:file_cache_path]}/#{package_file}" - end - - def package(*args, &blk) - windows_package(*args, &blk) - end -end - -node['mysql']['server']['packages'].each do |package_name| - package package_name do - action :install - notifies :start, "service[mysql]", :immediately - end -end - -unless platform_family?(%w{mac_os_x}) - - [File.dirname(node['mysql']['pid_file']), - File.dirname(node['mysql']['tunable']['slow_query_log']), - node['mysql']['conf_dir'], - node['mysql']['confd_dir'], - node['mysql']['log_dir'], - node['mysql']['data_dir']].each do |directory_path| - directory directory_path do - owner "mysql" unless platform? 'windows' - group "mysql" unless platform? 'windows' - action :create - recursive true - end - end - - if platform_family? 'windows' - require 'win32/service' - - windows_path node['mysql']['bin_dir'] do - action :add - end - - windows_batch "install mysql service" do - command "\"#{node['mysql']['bin_dir']}\\mysqld.exe\" --install #{node['mysql']['service_name']}" - not_if { Win32::Service.exists?(node['mysql']['service_name']) } - end - end - - skip_federated = case node['platform'] - when 'fedora', 'ubuntu', 'amazon' - true - when 'centos', 'redhat', 'scientific' - node['platform_version'].to_f < 6.0 - else - false - end -end - -# Homebrew has its own way to do databases -if platform_family?(%w{mac_os_x}) - execute "mysql-install-db" do - command "mysql_install_db --verbose --user=`whoami` --basedir=\"$(brew --prefix mysql)\" --datadir=#{node['mysql']['data_dir']} --tmpdir=/tmp" - environment('TMPDIR' => nil) - action :run - creates "#{node['mysql']['data_dir']}/mysql" - end -else - execute 'mysql-install-db' do - command "mysql_install_db" - action :run - not_if { File.exists?(node['mysql']['data_dir'] + '/mysql/user.frm') } - end - - service "mysql" do - service_name node['mysql']['service_name'] - if node['mysql']['use_upstart'] - provider Chef::Provider::Service::Upstart - end - supports :status => true, :restart => true, :reload => true - action :enable - end -end - -# set the root password for situations that don't support pre-seeding. -# (eg. platforms other than debian/ubuntu & drop-in mysql replacements) -execute "assign-root-password" do - command %Q["#{node['mysql']['mysqladmin_bin']}" -u root password '#{node['mysql']['server_root_password']}'] - action :run - only_if %Q["#{node['mysql']['mysql_bin']}" -u root -e 'show databases;'] -end - -unless platform_family?(%w{mac_os_x}) - grants_path = node['mysql']['grants_path'] - - begin - t = resources("template[#{grants_path}]") - rescue - Chef::Log.info("Could not find previously defined grants.sql resource") - t = template grants_path do - source "grants.sql.erb" - owner "root" unless platform_family? 'windows' - group node['mysql']['root_group'] unless platform_family? 'windows' - mode "0600" - action :create - end - end - - if platform_family? 'windows' - windows_batch "mysql-install-privileges" do - command "\"#{node['mysql']['mysql_bin']}\" -u root #{node['mysql']['server_root_password'].empty? ? '' : '-p' }\"#{node['mysql']['server_root_password']}\" < \"#{grants_path}\"" - action :nothing - subscribes :run, resources("template[#{grants_path}]"), :immediately - end - else - execute "mysql-install-privileges" do - command %Q["#{node['mysql']['mysql_bin']}" -u root #{node['mysql']['server_root_password'].empty? ? '' : '-p' }'#{node['mysql']['server_root_password']}' < "#{grants_path}"] - action :nothing - subscribes :run, resources("template[#{grants_path}]"), :immediately - end - end - - template "#{node['mysql']['conf_dir']}/my.cnf" do - source "my.cnf.erb" - owner "root" unless platform? 'windows' - group node['mysql']['root_group'] unless platform? 'windows' - mode "0644" - case node['mysql']['reload_action'] - when 'restart' - notifies :restart, "service[mysql]", :immediately - when 'reload' - notifies :reload, "service[mysql]", :immediately - else - Chef::Log.info "my.cnf updated but mysql.reload_action is #{node['mysql']['reload_action']}. No action taken." - end - variables :skip_federated => skip_federated - end - - service "mysql" do - action :start - end -end diff --git a/provision/cookbooks/mysql/recipes/server_ec2.rb b/provision/cookbooks/mysql/recipes/server_ec2.rb deleted file mode 100755 index 6033ef4..0000000 --- a/provision/cookbooks/mysql/recipes/server_ec2.rb +++ /dev/null @@ -1,51 +0,0 @@ -# -# Cookbook Name:: mysql -# Recipe:: default -# -# Copyright 2008-2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - - -if (node.attribute?('ec2') && ! FileTest.directory?(node['mysql']['ec2_path'])) - - service "mysql" do - action :stop - end - - execute "install-mysql" do - command "mv #{node['mysql']['data_dir']} #{node['mysql']['ec2_path']}" - not_if do FileTest.directory?(node['mysql']['ec2_path']) end - end - - [node['mysql']['ec2_path'], node['mysql']['data_dir']].each do |dir| - directory dir do - owner "mysql" - group "mysql" - end - end - - mount node['mysql']['data_dir'] do - device node['mysql']['ec2_path'] - fstype "none" - options "bind,rw" - action [:mount, :enable] - end - - service "mysql" do - action :start - end - -end - diff --git a/provision/cookbooks/mysql/templates/default/debian.cnf.erb b/provision/cookbooks/mysql/templates/default/debian.cnf.erb deleted file mode 100755 index 989b125..0000000 --- a/provision/cookbooks/mysql/templates/default/debian.cnf.erb +++ /dev/null @@ -1,12 +0,0 @@ -[client] -host = localhost -user = debian-sys-maint -password = <%= node['mysql']['server_debian_password'] %> -socket = <%= node['mysql']['socket'] %> - -[mysql_upgrade] -host = localhost -user = debian-sys-maint -password = <%= node['mysql']['server_debian_password'] %> -socket = <%= node['mysql']['socket'] %> -basedir = /usr diff --git a/provision/cookbooks/mysql/templates/default/grants.sql.erb b/provision/cookbooks/mysql/templates/default/grants.sql.erb deleted file mode 100755 index 87c0a0c..0000000 --- a/provision/cookbooks/mysql/templates/default/grants.sql.erb +++ /dev/null @@ -1,40 +0,0 @@ -# Generated by Chef for <%= node['hostname'] %>. -# Local modifications will be overwritten. -<% case node['platform_family'] -%> -<% when "debian" -%> - -# Grant privileges for debian-sys-main user -GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '<%= node['mysql']['server_debian_password'] %>' WITH GRANT OPTION; -<% end %> - -# Grant replication for a slave user. -GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' identified by '<%= node['mysql']['server_repl_password'] %>'; -<% if node['mysql']['allow_remote_root'] -%> - -# Set the server root password. This should be preseeded by the package installation. -GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY '<%= node['mysql']['server_root_password'] %>' WITH GRANT OPTION; -<% else %> - -# remove remote access for root user and set password for local root user -DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1'); -UPDATE mysql.user SET Password=PASSWORD('<%= node['mysql']['server_root_password'] %>') WHERE User='root'; -<% end %> -<% if node['mysql']['remove_anonymous_users'] -%> - -# Remove anonymous users -DELETE FROM mysql.user WHERE User=''; -<% end %> -<% if node['mysql']['remove_test_database'] -%> - -# Remove test database and access to it -DROP DATABASE IF EXISTS test; -DELETE FROM mysql.db WHERE Db='test' OR Db='test\_%'; -<% end %> - -# Set the password for root@localhost -SET PASSWORD FOR 'root'@'localhost' = PASSWORD('<%= node['mysql']['server_root_password'] %>'); -<% if node['mysql']['root_network_acl'] -%> - -# allow root to connect from a remote network if root_network_acl is not nil -GRANT ALL PRIVILEGES ON *.* TO 'root'@'<%= node['mysql']['root_network_acl'] %>' IDENTIFIED BY '<%= node['mysql']['server_root_password'] %>' WITH GRANT OPTION; -<% end -%> diff --git a/provision/cookbooks/mysql/templates/default/my.cnf.erb b/provision/cookbooks/mysql/templates/default/my.cnf.erb deleted file mode 100755 index 669d060..0000000 --- a/provision/cookbooks/mysql/templates/default/my.cnf.erb +++ /dev/null @@ -1,315 +0,0 @@ -# -# Generated by Chef for <%= node['hostname'] %> -# -# Local modifications will be overwritten. -# -# The MySQL database server configuration file. -# -# You can copy this to one of: -# - "/etc/mysql/my.cnf" to set global options, -# - "~/.my.cnf" to set user-specific options. -# -# One can use all long options that the program supports. -# Run program with --help to get a list of available options and with -# --print-defaults to see which it would actually understand and use. -# -# For explanations see -# http://dev.mysql.com/doc/mysql/en/server-system-variables.html - -# This will be passed to all mysql clients -# It has been reported that passwords should be enclosed with ticks/quotes -# escpecially if they contain "#" chars... -# Remember to edit /etc/mysql/debian.cnf when changing the socket location. -[client] -port = <%= node['mysql']['port'] %> -socket = <%= node['mysql']['socket'] %> - -# Here is entries for some specific programs -# The following values assume you have at least 32M ram - -# This was formally known as [safe_mysqld]. Both versions are currently parsed. -[mysqld_safe] -socket = <%= node['mysql']['socket'] %> -nice = <%= node['mysql']['nice'] %> - -[mysqld] -# -# * Basic Settings -# - -# -# * IMPORTANT -# If you make changes to these settings and your system uses apparmor, you may -# also need to also adjust /etc/apparmor.d/usr.sbin.mysqld. -# - -user = mysql -pid-file = <%= node['mysql']['pid_file'] %> -socket = <%= node['mysql']['socket'] %> -port = <%= node['mysql']['port'] %> -basedir = <%= node['mysql']['basedir'] %> -datadir = <%= node['mysql']['data_dir'] %> -tmpdir = <%= node['mysql']['tmpdir'].join(':') %> -skip-external-locking -<%- if node['mysql']['tunable']['skip-name-resolve'] %> -skip-name-resolve -<%- end %> - -# Charset and Collation -character-set-server = <%= node['mysql']['tunable']['character-set-server'] %> -collation-server = <%= node['mysql']['tunable']['collation-server'] %> -<%- if node['mysql']['tunable']['lower_case_table_names'] %> -lower_case_table_names = <%= node['mysql']['tunable']['lower_case_table_names'] %> -<%- end %> -<%- if node['mysql']['tunable']['event_scheduler'] %> -event_scheduler = <%= node['mysql']['tunable']['event_scheduler'] %> -<%- end %> -<%- if node['mysql']['tunable']['skip-character-set-client-handshake'] %> -skip-character-set-client-handshake -<%- end %> -<%- if (node['mysql']['tunable']['lc_messages_dir'] && node['mysql']['tunable']['lc_messages']) %> -lc_messages_dir = <%= node['mysql']['lc_messages_dir'] %> -lc_messages = <%= node['mysql']['lc_messages'] %> -<%- elsif (node['mysql']['tunable']['languages']) %> -languages = <%= node['mysql']['tunable']['languages'] %> -<%- end %> - -# -# Instead of skip-networking the default is now to listen only on -# localhost which is more compatible and is not less secure. -bind-address = <%= node['mysql']['bind_address'] %> -# -# * Fine Tuning -# -key_buffer_size = <%= node['mysql']['tunable']['key_buffer_size'] %> -max_allowed_packet = <%= node['mysql']['tunable']['max_allowed_packet'] %> -thread_stack = <%= node['mysql']['tunable']['thread_stack'] %> -thread_cache_size = <%= node['mysql']['tunable']['thread_cache_size'] %> -sort_buffer_size = <%= node['mysql']['tunable']['sort_buffer_size'] %> -read_buffer_size = <%= node['mysql']['tunable']['read_buffer_size'] %> -read_rnd_buffer_size = <%= node['mysql']['tunable']['read_rnd_buffer_size'] %> -join_buffer_size = <%= node['mysql']['tunable']['join_buffer_size'] %> - -auto-increment-increment = <%= node['mysql']['auto-increment-increment'] %> -auto-increment-offset = <%= node['mysql']['auto-increment-offset'] %> - -# This replaces the startup script and checks MyISAM tables if needed -# the first time they are touched -myisam-recover = <%= node['mysql']['tunable']['myisam-recover'] %> -max_connections = <%= node['mysql']['tunable']['max_connections'] %> -max_connect_errors = <%= node['mysql']['tunable']['max_connect_errors'] %> -concurrent_insert = <%= node['mysql']['tunable']['concurrent_insert'] %> -connect_timeout = <%= node['mysql']['tunable']['connect_timeout'] %> -wait_timeout = <%= node['mysql']['tunable']['wait_timeout'] %> -net_read_timeout = <%= node['mysql']['tunable']['net_read_timeout'] %> -net_write_timeout = <%= node['mysql']['tunable']['net_write_timeout'] %> -back_log = <%= node['mysql']['tunable']['back_log'] %> -table_cache = <%= node['mysql']['tunable']['table_cache'] %> -<%- if node['mysql']['tunable']['table_open_cache'] %> -table_open_cache = <%= node['mysql']['tunable']['table_open_cache'] %> -<%- end %> -tmp_table_size = <%= node['mysql']['tunable']['tmp_table_size'] %> -max_heap_table_size = <%= node['mysql']['tunable']['max_heap_table_size'] %> -bulk_insert_buffer_size = <%= node['mysql']['tunable']['bulk_insert_buffer_size'] %> -open-files-limit = <%= node['mysql']['tunable']['open-files-limit'] %> - -# Default Table Settings -<%- if node['mysql']['tunable']['sql_mode'] %> -sql_mode = "<%= node['mysql']['tunable']['sql_mode'] %>" -<%- end %> - -# -# * Query Cache Configuration -# -query_cache_limit = <%= node['mysql']['tunable']['query_cache_limit'] %> -query_cache_size = <%= node['mysql']['tunable']['query_cache_size'] %> -# -# * Logging -# -# Both location gets rotated by the cronjob. -# Be aware that this log type is a performance killer. -#log = /var/log/mysql/mysql.log -# -# Error logging goes to syslog. This is a Debian improvement :) -<%- if node['mysql']['tunable']['log_error'] %> -log_error = <%= node['mysql']['tunable']['log_error'] %> -<%- end %> -<%- if node['mysql']['tunable']['log_warnings'] %> -log_warnings -<%- end %> -# -# * Replication -# - - -# -# Here you can see queries with especially long duration -<%- if node['mysql']['version'].to_f >= 5.5 %> -slow_query_log = <%= node['mysql']['tunable']['slow_query_log'] %> -<% else %> -log_slow_queries = <%= node['mysql']['tunable']['slow_query_log'] %> -<% end %> - -long_query_time = <%= node['mysql']['tunable']['long_query_time'] %> -<%- if node['mysql']['tunable']['log_queries_not_using_index'] and node['mysql']['slow_query_log'] %> -log-queries-not-using-indexes -<%- end %> -# -# The following can be used as easy to replay backup logs or for replication. -# note: if you are setting up a replication slave, see README.Debian about -# other settings you may need to change. -<%- if node['mysql']['tunable']['server_id'] %> -server-id = <%= node['mysql']['tunable']['server_id'] %> -<% end %> -<%- if node['mysql']['tunable']['log_bin'] %> -log_bin = <%= node['mysql']['tunable']['log_bin'] %> -binlog_format = <%= node['mysql']['tunable']['binlog_format'] %> -log_slave_updates = <%= node['mysql']['tunable']['log_slave_updates'] %> -<%- end %> -<%- if node['mysql']['tunable']['log_bin_trust_function_creators'] %> -log_bin_trust_function_creators -<%- end %> -expire_logs_days = <%= node['mysql']['tunable']['expire_logs_days'] %> -max_binlog_size = <%= node['mysql']['tunable']['max_binlog_size'] %> -binlog_cache_size = <%= node['mysql']['tunable']['binlog_cache_size'] %> -#binlog_do_db = include_database_name -#binlog_ignore_db = include_database_name -<%- if node['mysql']['tunable']['relay_log'] %> -relay_log = <%= node['mysql']['tunable']['relay_log'] %> -<%- end %> -<%- if node['mysql']['tunable']['relay_log_index'] %> -relay_log_index = <%= node['mysql']['tunable']['relay_log_index'] %> -<%- end %> - -sync_binlog = <%= node['mysql']['tunable']['sync_binlog'] %> -<%- if node['mysql']['tunable']['skip_slave_start'] %> -skip_slave_start -<%- end %> -<%- if node['mysql']['tunable']['read_only'] %> -read_only = 1 -<%- end %> - -<%- if node['mysql']['tunable']['transaction-isolation'] %> -transaction-isolation = <%= node['mysql']['tunable']['transaction-isolation'] %> -<%- end %> - -<%- if node['mysql']['tunable']['slave_compressed_protocol'] %> -slave_compressed_protocol = <%= node['mysql']['tunable']['slave_compressed_protocol'] %> -<%- end %> -# -# * InnoDB -# -# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/. -# Read the manual for more InnoDB related options. There are many! -# You might want to disable InnoDB to shrink the mysqld process by circa 100MB. -#skip-innodb - -<%- if node["mysql"]["version"].to_f >= 5.5 %> -innodb_write_io_threads = <%= node['mysql']['tunable']['innodb_write_io_threads'] %> -innodb_io_capacity = <%= node['mysql']['tunable']['innodb_io_capacity'] %> -innodb_read_io_threads = <%= node['mysql']['tunable']['innodb_read_io_threads'] %> -innodb_buffer_pool_instances = <%= node['mysql']['tunable']['innodb_buffer_pool_instances'] %> -<%- end %> - -## InnoDB Plugin Independent Settings -innodb_data_home_dir = <%= node['mysql']['data_dir'] %> -innodb_log_group_home_dir = <%= node['mysql']['log_dir'] %> -<%- if node['mysql']['log_files_in_group'] %> -innodb_log_files_in_group = <%= node['mysql']['log_files_in_group'] %> -<%- end %> - -<%- if node['mysql']['innodb_status_file'] %> -innodb_status_file -<%- end %> -<%- if node['mysql']['tunable']['innodb_file_per_table'] %> -innodb_file_per_table -<%- end %> -innodb_table_locks = <%= node['mysql']['tunable']['innodb_table_locks'] %> -innodb_lock_wait_timeout = <%= node['mysql']['tunable']['innodb_lock_wait_timeout'] %> -innodb_thread_concurrency = <%= node['mysql']['tunable']['innodb_thread_concurrency'] %> -innodb_commit_concurrency = <%= node['mysql']['tunable']['innodb_commit_concurrency'] %> -innodb_support_xa = <%= node['mysql']['tunable']['innodb_support_xa'] %> -<%- if node['mysql']['tunable']['skip-innodb-doublewrite'] %> -skip-innodb-doublewrite -<%- end %> - -innodb_buffer_pool_size = <%= node['mysql']['tunable']['innodb_buffer_pool_size'] %> -innodb_log_file_size = <%= node['mysql']['tunable']['innodb_log_file_size'] %> -innodb_additional_mem_pool_size = <%= node['mysql']['tunable']['innodb_additional_mem_pool_size'] %> -innodb_data_file_path = <%= node['mysql']['tunable']['innodb_data_file_path'] %> -innodb_flush_log_at_trx_commit = <%= node['mysql']['tunable']['innodb_flush_log_at_trx_commit'] %> -<%- if node['mysql']['tunable']['innodb_flush_method'] %> -innodb_flush_method = <%= node['mysql']['tunable']['innodb_flush_method'] %> -<%- end %> -innodb_log_buffer_size = <%= node['mysql']['tunable']['innodb_log_buffer_size'] %> -<%- if node['mysql']['tunable']['innodb_adaptive_flushing'] %> -innodb_adaptive_flushing = <%= node['mysql']['tunable']['innodb_adaptive_flushing'] %> -<%- end %> - -<% if @skip_federated %> -# -# * Federated -# -# The FEDERATED storage engine is disabled since 5.0.67 by default in the .cnf files -# shipped with MySQL distributions (my-huge.cnf, my-medium.cnf, and so forth). -# -skip-federated -<% end %> -# -# * Security Features -# -# Read the manual, too, if you want chroot! -# chroot = /var/lib/mysql/ -# -# For generating SSL certificates I recommend the OpenSSL GUI "tinyca". -# -# ssl-ca=/etc/mysql/cacert.pem -# ssl-cert=/etc/mysql/server-cert.pem -# ssl-key=/etc/mysql/server-key.pem - -[mysqldump] -quick -quote-names -max_allowed_packet = <%= node['mysql']['tunable']['max_allowed_packet'] %> - -[mysql] -#no-auto-rehash # faster start of mysql but no tab completition - -[myisamchk] -key_buffer = <%= node['mysql']['tunable']['max_allowed_packet'] %> - -myisam_sort_buffer_size = <%= node['mysql']['tunable']['myisam_sort_buffer_size'] %> -myisam_max_sort_file_size = <%= node['mysql']['tunable']['myisam_max_sort_file_size'] %> -myisam_repair_threads = <%= node['mysql']['tunable']['myisam_repair_threads'] %> -myisam-recover = <%= node['mysql']['tunable']['myisam-recover'] %> - -# -# * NDB Cluster -# -# See /usr/share/doc/mysql-server-*/README.Debian for more information. -# -# The following configuration is read by the NDB Data Nodes (ndbd processes) -# not from the NDB Management Nodes (ndb_mgmd processes). -# -# [MYSQL_CLUSTER] -# ndb-connectstring=127.0.0.1 - -<% case node['platform_family'] -%> -<% when "rhel", "fedora", "suse" -%> -# -# * BerkeleyDB -# -# Using BerkeleyDB is now discouraged as its support will cease in 5.1.12. -skip-bdb -# Default to using old password format for compatibility with mysql 3.x -# clients (those using the mysqlclient10 compatibility package). -old_passwords = <%= node['mysql']['old_passwords'] %> -<% end -%> - -<% if node['mysql']['confd_dir'] -%> -# -# * IMPORTANT: Additional settings that can override those from this file! -# The files must end with '.cnf', otherwise they'll be ignored. -# -!includedir <%= node['mysql']['confd_dir'] %>/ -<% end -%> diff --git a/provision/cookbooks/mysql/templates/default/mysql-server.seed.erb b/provision/cookbooks/mysql/templates/default/mysql-server.seed.erb deleted file mode 100755 index a5a74f0..0000000 --- a/provision/cookbooks/mysql/templates/default/mysql-server.seed.erb +++ /dev/null @@ -1,10 +0,0 @@ -mysql-server-5.0 mysql-server/root_password_again select <%= node['mysql']['server_root_password'] %> -mysql-server-5.0 mysql-server/root_password select <%= node['mysql']['server_root_password'] %> -mysql-server-5.0 mysql-server-5.0/really_downgrade boolean false -mysql-server-5.0 mysql-server-5.0/need_sarge_compat boolean false -mysql-server-5.0 mysql-server-5.0/start_on_boot boolean true -mysql-server-5.0 mysql-server/error_setting_password boolean false -mysql-server-5.0 mysql-server-5.0/nis_warning note -mysql-server-5.0 mysql-server-5.0/postrm_remove_databases boolean false -mysql-server-5.0 mysql-server/password_mismatch boolean false -mysql-server-5.0 mysql-server-5.0/need_sarge_compat_done boolean true diff --git a/provision/cookbooks/mysql/templates/default/port_mysql.erb b/provision/cookbooks/mysql/templates/default/port_mysql.erb deleted file mode 100755 index 8ad63a7..0000000 --- a/provision/cookbooks/mysql/templates/default/port_mysql.erb +++ /dev/null @@ -1,3 +0,0 @@ -# MySQL --A FWR -p tcp -m tcp --dport 3306 -j ACCEPT --A FWR -p udp -m udp --dport 3306 -j ACCEPT diff --git a/provision/cookbooks/mysql/templates/windows/my.cnf.erb b/provision/cookbooks/mysql/templates/windows/my.cnf.erb deleted file mode 100755 index f0550c1..0000000 --- a/provision/cookbooks/mysql/templates/windows/my.cnf.erb +++ /dev/null @@ -1,61 +0,0 @@ -# -# Generated by Chef for <%= node['hostname'] %> -# -# Local modifications will be overwritten. -# -# The MySQL database server configuration file. -# -# One can use all long options that the program supports. -# Run program with --help to get a list of available options and with -# --print-defaults to see which it would actually understand and use. -# -# For explanations see -# http://dev.mysql.com/doc/mysql/en/server-system-variables.html - -# This will be passed to all mysql clients -# It has been reported that passwords should be enclosed with ticks/quotes -# escpecially if they contain "#" chars... -[client] -port = 3306 - -[mysql] -default-character-set = latin1 - -[mysqld] -# -# * Basic Settings -# -port = 3306 -basedir = <%= node['mysql']['basedir'] %> -datadir = <%= node['mysql']['data_dir'] %> -character-set-server = latin1 -default-storage-engine = INNODB -sql-mode = "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" - -# -# * Fine Tuning -# -thread_cache_size = <%= node['mysql']['tunable']['thread_cache_size'] %> -max_connections = <%= node['mysql']['tunable']['max_connections'] %> -table_cache = <%= node['mysql']['tunable']['table_cache'] %> -query_cache_size = <%= node['mysql']['tunable']['query_cache_size'] %> -tmp_table_size = 5M -myisam_max_sort_file_size = 100G -myisam_sort_buffer_size = 8M -key_buffer_size = 8M -read_buffer_size = 64K -read_rnd_buffer_size = 256K -sort_buffer_size = 212K - -# -# * InnoDB -# -# Read the manual for more InnoDB related options. There are many! -# You might want to disable InnoDB to shrink the mysqld process by circa 100MB. -# -innodb_additional_mem_pool_size = 2M -innodb_flush_log_at_trx_commit = 1 -innodb_log_buffer_size = 1M -innodb_buffer_pool_size = <%= node['mysql']['tunable']['innodb_buffer_pool_size'] %> -innodb_log_file_size = 10M -innodb_thread_concurrency = 8 diff --git a/provision/cookbooks/openssl/CHANGELOG.md b/provision/cookbooks/openssl/CHANGELOG.md deleted file mode 100755 index d2d85d9..0000000 --- a/provision/cookbooks/openssl/CHANGELOG.md +++ /dev/null @@ -1,13 +0,0 @@ -openssl Cookbook CHANGELOG -========================== -This file is used to list changes made in each version of the openssl cookbook. - - -v1.1.0 ------- -### Improvement -- **[COOK-3222](https://tickets.opscode.com/browse/COOK-3222)** - Allow setting length for `secure_password` - -v1.0.2 ------- -- Add name attribute to metadata diff --git a/provision/cookbooks/openssl/README.md b/provision/cookbooks/openssl/README.md deleted file mode 100755 index d5affff..0000000 --- a/provision/cookbooks/openssl/README.md +++ /dev/null @@ -1,38 +0,0 @@ -openssl Cookbook -================ -Provide a library method to generate secure random passwords in recipes. - -Requirements ------------- -Works on any platform with OpenSSL Ruby bindings installed, which are a requirement for Chef anyway. - - -Usage ------ -Most often this will be used to generate a secure password for an attribute. - -```ruby -include Opscode::OpenSSL::Password -set_unless[:my_password] = secure_password -``` - - -License & Authors ------------------ -- Author:: Joshua Timberman () - -```text -Copyright:: 2009-2011, Opscode, Inc - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -``` diff --git a/provision/cookbooks/openssl/libraries/secure_password.rb b/provision/cookbooks/openssl/libraries/secure_password.rb deleted file mode 100755 index 9513fa3..0000000 --- a/provision/cookbooks/openssl/libraries/secure_password.rb +++ /dev/null @@ -1,37 +0,0 @@ -# -# Cookbook Name:: openssl -# Library:: secure_password -# Author:: Joshua Timberman -# -# Copyright 2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -require 'openssl' - -module Opscode - module OpenSSL - module Password - def secure_password(length = 20) - pw = String.new - - while pw.length < length - pw << ::OpenSSL::Random.random_bytes(1).gsub(/\W/, '') - end - - pw - end - end - end -end diff --git a/provision/cookbooks/openssl/metadata.json b/provision/cookbooks/openssl/metadata.json deleted file mode 100755 index a25599e..0000000 --- a/provision/cookbooks/openssl/metadata.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "openssl", - "version": "1.1.0", - "description": "Provides a library with a method for generating secure random passwords.", - "long_description": "openssl Cookbook\n================\nProvide a library method to generate secure random passwords in recipes.\n\nRequirements\n------------\nWorks on any platform with OpenSSL Ruby bindings installed, which are a requirement for Chef anyway.\n\n\nUsage\n-----\nMost often this will be used to generate a secure password for an attribute.\n\n```ruby\ninclude Opscode::OpenSSL::Password\nset_unless[:my_password] = secure_password\n```\n\n\nLicense & Authors\n-----------------\n- Author:: Joshua Timberman ()\n\n```text\nCopyright:: 2009-2011, Opscode, Inc\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n", - "maintainer": "Opscode, Inc.", - "maintainer_email": "cookbooks@opscode.com", - "license": "Apache 2.0", - "platforms": { - }, - "dependencies": { - }, - "recommendations": { - }, - "suggestions": { - }, - "conflicting": { - }, - "providing": { - }, - "replacing": { - }, - "attributes": { - }, - "groupings": { - }, - "recipes": { - "openssl": "Empty, this cookbook provides a library, see README.md" - } -} \ No newline at end of file diff --git a/provision/cookbooks/openssl/metadata.rb b/provision/cookbooks/openssl/metadata.rb deleted file mode 100755 index 1a0c22e..0000000 --- a/provision/cookbooks/openssl/metadata.rb +++ /dev/null @@ -1,9 +0,0 @@ -name "openssl" -maintainer "Opscode, Inc." -maintainer_email "cookbooks@opscode.com" -license "Apache 2.0" -description "Provides a library with a method for generating secure random passwords." -long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version "1.1.0" - -recipe "openssl", "Empty, this cookbook provides a library, see README.md" diff --git a/provision/cookbooks/openssl/recipes/default.rb b/provision/cookbooks/openssl/recipes/default.rb deleted file mode 100755 index 9850a28..0000000 --- a/provision/cookbooks/openssl/recipes/default.rb +++ /dev/null @@ -1,19 +0,0 @@ -# -# Cookbook Name:: openssl -# Recipe:: default -# -# Copyright 2009, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - diff --git a/provision/cookbooks/php/CHANGELOG.md b/provision/cookbooks/php/CHANGELOG.md deleted file mode 100755 index e9eb5a5..0000000 --- a/provision/cookbooks/php/CHANGELOG.md +++ /dev/null @@ -1,63 +0,0 @@ -php Cookbook CHANGELOG -====================== -This file is used to list changes made in each version of the php cookbook. - - -v1.2.4 ------- -### Improvement -- **[COOK-3047](https://tickets.opscode.com/browse/COOK-3047)** - Sort directives in `php.ini` -- **[COOK-2928](https://tickets.opscode.com/browse/COOK-2928)** - Abstract `php.ini` directives into variables - -### Bug -- **[COOK-2378](https://tickets.opscode.com/browse/COOK-2378)** - Fix `php_pear` for libevent - -v1.2.2 ------- -### Bug -- [COOK-3050]: `lib_dir` declared in wrong place for redhat -- [COOK-3102]: remove fileinfo recipe from php cookbook - -### Improvement -- [COOK-3101]: use a method to abstract range of "el 5" versions in php recipes - -v1.2.0 ------- -### Improvement -- [COOK-2516]: Better support for SUSE distribution for php cookbook -- [COOK-3035]: update php::source to install 5.4.15 by default - -### Bug -- [COOK-2463]: PHP PEAR Provider Installs Most Recent Version, Without Respect to Preferred State -- [COOK-2514]: php_pear: does not handle more exotic version strings - -v1.1.8 ------- -- [COOK-1998] - Enable override of PHP packages in attributes - -v1.1.6 ------- -- [COOK-2324] - adds Oracle linux support - -v1.1.4 ------- -- [COOK-2106] - `php_pear` cannot find available packages - -v1.1.2 ------- -- [COOK-1803] - use better regexp to match package name -- [COOK-1926] - support Amazon linux - -v1.1.0 ------- -- [COOK-543] - php.ini template should be configurable -- [COOK-1067] - support for PECL zend extensions -- [COOK-1193] - update package names for EPEL 6 -- [COOK-1348] - rescue Mixlib::ShellOut::ShellCommandFailed (chef 0.10.10) -- [COOK-1465] - fix pear extension template - -v1.0.2 ------- -- [COOK-993] Add mhash-devel to centos php source libs -- [COOK-989] - bump version of php to 5.3.10 -- Also download the .tar.gz instead of .tar.bz2 as bzip2 may not be in the base OS (e.g., CentOS 6 minimal) diff --git a/provision/cookbooks/php/README.md b/provision/cookbooks/php/README.md deleted file mode 100755 index 4153861..0000000 --- a/provision/cookbooks/php/README.md +++ /dev/null @@ -1,233 +0,0 @@ -php Cookbook -============ -Installs and configures PHP 5.3 and the PEAR package management system. Also includes LWRPs for managing PEAR (and PECL) packages along with PECL channels. - - -Requirements ------------- -### Platforms -- Debian, Ubuntu -- CentOS, Red Hat, Fedora, Amazon Linux - -### Cookbooks -- build-essential -- xml -- mysql - -These cookbooks are only used when building PHP from source. - - -Attributes ----------- -- `node['php']['install_method']` = method to install php with, default `package`. -- `node['php']['directives']` = Hash of directives and values to append to `php.ini`, default `{}`. - -The file also contains the following attribute types: - -* platform specific locations and settings. -* source installation settings - - -Resource/Provider ------------------ -This cookbook includes LWRPs for managing: - -- PEAR channels -- PEAR/PECL packages - -### `php_pear_channel` -[PEAR Channels](http://pear.php.net/manual/en/guide.users.commandline.channels.php) are alternative sources for PEAR packages. This LWRP provides and easy way to manage these channels. - -#### Actions -- :discover: Initialize a channel from its server. -- :add: Add a channel to the channel list, usually only used to add private channels. Public channels are usually added using the `:discover` action -- :update: Update an existing channel -- :remove: Remove a channel from the List - -#### Attribute Parameters -- channel_name: name attribute. The name of the channel to discover -- channel_xml: the channel.xml file of the channel you are adding - -#### Examples -```ruby -# discover the horde channel -php_pear_channel "pear.horde.org" do - action :discover -end - -# download xml then add the symfony channel -remote_file "#{Chef::Config[:file_cache_path]}/symfony-channel.xml" do - source "http://pear.symfony-project.com/channel.xml" - mode 0644 -end -php_pear_channel "symfony" do - channel_xml "#{Chef::Config[:file_cache_path]}/symfony-channel.xml" - action :add -end - -# update the main pear channel -php_pear_channel 'pear.php.net' do - action :update -end - -# update the main pecl channel -php_pear_channel 'pecl.php.net' do - action :update -end -``` - -### `php_pear` -[PEAR](http://pear.php.net/) is a framework and distribution system for reusable PHP components. [PECL](http://pecl.php.net/) is a repository for PHP Extensions. PECL contains C extensions for compiling into PHP. As C programs, PECL extensions run more efficiently than PEAR packages. PEARs and PECLs use the same packaging and distribution system. As such this LWRP is clever enough to abstract away the small differences and can be used for managing either. This LWRP also creates the proper module .ini file for each PECL extension at the correct location for each supported platform. - -#### Actions -- :install: Install a pear package - if version is provided, install that specific version -- :upgrade: Upgrade a pear package - if version is provided, upgrade to that specific version -- :remove: Remove a pear package -- :purge: Purge a pear package (this usually entails removing configuration files as well as the package itself). With pear packages this behaves the same as `:remove` - -#### Attribute Parameters -- package_name: name attribute. The name of the pear package to install -- version: the version of the pear package to install/upgrade. If no version is given latest is assumed. -- preferred_state: PEAR by default installs stable packages only, this allows you to install pear packages in a devel, alpha or beta state -- directives: extra extension directives (settings) for a pecl. on most platforms these usually get rendered into the extension's .ini file -- zend_extensions: extension filenames which should be loaded with zend_extension. -- options: Add additional options to the underlying pear package command - -#### Examples -```ruby -# upgrade a pear -php_pear "XML_RPC" do - action :upgrade -end - - -# install a specific version -php_pear "XML_RPC" do - version "1.5.4" - action :install -end - - -# install the mongodb pecl -php_pear "mongo" do - action :install -end - -# install the xdebug pecl -php_pear "xdebug" do - # Specify that xdebug.so must be loaded as a zend extension - zend_extensions ['xdebug.so'] - action :install -end - - -# install apc pecl with directives -php_pear "apc" do - action :install - directives(:shm_size => 128, :enable_cli => 1) -end - - -# install the beta version of Horde_Url -# from the horde channel -hc = php_pear_channel "pear.horde.org" do - action :discover -end -php_pear "Horde_Url" do - preferred_state "beta" - channel hc.channel_name - action :install -end - - -# install the YAML pear from the symfony project -sc = php_pear_channel "pear.symfony-project.com" do - action :discover -end -php_pear "YAML" do - channel sc.channel_name - action :install -end -``` - - -Recipes -------- -### default -Include the default recipe in a run list, to get `php`. By default `php` is installed from packages but this can be changed by using the `install_method` attribute. - -### package -This recipe installs PHP from packages. - -### source -This recipe installs PHP from source. - - -Deprecated Recipes ------------------- -The following recipes are deprecated and will be removed from a future version of this cookbook. - -- `module_apc` -- `module_curl` -- `module_fileinfo` -- `module_fpdf` -- `module_gd` -- `module_ldap` -- `module_memcache` -- `module_mysql` -- `module_pgsql` -- `module_sqlite3` - -The installation of the php modules in these recipes can now be accomplished by installing from a native package or via the new php_pear LWRP. For example, the functionality of the `module_memcache` recipe can be enabled in the following ways: - -```ruby -# using apt -package "php5-memcache" do - action :install -end - -# using pear LWRP -php_pear "memcache" do - action :install -end -``` - - -Usage ------ -Simply include the `php` recipe where ever you would like php installed. To install from source override the `node['php']['install_method']` attribute with in a role: - -```ruby -name "php" -description "Install php from source" -override_attributes( - "php" => { - "install_method" => "source" - } -) -run_list( - "recipe[php]" -) -``` - - -License & Authors ------------------ -- Author:: Seth Chisamore () -- Author:: Joshua Timberman () - -```text -Copyright:: 2011, Opscode, Inc - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -``` diff --git a/provision/cookbooks/php/attributes/default.rb b/provision/cookbooks/php/attributes/default.rb deleted file mode 100755 index c5a44d8..0000000 --- a/provision/cookbooks/php/attributes/default.rb +++ /dev/null @@ -1,100 +0,0 @@ -# -# Author:: Seth Chisamore () -# Cookbook Name:: php -# Attribute:: default -# -# Copyright 2011, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -lib_dir = 'lib' -default['php']['install_method'] = 'package' -default['php']['directives'] = {} - -case node["platform_family"] -when "rhel", "fedora" - lib_dir = node['kernel']['machine'] =~ /x86_64/ ? 'lib64' : 'lib' - default['php']['conf_dir'] = '/etc' - default['php']['ext_conf_dir'] = '/etc/php.d' - default['php']['fpm_user'] = 'nobody' - default['php']['fpm_group'] = 'nobody' - default['php']['ext_dir'] = "/usr/#{lib_dir}/php/modules" - if node['platform_version'].to_f < 6 then - default['php']['packages'] = ['php53', 'php53-devel', 'php53-cli', 'php-pear'] - else - default['php']['packages'] = ['php', 'php-devel', 'php-cli', 'php-pear'] - end -when "debian" - default['php']['conf_dir'] = '/etc/php5/cli' - default['php']['ext_conf_dir'] = '/etc/php5/conf.d' - default['php']['fpm_user'] = 'www-data' - default['php']['fpm_group'] = 'www-data' - default['php']['packages'] = ['php5-cgi', 'php5', 'php5-dev', 'php5-cli', 'php-pear'] -when "suse" - default['php']['conf_dir'] = '/etc/php5/cli' - default['php']['ext_conf_dir'] = '/etc/php5/conf.d' - default['php']['fpm_user'] = 'wwwrun' - default['php']['fpm_group'] = 'www' - default['php']['packages'] = ['apache2-mod_php5', 'php5-pear'] - lib_dir = node['kernel']['machine'] =~ /x86_64/ ? 'lib64' : 'lib' -else - default['php']['conf_dir'] = '/etc/php5/cli' - default['php']['ext_conf_dir'] = '/etc/php5/conf.d' - default['php']['fpm_user'] = 'www-data' - default['php']['fpm_group'] = 'www-data' - default['php']['packages'] = ['php5-cgi', 'php5', 'php5-dev', 'php5-cli', 'php-pear'] -end - -default['php']['url'] = 'http://us.php.net/distributions' -default['php']['version'] = '5.4.15' -default['php']['checksum'] = '94e92973c996cf8deabafe0ba19b23d48a79d6e64592a5bf4ea63036eec77c3c' -default['php']['prefix_dir'] = '/usr/local' - -default['php']['configure_options'] = %W{--prefix=#{php['prefix_dir']} - --with-libdir=#{lib_dir} - --with-config-file-path=#{php['conf_dir']} - --with-config-file-scan-dir=#{php['ext_conf_dir']} - --with-pear - --enable-fpm - --with-fpm-user=#{php['fpm_user']} - --with-fpm-group=#{php['fpm_group']} - --with-zlib - --with-openssl - --with-kerberos - --with-bz2 - --with-curl - --enable-ftp - --enable-zip - --enable-exif - --with-gd - --enable-gd-native-ttf - --with-gettext - --with-gmp - --with-mhash - --with-iconv - --with-imap - --with-imap-ssl - --enable-sockets - --enable-soap - --with-xmlrpc - --with-libevent-dir - --with-mcrypt - --enable-mbstring - --with-t1lib - --with-mysql - --with-mysqli=/usr/bin/mysql_config - --with-mysql-sock - --with-sqlite3 - --with-pdo-mysql - --with-pdo-sqlite} diff --git a/provision/cookbooks/php/libraries/helpers.rb b/provision/cookbooks/php/libraries/helpers.rb deleted file mode 100755 index 1a103f3..0000000 --- a/provision/cookbooks/php/libraries/helpers.rb +++ /dev/null @@ -1,23 +0,0 @@ -# -# Author:: Joshua Timberman () -# Cookbook Name:: php -# Libraries:: helpers -# -# Copyright 2013, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -def el5_range - (0..99).to_a.map{|i| "5.#{i}"} -end diff --git a/provision/cookbooks/php/metadata.json b/provision/cookbooks/php/metadata.json deleted file mode 100755 index 39faac2..0000000 --- a/provision/cookbooks/php/metadata.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "name": "php", - "version": "1.2.4", - "description": "Installs and maintains php and php modules", - "long_description": "", - "maintainer": "Opscode, Inc.", - "maintainer_email": "cookbooks@opscode.com", - "license": "Apache 2.0", - "platforms": { - "debian": ">= 0.0.0", - "ubuntu": ">= 0.0.0", - "centos": ">= 0.0.0", - "redhat": ">= 0.0.0", - "fedora": ">= 0.0.0", - "scientific": ">= 0.0.0", - "amazon": ">= 0.0.0" - }, - "dependencies": { - "build-essential": ">= 0.0.0", - "xml": ">= 0.0.0", - "mysql": ">= 0.0.0" - }, - "recommendations": { - }, - "suggestions": { - }, - "conflicting": { - }, - "providing": { - }, - "replacing": { - }, - "attributes": { - }, - "groupings": { - }, - "recipes": { - "php": "Installs php", - "php::package": "Installs php using packages.", - "php::source": "Installs php from source.", - "php::module_apc": "Install the php5-apc package", - "php::module_curl": "Install the php5-curl package", - "php::module_fileinfo": "Install the php5-fileinfo package", - "php::module_fpdf": "Install the php-fpdf package", - "php::module_gd": "Install the php5-gd package", - "php::module_ldap": "Install the php5-ldap package", - "php::module_memcache": "Install the php5-memcache package", - "php::module_mysql": "Install the php5-mysql package", - "php::module_pgsql": "Install the php5-pgsql packag", - "php::module_sqlite3": "Install the php5-sqlite3 package" - } -} \ No newline at end of file diff --git a/provision/cookbooks/php/metadata.rb b/provision/cookbooks/php/metadata.rb deleted file mode 100755 index af64050..0000000 --- a/provision/cookbooks/php/metadata.rb +++ /dev/null @@ -1,28 +0,0 @@ -name "php" -maintainer "Opscode, Inc." -maintainer_email "cookbooks@opscode.com" -license "Apache 2.0" -description "Installs and maintains php and php modules" -version "1.2.4" - -depends "build-essential" -depends "xml" -depends "mysql" - -%w{ debian ubuntu centos redhat fedora scientific amazon }.each do |os| - supports os -end - -recipe "php", "Installs php" -recipe "php::package", "Installs php using packages." -recipe "php::source", "Installs php from source." -recipe "php::module_apc", "Install the php5-apc package" -recipe "php::module_curl", "Install the php5-curl package" -recipe "php::module_fileinfo", "Install the php5-fileinfo package" -recipe "php::module_fpdf", "Install the php-fpdf package" -recipe "php::module_gd", "Install the php5-gd package" -recipe "php::module_ldap", "Install the php5-ldap package" -recipe "php::module_memcache", "Install the php5-memcache package" -recipe "php::module_mysql", "Install the php5-mysql package" -recipe "php::module_pgsql", "Install the php5-pgsql packag" -recipe "php::module_sqlite3", "Install the php5-sqlite3 package" diff --git a/provision/cookbooks/php/providers/pear.rb b/provision/cookbooks/php/providers/pear.rb deleted file mode 100755 index 70c20c5..0000000 --- a/provision/cookbooks/php/providers/pear.rb +++ /dev/null @@ -1,275 +0,0 @@ -# -# Author:: Seth Chisamore -# Cookbook Name:: php -# Provider:: pear_package -# -# Copyright:: 2011, Opscode, Inc -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -require 'chef/mixin/shell_out' -require 'chef/mixin/language' -include Chef::Mixin::ShellOut - -# the logic in all action methods mirror that of -# the Chef::Provider::Package which will make -# refactoring into core chef easy - -def whyrun_supported? - true -end - -action :install do - # If we specified a version, and it's not the current version, move to the specified version - if @new_resource.version != nil && @new_resource.version != @current_resource.version - install_version = @new_resource.version - end - - # If it's not installed at all or an upgrade, install it - if install_version || @current_resource.version == nil - description = "install package #{@new_resource} #{install_version}" - converge_by(description) do - info_output = "Installing #{@new_resource}" - info_output << " version #{install_version}" if install_version and !install_version.empty? - Chef::Log.info(info_output) - status = install_package(@new_resource.package_name, install_version) - end - end -end - -action :upgrade do - if @current_resource.version != candidate_version - orig_version = @current_resource.version || "uninstalled" - description = "upgrade package #{@new_resource} version from #{orig_version} to #{candidate_version}" - converge_by(description) do - Chef::Log.info("Upgrading #{@new_resource} version from #{orig_version} to #{candidate_version}") - status = upgrade_package(@new_resource.package_name, candidate_version) - end - end -end - -action :remove do - if removing_package? - description = "remove package #{@new_resource}" - converge_by(description) do - Chef::Log.info("Removing #{@new_resource}") - remove_package(@current_resource.package_name, @new_resource.version) - end - else - end -end - -action :purge do - if removing_package? - description = "purge package #{@new_resource}" - converge_by(description) do - Chef::Log.info("Purging #{@new_resource}") - purge_package(@current_resource.package_name, @new_resource.version) - end - end -end - -def removing_package? - if @current_resource.version.nil? - false # nothing to remove - elsif @new_resource.version.nil? - true # remove any version of a package - elsif @new_resource.version == @current_resource.version - true # remove the version we have - else - false # we don't have the version we want to remove - end -end - -def expand_options(options) - options ? " #{options}" : "" -end - -# these methods are the required overrides of -# a provider that extends from Chef::Provider::Package -# so refactoring into core Chef should be easy - -def load_current_resource - @current_resource = Chef::Resource::PhpPear.new(@new_resource.name) - @current_resource.package_name(@new_resource.package_name) - @bin = 'pear' - if pecl? - Chef::Log.debug("#{@new_resource} smells like a pecl...installing package in Pecl mode.") - @bin = 'pecl' - end - Chef::Log.debug("#{@current_resource}: Installed version: #{current_installed_version} Candidate version: #{candidate_version}") - - unless current_installed_version.nil? - @current_resource.version(current_installed_version) - Chef::Log.debug("Current version is #{@current_resource.version}") if @current_resource.version - end - @current_resource -end - -def current_installed_version - @current_installed_version ||= begin - v = nil - version_check_cmd = "#{@bin} -d preferred_state=#{can_haz(@new_resource, "preferred_state")} list#{expand_channel(can_haz(@new_resource, "channel"))}" - p = shell_out(version_check_cmd) - response = nil - if p.stdout =~ /\.?Installed packages/i - response = grep_for_version(p.stdout, @new_resource.package_name) - end - response - end -end - -def candidate_version - @candidate_version ||= begin - candidate_version_cmd = "#{@bin} -d preferred_state=#{can_haz(@new_resource, "preferred_state")} search#{expand_channel(can_haz(@new_resource, "channel"))} #{@new_resource.package_name}" - p = shell_out(candidate_version_cmd) - response = nil - if p.stdout =~ /\.?Matched packages/i - response = grep_for_version(p.stdout, @new_resource.package_name) - end - response - end -end - -def install_package(name, version) - command = "echo \"\r\" | #{@bin} -d preferred_state=#{can_haz(@new_resource, "preferred_state")} install -a#{expand_options(@new_resource.options)} #{prefix_channel(can_haz(@new_resource, "channel"))}#{name}" - command << "-#{version}" if version and !version.empty? - pear_shell_out(command) - manage_pecl_ini(name, :create, can_haz(@new_resource, "directives"), can_haz(@new_resource, "zend_extensions")) if pecl? -end - -def upgrade_package(name, version) - pear_shell_out("echo \"\r\" | #{@bin} -d preferred_state=#{can_haz(@new_resource, "preferred_state")} upgrade -a#{expand_options(@new_resource.options)} #{prefix_channel(can_haz(@new_resource, "channel"))}#{name}-#{version}") - manage_pecl_ini(name, :create, can_haz(@new_resource, "directives"), can_haz(@new_resource, "zend_extensions")) if pecl? -end - -def remove_package(name, version) - command = "#{@bin} uninstall #{expand_options(@new_resource.options)} #{prefix_channel(can_haz(@new_resource, "channel"))}#{name}" - command << "-#{version}" if version and !version.empty? - pear_shell_out(command) - manage_pecl_ini(name, :delete) if pecl? -end - -def pear_shell_out(command) - p = shell_out!(command) - # pear/pecl commands return a 0 on failures...we'll grep for it - if p.stdout.split("\n").last =~ /^ERROR:.+/i - p.invalid! - end - p -end - -def purge_package(name, version) - remove_package(name, version) -end - -def expand_channel(channel) - channel ? " -c #{channel}" : "" -end - -def prefix_channel(channel) - channel ? "#{channel}/" : "" -end - -def get_extension_dir() - @extension_dir ||= begin - p = shell_out("php-config --extension-dir") - p.stdout.strip - end -end - -def get_extension_files(name) - files = [] - - p = shell_out("#{@bin} list-files #{name}") - p.stdout.each_line.grep(/^src\s+.*\.so$/i).each do |line| - files << line.split[1] - end - - files -end - -def manage_pecl_ini(name, action, directives, zend_extensions) - ext_prefix = get_extension_dir() - ext_prefix << ::File::SEPARATOR if ext_prefix[-1].chr != ::File::SEPARATOR - - files = get_extension_files(name) - - extensions = Hash[ files.map { |filepath| - rel_file = filepath.clone - rel_file.slice! ext_prefix if rel_file.start_with? ext_prefix - - zend = zend_extensions.include?(rel_file) - - [ (zend ? filepath : rel_file) , zend ] - }] - - template "#{node['php']['ext_conf_dir']}/#{name}.ini" do - source "extension.ini.erb" - cookbook "php" - owner "root" - group "root" - mode "0644" - variables(:name => name, :extensions => extensions, :directives => directives) - action action - end -end - -def grep_for_version(stdout, package) - v = nil - - stdout.split(/\n/).grep(/^#{package}\s/i).each do |m| - # XML_RPC 1.5.4 stable - # mongo 1.1.4/(1.1.4 stable) 1.1.4 MongoDB database driver - # Horde_Url -n/a-/(1.0.0beta1 beta) Horde Url class - # Horde_Url 1.0.0beta1 (beta) 1.0.0beta1 Horde Url class - v = m.split(/\s+/)[1].strip - if v.split(/\//)[0] =~ /.\./ - # 1.1.4/(1.1.4 stable) - v = v.split(/\//)[0] - else - # -n/a-/(1.0.0beta1 beta) - v = v.split(/(.*)\/\((.*)/).last.split(/\s/)[0] - end - end - v -end - -def pecl? - @pecl ||= begin - # search as a pear first since most 3rd party channels will report pears as pecls! - search_cmd = "pear -d preferred_state=#{can_haz(@new_resource, "preferred_state")} search#{expand_channel(can_haz(@new_resource, "channel"))} #{@new_resource.package_name}" - if shell_out(search_cmd).stdout.split("\n").find { |line| line =~ /^#{@new_resource.package_name}\s+#{haz_ver(@new_resource, "version")}/ } - false - else - # fall back and search as a pecl - search_cmd = "pecl -d preferred_state=#{can_haz(@new_resource, "preferred_state")} search#{expand_channel(can_haz(@new_resource, "channel"))} #{@new_resource.package_name}" - if shell_out(search_cmd).stdout.split("\n").find { |line| line =~ /^#{@new_resource.package_name}\s+#{haz_ver(@new_resource, "version")}/ } - true - else - raise "Package #{@new_resource.package_name} not found in either PEAR or PECL." - end - end - end -end - -# TODO remove when provider is moved into Chef core -# this allows PhpPear to work with Chef::Resource::Package -def can_haz(resource, attribute_name) - resource.respond_to?(attribute_name) ? resource.send(attribute_name) : nil -end - -def haz_ver(resource, version) - resource.respond_to?(version) ? resource.send(version) : '\d+\.\d+\.\d+' -end diff --git a/provision/cookbooks/php/providers/pear_channel.rb b/provision/cookbooks/php/providers/pear_channel.rb deleted file mode 100755 index e2479a9..0000000 --- a/provision/cookbooks/php/providers/pear_channel.rb +++ /dev/null @@ -1,93 +0,0 @@ -# -# Author:: Seth Chisamore -# Cookbook Name:: php -# Provider:: pear_channel -# -# Copyright:: 2011, Opscode, Inc -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -# http://pear.php.net/manual/en/guide.users.commandline.channels.php - -require 'chef/mixin/shell_out' -require 'chef/mixin/language' -include Chef::Mixin::ShellOut - -def whyrun_supported? - true -end - -action :discover do - unless exists? - Chef::Log.info("Discovering pear channel #{@new_resource}") - execute "pear channel-discover #{@new_resource.channel_name}" do - action :run - end - end -end - -action :add do - unless exists? - Chef::Log.info("Adding pear channel #{@new_resource} from #{@new_resource.channel_xml}") - execute "pear channel-add #{@new_resource.channel_xml}" do - action :run - end - end -end - -action :update do - if exists? - update_needed = false - begin - updated_needed = true if shell_out("pear search -c #{@new_resource.channel_name} NNNNNN").stdout =~ /channel-update/ - rescue Chef::Exceptions::CommandTimeout - # CentOS can hang on 'pear search' if a channel needs updating - Chef::Log.info("Timed out checking if channel-update needed...forcing update of pear channel #{@new_resource}") - update_needed = true - end - if update_needed - description = "update pear channel #{@new_resource}" - converge_by(description) do - Chef::Log.info("Updating pear channel #{@new_resource}") - shell_out!("pear channel-update #{@new_resource.channel_name}") - end - end - end -end - -action :remove do - if exists? - Chef::Log.info("Deleting pear channel #{@new_resource}") - execute "pear channel-delete #{@new_resource.channel_name}" do - action :run - end - end -end - -def load_current_resource - @current_resource = Chef::Resource::PhpPearChannel.new(@new_resource.name) - @current_resource.channel_name(@new_resource.channel_name) - @current_resource -end - -private -def exists? - begin - shell_out!("pear channel-info #{@current_resource.channel_name}") - true - rescue Chef::Exceptions::ShellCommandFailed - rescue Mixlib::ShellOut::ShellCommandFailed - false - end -end diff --git a/provision/cookbooks/php/recipes/default.rb b/provision/cookbooks/php/recipes/default.rb deleted file mode 100755 index 475a764..0000000 --- a/provision/cookbooks/php/recipes/default.rb +++ /dev/null @@ -1,31 +0,0 @@ -# -# Author:: Joshua Timberman () -# Author:: Seth Chisamore () -# Cookbook Name:: php -# Recipe:: default -# -# Copyright 2009-2011, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -include_recipe "php::#{node['php']['install_method']}" - -# update the main channels -php_pear_channel 'pear.php.net' do - action :update -end - -php_pear_channel 'pecl.php.net' do - action :update -end diff --git a/provision/cookbooks/php/recipes/module_apc.rb b/provision/cookbooks/php/recipes/module_apc.rb deleted file mode 100755 index ee60bfa..0000000 --- a/provision/cookbooks/php/recipes/module_apc.rb +++ /dev/null @@ -1,37 +0,0 @@ -# -# Author:: Joshua Timberman () -# Author:: Seth Chisamore () -# Cookbook Name:: php -# Recipe:: module_apc -# -# Copyright 2009-2011, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -case node['platform_family'] -when "rhel", "fedora" - %w{ httpd-devel pcre pcre-devel }.each do |pkg| - package pkg do - action :install - end - end - php_pear "APC" do - action :install - directives(:shm_size => "128M", :enable_cli => 0) - end -when "debian" - package "php-apc" do - action :install - end -end diff --git a/provision/cookbooks/php/recipes/module_curl.rb b/provision/cookbooks/php/recipes/module_curl.rb deleted file mode 100755 index 18e0f40..0000000 --- a/provision/cookbooks/php/recipes/module_curl.rb +++ /dev/null @@ -1,29 +0,0 @@ -# -# Author:: Joshua Timberman () -# Author:: Seth Chisamore () -# Cookbook Name:: php -# Recipe:: module_curl -# -# Copyright 2009-2011, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -case node['platform_family'] -when "rhel", "fedora" - # centos php compiled with curl -when "debian" - package "php5-curl" do - action :upgrade - end -end diff --git a/provision/cookbooks/php/recipes/module_fpdf.rb b/provision/cookbooks/php/recipes/module_fpdf.rb deleted file mode 100755 index 54ac36d..0000000 --- a/provision/cookbooks/php/recipes/module_fpdf.rb +++ /dev/null @@ -1,35 +0,0 @@ -# -# Author:: Joshua Timberman () -# Author:: Seth Chisamore () -# Cookbook Name:: php -# Recipe:: module_fpdf -# -# Copyright 2009-2011, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -case node['platform_family'] -when "rhel", "fedora" - pearhub_chan = php_pear_channel "pearhub.org" do - action :discover - end - php_pear "FPDF" do - channel pearhub_chan.channel_name - action :install - end -when "debian" - package "php-fpdf" do - action :install - end -end diff --git a/provision/cookbooks/php/recipes/module_gd.rb b/provision/cookbooks/php/recipes/module_gd.rb deleted file mode 100755 index 8255c85..0000000 --- a/provision/cookbooks/php/recipes/module_gd.rb +++ /dev/null @@ -1,32 +0,0 @@ -# -# Author:: Joshua Timberman () -# Author:: Seth Chisamore () -# Cookbook Name:: php -# Recipe:: module_gd -# -# Copyright 2009-2011, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -pkg = value_for_platform( - %w(centos redhat scientific fedora amazon) => { - el5_range => "php53-gd", - "default" => "php-gd" - }, - "default" => "php5-gd" -) - -package pkg do - action :install -end diff --git a/provision/cookbooks/php/recipes/module_ldap.rb b/provision/cookbooks/php/recipes/module_ldap.rb deleted file mode 100755 index bb69f6a..0000000 --- a/provision/cookbooks/php/recipes/module_ldap.rb +++ /dev/null @@ -1,32 +0,0 @@ -# -# Author:: Joshua Timberman () -# Author:: Seth Chisamore () -# Cookbook Name:: php -# Recipe:: module_ldap -# -# Copyright 2009-2011, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -pkg = value_for_platform( - %w(centos redhat scientific fedora amazon) => { - el5_range => "php53-ldap", - "default" => "php-ldap" - }, - "default" => "php5-ldap" -) - -package pkg do - action :install -end diff --git a/provision/cookbooks/php/recipes/module_memcache.rb b/provision/cookbooks/php/recipes/module_memcache.rb deleted file mode 100755 index e835311..0000000 --- a/provision/cookbooks/php/recipes/module_memcache.rb +++ /dev/null @@ -1,37 +0,0 @@ -# -# Author:: Joshua Timberman () -# Author:: Seth Chisamore () -# Cookbook Name:: php -# Recipe:: module_memcache -# -# Copyright 2009-2011, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -case node['platform_family'] -when "rhel", "fedora" - %w{ zlib-devel }.each do |pkg| - package pkg do - action :install - end - end - php_pear "memcache" do - action :install - #directives(:shm_size => "128M", :enable_cli => 0) - end -when "debian" - package "php5-memcache" do - action :install - end -end diff --git a/provision/cookbooks/php/recipes/module_mysql.rb b/provision/cookbooks/php/recipes/module_mysql.rb deleted file mode 100755 index 7fd951c..0000000 --- a/provision/cookbooks/php/recipes/module_mysql.rb +++ /dev/null @@ -1,32 +0,0 @@ -# -# Author:: Joshua Timberman () -# Author:: Seth Chisamore () -# Cookbook Name:: php -# Recipe:: module_mysql -# -# Copyright 2009-2011, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -pkg = value_for_platform( - %w(centos redhat scientific fedora amazon) => { - el5_range => "php53-mysql", - "default" => "php-mysql" - }, - "default" => "php5-mysql" -) - -package pkg do - action :install -end diff --git a/provision/cookbooks/php/recipes/module_pgsql.rb b/provision/cookbooks/php/recipes/module_pgsql.rb deleted file mode 100755 index bc7a770..0000000 --- a/provision/cookbooks/php/recipes/module_pgsql.rb +++ /dev/null @@ -1,32 +0,0 @@ -# -# Author:: Joshua Timberman () -# Author:: Seth Chisamore () -# Cookbook Name:: php -# Recipe:: module_pgsql -# -# Copyright 2009-2011, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -pkg = value_for_platform( - %w(centos redhat scientific fedora amazon) => { - el5_range => "php53-pgsql", - "default" => "php-pgsql" - }, - "default" => "php5-pgsql" -) - -package pkg do - action :install -end diff --git a/provision/cookbooks/php/recipes/module_sqlite3.rb b/provision/cookbooks/php/recipes/module_sqlite3.rb deleted file mode 100755 index dcc2625..0000000 --- a/provision/cookbooks/php/recipes/module_sqlite3.rb +++ /dev/null @@ -1,30 +0,0 @@ -# -# Author:: Joshua Timberman () -# Author:: Seth Chisamore () -# Cookbook Name:: php -# Recipe:: module_sqlite3 -# -# Copyright 2009-2011, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -case node['platform_family'] -when "rhel", "fedora" - #already there in centos, --with-pdo-sqlite=shared -when "debian" - package "php5-sqlite" do - action :install - end -end - diff --git a/provision/cookbooks/php/recipes/package.rb b/provision/cookbooks/php/recipes/package.rb deleted file mode 100755 index 7eae473..0000000 --- a/provision/cookbooks/php/recipes/package.rb +++ /dev/null @@ -1,33 +0,0 @@ -# -# Author:: Seth Chisamore () -# Cookbook Name:: php -# Recipe:: package -# -# Copyright 2011, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -node['php']['packages'].each do |pkg| - package pkg do - action :install - end -end - -template "#{node['php']['conf_dir']}/php.ini" do - source "php.ini.erb" - owner "root" - group "root" - mode "0644" - variables(:directives => node['php']['directives']) -end diff --git a/provision/cookbooks/php/recipes/source.rb b/provision/cookbooks/php/recipes/source.rb deleted file mode 100755 index 681fd9f..0000000 --- a/provision/cookbooks/php/recipes/source.rb +++ /dev/null @@ -1,78 +0,0 @@ -# -# Author:: Seth Chisamore () -# Cookbook Name:: php -# Recipe:: package -# -# Copyright 2011, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -configure_options = node['php']['configure_options'].join(" ") - -include_recipe "build-essential" -include_recipe "xml" -include_recipe "mysql::client" if configure_options =~ /mysql/ - -pkgs = value_for_platform_family( - ["rhel", "fedora"] => %w{ bzip2-devel libc-client-devel curl-devel freetype-devel gmp-devel libjpeg-devel krb5-devel libmcrypt-devel libpng-devel openssl-devel t1lib-devel mhash-devel }, - [ "debian", "ubuntu" ] => %w{ libbz2-dev libc-client2007e-dev libcurl4-gnutls-dev libfreetype6-dev libgmp3-dev libjpeg62-dev libkrb5-dev libmcrypt-dev libpng12-dev libssl-dev libt1-dev }, - "default" => %w{ libbz2-dev libc-client2007e-dev libcurl4-gnutls-dev libfreetype6-dev libgmp3-dev libjpeg62-dev libkrb5-dev libmcrypt-dev libpng12-dev libssl-dev libt1-dev } - ) - -pkgs.each do |pkg| - package pkg do - action :install - end -end - -version = node['php']['version'] - -remote_file "#{Chef::Config[:file_cache_path]}/php-#{version}.tar.gz" do - source "#{node['php']['url']}/php-#{version}.tar.gz" - checksum node['php']['checksum'] - mode "0644" - not_if "which php" -end - -bash "build php" do - cwd Chef::Config[:file_cache_path] - code <<-EOF - tar -zxvf php-#{version}.tar.gz - (cd php-#{version} && ./configure #{configure_options}) - (cd php-#{version} && make && make install) - EOF - not_if "which php" -end - -directory node['php']['conf_dir'] do - owner "root" - group "root" - mode "0755" - recursive true -end - -directory node['php']['ext_conf_dir'] do - owner "root" - group "root" - mode "0755" - recursive true -end - -template "#{node['php']['conf_dir']}/php.ini" do - source "php.ini.erb" - owner "root" - group "root" - mode "0644" - variables(:directives => node['php']['directives']) -end diff --git a/provision/cookbooks/php/resources/pear.rb b/provision/cookbooks/php/resources/pear.rb deleted file mode 100755 index be43a91..0000000 --- a/provision/cookbooks/php/resources/pear.rb +++ /dev/null @@ -1,30 +0,0 @@ -# -# Author:: Seth Chisamore -# Cookbook Name:: php -# Resource:: pear_package -# -# Copyright:: 2011, Opscode, Inc -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -default_action :install -actions :install, :upgrade, :remove, :purge - -attribute :package_name, :kind_of => String, :name_attribute => true -attribute :version, :default => nil -attribute :channel, :kind_of => String -attribute :options, :kind_of => String -attribute :directives, :kind_of => Hash, :default => {} -attribute :zend_extensions, :kind_of => Array, :default => Array.new -attribute :preferred_state, :default => 'stable' diff --git a/provision/cookbooks/php/resources/pear_channel.rb b/provision/cookbooks/php/resources/pear_channel.rb deleted file mode 100755 index 94fc53d..0000000 --- a/provision/cookbooks/php/resources/pear_channel.rb +++ /dev/null @@ -1,29 +0,0 @@ -# -# Author:: Seth Chisamore -# Cookbook Name:: php -# Resource:: pear_channel -# -# Copyright:: 2011, Opscode, Inc -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -default_action :discover -actions :discover, :add, :update, :remove - -attribute :channel_name, :kind_of => String, :name_attribute => true -attribute :channel_xml, :kind_of => String - -# TODO add authenticated channel support! -# attribute :username, :kind_of => String -# attribute :password, :kind_of => String diff --git a/provision/cookbooks/php/templates/centos/php.ini.erb b/provision/cookbooks/php/templates/centos/php.ini.erb deleted file mode 100755 index c84d60d..0000000 --- a/provision/cookbooks/php/templates/centos/php.ini.erb +++ /dev/null @@ -1,1225 +0,0 @@ -[PHP] - -;;;;;;;;;;;;;;;;;;; -; About php.ini ; -;;;;;;;;;;;;;;;;;;; -; This file controls many aspects of PHP's behavior. In order for PHP to -; read it, it must be named 'php.ini'. PHP looks for it in the current -; working directory, in the path designated by the environment variable -; PHPRC, and in the path that was defined in compile time (in that order). -; Under Windows, the compile-time path is the Windows directory. The -; path in which the php.ini file is looked for can be overridden using -; the -c argument in command line mode. -; -; The syntax of the file is extremely simple. Whitespace and Lines -; beginning with a semicolon are silently ignored (as you probably guessed). -; Section headers (e.g. [Foo]) are also silently ignored, even though -; they might mean something in the future. -; -; Directives are specified using the following syntax: -; directive = value -; Directive names are *case sensitive* - foo=bar is different from FOO=bar. -; -; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one -; of the INI constants (On, Off, True, False, Yes, No and None) or an expression -; (e.g. E_ALL & ~E_NOTICE), or a quoted string ("foo"). -; -; Expressions in the INI file are limited to bitwise operators and parentheses: -; | bitwise OR -; & bitwise AND -; ~ bitwise NOT -; ! boolean NOT -; -; Boolean flags can be turned on using the values 1, On, True or Yes. -; They can be turned off using the values 0, Off, False or No. -; -; An empty string can be denoted by simply not writing anything after the equal -; sign, or by using the None keyword: -; -; foo = ; sets foo to an empty string -; foo = none ; sets foo to an empty string -; foo = "none" ; sets foo to the string 'none' -; -; If you use constants in your value, and these constants belong to a -; dynamically loaded extension (either a PHP extension or a Zend extension), -; you may only use these constants *after* the line that loads the extension. -; -; -;;;;;;;;;;;;;;;;;;; -; About this file ; -;;;;;;;;;;;;;;;;;;; -; This is the recommended, PHP 5-style version of the php.ini-dist file. It -; sets some non standard settings, that make PHP more efficient, more secure, -; and encourage cleaner coding. -; -; The price is that with these settings, PHP may be incompatible with some -; applications, and sometimes, more difficult to develop with. Using this -; file is warmly recommended for production sites. As all of the changes from -; the standard settings are thoroughly documented, you can go over each one, -; and decide whether you want to use it or not. -; -; For general information about the php.ini file, please consult the php.ini-dist -; file, included in your PHP distribution. -; -; This file is different from the php.ini-dist file in the fact that it features -; different values for several directives, in order to improve performance, while -; possibly breaking compatibility with the standard out-of-the-box behavior of -; PHP. Please make sure you read what's different, and modify your scripts -; accordingly, if you decide to use this file instead. -; -; - register_globals = Off [Security, Performance] -; Global variables are no longer registered for input data (POST, GET, cookies, -; environment and other server variables). Instead of using $foo, you must use -; you can use $_REQUEST["foo"] (includes any variable that arrives through the -; request, namely, POST, GET and cookie variables), or use one of the specific -; $_GET["foo"], $_POST["foo"], $_COOKIE["foo"] or $_FILES["foo"], depending -; on where the input originates. Also, you can look at the -; import_request_variables() function. -; Note that register_globals is going to be depracated (i.e., turned off by -; default) in the next version of PHP, because it often leads to security bugs. -; Read http://php.net/manual/en/security.registerglobals.php for further -; information. -; - register_long_arrays = Off [Performance] -; Disables registration of the older (and deprecated) long predefined array -; variables ($HTTP_*_VARS). Instead, use the superglobals that were -; introduced in PHP 4.1.0 -; - display_errors = Off [Security] -; With this directive set to off, errors that occur during the execution of -; scripts will no longer be displayed as a part of the script output, and thus, -; will no longer be exposed to remote users. With some errors, the error message -; content may expose information about your script, web server, or database -; server that may be exploitable for hacking. Production sites should have this -; directive set to off. -; - log_errors = On [Security] -; This directive complements the above one. Any errors that occur during the -; execution of your script will be logged (typically, to your server's error log, -; but can be configured in several ways). Along with setting display_errors to off, -; this setup gives you the ability to fully understand what may have gone wrong, -; without exposing any sensitive information to remote users. -; - output_buffering = 4096 [Performance] -; Set a 4KB output buffer. Enabling output buffering typically results in less -; writes, and sometimes less packets sent on the wire, which can often lead to -; better performance. The gain this directive actually yields greatly depends -; on which Web server you're working with, and what kind of scripts you're using. -; - register_argc_argv = Off [Performance] -; Disables registration of the somewhat redundant $argv and $argc global -; variables. -; - magic_quotes_gpc = Off [Performance] -; Input data is no longer escaped with slashes so that it can be sent into -; SQL databases without further manipulation. Instead, you should use the -; function addslashes() on each input element you wish to send to a database. -; - variables_order = "GPCS" [Performance] -; The environment variables are not hashed into the $_ENV. To access -; environment variables, you can use getenv() instead. -; - error_reporting = E_ALL [Code Cleanliness, Security(?)] -; By default, PHP surpresses errors of type E_NOTICE. These error messages -; are emitted for non-critical errors, but that could be a symptom of a bigger -; problem. Most notably, this will cause error messages about the use -; of uninitialized variables to be displayed. -; - allow_call_time_pass_reference = Off [Code cleanliness] -; It's not possible to decide to force a variable to be passed by reference -; when calling a function. The PHP 4 style to do this is by making the -; function require the relevant argument by reference. - - -;;;;;;;;;;;;;;;;;;;; -; Language Options ; -;;;;;;;;;;;;;;;;;;;; - -; Enable the PHP scripting language engine under Apache. -engine = On - -; Enable compatibility mode with Zend Engine 1 (PHP 4.x) -zend.ze1_compatibility_mode = Off - -; Allow the tags are recognized. -; NOTE: Using short tags should be avoided when developing applications or -; libraries that are meant for redistribution, or deployment on PHP -; servers which are not under your control, because short tags may not -; be supported on the target server. For portable, redistributable code, -; be sure not to use short tags. -short_open_tag = On - -; Allow ASP-style <% %> tags. -asp_tags = Off - -; The number of significant digits displayed in floating point numbers. -precision = 14 - -; Enforce year 2000 compliance (will cause problems with non-compliant browsers) -y2k_compliance = On - -; Output buffering allows you to send header lines (including cookies) even -; after you send body content, at the price of slowing PHP's output layer a -; bit. You can enable output buffering during runtime by calling the output -; buffering functions. You can also enable output buffering for all files by -; setting this directive to On. If you wish to limit the size of the buffer -; to a certain size - you can use a maximum number of bytes instead of 'On', as -; a value for this directive (e.g., output_buffering=4096). -output_buffering = 4096 - -; You can redirect all of the output of your scripts to a function. For -; example, if you set output_handler to "mb_output_handler", character -; encoding will be transparently converted to the specified encoding. -; Setting any output handler automatically turns on output buffering. -; Note: People who wrote portable scripts should not depend on this ini -; directive. Instead, explicitly set the output handler using ob_start(). -; Using this ini directive may cause problems unless you know what script -; is doing. -; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler" -; and you cannot use both "ob_gzhandler" and "zlib.output_compression". -; Note: output_handler must be empty if this is set 'On' !!!! -; Instead you must use zlib.output_handler. -;output_handler = - -; Transparent output compression using the zlib library -; Valid values for this option are 'off', 'on', or a specific buffer size -; to be used for compression (default is 4KB) -; Note: Resulting chunk size may vary due to nature of compression. PHP -; outputs chunks that are few hundreds bytes each as a result of -; compression. If you prefer a larger chunk size for better -; performance, enable output_buffering in addition. -; Note: You need to use zlib.output_handler instead of the standard -; output_handler, or otherwise the output will be corrupted. -zlib.output_compression = Off - -; You cannot specify additional output handlers if zlib.output_compression -; is activated here. This setting does the same as output_handler but in -; a different order. -;zlib.output_handler = - -; Implicit flush tells PHP to tell the output layer to flush itself -; automatically after every output block. This is equivalent to calling the -; PHP function flush() after each and every call to print() or echo() and each -; and every HTML block. Turning this option on has serious performance -; implications and is generally recommended for debugging purposes only. -implicit_flush = Off - -; The unserialize callback function will be called (with the undefined class' -; name as parameter), if the unserializer finds an undefined class -; which should be instantiated. -; A warning appears if the specified function is not defined, or if the -; function doesn't include/implement the missing class. -; So only set this entry, if you really want to implement such a -; callback-function. -unserialize_callback_func= - -; When floats & doubles are serialized store serialize_precision significant -; digits after the floating point. The default value ensures that when floats -; are decoded with unserialize, the data will remain the same. -serialize_precision = 100 - -; Whether to enable the ability to force arguments to be passed by reference -; at function call time. This method is deprecated and is likely to be -; unsupported in future versions of PHP/Zend. The encouraged method of -; specifying which arguments should be passed by reference is in the function -; declaration. You're encouraged to try and turn this option Off and make -; sure your scripts work properly with it in order to ensure they will work -; with future versions of the language (you will receive a warning each time -; you use this feature, and the argument will be passed by value instead of by -; reference). -allow_call_time_pass_reference = Off - -; -; Safe Mode -; -safe_mode = Off - -; By default, Safe Mode does a UID compare check when -; opening files. If you want to relax this to a GID compare, -; then turn on safe_mode_gid. -safe_mode_gid = Off - -; When safe_mode is on, UID/GID checks are bypassed when -; including files from this directory and its subdirectories. -; (directory must also be in include_path or full path must -; be used when including) -safe_mode_include_dir = - -; When safe_mode is on, only executables located in the safe_mode_exec_dir -; will be allowed to be executed via the exec family of functions. -safe_mode_exec_dir = - -; Setting certain environment variables may be a potential security breach. -; This directive contains a comma-delimited list of prefixes. In Safe Mode, -; the user may only alter environment variables whose names begin with the -; prefixes supplied here. By default, users will only be able to set -; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR). -; -; Note: If this directive is empty, PHP will let the user modify ANY -; environment variable! -safe_mode_allowed_env_vars = PHP_ - -; This directive contains a comma-delimited list of environment variables that -; the end user won't be able to change using putenv(). These variables will be -; protected even if safe_mode_allowed_env_vars is set to allow to change them. -safe_mode_protected_env_vars = LD_LIBRARY_PATH - -; open_basedir, if set, limits all file operations to the defined directory -; and below. This directive makes most sense if used in a per-directory -; or per-virtualhost web server configuration file. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -;open_basedir = - -; This directive allows you to disable certain functions for security reasons. -; It receives a comma-delimited list of function names. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -disable_functions = - -; This directive allows you to disable certain classes for security reasons. -; It receives a comma-delimited list of class names. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -disable_classes = - -; Colors for Syntax Highlighting mode. Anything that's acceptable in -; would work. -;highlight.string = #DD0000 -;highlight.comment = #FF9900 -;highlight.keyword = #007700 -;highlight.bg = #FFFFFF -;highlight.default = #0000BB -;highlight.html = #000000 - -; If enabled, the request will be allowed to complete even if the user aborts -; the request. Consider enabling it if executing long request, which may end up -; being interrupted by the user or a browser timing out. -; ignore_user_abort = On - -; Determines the size of the realpath cache to be used by PHP. This value should -; be increased on systems where PHP opens many files to reflect the quantity of -; the file operations performed. -; realpath_cache_size=16k - -; Duration of time, in seconds for which to cache realpath information for a given -; file or directory. For systems with rarely changing files, consider increasing this -; value. -; realpath_cache_ttl=120 - -; -; Misc -; -; Decides whether PHP may expose the fact that it is installed on the server -; (e.g. by adding its signature to the Web server header). It is no security -; threat in any way, but it makes it possible to determine whether you use PHP -; on your server or not. -expose_php = On - - -;;;;;;;;;;;;;;;;;;; -; Resource Limits ; -;;;;;;;;;;;;;;;;;;; - -max_execution_time = 30 ; Maximum execution time of each script, in seconds -max_input_time = 60 ; Maximum amount of time each script may spend parsing request data -memory_limit = 128M ; Maximum amount of memory a script may consume - - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Error handling and logging ; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -; error_reporting is a bit-field. Or each number up to get desired error -; reporting level -; E_ALL - All errors and warnings (doesn't include E_STRICT) -; E_ERROR - fatal run-time errors -; E_WARNING - run-time warnings (non-fatal errors) -; E_PARSE - compile-time parse errors -; E_NOTICE - run-time notices (these are warnings which often result -; from a bug in your code, but it's possible that it was -; intentional (e.g., using an uninitialized variable and -; relying on the fact it's automatically initialized to an -; empty string) -; E_STRICT - run-time notices, enable to have PHP suggest changes -; to your code which will ensure the best interoperability -; and forward compatibility of your code -; E_CORE_ERROR - fatal errors that occur during PHP's initial startup -; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's -; initial startup -; E_COMPILE_ERROR - fatal compile-time errors -; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) -; E_USER_ERROR - user-generated error message -; E_USER_WARNING - user-generated warning message -; E_USER_NOTICE - user-generated notice message -; -; Examples: -; -; - Show all errors, except for notices and coding standards warnings -; -;error_reporting = E_ALL & ~E_NOTICE -; -; - Show all errors, except for notices -; -;error_reporting = E_ALL & ~E_NOTICE | E_STRICT -; -; - Show only errors -; -;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR -; -; - Show all errors, except coding standards warnings -; -error_reporting = E_ALL - -; Print out errors (as a part of the output). For production web sites, -; you're strongly encouraged to turn this feature off, and use error logging -; instead (see below). Keeping display_errors enabled on a production web site -; may reveal security information to end users, such as file paths on your Web -; server, your database schema or other information. -display_errors = Off - -; Even when display_errors is on, errors that occur during PHP's startup -; sequence are not displayed. It's strongly recommended to keep -; display_startup_errors off, except for when debugging. -display_startup_errors = Off - -; Log errors into a log file (server-specific log, stderr, or error_log (below)) -; As stated above, you're strongly advised to use error logging in place of -; error displaying on production web sites. -log_errors = On - -; Set maximum length of log_errors. In error_log information about the source is -; added. The default is 1024 and 0 allows to not apply any maximum length at all. -log_errors_max_len = 1024 - -; Do not log repeated messages. Repeated errors must occur in same file on same -; line until ignore_repeated_source is set true. -ignore_repeated_errors = Off - -; Ignore source of message when ignoring repeated messages. When this setting -; is On you will not log errors with repeated messages from different files or -; sourcelines. -ignore_repeated_source = Off - -; If this parameter is set to Off, then memory leaks will not be shown (on -; stdout or in the log). This has only effect in a debug compile, and if -; error reporting includes E_WARNING in the allowed list -report_memleaks = On - -; Store the last error/warning message in $php_errormsg (boolean). -track_errors = Off - -; Disable the inclusion of HTML tags in error messages. -; Note: Never use this feature for production boxes. -;html_errors = Off - -; If html_errors is set On PHP produces clickable error messages that direct -; to a page describing the error or function causing the error in detail. -; You can download a copy of the PHP manual from http://www.php.net/docs.php -; and change docref_root to the base URL of your local copy including the -; leading '/'. You must also specify the file extension being used including -; the dot. -; Note: Never use this feature for production boxes. -;docref_root = "/phpmanual/" -;docref_ext = .html - -; String to output before an error message. -;error_prepend_string = "" - -; String to output after an error message. -;error_append_string = "" - -; Log errors to specified file. -;error_log = filename - -; Log errors to syslog (Event Log on NT, not valid in Windows 95). -;error_log = syslog - - -;;;;;;;;;;;;;;;;; -; Data Handling ; -;;;;;;;;;;;;;;;;; -; -; Note - track_vars is ALWAYS enabled as of PHP 4.0.3 - -; The separator used in PHP generated URLs to separate arguments. -; Default is "&". -;arg_separator.output = "&" - -; List of separator(s) used by PHP to parse input URLs into variables. -; Default is "&". -; NOTE: Every character in this directive is considered as separator! -;arg_separator.input = ";&" - -; This directive describes the order in which PHP registers GET, POST, Cookie, -; Environment and Built-in variables (G, P, C, E & S respectively, often -; referred to as EGPCS or GPC). Registration is done from left to right, newer -; values override older values. -variables_order = "EGPCS" - -; Whether or not to register the EGPCS variables as global variables. You may -; want to turn this off if you don't want to clutter your scripts' global scope -; with user data. This makes most sense when coupled with track_vars - in which -; case you can access all of the GPC variables through the $HTTP_*_VARS[], -; variables. -; -; You should do your best to write your scripts so that they do not require -; register_globals to be on; Using form variables as globals can easily lead -; to possible security problems, if the code is not very well thought of. -register_globals = Off - -; Whether or not to register the old-style input arrays, HTTP_GET_VARS -; and friends. If you're not using them, it's recommended to turn them off, -; for performance reasons. -register_long_arrays = Off - -; This directive tells PHP whether to declare the argv&argc variables (that -; would contain the GET information). If you don't use these variables, you -; should turn it off for increased performance. -register_argc_argv = Off - -; When enabled, the SERVER and ENV variables are created when they're first -; used (Just In Time) instead of when the script starts. If these variables -; are not used within a script, having this directive on will result in a -; performance gain. The PHP directives register_globals, register_long_arrays, -; and register_argc_argv must be disabled for this directive to have any affect. -auto_globals_jit = On - -; Maximum size of POST data that PHP will accept. -post_max_size = 8M - -; Magic quotes -; - -; Magic quotes for incoming GET/POST/Cookie data. -magic_quotes_gpc = Off - -; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc. -magic_quotes_runtime = Off - -; Use Sybase-style magic quotes (escape ' with '' instead of \'). -magic_quotes_sybase = Off - -; Automatically add files before or after any PHP document. -auto_prepend_file = -auto_append_file = - -; As of 4.0b4, PHP always outputs a character encoding by default in -; the Content-type: header. To disable sending of the charset, simply -; set it to be empty. -; -; PHP's built-in default is text/html -default_mimetype = "text/html" -;default_charset = "iso-8859-1" - -; Always populate the $HTTP_RAW_POST_DATA variable. -;always_populate_raw_post_data = On - - -;;;;;;;;;;;;;;;;;;;;;;;;; -; Paths and Directories ; -;;;;;;;;;;;;;;;;;;;;;;;;; - -; UNIX: "/path1:/path2" -;include_path = ".:/php/includes" -; -; Windows: "\path1;\path2" -;include_path = ".;c:\php\includes" - -; The root of the PHP pages, used only if nonempty. -; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root -; if you are running php as a CGI under any web server (other than IIS) -; see documentation for security issues. The alternate is to use the -; cgi.force_redirect configuration below -doc_root = - -; The directory under which PHP opens the script using /~username used only -; if nonempty. -user_dir = - -; Directory in which the loadable extensions (modules) reside. -extension_dir = "<%= node['php']['ext_dir'] %>" - -; Whether or not to enable the dl() function. The dl() function does NOT work -; properly in multithreaded servers, such as IIS or Zeus, and is automatically -; disabled on them. -enable_dl = On - -; cgi.force_redirect is necessary to provide security running PHP as a CGI under -; most web servers. Left undefined, PHP turns this on by default. You can -; turn it off here AT YOUR OWN RISK -; **You CAN safely turn this off for IIS, in fact, you MUST.** -; cgi.force_redirect = 1 - -; if cgi.nph is enabled it will force cgi to always sent Status: 200 with -; every request. -; cgi.nph = 1 - -; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape -; (iPlanet) web servers, you MAY need to set an environment variable name that PHP -; will look for to know it is OK to continue execution. Setting this variable MAY -; cause security issues, KNOW WHAT YOU ARE DOING FIRST. -; cgi.redirect_status_env = ; - -; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate -; security tokens of the calling client. This allows IIS to define the -; security context that the request runs under. mod_fastcgi under Apache -; does not currently support this feature (03/17/2002) -; Set to 1 if running under IIS. Default is zero. -; fastcgi.impersonate = 1; - -; Disable logging through FastCGI connection -; fastcgi.log = 0 - -; cgi.rfc2616_headers configuration option tells PHP what type of headers to -; use when sending HTTP response code. If it's set 0 PHP sends Status: header that -; is supported by Apache. When this option is set to 1 PHP will send -; RFC2616 compliant header. -; Default is zero. -;cgi.rfc2616_headers = 0 - - -;;;;;;;;;;;;;;;; -; File Uploads ; -;;;;;;;;;;;;;;;; - -; Whether to allow HTTP file uploads. -file_uploads = On - -; Temporary directory for HTTP uploaded files (will use system default if not -; specified). -;upload_tmp_dir = - -; Maximum allowed size for uploaded files. -upload_max_filesize = 2M - - -;;;;;;;;;;;;;;;;;; -; Fopen wrappers ; -;;;;;;;;;;;;;;;;;; - -; Whether to allow the treatment of URLs (like http:// or ftp://) as files. -allow_url_fopen = On - -; Define the anonymous ftp password (your email address) -;from="john@doe.com" - -; Define the User-Agent string -; user_agent="PHP" - -; Default timeout for socket based streams (seconds) -default_socket_timeout = 60 - -; If your scripts have to deal with files from Macintosh systems, -; or you are running on a Mac and need to deal with files from -; unix or win32 systems, setting this flag will cause PHP to -; automatically detect the EOL character in those files so that -; fgets() and file() will work regardless of the source of the file. -; auto_detect_line_endings = Off - - -;;;;;;;;;;;;;;;;;;;;;; -; Dynamic Extensions ; -;;;;;;;;;;;;;;;;;;;;;; -; -; If you wish to have an extension loaded automatically, use the following -; syntax: -; -; extension=modulename.extension -; -; For example: -; -; extension=msql.so -; -; Note that it should be the name of the module only; no directory information -; needs to go here. Specify the location of the extension with the -; extension_dir directive above. - - -;;;; -; Note: packaged extension modules are now loaded via the .ini files -; found in the directory /etc/php.d; these are loaded by default. -;;;; - - -;;;;;;;;;;;;;;;;;;; -; Module Settings ; -;;;;;;;;;;;;;;;;;;; - -[Date] -; Defines the default timezone used by the date functions -;date.timezone = - -[Syslog] -; Whether or not to define the various syslog variables (e.g. $LOG_PID, -; $LOG_CRON, etc.). Turning it off is a good idea performance-wise. In -; runtime, you can define these variables by calling define_syslog_variables(). -define_syslog_variables = Off - -[mail function] -; For Win32 only. -SMTP = localhost -smtp_port = 25 - -; For Win32 only. -;sendmail_from = me@example.com - -; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). -sendmail_path = /usr/sbin/sendmail -t -i - -; Force the addition of the specified parameters to be passed as extra parameters -; to the sendmail binary. These parameters will always replace the value of -; the 5th parameter to mail(), even in safe mode. -;mail.force_extra_parameters = - -[SQL] -sql.safe_mode = Off - -[ODBC] -;odbc.default_db = Not yet implemented -;odbc.default_user = Not yet implemented -;odbc.default_pw = Not yet implemented - -; Allow or prevent persistent links. -odbc.allow_persistent = On - -; Check that a connection is still valid before reuse. -odbc.check_persistent = On - -; Maximum number of persistent links. -1 means no limit. -odbc.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -odbc.max_links = -1 - -; Handling of LONG fields. Returns number of bytes to variables. 0 means -; passthru. -odbc.defaultlrl = 4096 - -; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. -; See the documentation on odbc_binmode and odbc_longreadlen for an explanation -; of uodbc.defaultlrl and uodbc.defaultbinmode -odbc.defaultbinmode = 1 - -[MySQL] -; Allow or prevent persistent links. -mysql.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -mysql.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -mysql.max_links = -1 - -; Default port number for mysql_connect(). If unset, mysql_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -mysql.default_port = - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -mysql.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -mysql.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -mysql.default_user = - -; Default password for mysql_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -mysql.default_password = - -; Maximum time (in secondes) for connect timeout. -1 means no limit -mysql.connect_timeout = 60 - -; Trace mode. When trace_mode is active (=On), warnings for table/index scans and -; SQL-Errors will be displayed. -mysql.trace_mode = Off - -[MySQLi] - -; Maximum number of links. -1 means no limit. -mysqli.max_links = -1 - -; Default port number for mysqli_connect(). If unset, mysqli_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -mysqli.default_port = 3306 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -mysqli.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -mysqli.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -mysqli.default_user = - -; Default password for mysqli_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -mysqli.default_pw = - -; Allow or prevent reconnect -mysqli.reconnect = Off - -[mSQL] -; Allow or prevent persistent links. -msql.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -msql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -msql.max_links = -1 - -[PostgresSQL] -; Allow or prevent persistent links. -pgsql.allow_persistent = On - -; Detect broken persistent links always with pg_pconnect(). -; Auto reset feature requires a little overheads. -pgsql.auto_reset_persistent = Off - -; Maximum number of persistent links. -1 means no limit. -pgsql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -pgsql.max_links = -1 - -; Ignore PostgreSQL backends Notice message or not. -; Notice message logging require a little overheads. -pgsql.ignore_notice = 0 - -; Log PostgreSQL backends Noitce message or not. -; Unless pgsql.ignore_notice=0, module cannot log notice message. -pgsql.log_notice = 0 - -[Sybase] -; Allow or prevent persistent links. -sybase.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -sybase.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -sybase.max_links = -1 - -;sybase.interface_file = "/usr/sybase/interfaces" - -; Minimum error severity to display. -sybase.min_error_severity = 10 - -; Minimum message severity to display. -sybase.min_message_severity = 10 - -; Compatability mode with old versions of PHP 3.0. -; If on, this will cause PHP to automatically assign types to results according -; to their Sybase type, instead of treating them all as strings. This -; compatability mode will probably not stay around forever, so try applying -; whatever necessary changes to your code, and turn it off. -sybase.compatability_mode = Off - -[Sybase-CT] -; Allow or prevent persistent links. -sybct.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -sybct.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -sybct.max_links = -1 - -; Minimum server message severity to display. -sybct.min_server_severity = 10 - -; Minimum client message severity to display. -sybct.min_client_severity = 10 - -[bcmath] -; Number of decimal digits for all bcmath functions. -bcmath.scale = 0 - -[browscap] -;browscap = extra/browscap.ini - -[Informix] -; Default host for ifx_connect() (doesn't apply in safe mode). -ifx.default_host = - -; Default user for ifx_connect() (doesn't apply in safe mode). -ifx.default_user = - -; Default password for ifx_connect() (doesn't apply in safe mode). -ifx.default_password = - -; Allow or prevent persistent links. -ifx.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -ifx.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -ifx.max_links = -1 - -; If on, select statements return the contents of a text blob instead of its id. -ifx.textasvarchar = 0 - -; If on, select statements return the contents of a byte blob instead of its id. -ifx.byteasvarchar = 0 - -; Trailing blanks are stripped from fixed-length char columns. May help the -; life of Informix SE users. -ifx.charasvarchar = 0 - -; If on, the contents of text and byte blobs are dumped to a file instead of -; keeping them in memory. -ifx.blobinfile = 0 - -; NULL's are returned as empty strings, unless this is set to 1. In that case, -; NULL's are returned as string 'NULL'. -ifx.nullformat = 0 - -[Session] -; Handler used to store/retrieve data. -session.save_handler = files - -; Argument passed to save_handler. In the case of files, this is the path -; where data files are stored. Note: Windows users have to change this -; variable in order to use PHP's session functions. -; -; As of PHP 4.0.1, you can define the path as: -; -; session.save_path = "N;/path" -; -; where N is an integer. Instead of storing all the session files in -; /path, what this will do is use subdirectories N-levels deep, and -; store the session data in those directories. This is useful if you -; or your OS have problems with lots of files in one directory, and is -; a more efficient layout for servers that handle lots of sessions. -; -; NOTE 1: PHP will not create this directory structure automatically. -; You can use the script in the ext/session dir for that purpose. -; NOTE 2: See the section on garbage collection below if you choose to -; use subdirectories for session storage -; -; The file storage module creates files using mode 600 by default. -; You can change that by using -; -; session.save_path = "N;MODE;/path" -; -; where MODE is the octal representation of the mode. Note that this -; does not overwrite the process's umask. -session.save_path = "/var/lib/php/session" - -; Whether to use cookies. -session.use_cookies = 1 - -; This option enables administrators to make their users invulnerable to -; attacks which involve passing session ids in URLs; defaults to 0. -; session.use_only_cookies = 1 - -; Name of the session (used as cookie name). -session.name = PHPSESSID - -; Initialize session on request startup. -session.auto_start = 0 - -; Lifetime in seconds of cookie or, if 0, until browser is restarted. -session.cookie_lifetime = 0 - -; The path for which the cookie is valid. -session.cookie_path = / - -; The domain for which the cookie is valid. -session.cookie_domain = - -; Handler used to serialize data. php is the standard serializer of PHP. -session.serialize_handler = php - -; Define the probability that the 'garbage collection' process is started -; on every session initialization. -; The probability is calculated by using gc_probability/gc_divisor, -; e.g. 1/100 means there is a 1% chance that the GC process starts -; on each request. - -session.gc_probability = 1 -session.gc_divisor = 1000 - -; After this number of seconds, stored data will be seen as 'garbage' and -; cleaned up by the garbage collection process. -session.gc_maxlifetime = 1440 - -; NOTE: If you are using the subdirectory option for storing session files -; (see session.save_path above), then garbage collection does *not* -; happen automatically. You will need to do your own garbage -; collection through a shell script, cron entry, or some other method. -; For example, the following script would is the equivalent of -; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): -; cd /path/to/sessions; find -cmin +24 | xargs rm - -; PHP 4.2 and less have an undocumented feature/bug that allows you to -; to initialize a session variable in the global scope, albeit register_globals -; is disabled. PHP 4.3 and later will warn you, if this feature is used. -; You can disable the feature and the warning separately. At this time, -; the warning is only displayed, if bug_compat_42 is enabled. - -session.bug_compat_42 = 0 -session.bug_compat_warn = 1 - -; Check HTTP Referer to invalidate externally stored URLs containing ids. -; HTTP_REFERER has to contain this substring for the session to be -; considered as valid. -session.referer_check = - -; How many bytes to read from the file. -session.entropy_length = 0 - -; Specified here to create the session id. -session.entropy_file = - -;session.entropy_length = 16 - -;session.entropy_file = /dev/urandom - -; Set to {nocache,private,public,} to determine HTTP caching aspects -; or leave this empty to avoid sending anti-caching headers. -session.cache_limiter = nocache - -; Document expires after n minutes. -session.cache_expire = 180 - -; trans sid support is disabled by default. -; Use of trans sid may risk your users security. -; Use this option with caution. -; - User may send URL contains active session ID -; to other person via. email/irc/etc. -; - URL that contains active session ID may be stored -; in publically accessible computer. -; - User may access your site with the same session ID -; always using URL stored in browser's history or bookmarks. -session.use_trans_sid = 0 - -; Select a hash function -; 0: MD5 (128 bits) -; 1: SHA-1 (160 bits) -session.hash_function = 0 - -; Define how many bits are stored in each character when converting -; the binary hash data to something readable. -; -; 4 bits: 0-9, a-f -; 5 bits: 0-9, a-v -; 6 bits: 0-9, a-z, A-Z, "-", "," -session.hash_bits_per_character = 5 - -; The URL rewriter will look for URLs in a defined set of HTML tags. -; form/fieldset are special; if you include them here, the rewriter will -; add a hidden field with the info which is otherwise appended -; to URLs. If you want XHTML conformity, remove the form entry. -; Note that all valid entries require a "=", even if no value follows. -url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" - -[MSSQL] -; Allow or prevent persistent links. -mssql.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -mssql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -mssql.max_links = -1 - -; Minimum error severity to display. -mssql.min_error_severity = 10 - -; Minimum message severity to display. -mssql.min_message_severity = 10 - -; Compatability mode with old versions of PHP 3.0. -mssql.compatability_mode = Off - -; Connect timeout -;mssql.connect_timeout = 5 - -; Query timeout -;mssql.timeout = 60 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textlimit = 4096 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textsize = 4096 - -; Limits the number of records in each batch. 0 = all records in one batch. -;mssql.batchsize = 0 - -; Specify how datetime and datetim4 columns are returned -; On => Returns data converted to SQL server settings -; Off => Returns values as YYYY-MM-DD hh:mm:ss -;mssql.datetimeconvert = On - -; Use NT authentication when connecting to the server -mssql.secure_connection = Off - -; Specify max number of processes. -1 = library default -; msdlib defaults to 25 -; FreeTDS defaults to 4096 -;mssql.max_procs = -1 - -; Specify client character set. -; If empty or not set the client charset from freetds.comf is used -; This is only used when compiled with FreeTDS -;mssql.charset = "ISO-8859-1" - -[Assertion] -; Assert(expr); active by default. -;assert.active = On - -; Issue a PHP warning for each failed assertion. -;assert.warning = On - -; Don't bail out by default. -;assert.bail = Off - -; User-function to be called if an assertion fails. -;assert.callback = 0 - -; Eval the expression with current error_reporting(). Set to true if you want -; error_reporting(0) around the eval(). -;assert.quiet_eval = 0 - -[Verisign Payflow Pro] -; Default Payflow Pro server. -pfpro.defaulthost = "test-payflow.verisign.com" - -; Default port to connect to. -pfpro.defaultport = 443 - -; Default timeout in seconds. -pfpro.defaulttimeout = 30 - -; Default proxy IP address (if required). -;pfpro.proxyaddress = - -; Default proxy port. -;pfpro.proxyport = - -; Default proxy logon. -;pfpro.proxylogon = - -; Default proxy password. -;pfpro.proxypassword = - -[COM] -; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs -;com.typelib_file = -; allow Distributed-COM calls -;com.allow_dcom = true -; autoregister constants of a components typlib on com_load() -;com.autoregister_typelib = true -; register constants casesensitive -;com.autoregister_casesensitive = false -; show warnings on duplicate constat registrations -;com.autoregister_verbose = true - -[mbstring] -; language for internal character representation. -;mbstring.language = Japanese - -; internal/script encoding. -; Some encoding cannot work as internal encoding. -; (e.g. SJIS, BIG5, ISO-2022-*) -;mbstring.internal_encoding = EUC-JP - -; http input encoding. -;mbstring.http_input = auto - -; http output encoding. mb_output_handler must be -; registered as output buffer to function -;mbstring.http_output = SJIS - -; enable automatic encoding translation according to -; mbstring.internal_encoding setting. Input chars are -; converted to internal encoding by setting this to On. -; Note: Do _not_ use automatic encoding translation for -; portable libs/applications. -;mbstring.encoding_translation = Off - -; automatic encoding detection order. -; auto means -;mbstring.detect_order = auto - -; substitute_character used when character cannot be converted -; one from another -;mbstring.substitute_character = none; - -; overload(replace) single byte functions by mbstring functions. -; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), -; etc. Possible values are 0,1,2,4 or combination of them. -; For example, 7 for overload everything. -; 0: No overload -; 1: Overload mail() function -; 2: Overload str*() functions -; 4: Overload ereg*() functions -;mbstring.func_overload = 0 - -; enable strict encoding detection. -;mbstring.strict_encoding = Off - -[FrontBase] -;fbsql.allow_persistent = On -;fbsql.autocommit = On -;fbsql.default_database = -;fbsql.default_database_password = -;fbsql.default_host = -;fbsql.default_password = -;fbsql.default_user = "_SYSTEM" -;fbsql.generate_warnings = Off -;fbsql.max_connections = 128 -;fbsql.max_links = 128 -;fbsql.max_persistent = -1 -;fbsql.max_results = 128 -;fbsql.batchSize = 1000 - -[gd] -; Tell the jpeg decode to libjpeg warnings and try to create -; a gd image. The warning will then be displayed as notices -; disabled by default -;gd.jpeg_ignore_warning = 0 - -[exif] -; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. -; With mbstring support this will automatically be converted into the encoding -; given by corresponding encode setting. When empty mbstring.internal_encoding -; is used. For the decode settings you can distinguish between motorola and -; intel byte order. A decode setting cannot be empty. -;exif.encode_unicode = ISO-8859-15 -;exif.decode_unicode_motorola = UCS-2BE -;exif.decode_unicode_intel = UCS-2LE -;exif.encode_jis = -;exif.decode_jis_motorola = JIS -;exif.decode_jis_intel = JIS - -[Tidy] -; The path to a default tidy configuration file to use when using tidy -;tidy.default_config = /usr/local/lib/php/default.tcfg - -; Should tidy clean and repair output automatically? -; WARNING: Do not use this option if you are generating non-html content -; such as dynamic images -tidy.clean_output = Off - -[soap] -; Enables or disables WSDL caching feature. -soap.wsdl_cache_enabled=1 -; Sets the directory name where SOAP extension will put cache files. -soap.wsdl_cache_dir="/tmp" -; (time to live) Sets the number of second while cached file will be used -; instead of original one. -soap.wsdl_cache_ttl=86400 - -; Local Variables: -; tab-width: 4 -; End: - -<% @directives.sort_by { |key, val| key }.each do |directive, value| -%> -<%= "#{directive}=\"#{value}\"" %> -<% end -%> diff --git a/provision/cookbooks/php/templates/debian/php.ini.erb b/provision/cookbooks/php/templates/debian/php.ini.erb deleted file mode 100755 index 1bd0a47..0000000 --- a/provision/cookbooks/php/templates/debian/php.ini.erb +++ /dev/null @@ -1,1857 +0,0 @@ -[PHP] - -;;;;;;;;;;;;;;;;;;; -; About php.ini ; -;;;;;;;;;;;;;;;;;;; -; PHP's initialization file, generally called php.ini, is responsible for -; configuring many of the aspects of PHP's behavior. - -; PHP attempts to find and load this configuration from a number of locations. -; The following is a summary of its search order: -; 1. SAPI module specific location. -; 2. The PHPRC environment variable. (As of PHP 5.2.0) -; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) -; 4. Current working directory (except CLI) -; 5. The web server's directory (for SAPI modules), or directory of PHP -; (otherwise in Windows) -; 6. The directory from the --with-config-file-path compile time option, or the -; Windows directory (C:\windows or C:\winnt) -; See the PHP docs for more specific information. -; http://php.net/configuration.file - -; The syntax of the file is extremely simple. Whitespace and Lines -; beginning with a semicolon are silently ignored (as you probably guessed). -; Section headers (e.g. [Foo]) are also silently ignored, even though -; they might mean something in the future. - -; Directives following the section heading [PATH=/www/mysite] only -; apply to PHP files in the /www/mysite directory. Directives -; following the section heading [HOST=www.example.com] only apply to -; PHP files served from www.example.com. Directives set in these -; special sections cannot be overridden by user-defined INI files or -; at runtime. Currently, [PATH=] and [HOST=] sections only work under -; CGI/FastCGI. -; http://php.net/ini.sections - -; Directives are specified using the following syntax: -; directive = value -; Directive names are *case sensitive* - foo=bar is different from FOO=bar. -; Directives are variables used to configure PHP or PHP extensions. -; There is no name validation. If PHP can't find an expected -; directive because it is not set or is mistyped, a default value will be used. - -; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one -; of the INI constants (On, Off, True, False, Yes, No and None) or an expression -; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a -; previously set variable or directive (e.g. ${foo}) - -; Expressions in the INI file are limited to bitwise operators and parentheses: -; | bitwise OR -; ^ bitwise XOR -; & bitwise AND -; ~ bitwise NOT -; ! boolean NOT - -; Boolean flags can be turned on using the values 1, On, True or Yes. -; They can be turned off using the values 0, Off, False or No. - -; An empty string can be denoted by simply not writing anything after the equal -; sign, or by using the None keyword: - -; foo = ; sets foo to an empty string -; foo = None ; sets foo to an empty string -; foo = "None" ; sets foo to the string 'None' - -; If you use constants in your value, and these constants belong to a -; dynamically loaded extension (either a PHP extension or a Zend extension), -; you may only use these constants *after* the line that loads the extension. - -;;;;;;;;;;;;;;;;;;; -; About this file ; -;;;;;;;;;;;;;;;;;;; -; PHP comes packaged with two INI files. One that is recommended to be used -; in production environments and one that is recommended to be used in -; development environments. - -; php.ini-production contains settings which hold security, performance and -; best practices at its core. But please be aware, these settings may break -; compatibility with older or less security conscience applications. We -; recommending using the production ini in production and testing environments. - -; php.ini-development is very similar to its production variant, except it's -; much more verbose when it comes to errors. We recommending using the -; development version only in development environments as errors shown to -; application users can inadvertently leak otherwise secure information. - -;;;;;;;;;;;;;;;;;;; -; Quick Reference ; -;;;;;;;;;;;;;;;;;;; -; The following are all the settings which are different in either the production -; or development versions of the INIs with respect to PHP's default behavior. -; Please see the actual settings later in the document for more details as to why -; we recommend these changes in PHP's behavior. - -; allow_call_time_pass_reference -; Default Value: On -; Development Value: Off -; Production Value: Off - -; display_errors -; Default Value: On -; Development Value: On -; Production Value: Off - -; display_startup_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - -; error_reporting -; Default Value: E_ALL & ~E_NOTICE -; Development Value: E_ALL | E_STRICT -; Production Value: E_ALL & ~E_DEPRECATED - -; html_errors -; Default Value: On -; Development Value: On -; Production value: Off - -; log_errors -; Default Value: Off -; Development Value: On -; Production Value: On - -; magic_quotes_gpc -; Default Value: On -; Development Value: Off -; Production Value: Off - -; max_input_time -; Default Value: -1 (Unlimited) -; Development Value: 60 (60 seconds) -; Production Value: 60 (60 seconds) - -; output_buffering -; Default Value: Off -; Development Value: 4096 -; Production Value: 4096 - -; register_argc_argv -; Default Value: On -; Development Value: Off -; Production Value: Off - -; register_long_arrays -; Default Value: On -; Development Value: Off -; Production Value: Off - -; request_order -; Default Value: None -; Development Value: "GP" -; Production Value: "GP" - -; session.bug_compat_42 -; Default Value: On -; Development Value: On -; Production Value: Off - -; session.bug_compat_warn -; Default Value: On -; Development Value: On -; Production Value: Off - -; session.gc_divisor -; Default Value: 100 -; Development Value: 1000 -; Production Value: 1000 - -; session.hash_bits_per_character -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 - -; short_open_tag -; Default Value: On -; Development Value: Off -; Production Value: Off - -; track_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - -; url_rewriter.tags -; Default Value: "a=href,area=href,frame=src,form=,fieldset=" -; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" - -; variables_order -; Default Value: "EGPCS" -; Development Value: "GPCS" -; Production Value: "GPCS" - -;;;;;;;;;;;;;;;;;;;; -; php.ini Options ; -;;;;;;;;;;;;;;;;;;;; -; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" -;user_ini.filename = ".user.ini" - -; To disable this feature set this option to empty value -;user_ini.filename = - -; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) -;user_ini.cache_ttl = 300 - -;;;;;;;;;;;;;;;;;;;; -; Language Options ; -;;;;;;;;;;;;;;;;;;;; - -; Enable the PHP scripting language engine under Apache. -; http://php.net/engine -engine = On - -; This directive determines whether or not PHP will recognize code between -; tags as PHP source which should be processed as such. It's been -; recommended for several years that you not use the short tag "short cut" and -; instead to use the full tag combination. With the wide spread use -; of XML and use of these tags by other languages, the server can become easily -; confused and end up parsing the wrong code in the wrong context. But because -; this short cut has been a feature for such a long time, it's currently still -; supported for backwards compatibility, but we recommend you don't use them. -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/short-open-tag -short_open_tag = On - -; Allow ASP-style <% %> tags. -; http://php.net/asp-tags -asp_tags = Off - -; The number of significant digits displayed in floating point numbers. -; http://php.net/precision -precision = 14 - -; Enforce year 2000 compliance (will cause problems with non-compliant browsers) -; http://php.net/y2k-compliance -y2k_compliance = On - -; Output buffering is a mechanism for controlling how much output data -; (excluding headers and cookies) PHP should keep internally before pushing that -; data to the client. If your application's output exceeds this setting, PHP -; will send that data in chunks of roughly the size you specify. -; Turning on this setting and managing its maximum buffer size can yield some -; interesting side-effects depending on your application and web server. -; You may be able to send headers and cookies after you've already sent output -; through print or echo. You also may see performance benefits if your server is -; emitting less packets due to buffered output versus PHP streaming the output -; as it gets it. On production servers, 4096 bytes is a good setting for performance -; reasons. -; Note: Output buffering can also be controlled via Output Buffering Control -; functions. -; Possible Values: -; On = Enabled and buffer is unlimited. (Use with caution) -; Off = Disabled -; Integer = Enables the buffer and sets its maximum size in bytes. -; Note: This directive is hardcoded to Off for the CLI SAPI -; Default Value: Off -; Development Value: 4096 -; Production Value: 4096 -; http://php.net/output-buffering -output_buffering = 4096 - -; You can redirect all of the output of your scripts to a function. For -; example, if you set output_handler to "mb_output_handler", character -; encoding will be transparently converted to the specified encoding. -; Setting any output handler automatically turns on output buffering. -; Note: People who wrote portable scripts should not depend on this ini -; directive. Instead, explicitly set the output handler using ob_start(). -; Using this ini directive may cause problems unless you know what script -; is doing. -; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler" -; and you cannot use both "ob_gzhandler" and "zlib.output_compression". -; Note: output_handler must be empty if this is set 'On' !!!! -; Instead you must use zlib.output_handler. -; http://php.net/output-handler -;output_handler = - -; Transparent output compression using the zlib library -; Valid values for this option are 'off', 'on', or a specific buffer size -; to be used for compression (default is 4KB) -; Note: Resulting chunk size may vary due to nature of compression. PHP -; outputs chunks that are few hundreds bytes each as a result of -; compression. If you prefer a larger chunk size for better -; performance, enable output_buffering in addition. -; Note: You need to use zlib.output_handler instead of the standard -; output_handler, or otherwise the output will be corrupted. -; http://php.net/zlib.output-compression -zlib.output_compression = Off - -; http://php.net/zlib.output-compression-level -;zlib.output_compression_level = -1 - -; You cannot specify additional output handlers if zlib.output_compression -; is activated here. This setting does the same as output_handler but in -; a different order. -; http://php.net/zlib.output-handler -;zlib.output_handler = - -; Implicit flush tells PHP to tell the output layer to flush itself -; automatically after every output block. This is equivalent to calling the -; PHP function flush() after each and every call to print() or echo() and each -; and every HTML block. Turning this option on has serious performance -; implications and is generally recommended for debugging purposes only. -; http://php.net/implicit-flush -; Note: This directive is hardcoded to On for the CLI SAPI -implicit_flush = Off - -; The unserialize callback function will be called (with the undefined class' -; name as parameter), if the unserializer finds an undefined class -; which should be instantiated. A warning appears if the specified function is -; not defined, or if the function doesn't include/implement the missing class. -; So only set this entry, if you really want to implement such a -; callback-function. -unserialize_callback_func = - -; When floats & doubles are serialized store serialize_precision significant -; digits after the floating point. The default value ensures that when floats -; are decoded with unserialize, the data will remain the same. -serialize_precision = 100 - -; This directive allows you to enable and disable warnings which PHP will issue -; if you pass a value by reference at function call time. Passing values by -; reference at function call time is a deprecated feature which will be removed -; from PHP at some point in the near future. The acceptable method for passing a -; value by reference to a function is by declaring the reference in the functions -; definition, not at call time. This directive does not disable this feature, it -; only determines whether PHP will warn you about it or not. These warnings -; should enabled in development environments only. -; Default Value: On (Suppress warnings) -; Development Value: Off (Issue warnings) -; Production Value: Off (Issue warnings) -; http://php.net/allow-call-time-pass-reference -allow_call_time_pass_reference = Off - -; Safe Mode -; http://php.net/safe-mode -safe_mode = Off - -; By default, Safe Mode does a UID compare check when -; opening files. If you want to relax this to a GID compare, -; then turn on safe_mode_gid. -; http://php.net/safe-mode-gid -safe_mode_gid = Off - -; When safe_mode is on, UID/GID checks are bypassed when -; including files from this directory and its subdirectories. -; (directory must also be in include_path or full path must -; be used when including) -; http://php.net/safe-mode-include-dir -safe_mode_include_dir = - -; When safe_mode is on, only executables located in the safe_mode_exec_dir -; will be allowed to be executed via the exec family of functions. -; http://php.net/safe-mode-exec-dir -safe_mode_exec_dir = - -; Setting certain environment variables may be a potential security breach. -; This directive contains a comma-delimited list of prefixes. In Safe Mode, -; the user may only alter environment variables whose names begin with the -; prefixes supplied here. By default, users will only be able to set -; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR). -; Note: If this directive is empty, PHP will let the user modify ANY -; environment variable! -; http://php.net/safe-mode-allowed-env-vars -safe_mode_allowed_env_vars = PHP_ - -; This directive contains a comma-delimited list of environment variables that -; the end user won't be able to change using putenv(). These variables will be -; protected even if safe_mode_allowed_env_vars is set to allow to change them. -; http://php.net/safe-mode-protected-env-vars -safe_mode_protected_env_vars = LD_LIBRARY_PATH - -; open_basedir, if set, limits all file operations to the defined directory -; and below. This directive makes most sense if used in a per-directory -; or per-virtualhost web server configuration file. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -; http://php.net/open-basedir -;open_basedir = - -; This directive allows you to disable certain functions for security reasons. -; It receives a comma-delimited list of function names. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -; http://php.net/disable-functions -disable_functions = - -; This directive allows you to disable certain classes for security reasons. -; It receives a comma-delimited list of class names. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -; http://php.net/disable-classes -disable_classes = - -; Colors for Syntax Highlighting mode. Anything that's acceptable in -; would work. -; http://php.net/syntax-highlighting -;highlight.string = #DD0000 -;highlight.comment = #FF9900 -;highlight.keyword = #007700 -;highlight.bg = #FFFFFF -;highlight.default = #0000BB -;highlight.html = #000000 - -; If enabled, the request will be allowed to complete even if the user aborts -; the request. Consider enabling it if executing long requests, which may end up -; being interrupted by the user or a browser timing out. PHP's default behavior -; is to disable this feature. -; http://php.net/ignore-user-abort -;ignore_user_abort = On - -; Determines the size of the realpath cache to be used by PHP. This value should -; be increased on systems where PHP opens many files to reflect the quantity of -; the file operations performed. -; http://php.net/realpath-cache-size -;realpath_cache_size = 16k - -; Duration of time, in seconds for which to cache realpath information for a given -; file or directory. For systems with rarely changing files, consider increasing this -; value. -; http://php.net/realpath-cache-ttl -;realpath_cache_ttl = 120 - -;;;;;;;;;;;;;;;;; -; Miscellaneous ; -;;;;;;;;;;;;;;;;; - -; Decides whether PHP may expose the fact that it is installed on the server -; (e.g. by adding its signature to the Web server header). It is no security -; threat in any way, but it makes it possible to determine whether you use PHP -; on your server or not. -; http://php.net/expose-php -expose_php = On - -;;;;;;;;;;;;;;;;;;; -; Resource Limits ; -;;;;;;;;;;;;;;;;;;; - -; Maximum execution time of each script, in seconds -; http://php.net/max-execution-time -; Note: This directive is hardcoded to 0 for the CLI SAPI -max_execution_time = 30 - -; Maximum amount of time each script may spend parsing request data. It's a good -; idea to limit this time on productions servers in order to eliminate unexpectedly -; long running scripts. -; Note: This directive is hardcoded to -1 for the CLI SAPI -; Default Value: -1 (Unlimited) -; Development Value: 60 (60 seconds) -; Production Value: 60 (60 seconds) -; http://php.net/max-input-time -max_input_time = 60 - -; Maximum input variable nesting level -; http://php.net/max-input-nesting-level -;max_input_nesting_level = 64 - -; Maximum amount of memory a script may consume (128MB) -; http://php.net/memory-limit -memory_limit = -1 - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Error handling and logging ; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -; This directive informs PHP of which errors, warnings and notices you would like -; it to take action for. The recommended way of setting values for this -; directive is through the use of the error level constants and bitwise -; operators. The error level constants are below here for convenience as well as -; some common settings and their meanings. -; By default, PHP is set to take action on all errors, notices and warnings EXCEPT -; those related to E_NOTICE and E_STRICT, which together cover best practices and -; recommended coding standards in PHP. For performance reasons, this is the -; recommend error reporting setting. Your production server shouldn't be wasting -; resources complaining about best practices and coding standards. That's what -; development servers and development settings are for. -; Note: The php.ini-development file has this setting as E_ALL | E_STRICT. This -; means it pretty much reports everything which is exactly what you want during -; development and early testing. -; -; Error Level Constants: -; E_ALL - All errors and warnings (includes E_STRICT as of PHP 6.0.0) -; E_ERROR - fatal run-time errors -; E_RECOVERABLE_ERROR - almost fatal run-time errors -; E_WARNING - run-time warnings (non-fatal errors) -; E_PARSE - compile-time parse errors -; E_NOTICE - run-time notices (these are warnings which often result -; from a bug in your code, but it's possible that it was -; intentional (e.g., using an uninitialized variable and -; relying on the fact it's automatically initialized to an -; empty string) -; E_STRICT - run-time notices, enable to have PHP suggest changes -; to your code which will ensure the best interoperability -; and forward compatibility of your code -; E_CORE_ERROR - fatal errors that occur during PHP's initial startup -; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's -; initial startup -; E_COMPILE_ERROR - fatal compile-time errors -; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) -; E_USER_ERROR - user-generated error message -; E_USER_WARNING - user-generated warning message -; E_USER_NOTICE - user-generated notice message -; E_DEPRECATED - warn about code that will not work in future versions -; of PHP -; E_USER_DEPRECATED - user-generated deprecation warnings -; -; Common Values: -; E_ALL & ~E_NOTICE (Show all errors, except for notices and coding standards warnings.) -; E_ALL & ~E_NOTICE | E_STRICT (Show all errors, except for notices) -; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) -; E_ALL | E_STRICT (Show all errors, warnings and notices including coding standards.) -; Default Value: E_ALL & ~E_NOTICE -; Development Value: E_ALL | E_STRICT -; Production Value: E_ALL & ~E_DEPRECATED -; http://php.net/error-reporting -error_reporting = E_ALL & ~E_DEPRECATED - -; This directive controls whether or not and where PHP will output errors, -; notices and warnings too. Error output is very useful during development, but -; it could be very dangerous in production environments. Depending on the code -; which is triggering the error, sensitive information could potentially leak -; out of your application such as database usernames and passwords or worse. -; It's recommended that errors be logged on production servers rather than -; having the errors sent to STDOUT. -; Possible Values: -; Off = Do not display any errors -; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) -; On or stdout = Display errors to STDOUT -; Default Value: On -; Development Value: On -; Production Value: Off -; http://php.net/display-errors -display_errors = Off - -; The display of errors which occur during PHP's startup sequence are handled -; separately from display_errors. PHP's default behavior is to suppress those -; errors from clients. Turning the display of startup errors on can be useful in -; debugging configuration problems. But, it's strongly recommended that you -; leave this setting off on production servers. -; Default Value: Off -; Development Value: On -; Production Value: Off -; http://php.net/display-startup-errors -display_startup_errors = Off - -; Besides displaying errors, PHP can also log errors to locations such as a -; server-specific log, STDERR, or a location specified by the error_log -; directive found below. While errors should not be displayed on productions -; servers they should still be monitored and logging is a great way to do that. -; Default Value: Off -; Development Value: On -; Production Value: On -; http://php.net/log-errors -log_errors = On - -; Set maximum length of log_errors. In error_log information about the source is -; added. The default is 1024 and 0 allows to not apply any maximum length at all. -; http://php.net/log-errors-max-len -log_errors_max_len = 1024 - -; Do not log repeated messages. Repeated errors must occur in same file on same -; line unless ignore_repeated_source is set true. -; http://php.net/ignore-repeated-errors -ignore_repeated_errors = Off - -; Ignore source of message when ignoring repeated messages. When this setting -; is On you will not log errors with repeated messages from different files or -; source lines. -; http://php.net/ignore-repeated-source -ignore_repeated_source = Off - -; If this parameter is set to Off, then memory leaks will not be shown (on -; stdout or in the log). This has only effect in a debug compile, and if -; error reporting includes E_WARNING in the allowed list -; http://php.net/report-memleaks -report_memleaks = On - -; This setting is on by default. -;report_zend_debug = 0 - -; Store the last error/warning message in $php_errormsg (boolean). Setting this value -; to On can assist in debugging and is appropriate for development servers. It should -; however be disabled on production servers. -; Default Value: Off -; Development Value: On -; Production Value: Off -; http://php.net/track-errors -track_errors = Off - -; Turn off normal error reporting and emit XML-RPC error XML -; http://php.net/xmlrpc-errors -;xmlrpc_errors = 0 - -; An XML-RPC faultCode -;xmlrpc_error_number = 0 - -; When PHP displays or logs an error, it has the capability of inserting html -; links to documentation related to that error. This directive controls whether -; those HTML links appear in error messages or not. For performance and security -; reasons, it's recommended you disable this on production servers. -; Note: This directive is hardcoded to Off for the CLI SAPI -; Default Value: On -; Development Value: On -; Production value: Off -; http://php.net/html-errors -html_errors = Off - -; If html_errors is set On PHP produces clickable error messages that direct -; to a page describing the error or function causing the error in detail. -; You can download a copy of the PHP manual from http://php.net/docs -; and change docref_root to the base URL of your local copy including the -; leading '/'. You must also specify the file extension being used including -; the dot. PHP's default behavior is to leave these settings empty. -; Note: Never use this feature for production boxes. -; http://php.net/docref-root -; Examples -;docref_root = "/phpmanual/" - -; http://php.net/docref-ext -;docref_ext = .html - -; String to output before an error message. PHP's default behavior is to leave -; this setting blank. -; http://php.net/error-prepend-string -; Example: -;error_prepend_string = "" - -; String to output after an error message. PHP's default behavior is to leave -; this setting blank. -; http://php.net/error-append-string -; Example: -;error_append_string = "" - -; Log errors to specified file. PHP's default behavior is to leave this value -; empty. -; http://php.net/error-log -; Example: -;error_log = php_errors.log -; Log errors to syslog (Event Log on NT, not valid in Windows 95). -;error_log = syslog - -;;;;;;;;;;;;;;;;; -; Data Handling ; -;;;;;;;;;;;;;;;;; - -; The separator used in PHP generated URLs to separate arguments. -; PHP's default setting is "&". -; http://php.net/arg-separator.output -; Example: -;arg_separator.output = "&" - -; List of separator(s) used by PHP to parse input URLs into variables. -; PHP's default setting is "&". -; NOTE: Every character in this directive is considered as separator! -; http://php.net/arg-separator.input -; Example: -;arg_separator.input = ";&" - -; This directive determines which super global arrays are registered when PHP -; starts up. If the register_globals directive is enabled, it also determines -; what order variables are populated into the global space. G,P,C,E & S are -; abbreviations for the following respective super globals: GET, POST, COOKIE, -; ENV and SERVER. There is a performance penalty paid for the registration of -; these arrays and because ENV is not as commonly used as the others, ENV is -; is not recommended on productions servers. You can still get access to -; the environment variables through getenv() should you need to. -; Default Value: "EGPCS" -; Development Value: "GPCS" -; Production Value: "GPCS"; -; http://php.net/variables-order -variables_order = "GPCS" - -; This directive determines which super global data (G,P,C,E & S) should -; be registered into the super global array REQUEST. If so, it also determines -; the order in which that data is registered. The values for this directive are -; specified in the same manner as the variables_order directive, EXCEPT one. -; Leaving this value empty will cause PHP to use the value set in the -; variables_order directive. It does not mean it will leave the super globals -; array REQUEST empty. -; Default Value: None -; Development Value: "GP" -; Production Value: "GP" -; http://php.net/request-order -request_order = "GP" - -; Whether or not to register the EGPCS variables as global variables. You may -; want to turn this off if you don't want to clutter your scripts' global scope -; with user data. -; You should do your best to write your scripts so that they do not require -; register_globals to be on; Using form variables as globals can easily lead -; to possible security problems, if the code is not very well thought of. -; http://php.net/register-globals -register_globals = Off - -; Determines whether the deprecated long $HTTP_*_VARS type predefined variables -; are registered by PHP or not. As they are deprecated, we obviously don't -; recommend you use them. They are on by default for compatibility reasons but -; they are not recommended on production servers. -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/register-long-arrays -register_long_arrays = Off - -; This directive determines whether PHP registers $argv & $argc each time it -; runs. $argv contains an array of all the arguments passed to PHP when a script -; is invoked. $argc contains an integer representing the number of arguments -; that were passed when the script was invoked. These arrays are extremely -; useful when running scripts from the command line. When this directive is -; enabled, registering these variables consumes CPU cycles and memory each time -; a script is executed. For performance reasons, this feature should be disabled -; on production servers. -; Note: This directive is hardcoded to On for the CLI SAPI -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/register-argc-argv -register_argc_argv = Off - -; When enabled, the SERVER and ENV variables are created when they're first -; used (Just In Time) instead of when the script starts. If these variables -; are not used within a script, having this directive on will result in a -; performance gain. The PHP directives register_globals, register_long_arrays, -; and register_argc_argv must be disabled for this directive to have any affect. -; http://php.net/auto-globals-jit -auto_globals_jit = On - -; Maximum size of POST data that PHP will accept. -; http://php.net/post-max-size -post_max_size = 8M - -; Magic quotes are a preprocessing feature of PHP where PHP will attempt to -; escape any character sequences in GET, POST, COOKIE and ENV data which might -; otherwise corrupt data being placed in resources such as databases before -; making that data available to you. Because of character encoding issues and -; non-standard SQL implementations across many databases, it's not currently -; possible for this feature to be 100% accurate. PHP's default behavior is to -; enable the feature. We strongly recommend you use the escaping mechanisms -; designed specifically for the database your using instead of relying on this -; feature. Also note, this feature has been deprecated as of PHP 5.3.0 and is -; scheduled for removal in PHP 6. -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/magic-quotes-gpc -magic_quotes_gpc = Off - -; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc. -; http://php.net/magic-quotes-runtime -magic_quotes_runtime = Off - -; Use Sybase-style magic quotes (escape ' with '' instead of \'). -; http://php.net/magic-quotes-sybase -magic_quotes_sybase = Off - -; Automatically add files before PHP document. -; http://php.net/auto-prepend-file -auto_prepend_file = - -; Automatically add files after PHP document. -; http://php.net/auto-append-file -auto_append_file = - -; By default, PHP will output a character encoding using -; the Content-type: header. To disable sending of the charset, simply -; set it to be empty. -; -; PHP's built-in default is text/html -; http://php.net/default-mimetype -default_mimetype = "text/html" - -; PHP's default character set is set to empty. -; http://php.net/default-charset -;default_charset = "iso-8859-1" - -; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is -; to disable this feature. -; http://php.net/always-populate-raw-post-data -;always_populate_raw_post_data = On - -;;;;;;;;;;;;;;;;;;;;;;;;; -; Paths and Directories ; -;;;;;;;;;;;;;;;;;;;;;;;;; - -; UNIX: "/path1:/path2" -;include_path = ".:/usr/share/php" -; -; Windows: "\path1;\path2" -;include_path = ".;c:\php\includes" -; -; PHP's default setting for include_path is ".;/path/to/php/pear" -; http://php.net/include-path - -; The root of the PHP pages, used only if nonempty. -; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root -; if you are running php as a CGI under any web server (other than IIS) -; see documentation for security issues. The alternate is to use the -; cgi.force_redirect configuration below -; http://php.net/doc-root -doc_root = - -; The directory under which PHP opens the script using /~username used only -; if nonempty. -; http://php.net/user-dir -user_dir = - -; Directory in which the loadable extensions (modules) reside. -; http://php.net/extension-dir -; extension_dir = "./" -; On windows: -; extension_dir = "ext" - -; Whether or not to enable the dl() function. The dl() function does NOT work -; properly in multithreaded servers, such as IIS or Zeus, and is automatically -; disabled on them. -; http://php.net/enable-dl -enable_dl = Off - -; cgi.force_redirect is necessary to provide security running PHP as a CGI under -; most web servers. Left undefined, PHP turns this on by default. You can -; turn it off here AT YOUR OWN RISK -; **You CAN safely turn this off for IIS, in fact, you MUST.** -; http://php.net/cgi.force-redirect -;cgi.force_redirect = 1 - -; if cgi.nph is enabled it will force cgi to always sent Status: 200 with -; every request. PHP's default behavior is to disable this feature. -;cgi.nph = 1 - -; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape -; (iPlanet) web servers, you MAY need to set an environment variable name that PHP -; will look for to know it is OK to continue execution. Setting this variable MAY -; cause security issues, KNOW WHAT YOU ARE DOING FIRST. -; http://php.net/cgi.redirect-status-env -;cgi.redirect_status_env = ; - -; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's -; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok -; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting -; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting -; of zero causes PHP to behave as before. Default is 1. You should fix your scripts -; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. -; http://php.net/cgi.fix-pathinfo -;cgi.fix_pathinfo=1 - -; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate -; security tokens of the calling client. This allows IIS to define the -; security context that the request runs under. mod_fastcgi under Apache -; does not currently support this feature (03/17/2002) -; Set to 1 if running under IIS. Default is zero. -; http://php.net/fastcgi.impersonate -;fastcgi.impersonate = 1; - -; Disable logging through FastCGI connection. PHP's default behavior is to enable -; this feature. -;fastcgi.logging = 0 - -; cgi.rfc2616_headers configuration option tells PHP what type of headers to -; use when sending HTTP response code. If it's set 0 PHP sends Status: header that -; is supported by Apache. When this option is set to 1 PHP will send -; RFC2616 compliant header. -; Default is zero. -; http://php.net/cgi.rfc2616-headers -;cgi.rfc2616_headers = 0 - -;;;;;;;;;;;;;;;; -; File Uploads ; -;;;;;;;;;;;;;;;; - -; Whether to allow HTTP file uploads. -; http://php.net/file-uploads -file_uploads = On - -; Temporary directory for HTTP uploaded files (will use system default if not -; specified). -; http://php.net/upload-tmp-dir -;upload_tmp_dir = - -; Maximum allowed size for uploaded files. -; http://php.net/upload-max-filesize -upload_max_filesize = 2M - -; Maximum number of files that can be uploaded via a single request -max_file_uploads = 20 - -;;;;;;;;;;;;;;;;;; -; Fopen wrappers ; -;;;;;;;;;;;;;;;;;; - -; Whether to allow the treatment of URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-fopen -allow_url_fopen = On - -; Whether to allow include/require to open URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-include -allow_url_include = Off - -; Define the anonymous ftp password (your email address). PHP's default setting -; for this is empty. -; http://php.net/from -;from="john@doe.com" - -; Define the User-Agent string. PHP's default setting for this is empty. -; http://php.net/user-agent -;user_agent="PHP" - -; Default timeout for socket based streams (seconds) -; http://php.net/default-socket-timeout -default_socket_timeout = 60 - -; If your scripts have to deal with files from Macintosh systems, -; or you are running on a Mac and need to deal with files from -; unix or win32 systems, setting this flag will cause PHP to -; automatically detect the EOL character in those files so that -; fgets() and file() will work regardless of the source of the file. -; http://php.net/auto-detect-line-endings -;auto_detect_line_endings = Off - -;;;;;;;;;;;;;;;;;;;;;; -; Dynamic Extensions ; -;;;;;;;;;;;;;;;;;;;;;; - -; If you wish to have an extension loaded automatically, use the following -; syntax: -; -; extension=modulename.extension -; -; For example, on Windows: -; -; extension=msql.dll -; -; ... or under UNIX: -; -; extension=msql.so -; -; ... or with a path: -; -; extension=/path/to/extension/msql.so -; -; If you only provide the name of the extension, PHP will look for it in its -; default extension directory. -; - -;;;;;;;;;;;;;;;;;;; -; Module Settings ; -;;;;;;;;;;;;;;;;;;; - -[Date] -; Defines the default timezone used by the date functions -; http://php.net/date.timezone -;date.timezone = - -; http://php.net/date.default-latitude -;date.default_latitude = 31.7667 - -; http://php.net/date.default-longitude -;date.default_longitude = 35.2333 - -; http://php.net/date.sunrise-zenith -;date.sunrise_zenith = 90.583333 - -; http://php.net/date.sunset-zenith -;date.sunset_zenith = 90.583333 - -[filter] -; http://php.net/filter.default -;filter.default = unsafe_raw - -; http://php.net/filter.default-flags -;filter.default_flags = - -[iconv] -;iconv.input_encoding = ISO-8859-1 -;iconv.internal_encoding = ISO-8859-1 -;iconv.output_encoding = ISO-8859-1 - -[intl] -;intl.default_locale = -; This directive allows you to produce PHP errors when some error -; happens within intl functions. The value is the level of the error produced. -; Default is 0, which does not produce any errors. -;intl.error_level = E_WARNING - -[sqlite] -; http://php.net/sqlite.assoc-case -;sqlite.assoc_case = 0 - -[sqlite3] -;sqlite3.extension_dir = - -[Pcre] -;PCRE library backtracking limit. -; http://php.net/pcre.backtrack-limit -;pcre.backtrack_limit=100000 - -;PCRE library recursion limit. -;Please note that if you set this value to a high number you may consume all -;the available process stack and eventually crash PHP (due to reaching the -;stack size limit imposed by the Operating System). -; http://php.net/pcre.recursion-limit -;pcre.recursion_limit=100000 - -[Pdo] -; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" -; http://php.net/pdo-odbc.connection-pooling -;pdo_odbc.connection_pooling=strict - -;pdo_odbc.db2_instance_name - -[Pdo_mysql] -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/pdo_mysql.cache_size -pdo_mysql.cache_size = 2000 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/pdo_mysql.default-socket -pdo_mysql.default_socket= - -[Phar] -; http://php.net/phar.readonly -;phar.readonly = On - -; http://php.net/phar.require-hash -;phar.require_hash = On - -;phar.cache_list = - -[Syslog] -; Whether or not to define the various syslog variables (e.g. $LOG_PID, -; $LOG_CRON, etc.). Turning it off is a good idea performance-wise. In -; runtime, you can define these variables by calling define_syslog_variables(). -; http://php.net/define-syslog-variables -define_syslog_variables = Off - -[mail function] -; For Win32 only. -; http://php.net/smtp -SMTP = localhost -; http://php.net/smtp-port -smtp_port = 25 - -; For Win32 only. -; http://php.net/sendmail-from -;sendmail_from = me@example.com - -; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). -; http://php.net/sendmail-path -;sendmail_path = - -; Force the addition of the specified parameters to be passed as extra parameters -; to the sendmail binary. These parameters will always replace the value of -; the 5th parameter to mail(), even in safe mode. -;mail.force_extra_parameters = - -; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename -mail.add_x_header = On - -; Log all mail() calls including the full path of the script, line #, to address and headers -;mail.log = - -[SQL] -; http://php.net/sql.safe-mode -sql.safe_mode = Off - -[ODBC] -; http://php.net/odbc.default-db -;odbc.default_db = Not yet implemented - -; http://php.net/odbc.default-user -;odbc.default_user = Not yet implemented - -; http://php.net/odbc.default-pw -;odbc.default_pw = Not yet implemented - -; Controls the ODBC cursor model. -; Default: SQL_CURSOR_STATIC (default). -;odbc.default_cursortype - -; Allow or prevent persistent links. -; http://php.net/odbc.allow-persistent -odbc.allow_persistent = On - -; Check that a connection is still valid before reuse. -; http://php.net/odbc.check-persistent -odbc.check_persistent = On - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/odbc.max-persistent -odbc.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/odbc.max-links -odbc.max_links = -1 - -; Handling of LONG fields. Returns number of bytes to variables. 0 means -; passthru. -; http://php.net/odbc.defaultlrl -odbc.defaultlrl = 4096 - -; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. -; See the documentation on odbc_binmode and odbc_longreadlen for an explanation -; of odbc.defaultlrl and odbc.defaultbinmode -; http://php.net/odbc.defaultbinmode -odbc.defaultbinmode = 1 - -;birdstep.max_links = -1 - -[Interbase] -; Allow or prevent persistent links. -ibase.allow_persistent = 1 - -; Maximum number of persistent links. -1 means no limit. -ibase.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -ibase.max_links = -1 - -; Default database name for ibase_connect(). -;ibase.default_db = - -; Default username for ibase_connect(). -;ibase.default_user = - -; Default password for ibase_connect(). -;ibase.default_password = - -; Default charset for ibase_connect(). -;ibase.default_charset = - -; Default timestamp format. -ibase.timestampformat = "%Y-%m-%d %H:%M:%S" - -; Default date format. -ibase.dateformat = "%Y-%m-%d" - -; Default time format. -ibase.timeformat = "%H:%M:%S" - -[MySQL] -; Allow accessing, from PHP's perspective, local files with LOAD DATA statements -; http://php.net/mysql.allow_local_infile -mysql.allow_local_infile = On - -; Allow or prevent persistent links. -; http://php.net/mysql.allow-persistent -mysql.allow_persistent = On - -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/mysql.cache_size -mysql.cache_size = 2000 - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/mysql.max-persistent -mysql.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/mysql.max-links -mysql.max_links = -1 - -; Default port number for mysql_connect(). If unset, mysql_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -; http://php.net/mysql.default-port -mysql.default_port = - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/mysql.default-socket -mysql.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysql.default-host -mysql.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysql.default-user -mysql.default_user = - -; Default password for mysql_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -; http://php.net/mysql.default-password -mysql.default_password = - -; Maximum time (in seconds) for connect timeout. -1 means no limit -; http://php.net/mysql.connect-timeout -mysql.connect_timeout = 60 - -; Trace mode. When trace_mode is active (=On), warnings for table/index scans and -; SQL-Errors will be displayed. -; http://php.net/mysql.trace-mode -mysql.trace_mode = Off - -[MySQLi] - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/mysqli.max-persistent -mysqli.max_persistent = -1 - -; Allow accessing, from PHP's perspective, local files with LOAD DATA statements -; http://php.net/mysqli.allow_local_infile -;mysqli.allow_local_infile = On - -; Allow or prevent persistent links. -; http://php.net/mysqli.allow-persistent -mysqli.allow_persistent = On - -; Maximum number of links. -1 means no limit. -; http://php.net/mysqli.max-links -mysqli.max_links = -1 - -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/mysqli.cache_size -mysqli.cache_size = 2000 - -; Default port number for mysqli_connect(). If unset, mysqli_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -; http://php.net/mysqli.default-port -mysqli.default_port = 3306 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/mysqli.default-socket -mysqli.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-host -mysqli.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-user -mysqli.default_user = - -; Default password for mysqli_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -; http://php.net/mysqli.default-pw -mysqli.default_pw = - -; Allow or prevent reconnect -mysqli.reconnect = Off - -[mysqlnd] -; Enable / Disable collection of general statstics by mysqlnd which can be -; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_statistics -mysqlnd.collect_statistics = On - -; Enable / Disable collection of memory usage statstics by mysqlnd which can be -; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_memory_statistics -mysqlnd.collect_memory_statistics = Off - -; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. -; http://php.net/mysqlnd.net_cmd_buffer_size -;mysqlnd.net_cmd_buffer_size = 2048 - -; Size of a pre-allocated buffer used for reading data sent by the server in -; bytes. -; http://php.net/mysqlnd.net_read_buffer_size -;mysqlnd.net_read_buffer_size = 32768 - -[OCI8] - -; Connection: Enables privileged connections using external -; credentials (OCI_SYSOPER, OCI_SYSDBA) -; http://php.net/oci8.privileged-connect -;oci8.privileged_connect = Off - -; Connection: The maximum number of persistent OCI8 connections per -; process. Using -1 means no limit. -; http://php.net/oci8.max-persistent -;oci8.max_persistent = -1 - -; Connection: The maximum number of seconds a process is allowed to -; maintain an idle persistent connection. Using -1 means idle -; persistent connections will be maintained forever. -; http://php.net/oci8.persistent-timeout -;oci8.persistent_timeout = -1 - -; Connection: The number of seconds that must pass before issuing a -; ping during oci_pconnect() to check the connection validity. When -; set to 0, each oci_pconnect() will cause a ping. Using -1 disables -; pings completely. -; http://php.net/oci8.ping-interval -;oci8.ping_interval = 60 - -; Connection: Set this to a user chosen connection class to be used -; for all pooled server requests with Oracle 11g Database Resident -; Connection Pooling (DRCP). To use DRCP, this value should be set to -; the same string for all web servers running the same application, -; the database pool must be configured, and the connection string must -; specify to use a pooled server. -;oci8.connection_class = - -; High Availability: Using On lets PHP receive Fast Application -; Notification (FAN) events generated when a database node fails. The -; database must also be configured to post FAN events. -;oci8.events = Off - -; Tuning: This option enables statement caching, and specifies how -; many statements to cache. Using 0 disables statement caching. -; http://php.net/oci8.statement-cache-size -;oci8.statement_cache_size = 20 - -; Tuning: Enables statement prefetching and sets the default number of -; rows that will be fetched automatically after statement execution. -; http://php.net/oci8.default-prefetch -;oci8.default_prefetch = 100 - -; Compatibility. Using On means oci_close() will not close -; oci_connect() and oci_new_connect() connections. -; http://php.net/oci8.old-oci-close-semantics -;oci8.old_oci_close_semantics = Off - -[PostgresSQL] -; Allow or prevent persistent links. -; http://php.net/pgsql.allow-persistent -pgsql.allow_persistent = On - -; Detect broken persistent links always with pg_pconnect(). -; Auto reset feature requires a little overheads. -; http://php.net/pgsql.auto-reset-persistent -pgsql.auto_reset_persistent = Off - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/pgsql.max-persistent -pgsql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -; http://php.net/pgsql.max-links -pgsql.max_links = -1 - -; Ignore PostgreSQL backends Notice message or not. -; Notice message logging require a little overheads. -; http://php.net/pgsql.ignore-notice -pgsql.ignore_notice = 0 - -; Log PostgreSQL backends Noitce message or not. -; Unless pgsql.ignore_notice=0, module cannot log notice message. -; http://php.net/pgsql.log-notice -pgsql.log_notice = 0 - -[Sybase-CT] -; Allow or prevent persistent links. -; http://php.net/sybct.allow-persistent -sybct.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/sybct.max-persistent -sybct.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/sybct.max-links -sybct.max_links = -1 - -; Minimum server message severity to display. -; http://php.net/sybct.min-server-severity -sybct.min_server_severity = 10 - -; Minimum client message severity to display. -; http://php.net/sybct.min-client-severity -sybct.min_client_severity = 10 - -; Set per-context timeout -; http://php.net/sybct.timeout -;sybct.timeout= - -;sybct.packet_size - -; The maximum time in seconds to wait for a connection attempt to succeed before returning failure. -; Default: one minute -;sybct.login_timeout= - -; The name of the host you claim to be connecting from, for display by sp_who. -; Default: none -;sybct.hostname= - -; Allows you to define how often deadlocks are to be retried. -1 means "forever". -; Default: 0 -;sybct.deadlock_retry_count= - -[bcmath] -; Number of decimal digits for all bcmath functions. -; http://php.net/bcmath.scale -bcmath.scale = 0 - -[browscap] -; http://php.net/browscap -;browscap = extra/browscap.ini - -[Session] -; Handler used to store/retrieve data. -; http://php.net/session.save-handler -session.save_handler = files - -; Argument passed to save_handler. In the case of files, this is the path -; where data files are stored. Note: Windows users have to change this -; variable in order to use PHP's session functions. -; -; The path can be defined as: -; -; session.save_path = "N;/path" -; -; where N is an integer. Instead of storing all the session files in -; /path, what this will do is use subdirectories N-levels deep, and -; store the session data in those directories. This is useful if you -; or your OS have problems with lots of files in one directory, and is -; a more efficient layout for servers that handle lots of sessions. -; -; NOTE 1: PHP will not create this directory structure automatically. -; You can use the script in the ext/session dir for that purpose. -; NOTE 2: See the section on garbage collection below if you choose to -; use subdirectories for session storage -; -; The file storage module creates files using mode 600 by default. -; You can change that by using -; -; session.save_path = "N;MODE;/path" -; -; where MODE is the octal representation of the mode. Note that this -; does not overwrite the process's umask. -; http://php.net/session.save-path -;session.save_path = "/tmp" - -; Whether to use cookies. -; http://php.net/session.use-cookies -session.use_cookies = 1 - -; http://php.net/session.cookie-secure -;session.cookie_secure = - -; This option forces PHP to fetch and use a cookie for storing and maintaining -; the session id. We encourage this operation as it's very helpful in combatting -; session hijacking when not specifying and managing your own session id. It is -; not the end all be all of session hijacking defense, but it's a good start. -; http://php.net/session.use-only-cookies -session.use_only_cookies = 1 - -; Name of the session (used as cookie name). -; http://php.net/session.name -session.name = PHPSESSID - -; Initialize session on request startup. -; http://php.net/session.auto-start -session.auto_start = 0 - -; Lifetime in seconds of cookie or, if 0, until browser is restarted. -; http://php.net/session.cookie-lifetime -session.cookie_lifetime = 0 - -; The path for which the cookie is valid. -; http://php.net/session.cookie-path -session.cookie_path = / - -; The domain for which the cookie is valid. -; http://php.net/session.cookie-domain -session.cookie_domain = - -; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. -; http://php.net/session.cookie-httponly -session.cookie_httponly = - -; Handler used to serialize data. php is the standard serializer of PHP. -; http://php.net/session.serialize-handler -session.serialize_handler = php - -; Defines the probability that the 'garbage collection' process is started -; on every session initialization. The probability is calculated by using -; gc_probability/gc_divisor. Where session.gc_probability is the numerator -; and gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. -; Default Value: 1 -; Development Value: 1 -; Production Value: 1 -; http://php.net/session.gc-probability -session.gc_probability = 1 - -; Defines the probability that the 'garbage collection' process is started on every -; session initialization. The probability is calculated by using the following equation: -; gc_probability/gc_divisor. Where session.gc_probability is the numerator and -; session.gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. Increasing this value to 1000 will give you -; a 0.1% chance the gc will run on any give request. For high volume production servers, -; this is a more efficient approach. -; Default Value: 100 -; Development Value: 1000 -; Production Value: 1000 -; http://php.net/session.gc-divisor -session.gc_divisor = 1000 - -; After this number of seconds, stored data will be seen as 'garbage' and -; cleaned up by the garbage collection process. -; http://php.net/session.gc-maxlifetime -session.gc_maxlifetime = 1440 - -; NOTE: If you are using the subdirectory option for storing session files -; (see session.save_path above), then garbage collection does *not* -; happen automatically. You will need to do your own garbage -; collection through a shell script, cron entry, or some other method. -; For example, the following script would is the equivalent of -; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): -; cd /path/to/sessions; find -cmin +24 | xargs rm - -; PHP 4.2 and less have an undocumented feature/bug that allows you to -; to initialize a session variable in the global scope, even when register_globals -; is disabled. PHP 4.3 and later will warn you, if this feature is used. -; You can disable the feature and the warning separately. At this time, -; the warning is only displayed, if bug_compat_42 is enabled. This feature -; introduces some serious security problems if not handled correctly. It's -; recommended that you do not use this feature on production servers. But you -; should enable this on development servers and enable the warning as well. If you -; do not enable the feature on development servers, you won't be warned when it's -; used and debugging errors caused by this can be difficult to track down. -; Default Value: On -; Development Value: On -; Production Value: Off -; http://php.net/session.bug-compat-42 -session.bug_compat_42 = Off - -; This setting controls whether or not you are warned by PHP when initializing a -; session value into the global space. session.bug_compat_42 must be enabled before -; these warnings can be issued by PHP. See the directive above for more information. -; Default Value: On -; Development Value: On -; Production Value: Off -; http://php.net/session.bug-compat-warn -session.bug_compat_warn = Off - -; Check HTTP Referer to invalidate externally stored URLs containing ids. -; HTTP_REFERER has to contain this substring for the session to be -; considered as valid. -; http://php.net/session.referer-check -session.referer_check = - -; How many bytes to read from the file. -; http://php.net/session.entropy-length -session.entropy_length = 0 - -; Specified here to create the session id. -; http://php.net/session.entropy-file -;session.entropy_file = /dev/urandom -session.entropy_file = - -; http://php.net/session.entropy-length -;session.entropy_length = 16 - -; Set to {nocache,private,public,} to determine HTTP caching aspects -; or leave this empty to avoid sending anti-caching headers. -; http://php.net/session.cache-limiter -session.cache_limiter = nocache - -; Document expires after n minutes. -; http://php.net/session.cache-expire -session.cache_expire = 180 - -; trans sid support is disabled by default. -; Use of trans sid may risk your users security. -; Use this option with caution. -; - User may send URL contains active session ID -; to other person via. email/irc/etc. -; - URL that contains active session ID may be stored -; in publically accessible computer. -; - User may access your site with the same session ID -; always using URL stored in browser's history or bookmarks. -; http://php.net/session.use-trans-sid -session.use_trans_sid = 0 - -; Select a hash function for use in generating session ids. -; Possible Values -; 0 (MD5 128 bits) -; 1 (SHA-1 160 bits) -; This option may also be set to the name of any hash function supported by -; the hash extension. A list of available hashes is returned by the hash_alogs() -; function. -; http://php.net/session.hash-function -session.hash_function = 0 - -; Define how many bits are stored in each character when converting -; the binary hash data to something readable. -; Possible values: -; 4 (4 bits: 0-9, a-f) -; 5 (5 bits: 0-9, a-v) -; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 -; http://php.net/session.hash-bits-per-character -session.hash_bits_per_character = 5 - -; The URL rewriter will look for URLs in a defined set of HTML tags. -; form/fieldset are special; if you include them here, the rewriter will -; add a hidden field with the info which is otherwise appended -; to URLs. If you want XHTML conformity, remove the form entry. -; Note that all valid entries require a "=", even if no value follows. -; Default Value: "a=href,area=href,frame=src,form=,fieldset=" -; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; http://php.net/url-rewriter.tags -url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" - -[MSSQL] -; Allow or prevent persistent links. -mssql.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -mssql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -mssql.max_links = -1 - -; Minimum error severity to display. -mssql.min_error_severity = 10 - -; Minimum message severity to display. -mssql.min_message_severity = 10 - -; Compatibility mode with old versions of PHP 3.0. -mssql.compatability_mode = Off - -; Connect timeout -;mssql.connect_timeout = 5 - -; Query timeout -;mssql.timeout = 60 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textlimit = 4096 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textsize = 4096 - -; Limits the number of records in each batch. 0 = all records in one batch. -;mssql.batchsize = 0 - -; Specify how datetime and datetim4 columns are returned -; On => Returns data converted to SQL server settings -; Off => Returns values as YYYY-MM-DD hh:mm:ss -;mssql.datetimeconvert = On - -; Use NT authentication when connecting to the server -mssql.secure_connection = Off - -; Specify max number of processes. -1 = library default -; msdlib defaults to 25 -; FreeTDS defaults to 4096 -;mssql.max_procs = -1 - -; Specify client character set. -; If empty or not set the client charset from freetds.comf is used -; This is only used when compiled with FreeTDS -;mssql.charset = "ISO-8859-1" - -[Assertion] -; Assert(expr); active by default. -; http://php.net/assert.active -;assert.active = On - -; Issue a PHP warning for each failed assertion. -; http://php.net/assert.warning -;assert.warning = On - -; Don't bail out by default. -; http://php.net/assert.bail -;assert.bail = Off - -; User-function to be called if an assertion fails. -; http://php.net/assert.callback -;assert.callback = 0 - -; Eval the expression with current error_reporting(). Set to true if you want -; error_reporting(0) around the eval(). -; http://php.net/assert.quiet-eval -;assert.quiet_eval = 0 - -[COM] -; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs -; http://php.net/com.typelib-file -;com.typelib_file = - -; allow Distributed-COM calls -; http://php.net/com.allow-dcom -;com.allow_dcom = true - -; autoregister constants of a components typlib on com_load() -; http://php.net/com.autoregister-typelib -;com.autoregister_typelib = true - -; register constants casesensitive -; http://php.net/com.autoregister-casesensitive -;com.autoregister_casesensitive = false - -; show warnings on duplicate constant registrations -; http://php.net/com.autoregister-verbose -;com.autoregister_verbose = true - -; The default character set code-page to use when passing strings to and from COM objects. -; Default: system ANSI code page -;com.code_page= - -[mbstring] -; language for internal character representation. -; http://php.net/mbstring.language -;mbstring.language = Japanese - -; internal/script encoding. -; Some encoding cannot work as internal encoding. -; (e.g. SJIS, BIG5, ISO-2022-*) -; http://php.net/mbstring.internal-encoding -;mbstring.internal_encoding = EUC-JP - -; http input encoding. -; http://php.net/mbstring.http-input -;mbstring.http_input = auto - -; http output encoding. mb_output_handler must be -; registered as output buffer to function -; http://php.net/mbstring.http-output -;mbstring.http_output = SJIS - -; enable automatic encoding translation according to -; mbstring.internal_encoding setting. Input chars are -; converted to internal encoding by setting this to On. -; Note: Do _not_ use automatic encoding translation for -; portable libs/applications. -; http://php.net/mbstring.encoding-translation -;mbstring.encoding_translation = Off - -; automatic encoding detection order. -; auto means -; http://php.net/mbstring.detect-order -;mbstring.detect_order = auto - -; substitute_character used when character cannot be converted -; one from another -; http://php.net/mbstring.substitute-character -;mbstring.substitute_character = none; - -; overload(replace) single byte functions by mbstring functions. -; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), -; etc. Possible values are 0,1,2,4 or combination of them. -; For example, 7 for overload everything. -; 0: No overload -; 1: Overload mail() function -; 2: Overload str*() functions -; 4: Overload ereg*() functions -; http://php.net/mbstring.func-overload -;mbstring.func_overload = 0 - -; enable strict encoding detection. -;mbstring.strict_detection = Off - -; This directive specifies the regex pattern of content types for which mb_output_handler() -; is activated. -; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) -;mbstring.http_output_conv_mimetype= - -; Allows to set script encoding. Only affects if PHP is compiled with --enable-zend-multibyte -; Default: "" -;mbstring.script_encoding= - -[gd] -; Tell the jpeg decode to ignore warnings and try to create -; a gd image. The warning will then be displayed as notices -; disabled by default -; http://php.net/gd.jpeg-ignore-warning -;gd.jpeg_ignore_warning = 0 - -[exif] -; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. -; With mbstring support this will automatically be converted into the encoding -; given by corresponding encode setting. When empty mbstring.internal_encoding -; is used. For the decode settings you can distinguish between motorola and -; intel byte order. A decode setting cannot be empty. -; http://php.net/exif.encode-unicode -;exif.encode_unicode = ISO-8859-15 - -; http://php.net/exif.decode-unicode-motorola -;exif.decode_unicode_motorola = UCS-2BE - -; http://php.net/exif.decode-unicode-intel -;exif.decode_unicode_intel = UCS-2LE - -; http://php.net/exif.encode-jis -;exif.encode_jis = - -; http://php.net/exif.decode-jis-motorola -;exif.decode_jis_motorola = JIS - -; http://php.net/exif.decode-jis-intel -;exif.decode_jis_intel = JIS - -[Tidy] -; The path to a default tidy configuration file to use when using tidy -; http://php.net/tidy.default-config -;tidy.default_config = /usr/local/lib/php/default.tcfg - -; Should tidy clean and repair output automatically? -; WARNING: Do not use this option if you are generating non-html content -; such as dynamic images -; http://php.net/tidy.clean-output -tidy.clean_output = Off - -[soap] -; Enables or disables WSDL caching feature. -; http://php.net/soap.wsdl-cache-enabled -soap.wsdl_cache_enabled=1 - -; Sets the directory name where SOAP extension will put cache files. -; http://php.net/soap.wsdl-cache-dir -soap.wsdl_cache_dir="/tmp" - -; (time to live) Sets the number of second while cached file will be used -; instead of original one. -; http://php.net/soap.wsdl-cache-ttl -soap.wsdl_cache_ttl=86400 - -; Sets the size of the cache limit. (Max. number of WSDL files to cache) -soap.wsdl_cache_limit = 5 - -[sysvshm] -; A default size of the shared memory segment -;sysvshm.init_mem = 10000 - -[ldap] -; Sets the maximum number of open links or -1 for unlimited. -ldap.max_links = -1 - -[mcrypt] -; For more information about mcrypt settings see http://php.net/mcrypt-module-open - -; Directory where to load mcrypt algorithms -; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) -;mcrypt.algorithms_dir= - -; Directory where to load mcrypt modes -; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) -;mcrypt.modes_dir= - -[dba] -;dba.default_handler= - -; Local Variables: -; tab-width: 4 -; End: - -<% @directives.sort_by { |key, val| key }.each do |directive, value| -%> -<%= "#{directive}=\"#{value}\"" %> -<% end -%> diff --git a/provision/cookbooks/php/templates/default/extension.ini.erb b/provision/cookbooks/php/templates/default/extension.ini.erb deleted file mode 100755 index 11a9830..0000000 --- a/provision/cookbooks/php/templates/default/extension.ini.erb +++ /dev/null @@ -1,7 +0,0 @@ -; configuration for php <%= @name %> module -<% @extensions.each do |filepath, zend| -%> -<%= 'zend_' if zend %>extension=<%= filepath %> -<% end -%> -<% @directives.each do |k,v| -%> -<%= "#{@name}.#{k}=\"#{v}\"" %> -<% end -%> diff --git a/provision/cookbooks/php/templates/default/php.ini.erb b/provision/cookbooks/php/templates/default/php.ini.erb deleted file mode 100755 index 55efd4c..0000000 --- a/provision/cookbooks/php/templates/default/php.ini.erb +++ /dev/null @@ -1,1900 +0,0 @@ -[PHP] - -;;;;;;;;;;;;;;;;;;; -; About php.ini ; -;;;;;;;;;;;;;;;;;;; -; PHP's initialization file, generally called php.ini, is responsible for -; configuring many of the aspects of PHP's behavior. - -; PHP attempts to find and load this configuration from a number of locations. -; The following is a summary of its search order: -; 1. SAPI module specific location. -; 2. The PHPRC environment variable. (As of PHP 5.2.0) -; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) -; 4. Current working directory (except CLI) -; 5. The web server's directory (for SAPI modules), or directory of PHP -; (otherwise in Windows) -; 6. The directory from the --with-config-file-path compile time option, or the -; Windows directory (C:\windows or C:\winnt) -; See the PHP docs for more specific information. -; http://php.net/configuration.file - -; The syntax of the file is extremely simple. Whitespace and Lines -; beginning with a semicolon are silently ignored (as you probably guessed). -; Section headers (e.g. [Foo]) are also silently ignored, even though -; they might mean something in the future. - -; Directives following the section heading [PATH=/www/mysite] only -; apply to PHP files in the /www/mysite directory. Directives -; following the section heading [HOST=www.example.com] only apply to -; PHP files served from www.example.com. Directives set in these -; special sections cannot be overridden by user-defined INI files or -; at runtime. Currently, [PATH=] and [HOST=] sections only work under -; CGI/FastCGI. -; http://php.net/ini.sections - -; Directives are specified using the following syntax: -; directive = value -; Directive names are *case sensitive* - foo=bar is different from FOO=bar. -; Directives are variables used to configure PHP or PHP extensions. -; There is no name validation. If PHP can't find an expected -; directive because it is not set or is mistyped, a default value will be used. - -; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one -; of the INI constants (On, Off, True, False, Yes, No and None) or an expression -; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a -; previously set variable or directive (e.g. ${foo}) - -; Expressions in the INI file are limited to bitwise operators and parentheses: -; | bitwise OR -; ^ bitwise XOR -; & bitwise AND -; ~ bitwise NOT -; ! boolean NOT - -; Boolean flags can be turned on using the values 1, On, True or Yes. -; They can be turned off using the values 0, Off, False or No. - -; An empty string can be denoted by simply not writing anything after the equal -; sign, or by using the None keyword: - -; foo = ; sets foo to an empty string -; foo = None ; sets foo to an empty string -; foo = "None" ; sets foo to the string 'None' - -; If you use constants in your value, and these constants belong to a -; dynamically loaded extension (either a PHP extension or a Zend extension), -; you may only use these constants *after* the line that loads the extension. - -;;;;;;;;;;;;;;;;;;; -; About this file ; -;;;;;;;;;;;;;;;;;;; -; PHP comes packaged with two INI files. One that is recommended to be used -; in production environments and one that is recommended to be used in -; development environments. - -; php.ini-production contains settings which hold security, performance and -; best practices at its core. But please be aware, these settings may break -; compatibility with older or less security conscience applications. We -; recommending using the production ini in production and testing environments. - -; php.ini-development is very similar to its production variant, except it's -; much more verbose when it comes to errors. We recommending using the -; development version only in development environments as errors shown to -; application users can inadvertently leak otherwise secure information. - -;;;;;;;;;;;;;;;;;;; -; Quick Reference ; -;;;;;;;;;;;;;;;;;;; -; The following are all the settings which are different in either the production -; or development versions of the INIs with respect to PHP's default behavior. -; Please see the actual settings later in the document for more details as to why -; we recommend these changes in PHP's behavior. - -; allow_call_time_pass_reference -; Default Value: On -; Development Value: Off -; Production Value: Off - -; display_errors -; Default Value: On -; Development Value: On -; Production Value: Off - -; display_startup_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - -; error_reporting -; Default Value: E_ALL & ~E_NOTICE -; Development Value: E_ALL | E_STRICT -; Production Value: E_ALL & ~E_DEPRECATED - -; html_errors -; Default Value: On -; Development Value: On -; Production value: Off - -; log_errors -; Default Value: Off -; Development Value: On -; Production Value: On - -; magic_quotes_gpc -; Default Value: On -; Development Value: Off -; Production Value: Off - -; max_input_time -; Default Value: -1 (Unlimited) -; Development Value: 60 (60 seconds) -; Production Value: 60 (60 seconds) - -; output_buffering -; Default Value: Off -; Development Value: 4096 -; Production Value: 4096 - -; register_argc_argv -; Default Value: On -; Development Value: Off -; Production Value: Off - -; register_long_arrays -; Default Value: On -; Development Value: Off -; Production Value: Off - -; request_order -; Default Value: None -; Development Value: "GP" -; Production Value: "GP" - -; session.bug_compat_42 -; Default Value: On -; Development Value: On -; Production Value: Off - -; session.bug_compat_warn -; Default Value: On -; Development Value: On -; Production Value: Off - -; session.gc_divisor -; Default Value: 100 -; Development Value: 1000 -; Production Value: 1000 - -; session.hash_bits_per_character -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 - -; short_open_tag -; Default Value: On -; Development Value: Off -; Production Value: Off - -; track_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - -; url_rewriter.tags -; Default Value: "a=href,area=href,frame=src,form=,fieldset=" -; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" - -; variables_order -; Default Value: "EGPCS" -; Development Value: "GPCS" -; Production Value: "GPCS" - -;;;;;;;;;;;;;;;;;;;; -; php.ini Options ; -;;;;;;;;;;;;;;;;;;;; -; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" -;user_ini.filename = ".user.ini" - -; To disable this feature set this option to empty value -;user_ini.filename = - -; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) -;user_ini.cache_ttl = 300 - -;;;;;;;;;;;;;;;;;;;; -; Language Options ; -;;;;;;;;;;;;;;;;;;;; - -; Enable the PHP scripting language engine under Apache. -; http://php.net/engine -engine = On - -; This directive determines whether or not PHP will recognize code between -; tags as PHP source which should be processed as such. It's been -; recommended for several years that you not use the short tag "short cut" and -; instead to use the full tag combination. With the wide spread use -; of XML and use of these tags by other languages, the server can become easily -; confused and end up parsing the wrong code in the wrong context. But because -; this short cut has been a feature for such a long time, it's currently still -; supported for backwards compatibility, but we recommend you don't use them. -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/short-open-tag -short_open_tag = Off - -; Allow ASP-style <% %> tags. -; http://php.net/asp-tags -asp_tags = Off - -; The number of significant digits displayed in floating point numbers. -; http://php.net/precision -precision = 14 - -; Enforce year 2000 compliance (will cause problems with non-compliant browsers) -; http://php.net/y2k-compliance -y2k_compliance = On - -; Output buffering is a mechanism for controlling how much output data -; (excluding headers and cookies) PHP should keep internally before pushing that -; data to the client. If your application's output exceeds this setting, PHP -; will send that data in chunks of roughly the size you specify. -; Turning on this setting and managing its maximum buffer size can yield some -; interesting side-effects depending on your application and web server. -; You may be able to send headers and cookies after you've already sent output -; through print or echo. You also may see performance benefits if your server is -; emitting less packets due to buffered output versus PHP streaming the output -; as it gets it. On production servers, 4096 bytes is a good setting for performance -; reasons. -; Note: Output buffering can also be controlled via Output Buffering Control -; functions. -; Possible Values: -; On = Enabled and buffer is unlimited. (Use with caution) -; Off = Disabled -; Integer = Enables the buffer and sets its maximum size in bytes. -; Note: This directive is hardcoded to Off for the CLI SAPI -; Default Value: Off -; Development Value: 4096 -; Production Value: 4096 -; http://php.net/output-buffering -output_buffering = 4096 - -; You can redirect all of the output of your scripts to a function. For -; example, if you set output_handler to "mb_output_handler", character -; encoding will be transparently converted to the specified encoding. -; Setting any output handler automatically turns on output buffering. -; Note: People who wrote portable scripts should not depend on this ini -; directive. Instead, explicitly set the output handler using ob_start(). -; Using this ini directive may cause problems unless you know what script -; is doing. -; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler" -; and you cannot use both "ob_gzhandler" and "zlib.output_compression". -; Note: output_handler must be empty if this is set 'On' !!!! -; Instead you must use zlib.output_handler. -; http://php.net/output-handler -;output_handler = - -; Transparent output compression using the zlib library -; Valid values for this option are 'off', 'on', or a specific buffer size -; to be used for compression (default is 4KB) -; Note: Resulting chunk size may vary due to nature of compression. PHP -; outputs chunks that are few hundreds bytes each as a result of -; compression. If you prefer a larger chunk size for better -; performance, enable output_buffering in addition. -; Note: You need to use zlib.output_handler instead of the standard -; output_handler, or otherwise the output will be corrupted. -; http://php.net/zlib.output-compression -zlib.output_compression = Off - -; http://php.net/zlib.output-compression-level -;zlib.output_compression_level = -1 - -; You cannot specify additional output handlers if zlib.output_compression -; is activated here. This setting does the same as output_handler but in -; a different order. -; http://php.net/zlib.output-handler -;zlib.output_handler = - -; Implicit flush tells PHP to tell the output layer to flush itself -; automatically after every output block. This is equivalent to calling the -; PHP function flush() after each and every call to print() or echo() and each -; and every HTML block. Turning this option on has serious performance -; implications and is generally recommended for debugging purposes only. -; http://php.net/implicit-flush -; Note: This directive is hardcoded to On for the CLI SAPI -implicit_flush = Off - -; The unserialize callback function will be called (with the undefined class' -; name as parameter), if the unserializer finds an undefined class -; which should be instantiated. A warning appears if the specified function is -; not defined, or if the function doesn't include/implement the missing class. -; So only set this entry, if you really want to implement such a -; callback-function. -unserialize_callback_func = - -; When floats & doubles are serialized store serialize_precision significant -; digits after the floating point. The default value ensures that when floats -; are decoded with unserialize, the data will remain the same. -serialize_precision = 100 - -; This directive allows you to enable and disable warnings which PHP will issue -; if you pass a value by reference at function call time. Passing values by -; reference at function call time is a deprecated feature which will be removed -; from PHP at some point in the near future. The acceptable method for passing a -; value by reference to a function is by declaring the reference in the functions -; definition, not at call time. This directive does not disable this feature, it -; only determines whether PHP will warn you about it or not. These warnings -; should enabled in development environments only. -; Default Value: On (Suppress warnings) -; Development Value: Off (Issue warnings) -; Production Value: Off (Issue warnings) -; http://php.net/allow-call-time-pass-reference -allow_call_time_pass_reference = Off - -; Safe Mode -; http://php.net/safe-mode -safe_mode = Off - -; By default, Safe Mode does a UID compare check when -; opening files. If you want to relax this to a GID compare, -; then turn on safe_mode_gid. -; http://php.net/safe-mode-gid -safe_mode_gid = Off - -; When safe_mode is on, UID/GID checks are bypassed when -; including files from this directory and its subdirectories. -; (directory must also be in include_path or full path must -; be used when including) -; http://php.net/safe-mode-include-dir -safe_mode_include_dir = - -; When safe_mode is on, only executables located in the safe_mode_exec_dir -; will be allowed to be executed via the exec family of functions. -; http://php.net/safe-mode-exec-dir -safe_mode_exec_dir = - -; Setting certain environment variables may be a potential security breach. -; This directive contains a comma-delimited list of prefixes. In Safe Mode, -; the user may only alter environment variables whose names begin with the -; prefixes supplied here. By default, users will only be able to set -; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR). -; Note: If this directive is empty, PHP will let the user modify ANY -; environment variable! -; http://php.net/safe-mode-allowed-env-vars -safe_mode_allowed_env_vars = PHP_ - -; This directive contains a comma-delimited list of environment variables that -; the end user won't be able to change using putenv(). These variables will be -; protected even if safe_mode_allowed_env_vars is set to allow to change them. -; http://php.net/safe-mode-protected-env-vars -safe_mode_protected_env_vars = LD_LIBRARY_PATH - -; open_basedir, if set, limits all file operations to the defined directory -; and below. This directive makes most sense if used in a per-directory -; or per-virtualhost web server configuration file. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -; http://php.net/open-basedir -;open_basedir = - -; This directive allows you to disable certain functions for security reasons. -; It receives a comma-delimited list of function names. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -; http://php.net/disable-functions -disable_functions = - -; This directive allows you to disable certain classes for security reasons. -; It receives a comma-delimited list of class names. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -; http://php.net/disable-classes -disable_classes = - -; Colors for Syntax Highlighting mode. Anything that's acceptable in -; would work. -; http://php.net/syntax-highlighting -;highlight.string = #DD0000 -;highlight.comment = #FF9900 -;highlight.keyword = #007700 -;highlight.bg = #FFFFFF -;highlight.default = #0000BB -;highlight.html = #000000 - -; If enabled, the request will be allowed to complete even if the user aborts -; the request. Consider enabling it if executing long requests, which may end up -; being interrupted by the user or a browser timing out. PHP's default behavior -; is to disable this feature. -; http://php.net/ignore-user-abort -;ignore_user_abort = On - -; Determines the size of the realpath cache to be used by PHP. This value should -; be increased on systems where PHP opens many files to reflect the quantity of -; the file operations performed. -; http://php.net/realpath-cache-size -;realpath_cache_size = 16k - -; Duration of time, in seconds for which to cache realpath information for a given -; file or directory. For systems with rarely changing files, consider increasing this -; value. -; http://php.net/realpath-cache-ttl -;realpath_cache_ttl = 120 - -;;;;;;;;;;;;;;;;; -; Miscellaneous ; -;;;;;;;;;;;;;;;;; - -; Decides whether PHP may expose the fact that it is installed on the server -; (e.g. by adding its signature to the Web server header). It is no security -; threat in any way, but it makes it possible to determine whether you use PHP -; on your server or not. -; http://php.net/expose-php -expose_php = On - -;;;;;;;;;;;;;;;;;;; -; Resource Limits ; -;;;;;;;;;;;;;;;;;;; - -; Maximum execution time of each script, in seconds -; http://php.net/max-execution-time -; Note: This directive is hardcoded to 0 for the CLI SAPI -max_execution_time = 30 - -; Maximum amount of time each script may spend parsing request data. It's a good -; idea to limit this time on productions servers in order to eliminate unexpectedly -; long running scripts. -; Note: This directive is hardcoded to -1 for the CLI SAPI -; Default Value: -1 (Unlimited) -; Development Value: 60 (60 seconds) -; Production Value: 60 (60 seconds) -; http://php.net/max-input-time -max_input_time = 60 - -; Maximum input variable nesting level -; http://php.net/max-input-nesting-level -;max_input_nesting_level = 64 - -; Maximum amount of memory a script may consume (128MB) -; http://php.net/memory-limit -memory_limit = 128M - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Error handling and logging ; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -; This directive informs PHP of which errors, warnings and notices you would like -; it to take action for. The recommended way of setting values for this -; directive is through the use of the error level constants and bitwise -; operators. The error level constants are below here for convenience as well as -; some common settings and their meanings. -; By default, PHP is set to take action on all errors, notices and warnings EXCEPT -; those related to E_NOTICE and E_STRICT, which together cover best practices and -; recommended coding standards in PHP. For performance reasons, this is the -; recommend error reporting setting. Your production server shouldn't be wasting -; resources complaining about best practices and coding standards. That's what -; development servers and development settings are for. -; Note: The php.ini-development file has this setting as E_ALL | E_STRICT. This -; means it pretty much reports everything which is exactly what you want during -; development and early testing. -; -; Error Level Constants: -; E_ALL - All errors and warnings (includes E_STRICT as of PHP 6.0.0) -; E_ERROR - fatal run-time errors -; E_RECOVERABLE_ERROR - almost fatal run-time errors -; E_WARNING - run-time warnings (non-fatal errors) -; E_PARSE - compile-time parse errors -; E_NOTICE - run-time notices (these are warnings which often result -; from a bug in your code, but it's possible that it was -; intentional (e.g., using an uninitialized variable and -; relying on the fact it's automatically initialized to an -; empty string) -; E_STRICT - run-time notices, enable to have PHP suggest changes -; to your code which will ensure the best interoperability -; and forward compatibility of your code -; E_CORE_ERROR - fatal errors that occur during PHP's initial startup -; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's -; initial startup -; E_COMPILE_ERROR - fatal compile-time errors -; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) -; E_USER_ERROR - user-generated error message -; E_USER_WARNING - user-generated warning message -; E_USER_NOTICE - user-generated notice message -; E_DEPRECATED - warn about code that will not work in future versions -; of PHP -; E_USER_DEPRECATED - user-generated deprecation warnings -; -; Common Values: -; E_ALL & ~E_NOTICE (Show all errors, except for notices and coding standards warnings.) -; E_ALL & ~E_NOTICE | E_STRICT (Show all errors, except for notices) -; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) -; E_ALL | E_STRICT (Show all errors, warnings and notices including coding standards.) -; Default Value: E_ALL & ~E_NOTICE -; Development Value: E_ALL | E_STRICT -; Production Value: E_ALL & ~E_DEPRECATED -; http://php.net/error-reporting -error_reporting = E_ALL & ~E_DEPRECATED - -; This directive controls whether or not and where PHP will output errors, -; notices and warnings too. Error output is very useful during development, but -; it could be very dangerous in production environments. Depending on the code -; which is triggering the error, sensitive information could potentially leak -; out of your application such as database usernames and passwords or worse. -; It's recommended that errors be logged on production servers rather than -; having the errors sent to STDOUT. -; Possible Values: -; Off = Do not display any errors -; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) -; On or stdout = Display errors to STDOUT -; Default Value: On -; Development Value: On -; Production Value: Off -; http://php.net/display-errors -display_errors = Off - -; The display of errors which occur during PHP's startup sequence are handled -; separately from display_errors. PHP's default behavior is to suppress those -; errors from clients. Turning the display of startup errors on can be useful in -; debugging configuration problems. But, it's strongly recommended that you -; leave this setting off on production servers. -; Default Value: Off -; Development Value: On -; Production Value: Off -; http://php.net/display-startup-errors -display_startup_errors = Off - -; Besides displaying errors, PHP can also log errors to locations such as a -; server-specific log, STDERR, or a location specified by the error_log -; directive found below. While errors should not be displayed on productions -; servers they should still be monitored and logging is a great way to do that. -; Default Value: Off -; Development Value: On -; Production Value: On -; http://php.net/log-errors -log_errors = On - -; Set maximum length of log_errors. In error_log information about the source is -; added. The default is 1024 and 0 allows to not apply any maximum length at all. -; http://php.net/log-errors-max-len -log_errors_max_len = 1024 - -; Do not log repeated messages. Repeated errors must occur in same file on same -; line unless ignore_repeated_source is set true. -; http://php.net/ignore-repeated-errors -ignore_repeated_errors = Off - -; Ignore source of message when ignoring repeated messages. When this setting -; is On you will not log errors with repeated messages from different files or -; source lines. -; http://php.net/ignore-repeated-source -ignore_repeated_source = Off - -; If this parameter is set to Off, then memory leaks will not be shown (on -; stdout or in the log). This has only effect in a debug compile, and if -; error reporting includes E_WARNING in the allowed list -; http://php.net/report-memleaks -report_memleaks = On - -; This setting is on by default. -;report_zend_debug = 0 - -; Store the last error/warning message in $php_errormsg (boolean). Setting this value -; to On can assist in debugging and is appropriate for development servers. It should -; however be disabled on production servers. -; Default Value: Off -; Development Value: On -; Production Value: Off -; http://php.net/track-errors -track_errors = Off - -; Turn off normal error reporting and emit XML-RPC error XML -; http://php.net/xmlrpc-errors -;xmlrpc_errors = 0 - -; An XML-RPC faultCode -;xmlrpc_error_number = 0 - -; When PHP displays or logs an error, it has the capability of inserting html -; links to documentation related to that error. This directive controls whether -; those HTML links appear in error messages or not. For performance and security -; reasons, it's recommended you disable this on production servers. -; Note: This directive is hardcoded to Off for the CLI SAPI -; Default Value: On -; Development Value: On -; Production value: Off -; http://php.net/html-errors -html_errors = Off - -; If html_errors is set On PHP produces clickable error messages that direct -; to a page describing the error or function causing the error in detail. -; You can download a copy of the PHP manual from http://php.net/docs -; and change docref_root to the base URL of your local copy including the -; leading '/'. You must also specify the file extension being used including -; the dot. PHP's default behavior is to leave these settings empty. -; Note: Never use this feature for production boxes. -; http://php.net/docref-root -; Examples -;docref_root = "/phpmanual/" - -; http://php.net/docref-ext -;docref_ext = .html - -; String to output before an error message. PHP's default behavior is to leave -; this setting blank. -; http://php.net/error-prepend-string -; Example: -;error_prepend_string = "" - -; String to output after an error message. PHP's default behavior is to leave -; this setting blank. -; http://php.net/error-append-string -; Example: -;error_append_string = "" - -; Log errors to specified file. PHP's default behavior is to leave this value -; empty. -; http://php.net/error-log -; Example: -;error_log = php_errors.log -; Log errors to syslog (Event Log on NT, not valid in Windows 95). -;error_log = syslog - -;;;;;;;;;;;;;;;;; -; Data Handling ; -;;;;;;;;;;;;;;;;; - -; The separator used in PHP generated URLs to separate arguments. -; PHP's default setting is "&". -; http://php.net/arg-separator.output -; Example: -;arg_separator.output = "&" - -; List of separator(s) used by PHP to parse input URLs into variables. -; PHP's default setting is "&". -; NOTE: Every character in this directive is considered as separator! -; http://php.net/arg-separator.input -; Example: -;arg_separator.input = ";&" - -; This directive determines which super global arrays are registered when PHP -; starts up. If the register_globals directive is enabled, it also determines -; what order variables are populated into the global space. G,P,C,E & S are -; abbreviations for the following respective super globals: GET, POST, COOKIE, -; ENV and SERVER. There is a performance penalty paid for the registration of -; these arrays and because ENV is not as commonly used as the others, ENV is -; is not recommended on productions servers. You can still get access to -; the environment variables through getenv() should you need to. -; Default Value: "EGPCS" -; Development Value: "GPCS" -; Production Value: "GPCS"; -; http://php.net/variables-order -variables_order = "GPCS" - -; This directive determines which super global data (G,P,C,E & S) should -; be registered into the super global array REQUEST. If so, it also determines -; the order in which that data is registered. The values for this directive are -; specified in the same manner as the variables_order directive, EXCEPT one. -; Leaving this value empty will cause PHP to use the value set in the -; variables_order directive. It does not mean it will leave the super globals -; array REQUEST empty. -; Default Value: None -; Development Value: "GP" -; Production Value: "GP" -; http://php.net/request-order -request_order = "GP" - -; Whether or not to register the EGPCS variables as global variables. You may -; want to turn this off if you don't want to clutter your scripts' global scope -; with user data. -; You should do your best to write your scripts so that they do not require -; register_globals to be on; Using form variables as globals can easily lead -; to possible security problems, if the code is not very well thought of. -; http://php.net/register-globals -register_globals = Off - -; Determines whether the deprecated long $HTTP_*_VARS type predefined variables -; are registered by PHP or not. As they are deprecated, we obviously don't -; recommend you use them. They are on by default for compatibility reasons but -; they are not recommended on production servers. -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/register-long-arrays -register_long_arrays = Off - -; This directive determines whether PHP registers $argv & $argc each time it -; runs. $argv contains an array of all the arguments passed to PHP when a script -; is invoked. $argc contains an integer representing the number of arguments -; that were passed when the script was invoked. These arrays are extremely -; useful when running scripts from the command line. When this directive is -; enabled, registering these variables consumes CPU cycles and memory each time -; a script is executed. For performance reasons, this feature should be disabled -; on production servers. -; Note: This directive is hardcoded to On for the CLI SAPI -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/register-argc-argv -register_argc_argv = Off - -; When enabled, the SERVER and ENV variables are created when they're first -; used (Just In Time) instead of when the script starts. If these variables -; are not used within a script, having this directive on will result in a -; performance gain. The PHP directives register_globals, register_long_arrays, -; and register_argc_argv must be disabled for this directive to have any affect. -; http://php.net/auto-globals-jit -auto_globals_jit = On - -; Maximum size of POST data that PHP will accept. -; http://php.net/post-max-size -post_max_size = 8M - -; Magic quotes are a preprocessing feature of PHP where PHP will attempt to -; escape any character sequences in GET, POST, COOKIE and ENV data which might -; otherwise corrupt data being placed in resources such as databases before -; making that data available to you. Because of character encoding issues and -; non-standard SQL implementations across many databases, it's not currently -; possible for this feature to be 100% accurate. PHP's default behavior is to -; enable the feature. We strongly recommend you use the escaping mechanisms -; designed specifically for the database your using instead of relying on this -; feature. Also note, this feature has been deprecated as of PHP 5.3.0 and is -; scheduled for removal in PHP 6. -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/magic-quotes-gpc -magic_quotes_gpc = Off - -; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc. -; http://php.net/magic-quotes-runtime -magic_quotes_runtime = Off - -; Use Sybase-style magic quotes (escape ' with '' instead of \'). -; http://php.net/magic-quotes-sybase -magic_quotes_sybase = Off - -; Automatically add files before PHP document. -; http://php.net/auto-prepend-file -auto_prepend_file = - -; Automatically add files after PHP document. -; http://php.net/auto-append-file -auto_append_file = - -; By default, PHP will output a character encoding using -; the Content-type: header. To disable sending of the charset, simply -; set it to be empty. -; -; PHP's built-in default is text/html -; http://php.net/default-mimetype -default_mimetype = "text/html" - -; PHP's default character set is set to empty. -; http://php.net/default-charset -;default_charset = "iso-8859-1" - -; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is -; to disable this feature. -; http://php.net/always-populate-raw-post-data -;always_populate_raw_post_data = On - -;;;;;;;;;;;;;;;;;;;;;;;;; -; Paths and Directories ; -;;;;;;;;;;;;;;;;;;;;;;;;; - -; UNIX: "/path1:/path2" -;include_path = ".:/php/includes" -; -; Windows: "\path1;\path2" -;include_path = ".;c:\php\includes" -; -; PHP's default setting for include_path is ".;/path/to/php/pear" -; http://php.net/include-path - -; The root of the PHP pages, used only if nonempty. -; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root -; if you are running php as a CGI under any web server (other than IIS) -; see documentation for security issues. The alternate is to use the -; cgi.force_redirect configuration below -; http://php.net/doc-root -doc_root = - -; The directory under which PHP opens the script using /~username used only -; if nonempty. -; http://php.net/user-dir -user_dir = - -; Directory in which the loadable extensions (modules) reside. -; http://php.net/extension-dir -; extension_dir = "./" -; On windows: -; extension_dir = "ext" - -; Whether or not to enable the dl() function. The dl() function does NOT work -; properly in multithreaded servers, such as IIS or Zeus, and is automatically -; disabled on them. -; http://php.net/enable-dl -enable_dl = Off - -; cgi.force_redirect is necessary to provide security running PHP as a CGI under -; most web servers. Left undefined, PHP turns this on by default. You can -; turn it off here AT YOUR OWN RISK -; **You CAN safely turn this off for IIS, in fact, you MUST.** -; http://php.net/cgi.force-redirect -;cgi.force_redirect = 1 - -; if cgi.nph is enabled it will force cgi to always sent Status: 200 with -; every request. PHP's default behavior is to disable this feature. -;cgi.nph = 1 - -; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape -; (iPlanet) web servers, you MAY need to set an environment variable name that PHP -; will look for to know it is OK to continue execution. Setting this variable MAY -; cause security issues, KNOW WHAT YOU ARE DOING FIRST. -; http://php.net/cgi.redirect-status-env -;cgi.redirect_status_env = ; - -; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's -; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok -; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting -; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting -; of zero causes PHP to behave as before. Default is 1. You should fix your scripts -; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. -; http://php.net/cgi.fix-pathinfo -;cgi.fix_pathinfo=1 - -; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate -; security tokens of the calling client. This allows IIS to define the -; security context that the request runs under. mod_fastcgi under Apache -; does not currently support this feature (03/17/2002) -; Set to 1 if running under IIS. Default is zero. -; http://php.net/fastcgi.impersonate -;fastcgi.impersonate = 1; - -; Disable logging through FastCGI connection. PHP's default behavior is to enable -; this feature. -;fastcgi.logging = 0 - -; cgi.rfc2616_headers configuration option tells PHP what type of headers to -; use when sending HTTP response code. If it's set 0 PHP sends Status: header that -; is supported by Apache. When this option is set to 1 PHP will send -; RFC2616 compliant header. -; Default is zero. -; http://php.net/cgi.rfc2616-headers -;cgi.rfc2616_headers = 0 - -;;;;;;;;;;;;;;;; -; File Uploads ; -;;;;;;;;;;;;;;;; - -; Whether to allow HTTP file uploads. -; http://php.net/file-uploads -file_uploads = On - -; Temporary directory for HTTP uploaded files (will use system default if not -; specified). -; http://php.net/upload-tmp-dir -;upload_tmp_dir = - -; Maximum allowed size for uploaded files. -; http://php.net/upload-max-filesize -upload_max_filesize = 2M - -; Maximum number of files that can be uploaded via a single request -max_file_uploads = 20 - -;;;;;;;;;;;;;;;;;; -; Fopen wrappers ; -;;;;;;;;;;;;;;;;;; - -; Whether to allow the treatment of URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-fopen -allow_url_fopen = On - -; Whether to allow include/require to open URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-include -allow_url_include = Off - -; Define the anonymous ftp password (your email address). PHP's default setting -; for this is empty. -; http://php.net/from -;from="john@doe.com" - -; Define the User-Agent string. PHP's default setting for this is empty. -; http://php.net/user-agent -;user_agent="PHP" - -; Default timeout for socket based streams (seconds) -; http://php.net/default-socket-timeout -default_socket_timeout = 60 - -; If your scripts have to deal with files from Macintosh systems, -; or you are running on a Mac and need to deal with files from -; unix or win32 systems, setting this flag will cause PHP to -; automatically detect the EOL character in those files so that -; fgets() and file() will work regardless of the source of the file. -; http://php.net/auto-detect-line-endings -;auto_detect_line_endings = Off - -;;;;;;;;;;;;;;;;;;;;;; -; Dynamic Extensions ; -;;;;;;;;;;;;;;;;;;;;;; - -; If you wish to have an extension loaded automatically, use the following -; syntax: -; -; extension=modulename.extension -; -; For example, on Windows: -; -; extension=msql.dll -; -; ... or under UNIX: -; -; extension=msql.so -; -; ... or with a path: -; -; extension=/path/to/extension/msql.so -; -; If you only provide the name of the extension, PHP will look for it in its -; default extension directory. -; -; Windows Extensions -; Note that ODBC support is built in, so no dll is needed for it. -; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5) -; extension folders as well as the separate PECL DLL download (PHP 5). -; Be sure to appropriately set the extension_dir directive. -; -;extension=php_bz2.dll -;extension=php_curl.dll -;extension=php_fileinfo.dll -;extension=php_gd2.dll -;extension=php_gettext.dll -;extension=php_gmp.dll -;extension=php_intl.dll -;extension=php_imap.dll -;extension=php_interbase.dll -;extension=php_ldap.dll -;extension=php_mbstring.dll -;extension=php_exif.dll ; Must be after mbstring as it depends on it -;extension=php_mysql.dll -;extension=php_mysqli.dll -;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client -;extension=php_oci8_11g.dll ; Use with Oracle 11g Instant Client -;extension=php_openssl.dll -;extension=php_pdo_firebird.dll -;extension=php_pdo_mssql.dll -;extension=php_pdo_mysql.dll -;extension=php_pdo_oci.dll -;extension=php_pdo_odbc.dll -;extension=php_pdo_pgsql.dll -;extension=php_pdo_sqlite.dll -;extension=php_pgsql.dll -;extension=php_pspell.dll -;extension=php_shmop.dll -;extension=php_snmp.dll -;extension=php_soap.dll -;extension=php_sockets.dll -;extension=php_sqlite.dll -;extension=php_sqlite3.dll -;extension=php_sybase_ct.dll -;extension=php_tidy.dll -;extension=php_xmlrpc.dll -;extension=php_xsl.dll -;extension=php_zip.dll - -;;;;;;;;;;;;;;;;;;; -; Module Settings ; -;;;;;;;;;;;;;;;;;;; - -[Date] -; Defines the default timezone used by the date functions -; http://php.net/date.timezone -;date.timezone = - -; http://php.net/date.default-latitude -;date.default_latitude = 31.7667 - -; http://php.net/date.default-longitude -;date.default_longitude = 35.2333 - -; http://php.net/date.sunrise-zenith -;date.sunrise_zenith = 90.583333 - -; http://php.net/date.sunset-zenith -;date.sunset_zenith = 90.583333 - -[filter] -; http://php.net/filter.default -;filter.default = unsafe_raw - -; http://php.net/filter.default-flags -;filter.default_flags = - -[iconv] -;iconv.input_encoding = ISO-8859-1 -;iconv.internal_encoding = ISO-8859-1 -;iconv.output_encoding = ISO-8859-1 - -[intl] -;intl.default_locale = -; This directive allows you to produce PHP errors when some error -; happens within intl functions. The value is the level of the error produced. -; Default is 0, which does not produce any errors. -;intl.error_level = E_WARNING - -[sqlite] -; http://php.net/sqlite.assoc-case -;sqlite.assoc_case = 0 - -[sqlite3] -;sqlite3.extension_dir = - -[Pcre] -;PCRE library backtracking limit. -; http://php.net/pcre.backtrack-limit -;pcre.backtrack_limit=100000 - -;PCRE library recursion limit. -;Please note that if you set this value to a high number you may consume all -;the available process stack and eventually crash PHP (due to reaching the -;stack size limit imposed by the Operating System). -; http://php.net/pcre.recursion-limit -;pcre.recursion_limit=100000 - -[Pdo] -; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" -; http://php.net/pdo-odbc.connection-pooling -;pdo_odbc.connection_pooling=strict - -;pdo_odbc.db2_instance_name - -[Pdo_mysql] -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/pdo_mysql.cache_size -pdo_mysql.cache_size = 2000 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/pdo_mysql.default-socket -pdo_mysql.default_socket= - -[Phar] -; http://php.net/phar.readonly -;phar.readonly = On - -; http://php.net/phar.require-hash -;phar.require_hash = On - -;phar.cache_list = - -[Syslog] -; Whether or not to define the various syslog variables (e.g. $LOG_PID, -; $LOG_CRON, etc.). Turning it off is a good idea performance-wise. In -; runtime, you can define these variables by calling define_syslog_variables(). -; http://php.net/define-syslog-variables -define_syslog_variables = Off - -[mail function] -; For Win32 only. -; http://php.net/smtp -SMTP = localhost -; http://php.net/smtp-port -smtp_port = 25 - -; For Win32 only. -; http://php.net/sendmail-from -;sendmail_from = me@example.com - -; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). -; http://php.net/sendmail-path -;sendmail_path = - -; Force the addition of the specified parameters to be passed as extra parameters -; to the sendmail binary. These parameters will always replace the value of -; the 5th parameter to mail(), even in safe mode. -;mail.force_extra_parameters = - -; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename -mail.add_x_header = On - -; The path to a log file that will log all mail() calls. Log entries include -; the full path of the script, line number, To address and headers. -;mail.log = - -[SQL] -; http://php.net/sql.safe-mode -sql.safe_mode = Off - -[ODBC] -; http://php.net/odbc.default-db -;odbc.default_db = Not yet implemented - -; http://php.net/odbc.default-user -;odbc.default_user = Not yet implemented - -; http://php.net/odbc.default-pw -;odbc.default_pw = Not yet implemented - -; Controls the ODBC cursor model. -; Default: SQL_CURSOR_STATIC (default). -;odbc.default_cursortype - -; Allow or prevent persistent links. -; http://php.net/odbc.allow-persistent -odbc.allow_persistent = On - -; Check that a connection is still valid before reuse. -; http://php.net/odbc.check-persistent -odbc.check_persistent = On - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/odbc.max-persistent -odbc.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/odbc.max-links -odbc.max_links = -1 - -; Handling of LONG fields. Returns number of bytes to variables. 0 means -; passthru. -; http://php.net/odbc.defaultlrl -odbc.defaultlrl = 4096 - -; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. -; See the documentation on odbc_binmode and odbc_longreadlen for an explanation -; of odbc.defaultlrl and odbc.defaultbinmode -; http://php.net/odbc.defaultbinmode -odbc.defaultbinmode = 1 - -;birdstep.max_links = -1 - -[Interbase] -; Allow or prevent persistent links. -ibase.allow_persistent = 1 - -; Maximum number of persistent links. -1 means no limit. -ibase.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -ibase.max_links = -1 - -; Default database name for ibase_connect(). -;ibase.default_db = - -; Default username for ibase_connect(). -;ibase.default_user = - -; Default password for ibase_connect(). -;ibase.default_password = - -; Default charset for ibase_connect(). -;ibase.default_charset = - -; Default timestamp format. -ibase.timestampformat = "%Y-%m-%d %H:%M:%S" - -; Default date format. -ibase.dateformat = "%Y-%m-%d" - -; Default time format. -ibase.timeformat = "%H:%M:%S" - -[MySQL] -; Allow accessing, from PHP's perspective, local files with LOAD DATA statements -; http://php.net/mysql.allow_local_infile -mysql.allow_local_infile = On - -; Allow or prevent persistent links. -; http://php.net/mysql.allow-persistent -mysql.allow_persistent = On - -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/mysql.cache_size -mysql.cache_size = 2000 - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/mysql.max-persistent -mysql.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/mysql.max-links -mysql.max_links = -1 - -; Default port number for mysql_connect(). If unset, mysql_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -; http://php.net/mysql.default-port -mysql.default_port = - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/mysql.default-socket -mysql.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysql.default-host -mysql.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysql.default-user -mysql.default_user = - -; Default password for mysql_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -; http://php.net/mysql.default-password -mysql.default_password = - -; Maximum time (in seconds) for connect timeout. -1 means no limit -; http://php.net/mysql.connect-timeout -mysql.connect_timeout = 60 - -; Trace mode. When trace_mode is active (=On), warnings for table/index scans and -; SQL-Errors will be displayed. -; http://php.net/mysql.trace-mode -mysql.trace_mode = Off - -[MySQLi] - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/mysqli.max-persistent -mysqli.max_persistent = -1 - -; Allow accessing, from PHP's perspective, local files with LOAD DATA statements -; http://php.net/mysqli.allow_local_infile -;mysqli.allow_local_infile = On - -; Allow or prevent persistent links. -; http://php.net/mysqli.allow-persistent -mysqli.allow_persistent = On - -; Maximum number of links. -1 means no limit. -; http://php.net/mysqli.max-links -mysqli.max_links = -1 - -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/mysqli.cache_size -mysqli.cache_size = 2000 - -; Default port number for mysqli_connect(). If unset, mysqli_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -; http://php.net/mysqli.default-port -mysqli.default_port = 3306 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/mysqli.default-socket -mysqli.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-host -mysqli.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-user -mysqli.default_user = - -; Default password for mysqli_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -; http://php.net/mysqli.default-pw -mysqli.default_pw = - -; Allow or prevent reconnect -mysqli.reconnect = Off - -[mysqlnd] -; Enable / Disable collection of general statstics by mysqlnd which can be -; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_statistics -mysqlnd.collect_statistics = On - -; Enable / Disable collection of memory usage statstics by mysqlnd which can be -; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_memory_statistics -mysqlnd.collect_memory_statistics = Off - -; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. -; http://php.net/mysqlnd.net_cmd_buffer_size -;mysqlnd.net_cmd_buffer_size = 2048 - -; Size of a pre-allocated buffer used for reading data sent by the server in -; bytes. -; http://php.net/mysqlnd.net_read_buffer_size -;mysqlnd.net_read_buffer_size = 32768 - -[OCI8] - -; Connection: Enables privileged connections using external -; credentials (OCI_SYSOPER, OCI_SYSDBA) -; http://php.net/oci8.privileged-connect -;oci8.privileged_connect = Off - -; Connection: The maximum number of persistent OCI8 connections per -; process. Using -1 means no limit. -; http://php.net/oci8.max-persistent -;oci8.max_persistent = -1 - -; Connection: The maximum number of seconds a process is allowed to -; maintain an idle persistent connection. Using -1 means idle -; persistent connections will be maintained forever. -; http://php.net/oci8.persistent-timeout -;oci8.persistent_timeout = -1 - -; Connection: The number of seconds that must pass before issuing a -; ping during oci_pconnect() to check the connection validity. When -; set to 0, each oci_pconnect() will cause a ping. Using -1 disables -; pings completely. -; http://php.net/oci8.ping-interval -;oci8.ping_interval = 60 - -; Connection: Set this to a user chosen connection class to be used -; for all pooled server requests with Oracle 11g Database Resident -; Connection Pooling (DRCP). To use DRCP, this value should be set to -; the same string for all web servers running the same application, -; the database pool must be configured, and the connection string must -; specify to use a pooled server. -;oci8.connection_class = - -; High Availability: Using On lets PHP receive Fast Application -; Notification (FAN) events generated when a database node fails. The -; database must also be configured to post FAN events. -;oci8.events = Off - -; Tuning: This option enables statement caching, and specifies how -; many statements to cache. Using 0 disables statement caching. -; http://php.net/oci8.statement-cache-size -;oci8.statement_cache_size = 20 - -; Tuning: Enables statement prefetching and sets the default number of -; rows that will be fetched automatically after statement execution. -; http://php.net/oci8.default-prefetch -;oci8.default_prefetch = 100 - -; Compatibility. Using On means oci_close() will not close -; oci_connect() and oci_new_connect() connections. -; http://php.net/oci8.old-oci-close-semantics -;oci8.old_oci_close_semantics = Off - -[PostgresSQL] -; Allow or prevent persistent links. -; http://php.net/pgsql.allow-persistent -pgsql.allow_persistent = On - -; Detect broken persistent links always with pg_pconnect(). -; Auto reset feature requires a little overheads. -; http://php.net/pgsql.auto-reset-persistent -pgsql.auto_reset_persistent = Off - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/pgsql.max-persistent -pgsql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -; http://php.net/pgsql.max-links -pgsql.max_links = -1 - -; Ignore PostgreSQL backends Notice message or not. -; Notice message logging require a little overheads. -; http://php.net/pgsql.ignore-notice -pgsql.ignore_notice = 0 - -; Log PostgreSQL backends Notice message or not. -; Unless pgsql.ignore_notice=0, module cannot log notice message. -; http://php.net/pgsql.log-notice -pgsql.log_notice = 0 - -[Sybase-CT] -; Allow or prevent persistent links. -; http://php.net/sybct.allow-persistent -sybct.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/sybct.max-persistent -sybct.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/sybct.max-links -sybct.max_links = -1 - -; Minimum server message severity to display. -; http://php.net/sybct.min-server-severity -sybct.min_server_severity = 10 - -; Minimum client message severity to display. -; http://php.net/sybct.min-client-severity -sybct.min_client_severity = 10 - -; Set per-context timeout -; http://php.net/sybct.timeout -;sybct.timeout= - -;sybct.packet_size - -; The maximum time in seconds to wait for a connection attempt to succeed before returning failure. -; Default: one minute -;sybct.login_timeout= - -; The name of the host you claim to be connecting from, for display by sp_who. -; Default: none -;sybct.hostname= - -; Allows you to define how often deadlocks are to be retried. -1 means "forever". -; Default: 0 -;sybct.deadlock_retry_count= - -[bcmath] -; Number of decimal digits for all bcmath functions. -; http://php.net/bcmath.scale -bcmath.scale = 0 - -[browscap] -; http://php.net/browscap -;browscap = extra/browscap.ini - -[Session] -; Handler used to store/retrieve data. -; http://php.net/session.save-handler -session.save_handler = files - -; Argument passed to save_handler. In the case of files, this is the path -; where data files are stored. Note: Windows users have to change this -; variable in order to use PHP's session functions. -; -; The path can be defined as: -; -; session.save_path = "N;/path" -; -; where N is an integer. Instead of storing all the session files in -; /path, what this will do is use subdirectories N-levels deep, and -; store the session data in those directories. This is useful if you -; or your OS have problems with lots of files in one directory, and is -; a more efficient layout for servers that handle lots of sessions. -; -; NOTE 1: PHP will not create this directory structure automatically. -; You can use the script in the ext/session dir for that purpose. -; NOTE 2: See the section on garbage collection below if you choose to -; use subdirectories for session storage -; -; The file storage module creates files using mode 600 by default. -; You can change that by using -; -; session.save_path = "N;MODE;/path" -; -; where MODE is the octal representation of the mode. Note that this -; does not overwrite the process's umask. -; http://php.net/session.save-path -;session.save_path = "/tmp" - -; Whether to use cookies. -; http://php.net/session.use-cookies -session.use_cookies = 1 - -; http://php.net/session.cookie-secure -;session.cookie_secure = - -; This option forces PHP to fetch and use a cookie for storing and maintaining -; the session id. We encourage this operation as it's very helpful in combatting -; session hijacking when not specifying and managing your own session id. It is -; not the end all be all of session hijacking defense, but it's a good start. -; http://php.net/session.use-only-cookies -session.use_only_cookies = 1 - -; Name of the session (used as cookie name). -; http://php.net/session.name -session.name = PHPSESSID - -; Initialize session on request startup. -; http://php.net/session.auto-start -session.auto_start = 0 - -; Lifetime in seconds of cookie or, if 0, until browser is restarted. -; http://php.net/session.cookie-lifetime -session.cookie_lifetime = 0 - -; The path for which the cookie is valid. -; http://php.net/session.cookie-path -session.cookie_path = / - -; The domain for which the cookie is valid. -; http://php.net/session.cookie-domain -session.cookie_domain = - -; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. -; http://php.net/session.cookie-httponly -session.cookie_httponly = - -; Handler used to serialize data. php is the standard serializer of PHP. -; http://php.net/session.serialize-handler -session.serialize_handler = php - -; Defines the probability that the 'garbage collection' process is started -; on every session initialization. The probability is calculated by using -; gc_probability/gc_divisor. Where session.gc_probability is the numerator -; and gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. -; Default Value: 1 -; Development Value: 1 -; Production Value: 1 -; http://php.net/session.gc-probability -session.gc_probability = 1 - -; Defines the probability that the 'garbage collection' process is started on every -; session initialization. The probability is calculated by using the following equation: -; gc_probability/gc_divisor. Where session.gc_probability is the numerator and -; session.gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. Increasing this value to 1000 will give you -; a 0.1% chance the gc will run on any give request. For high volume production servers, -; this is a more efficient approach. -; Default Value: 100 -; Development Value: 1000 -; Production Value: 1000 -; http://php.net/session.gc-divisor -session.gc_divisor = 1000 - -; After this number of seconds, stored data will be seen as 'garbage' and -; cleaned up by the garbage collection process. -; http://php.net/session.gc-maxlifetime -session.gc_maxlifetime = 1440 - -; NOTE: If you are using the subdirectory option for storing session files -; (see session.save_path above), then garbage collection does *not* -; happen automatically. You will need to do your own garbage -; collection through a shell script, cron entry, or some other method. -; For example, the following script would is the equivalent of -; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): -; find /path/to/sessions -cmin +24 | xargs rm - -; PHP 4.2 and less have an undocumented feature/bug that allows you to -; to initialize a session variable in the global scope, even when register_globals -; is disabled. PHP 4.3 and later will warn you, if this feature is used. -; You can disable the feature and the warning separately. At this time, -; the warning is only displayed, if bug_compat_42 is enabled. This feature -; introduces some serious security problems if not handled correctly. It's -; recommended that you do not use this feature on production servers. But you -; should enable this on development servers and enable the warning as well. If you -; do not enable the feature on development servers, you won't be warned when it's -; used and debugging errors caused by this can be difficult to track down. -; Default Value: On -; Development Value: On -; Production Value: Off -; http://php.net/session.bug-compat-42 -session.bug_compat_42 = Off - -; This setting controls whether or not you are warned by PHP when initializing a -; session value into the global space. session.bug_compat_42 must be enabled before -; these warnings can be issued by PHP. See the directive above for more information. -; Default Value: On -; Development Value: On -; Production Value: Off -; http://php.net/session.bug-compat-warn -session.bug_compat_warn = Off - -; Check HTTP Referer to invalidate externally stored URLs containing ids. -; HTTP_REFERER has to contain this substring for the session to be -; considered as valid. -; http://php.net/session.referer-check -session.referer_check = - -; How many bytes to read from the file. -; http://php.net/session.entropy-length -session.entropy_length = 0 - -; Specified here to create the session id. -; http://php.net/session.entropy-file -; On systems that don't have /dev/urandom /dev/arandom can be used -; On windows, setting the entropy_length setting will activate the -; Windows random source (using the CryptoAPI) -;session.entropy_file = /dev/urandom - -; Set to {nocache,private,public,} to determine HTTP caching aspects -; or leave this empty to avoid sending anti-caching headers. -; http://php.net/session.cache-limiter -session.cache_limiter = nocache - -; Document expires after n minutes. -; http://php.net/session.cache-expire -session.cache_expire = 180 - -; trans sid support is disabled by default. -; Use of trans sid may risk your users security. -; Use this option with caution. -; - User may send URL contains active session ID -; to other person via. email/irc/etc. -; - URL that contains active session ID may be stored -; in publically accessible computer. -; - User may access your site with the same session ID -; always using URL stored in browser's history or bookmarks. -; http://php.net/session.use-trans-sid -session.use_trans_sid = 0 - -; Select a hash function for use in generating session ids. -; Possible Values -; 0 (MD5 128 bits) -; 1 (SHA-1 160 bits) -; This option may also be set to the name of any hash function supported by -; the hash extension. A list of available hashes is returned by the hash_algos() -; function. -; http://php.net/session.hash-function -session.hash_function = 0 - -; Define how many bits are stored in each character when converting -; the binary hash data to something readable. -; Possible values: -; 4 (4 bits: 0-9, a-f) -; 5 (5 bits: 0-9, a-v) -; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 -; http://php.net/session.hash-bits-per-character -session.hash_bits_per_character = 5 - -; The URL rewriter will look for URLs in a defined set of HTML tags. -; form/fieldset are special; if you include them here, the rewriter will -; add a hidden field with the info which is otherwise appended -; to URLs. If you want XHTML conformity, remove the form entry. -; Note that all valid entries require a "=", even if no value follows. -; Default Value: "a=href,area=href,frame=src,form=,fieldset=" -; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; http://php.net/url-rewriter.tags -url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" - -[MSSQL] -; Allow or prevent persistent links. -mssql.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -mssql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -mssql.max_links = -1 - -; Minimum error severity to display. -mssql.min_error_severity = 10 - -; Minimum message severity to display. -mssql.min_message_severity = 10 - -; Compatibility mode with old versions of PHP 3.0. -mssql.compatability_mode = Off - -; Connect timeout -;mssql.connect_timeout = 5 - -; Query timeout -;mssql.timeout = 60 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textlimit = 4096 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textsize = 4096 - -; Limits the number of records in each batch. 0 = all records in one batch. -;mssql.batchsize = 0 - -; Specify how datetime and datetim4 columns are returned -; On => Returns data converted to SQL server settings -; Off => Returns values as YYYY-MM-DD hh:mm:ss -;mssql.datetimeconvert = On - -; Use NT authentication when connecting to the server -mssql.secure_connection = Off - -; Specify max number of processes. -1 = library default -; msdlib defaults to 25 -; FreeTDS defaults to 4096 -;mssql.max_procs = -1 - -; Specify client character set. -; If empty or not set the client charset from freetds.comf is used -; This is only used when compiled with FreeTDS -;mssql.charset = "ISO-8859-1" - -[Assertion] -; Assert(expr); active by default. -; http://php.net/assert.active -;assert.active = On - -; Issue a PHP warning for each failed assertion. -; http://php.net/assert.warning -;assert.warning = On - -; Don't bail out by default. -; http://php.net/assert.bail -;assert.bail = Off - -; User-function to be called if an assertion fails. -; http://php.net/assert.callback -;assert.callback = 0 - -; Eval the expression with current error_reporting(). Set to true if you want -; error_reporting(0) around the eval(). -; http://php.net/assert.quiet-eval -;assert.quiet_eval = 0 - -[COM] -; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs -; http://php.net/com.typelib-file -;com.typelib_file = - -; allow Distributed-COM calls -; http://php.net/com.allow-dcom -;com.allow_dcom = true - -; autoregister constants of a components typlib on com_load() -; http://php.net/com.autoregister-typelib -;com.autoregister_typelib = true - -; register constants casesensitive -; http://php.net/com.autoregister-casesensitive -;com.autoregister_casesensitive = false - -; show warnings on duplicate constant registrations -; http://php.net/com.autoregister-verbose -;com.autoregister_verbose = true - -; The default character set code-page to use when passing strings to and from COM objects. -; Default: system ANSI code page -;com.code_page= - -[mbstring] -; language for internal character representation. -; http://php.net/mbstring.language -;mbstring.language = Japanese - -; internal/script encoding. -; Some encoding cannot work as internal encoding. -; (e.g. SJIS, BIG5, ISO-2022-*) -; http://php.net/mbstring.internal-encoding -;mbstring.internal_encoding = EUC-JP - -; http input encoding. -; http://php.net/mbstring.http-input -;mbstring.http_input = auto - -; http output encoding. mb_output_handler must be -; registered as output buffer to function -; http://php.net/mbstring.http-output -;mbstring.http_output = SJIS - -; enable automatic encoding translation according to -; mbstring.internal_encoding setting. Input chars are -; converted to internal encoding by setting this to On. -; Note: Do _not_ use automatic encoding translation for -; portable libs/applications. -; http://php.net/mbstring.encoding-translation -;mbstring.encoding_translation = Off - -; automatic encoding detection order. -; auto means -; http://php.net/mbstring.detect-order -;mbstring.detect_order = auto - -; substitute_character used when character cannot be converted -; one from another -; http://php.net/mbstring.substitute-character -;mbstring.substitute_character = none; - -; overload(replace) single byte functions by mbstring functions. -; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), -; etc. Possible values are 0,1,2,4 or combination of them. -; For example, 7 for overload everything. -; 0: No overload -; 1: Overload mail() function -; 2: Overload str*() functions -; 4: Overload ereg*() functions -; http://php.net/mbstring.func-overload -;mbstring.func_overload = 0 - -; enable strict encoding detection. -;mbstring.strict_detection = Off - -; This directive specifies the regex pattern of content types for which mb_output_handler() -; is activated. -; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) -;mbstring.http_output_conv_mimetype= - -; Allows to set script encoding. Only affects if PHP is compiled with --enable-zend-multibyte -; Default: "" -;mbstring.script_encoding= - -[gd] -; Tell the jpeg decode to ignore warnings and try to create -; a gd image. The warning will then be displayed as notices -; disabled by default -; http://php.net/gd.jpeg-ignore-warning -;gd.jpeg_ignore_warning = 0 - -[exif] -; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. -; With mbstring support this will automatically be converted into the encoding -; given by corresponding encode setting. When empty mbstring.internal_encoding -; is used. For the decode settings you can distinguish between motorola and -; intel byte order. A decode setting cannot be empty. -; http://php.net/exif.encode-unicode -;exif.encode_unicode = ISO-8859-15 - -; http://php.net/exif.decode-unicode-motorola -;exif.decode_unicode_motorola = UCS-2BE - -; http://php.net/exif.decode-unicode-intel -;exif.decode_unicode_intel = UCS-2LE - -; http://php.net/exif.encode-jis -;exif.encode_jis = - -; http://php.net/exif.decode-jis-motorola -;exif.decode_jis_motorola = JIS - -; http://php.net/exif.decode-jis-intel -;exif.decode_jis_intel = JIS - -[Tidy] -; The path to a default tidy configuration file to use when using tidy -; http://php.net/tidy.default-config -;tidy.default_config = /usr/local/lib/php/default.tcfg - -; Should tidy clean and repair output automatically? -; WARNING: Do not use this option if you are generating non-html content -; such as dynamic images -; http://php.net/tidy.clean-output -tidy.clean_output = Off - -[soap] -; Enables or disables WSDL caching feature. -; http://php.net/soap.wsdl-cache-enabled -soap.wsdl_cache_enabled=1 - -; Sets the directory name where SOAP extension will put cache files. -; http://php.net/soap.wsdl-cache-dir -soap.wsdl_cache_dir="/tmp" - -; (time to live) Sets the number of second while cached file will be used -; instead of original one. -; http://php.net/soap.wsdl-cache-ttl -soap.wsdl_cache_ttl=86400 - -; Sets the size of the cache limit. (Max. number of WSDL files to cache) -soap.wsdl_cache_limit = 5 - -[sysvshm] -; A default size of the shared memory segment -;sysvshm.init_mem = 10000 - -[ldap] -; Sets the maximum number of open links or -1 for unlimited. -ldap.max_links = -1 - -[mcrypt] -; For more information about mcrypt settings see http://php.net/mcrypt-module-open - -; Directory where to load mcrypt algorithms -; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) -;mcrypt.algorithms_dir= - -; Directory where to load mcrypt modes -; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) -;mcrypt.modes_dir= - -[dba] -;dba.default_handler= - -; Local Variables: -; tab-width: 4 -; End: - -<% @directives.sort_by { |key, val| key }.each do |directive, value| -%> -<%= "#{directive}=\"#{value}\"" %> -<% end -%> diff --git a/provision/cookbooks/php/templates/redhat/php.ini.erb b/provision/cookbooks/php/templates/redhat/php.ini.erb deleted file mode 100755 index c84d60d..0000000 --- a/provision/cookbooks/php/templates/redhat/php.ini.erb +++ /dev/null @@ -1,1225 +0,0 @@ -[PHP] - -;;;;;;;;;;;;;;;;;;; -; About php.ini ; -;;;;;;;;;;;;;;;;;;; -; This file controls many aspects of PHP's behavior. In order for PHP to -; read it, it must be named 'php.ini'. PHP looks for it in the current -; working directory, in the path designated by the environment variable -; PHPRC, and in the path that was defined in compile time (in that order). -; Under Windows, the compile-time path is the Windows directory. The -; path in which the php.ini file is looked for can be overridden using -; the -c argument in command line mode. -; -; The syntax of the file is extremely simple. Whitespace and Lines -; beginning with a semicolon are silently ignored (as you probably guessed). -; Section headers (e.g. [Foo]) are also silently ignored, even though -; they might mean something in the future. -; -; Directives are specified using the following syntax: -; directive = value -; Directive names are *case sensitive* - foo=bar is different from FOO=bar. -; -; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one -; of the INI constants (On, Off, True, False, Yes, No and None) or an expression -; (e.g. E_ALL & ~E_NOTICE), or a quoted string ("foo"). -; -; Expressions in the INI file are limited to bitwise operators and parentheses: -; | bitwise OR -; & bitwise AND -; ~ bitwise NOT -; ! boolean NOT -; -; Boolean flags can be turned on using the values 1, On, True or Yes. -; They can be turned off using the values 0, Off, False or No. -; -; An empty string can be denoted by simply not writing anything after the equal -; sign, or by using the None keyword: -; -; foo = ; sets foo to an empty string -; foo = none ; sets foo to an empty string -; foo = "none" ; sets foo to the string 'none' -; -; If you use constants in your value, and these constants belong to a -; dynamically loaded extension (either a PHP extension or a Zend extension), -; you may only use these constants *after* the line that loads the extension. -; -; -;;;;;;;;;;;;;;;;;;; -; About this file ; -;;;;;;;;;;;;;;;;;;; -; This is the recommended, PHP 5-style version of the php.ini-dist file. It -; sets some non standard settings, that make PHP more efficient, more secure, -; and encourage cleaner coding. -; -; The price is that with these settings, PHP may be incompatible with some -; applications, and sometimes, more difficult to develop with. Using this -; file is warmly recommended for production sites. As all of the changes from -; the standard settings are thoroughly documented, you can go over each one, -; and decide whether you want to use it or not. -; -; For general information about the php.ini file, please consult the php.ini-dist -; file, included in your PHP distribution. -; -; This file is different from the php.ini-dist file in the fact that it features -; different values for several directives, in order to improve performance, while -; possibly breaking compatibility with the standard out-of-the-box behavior of -; PHP. Please make sure you read what's different, and modify your scripts -; accordingly, if you decide to use this file instead. -; -; - register_globals = Off [Security, Performance] -; Global variables are no longer registered for input data (POST, GET, cookies, -; environment and other server variables). Instead of using $foo, you must use -; you can use $_REQUEST["foo"] (includes any variable that arrives through the -; request, namely, POST, GET and cookie variables), or use one of the specific -; $_GET["foo"], $_POST["foo"], $_COOKIE["foo"] or $_FILES["foo"], depending -; on where the input originates. Also, you can look at the -; import_request_variables() function. -; Note that register_globals is going to be depracated (i.e., turned off by -; default) in the next version of PHP, because it often leads to security bugs. -; Read http://php.net/manual/en/security.registerglobals.php for further -; information. -; - register_long_arrays = Off [Performance] -; Disables registration of the older (and deprecated) long predefined array -; variables ($HTTP_*_VARS). Instead, use the superglobals that were -; introduced in PHP 4.1.0 -; - display_errors = Off [Security] -; With this directive set to off, errors that occur during the execution of -; scripts will no longer be displayed as a part of the script output, and thus, -; will no longer be exposed to remote users. With some errors, the error message -; content may expose information about your script, web server, or database -; server that may be exploitable for hacking. Production sites should have this -; directive set to off. -; - log_errors = On [Security] -; This directive complements the above one. Any errors that occur during the -; execution of your script will be logged (typically, to your server's error log, -; but can be configured in several ways). Along with setting display_errors to off, -; this setup gives you the ability to fully understand what may have gone wrong, -; without exposing any sensitive information to remote users. -; - output_buffering = 4096 [Performance] -; Set a 4KB output buffer. Enabling output buffering typically results in less -; writes, and sometimes less packets sent on the wire, which can often lead to -; better performance. The gain this directive actually yields greatly depends -; on which Web server you're working with, and what kind of scripts you're using. -; - register_argc_argv = Off [Performance] -; Disables registration of the somewhat redundant $argv and $argc global -; variables. -; - magic_quotes_gpc = Off [Performance] -; Input data is no longer escaped with slashes so that it can be sent into -; SQL databases without further manipulation. Instead, you should use the -; function addslashes() on each input element you wish to send to a database. -; - variables_order = "GPCS" [Performance] -; The environment variables are not hashed into the $_ENV. To access -; environment variables, you can use getenv() instead. -; - error_reporting = E_ALL [Code Cleanliness, Security(?)] -; By default, PHP surpresses errors of type E_NOTICE. These error messages -; are emitted for non-critical errors, but that could be a symptom of a bigger -; problem. Most notably, this will cause error messages about the use -; of uninitialized variables to be displayed. -; - allow_call_time_pass_reference = Off [Code cleanliness] -; It's not possible to decide to force a variable to be passed by reference -; when calling a function. The PHP 4 style to do this is by making the -; function require the relevant argument by reference. - - -;;;;;;;;;;;;;;;;;;;; -; Language Options ; -;;;;;;;;;;;;;;;;;;;; - -; Enable the PHP scripting language engine under Apache. -engine = On - -; Enable compatibility mode with Zend Engine 1 (PHP 4.x) -zend.ze1_compatibility_mode = Off - -; Allow the tags are recognized. -; NOTE: Using short tags should be avoided when developing applications or -; libraries that are meant for redistribution, or deployment on PHP -; servers which are not under your control, because short tags may not -; be supported on the target server. For portable, redistributable code, -; be sure not to use short tags. -short_open_tag = On - -; Allow ASP-style <% %> tags. -asp_tags = Off - -; The number of significant digits displayed in floating point numbers. -precision = 14 - -; Enforce year 2000 compliance (will cause problems with non-compliant browsers) -y2k_compliance = On - -; Output buffering allows you to send header lines (including cookies) even -; after you send body content, at the price of slowing PHP's output layer a -; bit. You can enable output buffering during runtime by calling the output -; buffering functions. You can also enable output buffering for all files by -; setting this directive to On. If you wish to limit the size of the buffer -; to a certain size - you can use a maximum number of bytes instead of 'On', as -; a value for this directive (e.g., output_buffering=4096). -output_buffering = 4096 - -; You can redirect all of the output of your scripts to a function. For -; example, if you set output_handler to "mb_output_handler", character -; encoding will be transparently converted to the specified encoding. -; Setting any output handler automatically turns on output buffering. -; Note: People who wrote portable scripts should not depend on this ini -; directive. Instead, explicitly set the output handler using ob_start(). -; Using this ini directive may cause problems unless you know what script -; is doing. -; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler" -; and you cannot use both "ob_gzhandler" and "zlib.output_compression". -; Note: output_handler must be empty if this is set 'On' !!!! -; Instead you must use zlib.output_handler. -;output_handler = - -; Transparent output compression using the zlib library -; Valid values for this option are 'off', 'on', or a specific buffer size -; to be used for compression (default is 4KB) -; Note: Resulting chunk size may vary due to nature of compression. PHP -; outputs chunks that are few hundreds bytes each as a result of -; compression. If you prefer a larger chunk size for better -; performance, enable output_buffering in addition. -; Note: You need to use zlib.output_handler instead of the standard -; output_handler, or otherwise the output will be corrupted. -zlib.output_compression = Off - -; You cannot specify additional output handlers if zlib.output_compression -; is activated here. This setting does the same as output_handler but in -; a different order. -;zlib.output_handler = - -; Implicit flush tells PHP to tell the output layer to flush itself -; automatically after every output block. This is equivalent to calling the -; PHP function flush() after each and every call to print() or echo() and each -; and every HTML block. Turning this option on has serious performance -; implications and is generally recommended for debugging purposes only. -implicit_flush = Off - -; The unserialize callback function will be called (with the undefined class' -; name as parameter), if the unserializer finds an undefined class -; which should be instantiated. -; A warning appears if the specified function is not defined, or if the -; function doesn't include/implement the missing class. -; So only set this entry, if you really want to implement such a -; callback-function. -unserialize_callback_func= - -; When floats & doubles are serialized store serialize_precision significant -; digits after the floating point. The default value ensures that when floats -; are decoded with unserialize, the data will remain the same. -serialize_precision = 100 - -; Whether to enable the ability to force arguments to be passed by reference -; at function call time. This method is deprecated and is likely to be -; unsupported in future versions of PHP/Zend. The encouraged method of -; specifying which arguments should be passed by reference is in the function -; declaration. You're encouraged to try and turn this option Off and make -; sure your scripts work properly with it in order to ensure they will work -; with future versions of the language (you will receive a warning each time -; you use this feature, and the argument will be passed by value instead of by -; reference). -allow_call_time_pass_reference = Off - -; -; Safe Mode -; -safe_mode = Off - -; By default, Safe Mode does a UID compare check when -; opening files. If you want to relax this to a GID compare, -; then turn on safe_mode_gid. -safe_mode_gid = Off - -; When safe_mode is on, UID/GID checks are bypassed when -; including files from this directory and its subdirectories. -; (directory must also be in include_path or full path must -; be used when including) -safe_mode_include_dir = - -; When safe_mode is on, only executables located in the safe_mode_exec_dir -; will be allowed to be executed via the exec family of functions. -safe_mode_exec_dir = - -; Setting certain environment variables may be a potential security breach. -; This directive contains a comma-delimited list of prefixes. In Safe Mode, -; the user may only alter environment variables whose names begin with the -; prefixes supplied here. By default, users will only be able to set -; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR). -; -; Note: If this directive is empty, PHP will let the user modify ANY -; environment variable! -safe_mode_allowed_env_vars = PHP_ - -; This directive contains a comma-delimited list of environment variables that -; the end user won't be able to change using putenv(). These variables will be -; protected even if safe_mode_allowed_env_vars is set to allow to change them. -safe_mode_protected_env_vars = LD_LIBRARY_PATH - -; open_basedir, if set, limits all file operations to the defined directory -; and below. This directive makes most sense if used in a per-directory -; or per-virtualhost web server configuration file. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -;open_basedir = - -; This directive allows you to disable certain functions for security reasons. -; It receives a comma-delimited list of function names. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -disable_functions = - -; This directive allows you to disable certain classes for security reasons. -; It receives a comma-delimited list of class names. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -disable_classes = - -; Colors for Syntax Highlighting mode. Anything that's acceptable in -; would work. -;highlight.string = #DD0000 -;highlight.comment = #FF9900 -;highlight.keyword = #007700 -;highlight.bg = #FFFFFF -;highlight.default = #0000BB -;highlight.html = #000000 - -; If enabled, the request will be allowed to complete even if the user aborts -; the request. Consider enabling it if executing long request, which may end up -; being interrupted by the user or a browser timing out. -; ignore_user_abort = On - -; Determines the size of the realpath cache to be used by PHP. This value should -; be increased on systems where PHP opens many files to reflect the quantity of -; the file operations performed. -; realpath_cache_size=16k - -; Duration of time, in seconds for which to cache realpath information for a given -; file or directory. For systems with rarely changing files, consider increasing this -; value. -; realpath_cache_ttl=120 - -; -; Misc -; -; Decides whether PHP may expose the fact that it is installed on the server -; (e.g. by adding its signature to the Web server header). It is no security -; threat in any way, but it makes it possible to determine whether you use PHP -; on your server or not. -expose_php = On - - -;;;;;;;;;;;;;;;;;;; -; Resource Limits ; -;;;;;;;;;;;;;;;;;;; - -max_execution_time = 30 ; Maximum execution time of each script, in seconds -max_input_time = 60 ; Maximum amount of time each script may spend parsing request data -memory_limit = 128M ; Maximum amount of memory a script may consume - - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Error handling and logging ; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -; error_reporting is a bit-field. Or each number up to get desired error -; reporting level -; E_ALL - All errors and warnings (doesn't include E_STRICT) -; E_ERROR - fatal run-time errors -; E_WARNING - run-time warnings (non-fatal errors) -; E_PARSE - compile-time parse errors -; E_NOTICE - run-time notices (these are warnings which often result -; from a bug in your code, but it's possible that it was -; intentional (e.g., using an uninitialized variable and -; relying on the fact it's automatically initialized to an -; empty string) -; E_STRICT - run-time notices, enable to have PHP suggest changes -; to your code which will ensure the best interoperability -; and forward compatibility of your code -; E_CORE_ERROR - fatal errors that occur during PHP's initial startup -; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's -; initial startup -; E_COMPILE_ERROR - fatal compile-time errors -; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) -; E_USER_ERROR - user-generated error message -; E_USER_WARNING - user-generated warning message -; E_USER_NOTICE - user-generated notice message -; -; Examples: -; -; - Show all errors, except for notices and coding standards warnings -; -;error_reporting = E_ALL & ~E_NOTICE -; -; - Show all errors, except for notices -; -;error_reporting = E_ALL & ~E_NOTICE | E_STRICT -; -; - Show only errors -; -;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR -; -; - Show all errors, except coding standards warnings -; -error_reporting = E_ALL - -; Print out errors (as a part of the output). For production web sites, -; you're strongly encouraged to turn this feature off, and use error logging -; instead (see below). Keeping display_errors enabled on a production web site -; may reveal security information to end users, such as file paths on your Web -; server, your database schema or other information. -display_errors = Off - -; Even when display_errors is on, errors that occur during PHP's startup -; sequence are not displayed. It's strongly recommended to keep -; display_startup_errors off, except for when debugging. -display_startup_errors = Off - -; Log errors into a log file (server-specific log, stderr, or error_log (below)) -; As stated above, you're strongly advised to use error logging in place of -; error displaying on production web sites. -log_errors = On - -; Set maximum length of log_errors. In error_log information about the source is -; added. The default is 1024 and 0 allows to not apply any maximum length at all. -log_errors_max_len = 1024 - -; Do not log repeated messages. Repeated errors must occur in same file on same -; line until ignore_repeated_source is set true. -ignore_repeated_errors = Off - -; Ignore source of message when ignoring repeated messages. When this setting -; is On you will not log errors with repeated messages from different files or -; sourcelines. -ignore_repeated_source = Off - -; If this parameter is set to Off, then memory leaks will not be shown (on -; stdout or in the log). This has only effect in a debug compile, and if -; error reporting includes E_WARNING in the allowed list -report_memleaks = On - -; Store the last error/warning message in $php_errormsg (boolean). -track_errors = Off - -; Disable the inclusion of HTML tags in error messages. -; Note: Never use this feature for production boxes. -;html_errors = Off - -; If html_errors is set On PHP produces clickable error messages that direct -; to a page describing the error or function causing the error in detail. -; You can download a copy of the PHP manual from http://www.php.net/docs.php -; and change docref_root to the base URL of your local copy including the -; leading '/'. You must also specify the file extension being used including -; the dot. -; Note: Never use this feature for production boxes. -;docref_root = "/phpmanual/" -;docref_ext = .html - -; String to output before an error message. -;error_prepend_string = "" - -; String to output after an error message. -;error_append_string = "" - -; Log errors to specified file. -;error_log = filename - -; Log errors to syslog (Event Log on NT, not valid in Windows 95). -;error_log = syslog - - -;;;;;;;;;;;;;;;;; -; Data Handling ; -;;;;;;;;;;;;;;;;; -; -; Note - track_vars is ALWAYS enabled as of PHP 4.0.3 - -; The separator used in PHP generated URLs to separate arguments. -; Default is "&". -;arg_separator.output = "&" - -; List of separator(s) used by PHP to parse input URLs into variables. -; Default is "&". -; NOTE: Every character in this directive is considered as separator! -;arg_separator.input = ";&" - -; This directive describes the order in which PHP registers GET, POST, Cookie, -; Environment and Built-in variables (G, P, C, E & S respectively, often -; referred to as EGPCS or GPC). Registration is done from left to right, newer -; values override older values. -variables_order = "EGPCS" - -; Whether or not to register the EGPCS variables as global variables. You may -; want to turn this off if you don't want to clutter your scripts' global scope -; with user data. This makes most sense when coupled with track_vars - in which -; case you can access all of the GPC variables through the $HTTP_*_VARS[], -; variables. -; -; You should do your best to write your scripts so that they do not require -; register_globals to be on; Using form variables as globals can easily lead -; to possible security problems, if the code is not very well thought of. -register_globals = Off - -; Whether or not to register the old-style input arrays, HTTP_GET_VARS -; and friends. If you're not using them, it's recommended to turn them off, -; for performance reasons. -register_long_arrays = Off - -; This directive tells PHP whether to declare the argv&argc variables (that -; would contain the GET information). If you don't use these variables, you -; should turn it off for increased performance. -register_argc_argv = Off - -; When enabled, the SERVER and ENV variables are created when they're first -; used (Just In Time) instead of when the script starts. If these variables -; are not used within a script, having this directive on will result in a -; performance gain. The PHP directives register_globals, register_long_arrays, -; and register_argc_argv must be disabled for this directive to have any affect. -auto_globals_jit = On - -; Maximum size of POST data that PHP will accept. -post_max_size = 8M - -; Magic quotes -; - -; Magic quotes for incoming GET/POST/Cookie data. -magic_quotes_gpc = Off - -; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc. -magic_quotes_runtime = Off - -; Use Sybase-style magic quotes (escape ' with '' instead of \'). -magic_quotes_sybase = Off - -; Automatically add files before or after any PHP document. -auto_prepend_file = -auto_append_file = - -; As of 4.0b4, PHP always outputs a character encoding by default in -; the Content-type: header. To disable sending of the charset, simply -; set it to be empty. -; -; PHP's built-in default is text/html -default_mimetype = "text/html" -;default_charset = "iso-8859-1" - -; Always populate the $HTTP_RAW_POST_DATA variable. -;always_populate_raw_post_data = On - - -;;;;;;;;;;;;;;;;;;;;;;;;; -; Paths and Directories ; -;;;;;;;;;;;;;;;;;;;;;;;;; - -; UNIX: "/path1:/path2" -;include_path = ".:/php/includes" -; -; Windows: "\path1;\path2" -;include_path = ".;c:\php\includes" - -; The root of the PHP pages, used only if nonempty. -; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root -; if you are running php as a CGI under any web server (other than IIS) -; see documentation for security issues. The alternate is to use the -; cgi.force_redirect configuration below -doc_root = - -; The directory under which PHP opens the script using /~username used only -; if nonempty. -user_dir = - -; Directory in which the loadable extensions (modules) reside. -extension_dir = "<%= node['php']['ext_dir'] %>" - -; Whether or not to enable the dl() function. The dl() function does NOT work -; properly in multithreaded servers, such as IIS or Zeus, and is automatically -; disabled on them. -enable_dl = On - -; cgi.force_redirect is necessary to provide security running PHP as a CGI under -; most web servers. Left undefined, PHP turns this on by default. You can -; turn it off here AT YOUR OWN RISK -; **You CAN safely turn this off for IIS, in fact, you MUST.** -; cgi.force_redirect = 1 - -; if cgi.nph is enabled it will force cgi to always sent Status: 200 with -; every request. -; cgi.nph = 1 - -; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape -; (iPlanet) web servers, you MAY need to set an environment variable name that PHP -; will look for to know it is OK to continue execution. Setting this variable MAY -; cause security issues, KNOW WHAT YOU ARE DOING FIRST. -; cgi.redirect_status_env = ; - -; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate -; security tokens of the calling client. This allows IIS to define the -; security context that the request runs under. mod_fastcgi under Apache -; does not currently support this feature (03/17/2002) -; Set to 1 if running under IIS. Default is zero. -; fastcgi.impersonate = 1; - -; Disable logging through FastCGI connection -; fastcgi.log = 0 - -; cgi.rfc2616_headers configuration option tells PHP what type of headers to -; use when sending HTTP response code. If it's set 0 PHP sends Status: header that -; is supported by Apache. When this option is set to 1 PHP will send -; RFC2616 compliant header. -; Default is zero. -;cgi.rfc2616_headers = 0 - - -;;;;;;;;;;;;;;;; -; File Uploads ; -;;;;;;;;;;;;;;;; - -; Whether to allow HTTP file uploads. -file_uploads = On - -; Temporary directory for HTTP uploaded files (will use system default if not -; specified). -;upload_tmp_dir = - -; Maximum allowed size for uploaded files. -upload_max_filesize = 2M - - -;;;;;;;;;;;;;;;;;; -; Fopen wrappers ; -;;;;;;;;;;;;;;;;;; - -; Whether to allow the treatment of URLs (like http:// or ftp://) as files. -allow_url_fopen = On - -; Define the anonymous ftp password (your email address) -;from="john@doe.com" - -; Define the User-Agent string -; user_agent="PHP" - -; Default timeout for socket based streams (seconds) -default_socket_timeout = 60 - -; If your scripts have to deal with files from Macintosh systems, -; or you are running on a Mac and need to deal with files from -; unix or win32 systems, setting this flag will cause PHP to -; automatically detect the EOL character in those files so that -; fgets() and file() will work regardless of the source of the file. -; auto_detect_line_endings = Off - - -;;;;;;;;;;;;;;;;;;;;;; -; Dynamic Extensions ; -;;;;;;;;;;;;;;;;;;;;;; -; -; If you wish to have an extension loaded automatically, use the following -; syntax: -; -; extension=modulename.extension -; -; For example: -; -; extension=msql.so -; -; Note that it should be the name of the module only; no directory information -; needs to go here. Specify the location of the extension with the -; extension_dir directive above. - - -;;;; -; Note: packaged extension modules are now loaded via the .ini files -; found in the directory /etc/php.d; these are loaded by default. -;;;; - - -;;;;;;;;;;;;;;;;;;; -; Module Settings ; -;;;;;;;;;;;;;;;;;;; - -[Date] -; Defines the default timezone used by the date functions -;date.timezone = - -[Syslog] -; Whether or not to define the various syslog variables (e.g. $LOG_PID, -; $LOG_CRON, etc.). Turning it off is a good idea performance-wise. In -; runtime, you can define these variables by calling define_syslog_variables(). -define_syslog_variables = Off - -[mail function] -; For Win32 only. -SMTP = localhost -smtp_port = 25 - -; For Win32 only. -;sendmail_from = me@example.com - -; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). -sendmail_path = /usr/sbin/sendmail -t -i - -; Force the addition of the specified parameters to be passed as extra parameters -; to the sendmail binary. These parameters will always replace the value of -; the 5th parameter to mail(), even in safe mode. -;mail.force_extra_parameters = - -[SQL] -sql.safe_mode = Off - -[ODBC] -;odbc.default_db = Not yet implemented -;odbc.default_user = Not yet implemented -;odbc.default_pw = Not yet implemented - -; Allow or prevent persistent links. -odbc.allow_persistent = On - -; Check that a connection is still valid before reuse. -odbc.check_persistent = On - -; Maximum number of persistent links. -1 means no limit. -odbc.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -odbc.max_links = -1 - -; Handling of LONG fields. Returns number of bytes to variables. 0 means -; passthru. -odbc.defaultlrl = 4096 - -; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. -; See the documentation on odbc_binmode and odbc_longreadlen for an explanation -; of uodbc.defaultlrl and uodbc.defaultbinmode -odbc.defaultbinmode = 1 - -[MySQL] -; Allow or prevent persistent links. -mysql.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -mysql.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -mysql.max_links = -1 - -; Default port number for mysql_connect(). If unset, mysql_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -mysql.default_port = - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -mysql.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -mysql.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -mysql.default_user = - -; Default password for mysql_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -mysql.default_password = - -; Maximum time (in secondes) for connect timeout. -1 means no limit -mysql.connect_timeout = 60 - -; Trace mode. When trace_mode is active (=On), warnings for table/index scans and -; SQL-Errors will be displayed. -mysql.trace_mode = Off - -[MySQLi] - -; Maximum number of links. -1 means no limit. -mysqli.max_links = -1 - -; Default port number for mysqli_connect(). If unset, mysqli_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -mysqli.default_port = 3306 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -mysqli.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -mysqli.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -mysqli.default_user = - -; Default password for mysqli_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -mysqli.default_pw = - -; Allow or prevent reconnect -mysqli.reconnect = Off - -[mSQL] -; Allow or prevent persistent links. -msql.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -msql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -msql.max_links = -1 - -[PostgresSQL] -; Allow or prevent persistent links. -pgsql.allow_persistent = On - -; Detect broken persistent links always with pg_pconnect(). -; Auto reset feature requires a little overheads. -pgsql.auto_reset_persistent = Off - -; Maximum number of persistent links. -1 means no limit. -pgsql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -pgsql.max_links = -1 - -; Ignore PostgreSQL backends Notice message or not. -; Notice message logging require a little overheads. -pgsql.ignore_notice = 0 - -; Log PostgreSQL backends Noitce message or not. -; Unless pgsql.ignore_notice=0, module cannot log notice message. -pgsql.log_notice = 0 - -[Sybase] -; Allow or prevent persistent links. -sybase.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -sybase.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -sybase.max_links = -1 - -;sybase.interface_file = "/usr/sybase/interfaces" - -; Minimum error severity to display. -sybase.min_error_severity = 10 - -; Minimum message severity to display. -sybase.min_message_severity = 10 - -; Compatability mode with old versions of PHP 3.0. -; If on, this will cause PHP to automatically assign types to results according -; to their Sybase type, instead of treating them all as strings. This -; compatability mode will probably not stay around forever, so try applying -; whatever necessary changes to your code, and turn it off. -sybase.compatability_mode = Off - -[Sybase-CT] -; Allow or prevent persistent links. -sybct.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -sybct.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -sybct.max_links = -1 - -; Minimum server message severity to display. -sybct.min_server_severity = 10 - -; Minimum client message severity to display. -sybct.min_client_severity = 10 - -[bcmath] -; Number of decimal digits for all bcmath functions. -bcmath.scale = 0 - -[browscap] -;browscap = extra/browscap.ini - -[Informix] -; Default host for ifx_connect() (doesn't apply in safe mode). -ifx.default_host = - -; Default user for ifx_connect() (doesn't apply in safe mode). -ifx.default_user = - -; Default password for ifx_connect() (doesn't apply in safe mode). -ifx.default_password = - -; Allow or prevent persistent links. -ifx.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -ifx.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -ifx.max_links = -1 - -; If on, select statements return the contents of a text blob instead of its id. -ifx.textasvarchar = 0 - -; If on, select statements return the contents of a byte blob instead of its id. -ifx.byteasvarchar = 0 - -; Trailing blanks are stripped from fixed-length char columns. May help the -; life of Informix SE users. -ifx.charasvarchar = 0 - -; If on, the contents of text and byte blobs are dumped to a file instead of -; keeping them in memory. -ifx.blobinfile = 0 - -; NULL's are returned as empty strings, unless this is set to 1. In that case, -; NULL's are returned as string 'NULL'. -ifx.nullformat = 0 - -[Session] -; Handler used to store/retrieve data. -session.save_handler = files - -; Argument passed to save_handler. In the case of files, this is the path -; where data files are stored. Note: Windows users have to change this -; variable in order to use PHP's session functions. -; -; As of PHP 4.0.1, you can define the path as: -; -; session.save_path = "N;/path" -; -; where N is an integer. Instead of storing all the session files in -; /path, what this will do is use subdirectories N-levels deep, and -; store the session data in those directories. This is useful if you -; or your OS have problems with lots of files in one directory, and is -; a more efficient layout for servers that handle lots of sessions. -; -; NOTE 1: PHP will not create this directory structure automatically. -; You can use the script in the ext/session dir for that purpose. -; NOTE 2: See the section on garbage collection below if you choose to -; use subdirectories for session storage -; -; The file storage module creates files using mode 600 by default. -; You can change that by using -; -; session.save_path = "N;MODE;/path" -; -; where MODE is the octal representation of the mode. Note that this -; does not overwrite the process's umask. -session.save_path = "/var/lib/php/session" - -; Whether to use cookies. -session.use_cookies = 1 - -; This option enables administrators to make their users invulnerable to -; attacks which involve passing session ids in URLs; defaults to 0. -; session.use_only_cookies = 1 - -; Name of the session (used as cookie name). -session.name = PHPSESSID - -; Initialize session on request startup. -session.auto_start = 0 - -; Lifetime in seconds of cookie or, if 0, until browser is restarted. -session.cookie_lifetime = 0 - -; The path for which the cookie is valid. -session.cookie_path = / - -; The domain for which the cookie is valid. -session.cookie_domain = - -; Handler used to serialize data. php is the standard serializer of PHP. -session.serialize_handler = php - -; Define the probability that the 'garbage collection' process is started -; on every session initialization. -; The probability is calculated by using gc_probability/gc_divisor, -; e.g. 1/100 means there is a 1% chance that the GC process starts -; on each request. - -session.gc_probability = 1 -session.gc_divisor = 1000 - -; After this number of seconds, stored data will be seen as 'garbage' and -; cleaned up by the garbage collection process. -session.gc_maxlifetime = 1440 - -; NOTE: If you are using the subdirectory option for storing session files -; (see session.save_path above), then garbage collection does *not* -; happen automatically. You will need to do your own garbage -; collection through a shell script, cron entry, or some other method. -; For example, the following script would is the equivalent of -; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): -; cd /path/to/sessions; find -cmin +24 | xargs rm - -; PHP 4.2 and less have an undocumented feature/bug that allows you to -; to initialize a session variable in the global scope, albeit register_globals -; is disabled. PHP 4.3 and later will warn you, if this feature is used. -; You can disable the feature and the warning separately. At this time, -; the warning is only displayed, if bug_compat_42 is enabled. - -session.bug_compat_42 = 0 -session.bug_compat_warn = 1 - -; Check HTTP Referer to invalidate externally stored URLs containing ids. -; HTTP_REFERER has to contain this substring for the session to be -; considered as valid. -session.referer_check = - -; How many bytes to read from the file. -session.entropy_length = 0 - -; Specified here to create the session id. -session.entropy_file = - -;session.entropy_length = 16 - -;session.entropy_file = /dev/urandom - -; Set to {nocache,private,public,} to determine HTTP caching aspects -; or leave this empty to avoid sending anti-caching headers. -session.cache_limiter = nocache - -; Document expires after n minutes. -session.cache_expire = 180 - -; trans sid support is disabled by default. -; Use of trans sid may risk your users security. -; Use this option with caution. -; - User may send URL contains active session ID -; to other person via. email/irc/etc. -; - URL that contains active session ID may be stored -; in publically accessible computer. -; - User may access your site with the same session ID -; always using URL stored in browser's history or bookmarks. -session.use_trans_sid = 0 - -; Select a hash function -; 0: MD5 (128 bits) -; 1: SHA-1 (160 bits) -session.hash_function = 0 - -; Define how many bits are stored in each character when converting -; the binary hash data to something readable. -; -; 4 bits: 0-9, a-f -; 5 bits: 0-9, a-v -; 6 bits: 0-9, a-z, A-Z, "-", "," -session.hash_bits_per_character = 5 - -; The URL rewriter will look for URLs in a defined set of HTML tags. -; form/fieldset are special; if you include them here, the rewriter will -; add a hidden field with the info which is otherwise appended -; to URLs. If you want XHTML conformity, remove the form entry. -; Note that all valid entries require a "=", even if no value follows. -url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" - -[MSSQL] -; Allow or prevent persistent links. -mssql.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -mssql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -mssql.max_links = -1 - -; Minimum error severity to display. -mssql.min_error_severity = 10 - -; Minimum message severity to display. -mssql.min_message_severity = 10 - -; Compatability mode with old versions of PHP 3.0. -mssql.compatability_mode = Off - -; Connect timeout -;mssql.connect_timeout = 5 - -; Query timeout -;mssql.timeout = 60 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textlimit = 4096 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textsize = 4096 - -; Limits the number of records in each batch. 0 = all records in one batch. -;mssql.batchsize = 0 - -; Specify how datetime and datetim4 columns are returned -; On => Returns data converted to SQL server settings -; Off => Returns values as YYYY-MM-DD hh:mm:ss -;mssql.datetimeconvert = On - -; Use NT authentication when connecting to the server -mssql.secure_connection = Off - -; Specify max number of processes. -1 = library default -; msdlib defaults to 25 -; FreeTDS defaults to 4096 -;mssql.max_procs = -1 - -; Specify client character set. -; If empty or not set the client charset from freetds.comf is used -; This is only used when compiled with FreeTDS -;mssql.charset = "ISO-8859-1" - -[Assertion] -; Assert(expr); active by default. -;assert.active = On - -; Issue a PHP warning for each failed assertion. -;assert.warning = On - -; Don't bail out by default. -;assert.bail = Off - -; User-function to be called if an assertion fails. -;assert.callback = 0 - -; Eval the expression with current error_reporting(). Set to true if you want -; error_reporting(0) around the eval(). -;assert.quiet_eval = 0 - -[Verisign Payflow Pro] -; Default Payflow Pro server. -pfpro.defaulthost = "test-payflow.verisign.com" - -; Default port to connect to. -pfpro.defaultport = 443 - -; Default timeout in seconds. -pfpro.defaulttimeout = 30 - -; Default proxy IP address (if required). -;pfpro.proxyaddress = - -; Default proxy port. -;pfpro.proxyport = - -; Default proxy logon. -;pfpro.proxylogon = - -; Default proxy password. -;pfpro.proxypassword = - -[COM] -; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs -;com.typelib_file = -; allow Distributed-COM calls -;com.allow_dcom = true -; autoregister constants of a components typlib on com_load() -;com.autoregister_typelib = true -; register constants casesensitive -;com.autoregister_casesensitive = false -; show warnings on duplicate constat registrations -;com.autoregister_verbose = true - -[mbstring] -; language for internal character representation. -;mbstring.language = Japanese - -; internal/script encoding. -; Some encoding cannot work as internal encoding. -; (e.g. SJIS, BIG5, ISO-2022-*) -;mbstring.internal_encoding = EUC-JP - -; http input encoding. -;mbstring.http_input = auto - -; http output encoding. mb_output_handler must be -; registered as output buffer to function -;mbstring.http_output = SJIS - -; enable automatic encoding translation according to -; mbstring.internal_encoding setting. Input chars are -; converted to internal encoding by setting this to On. -; Note: Do _not_ use automatic encoding translation for -; portable libs/applications. -;mbstring.encoding_translation = Off - -; automatic encoding detection order. -; auto means -;mbstring.detect_order = auto - -; substitute_character used when character cannot be converted -; one from another -;mbstring.substitute_character = none; - -; overload(replace) single byte functions by mbstring functions. -; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), -; etc. Possible values are 0,1,2,4 or combination of them. -; For example, 7 for overload everything. -; 0: No overload -; 1: Overload mail() function -; 2: Overload str*() functions -; 4: Overload ereg*() functions -;mbstring.func_overload = 0 - -; enable strict encoding detection. -;mbstring.strict_encoding = Off - -[FrontBase] -;fbsql.allow_persistent = On -;fbsql.autocommit = On -;fbsql.default_database = -;fbsql.default_database_password = -;fbsql.default_host = -;fbsql.default_password = -;fbsql.default_user = "_SYSTEM" -;fbsql.generate_warnings = Off -;fbsql.max_connections = 128 -;fbsql.max_links = 128 -;fbsql.max_persistent = -1 -;fbsql.max_results = 128 -;fbsql.batchSize = 1000 - -[gd] -; Tell the jpeg decode to libjpeg warnings and try to create -; a gd image. The warning will then be displayed as notices -; disabled by default -;gd.jpeg_ignore_warning = 0 - -[exif] -; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. -; With mbstring support this will automatically be converted into the encoding -; given by corresponding encode setting. When empty mbstring.internal_encoding -; is used. For the decode settings you can distinguish between motorola and -; intel byte order. A decode setting cannot be empty. -;exif.encode_unicode = ISO-8859-15 -;exif.decode_unicode_motorola = UCS-2BE -;exif.decode_unicode_intel = UCS-2LE -;exif.encode_jis = -;exif.decode_jis_motorola = JIS -;exif.decode_jis_intel = JIS - -[Tidy] -; The path to a default tidy configuration file to use when using tidy -;tidy.default_config = /usr/local/lib/php/default.tcfg - -; Should tidy clean and repair output automatically? -; WARNING: Do not use this option if you are generating non-html content -; such as dynamic images -tidy.clean_output = Off - -[soap] -; Enables or disables WSDL caching feature. -soap.wsdl_cache_enabled=1 -; Sets the directory name where SOAP extension will put cache files. -soap.wsdl_cache_dir="/tmp" -; (time to live) Sets the number of second while cached file will be used -; instead of original one. -soap.wsdl_cache_ttl=86400 - -; Local Variables: -; tab-width: 4 -; End: - -<% @directives.sort_by { |key, val| key }.each do |directive, value| -%> -<%= "#{directive}=\"#{value}\"" %> -<% end -%> diff --git a/provision/cookbooks/php/templates/ubuntu/php.ini.erb b/provision/cookbooks/php/templates/ubuntu/php.ini.erb deleted file mode 100755 index 1bd0a47..0000000 --- a/provision/cookbooks/php/templates/ubuntu/php.ini.erb +++ /dev/null @@ -1,1857 +0,0 @@ -[PHP] - -;;;;;;;;;;;;;;;;;;; -; About php.ini ; -;;;;;;;;;;;;;;;;;;; -; PHP's initialization file, generally called php.ini, is responsible for -; configuring many of the aspects of PHP's behavior. - -; PHP attempts to find and load this configuration from a number of locations. -; The following is a summary of its search order: -; 1. SAPI module specific location. -; 2. The PHPRC environment variable. (As of PHP 5.2.0) -; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) -; 4. Current working directory (except CLI) -; 5. The web server's directory (for SAPI modules), or directory of PHP -; (otherwise in Windows) -; 6. The directory from the --with-config-file-path compile time option, or the -; Windows directory (C:\windows or C:\winnt) -; See the PHP docs for more specific information. -; http://php.net/configuration.file - -; The syntax of the file is extremely simple. Whitespace and Lines -; beginning with a semicolon are silently ignored (as you probably guessed). -; Section headers (e.g. [Foo]) are also silently ignored, even though -; they might mean something in the future. - -; Directives following the section heading [PATH=/www/mysite] only -; apply to PHP files in the /www/mysite directory. Directives -; following the section heading [HOST=www.example.com] only apply to -; PHP files served from www.example.com. Directives set in these -; special sections cannot be overridden by user-defined INI files or -; at runtime. Currently, [PATH=] and [HOST=] sections only work under -; CGI/FastCGI. -; http://php.net/ini.sections - -; Directives are specified using the following syntax: -; directive = value -; Directive names are *case sensitive* - foo=bar is different from FOO=bar. -; Directives are variables used to configure PHP or PHP extensions. -; There is no name validation. If PHP can't find an expected -; directive because it is not set or is mistyped, a default value will be used. - -; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one -; of the INI constants (On, Off, True, False, Yes, No and None) or an expression -; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a -; previously set variable or directive (e.g. ${foo}) - -; Expressions in the INI file are limited to bitwise operators and parentheses: -; | bitwise OR -; ^ bitwise XOR -; & bitwise AND -; ~ bitwise NOT -; ! boolean NOT - -; Boolean flags can be turned on using the values 1, On, True or Yes. -; They can be turned off using the values 0, Off, False or No. - -; An empty string can be denoted by simply not writing anything after the equal -; sign, or by using the None keyword: - -; foo = ; sets foo to an empty string -; foo = None ; sets foo to an empty string -; foo = "None" ; sets foo to the string 'None' - -; If you use constants in your value, and these constants belong to a -; dynamically loaded extension (either a PHP extension or a Zend extension), -; you may only use these constants *after* the line that loads the extension. - -;;;;;;;;;;;;;;;;;;; -; About this file ; -;;;;;;;;;;;;;;;;;;; -; PHP comes packaged with two INI files. One that is recommended to be used -; in production environments and one that is recommended to be used in -; development environments. - -; php.ini-production contains settings which hold security, performance and -; best practices at its core. But please be aware, these settings may break -; compatibility with older or less security conscience applications. We -; recommending using the production ini in production and testing environments. - -; php.ini-development is very similar to its production variant, except it's -; much more verbose when it comes to errors. We recommending using the -; development version only in development environments as errors shown to -; application users can inadvertently leak otherwise secure information. - -;;;;;;;;;;;;;;;;;;; -; Quick Reference ; -;;;;;;;;;;;;;;;;;;; -; The following are all the settings which are different in either the production -; or development versions of the INIs with respect to PHP's default behavior. -; Please see the actual settings later in the document for more details as to why -; we recommend these changes in PHP's behavior. - -; allow_call_time_pass_reference -; Default Value: On -; Development Value: Off -; Production Value: Off - -; display_errors -; Default Value: On -; Development Value: On -; Production Value: Off - -; display_startup_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - -; error_reporting -; Default Value: E_ALL & ~E_NOTICE -; Development Value: E_ALL | E_STRICT -; Production Value: E_ALL & ~E_DEPRECATED - -; html_errors -; Default Value: On -; Development Value: On -; Production value: Off - -; log_errors -; Default Value: Off -; Development Value: On -; Production Value: On - -; magic_quotes_gpc -; Default Value: On -; Development Value: Off -; Production Value: Off - -; max_input_time -; Default Value: -1 (Unlimited) -; Development Value: 60 (60 seconds) -; Production Value: 60 (60 seconds) - -; output_buffering -; Default Value: Off -; Development Value: 4096 -; Production Value: 4096 - -; register_argc_argv -; Default Value: On -; Development Value: Off -; Production Value: Off - -; register_long_arrays -; Default Value: On -; Development Value: Off -; Production Value: Off - -; request_order -; Default Value: None -; Development Value: "GP" -; Production Value: "GP" - -; session.bug_compat_42 -; Default Value: On -; Development Value: On -; Production Value: Off - -; session.bug_compat_warn -; Default Value: On -; Development Value: On -; Production Value: Off - -; session.gc_divisor -; Default Value: 100 -; Development Value: 1000 -; Production Value: 1000 - -; session.hash_bits_per_character -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 - -; short_open_tag -; Default Value: On -; Development Value: Off -; Production Value: Off - -; track_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - -; url_rewriter.tags -; Default Value: "a=href,area=href,frame=src,form=,fieldset=" -; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" - -; variables_order -; Default Value: "EGPCS" -; Development Value: "GPCS" -; Production Value: "GPCS" - -;;;;;;;;;;;;;;;;;;;; -; php.ini Options ; -;;;;;;;;;;;;;;;;;;;; -; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" -;user_ini.filename = ".user.ini" - -; To disable this feature set this option to empty value -;user_ini.filename = - -; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) -;user_ini.cache_ttl = 300 - -;;;;;;;;;;;;;;;;;;;; -; Language Options ; -;;;;;;;;;;;;;;;;;;;; - -; Enable the PHP scripting language engine under Apache. -; http://php.net/engine -engine = On - -; This directive determines whether or not PHP will recognize code between -; tags as PHP source which should be processed as such. It's been -; recommended for several years that you not use the short tag "short cut" and -; instead to use the full tag combination. With the wide spread use -; of XML and use of these tags by other languages, the server can become easily -; confused and end up parsing the wrong code in the wrong context. But because -; this short cut has been a feature for such a long time, it's currently still -; supported for backwards compatibility, but we recommend you don't use them. -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/short-open-tag -short_open_tag = On - -; Allow ASP-style <% %> tags. -; http://php.net/asp-tags -asp_tags = Off - -; The number of significant digits displayed in floating point numbers. -; http://php.net/precision -precision = 14 - -; Enforce year 2000 compliance (will cause problems with non-compliant browsers) -; http://php.net/y2k-compliance -y2k_compliance = On - -; Output buffering is a mechanism for controlling how much output data -; (excluding headers and cookies) PHP should keep internally before pushing that -; data to the client. If your application's output exceeds this setting, PHP -; will send that data in chunks of roughly the size you specify. -; Turning on this setting and managing its maximum buffer size can yield some -; interesting side-effects depending on your application and web server. -; You may be able to send headers and cookies after you've already sent output -; through print or echo. You also may see performance benefits if your server is -; emitting less packets due to buffered output versus PHP streaming the output -; as it gets it. On production servers, 4096 bytes is a good setting for performance -; reasons. -; Note: Output buffering can also be controlled via Output Buffering Control -; functions. -; Possible Values: -; On = Enabled and buffer is unlimited. (Use with caution) -; Off = Disabled -; Integer = Enables the buffer and sets its maximum size in bytes. -; Note: This directive is hardcoded to Off for the CLI SAPI -; Default Value: Off -; Development Value: 4096 -; Production Value: 4096 -; http://php.net/output-buffering -output_buffering = 4096 - -; You can redirect all of the output of your scripts to a function. For -; example, if you set output_handler to "mb_output_handler", character -; encoding will be transparently converted to the specified encoding. -; Setting any output handler automatically turns on output buffering. -; Note: People who wrote portable scripts should not depend on this ini -; directive. Instead, explicitly set the output handler using ob_start(). -; Using this ini directive may cause problems unless you know what script -; is doing. -; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler" -; and you cannot use both "ob_gzhandler" and "zlib.output_compression". -; Note: output_handler must be empty if this is set 'On' !!!! -; Instead you must use zlib.output_handler. -; http://php.net/output-handler -;output_handler = - -; Transparent output compression using the zlib library -; Valid values for this option are 'off', 'on', or a specific buffer size -; to be used for compression (default is 4KB) -; Note: Resulting chunk size may vary due to nature of compression. PHP -; outputs chunks that are few hundreds bytes each as a result of -; compression. If you prefer a larger chunk size for better -; performance, enable output_buffering in addition. -; Note: You need to use zlib.output_handler instead of the standard -; output_handler, or otherwise the output will be corrupted. -; http://php.net/zlib.output-compression -zlib.output_compression = Off - -; http://php.net/zlib.output-compression-level -;zlib.output_compression_level = -1 - -; You cannot specify additional output handlers if zlib.output_compression -; is activated here. This setting does the same as output_handler but in -; a different order. -; http://php.net/zlib.output-handler -;zlib.output_handler = - -; Implicit flush tells PHP to tell the output layer to flush itself -; automatically after every output block. This is equivalent to calling the -; PHP function flush() after each and every call to print() or echo() and each -; and every HTML block. Turning this option on has serious performance -; implications and is generally recommended for debugging purposes only. -; http://php.net/implicit-flush -; Note: This directive is hardcoded to On for the CLI SAPI -implicit_flush = Off - -; The unserialize callback function will be called (with the undefined class' -; name as parameter), if the unserializer finds an undefined class -; which should be instantiated. A warning appears if the specified function is -; not defined, or if the function doesn't include/implement the missing class. -; So only set this entry, if you really want to implement such a -; callback-function. -unserialize_callback_func = - -; When floats & doubles are serialized store serialize_precision significant -; digits after the floating point. The default value ensures that when floats -; are decoded with unserialize, the data will remain the same. -serialize_precision = 100 - -; This directive allows you to enable and disable warnings which PHP will issue -; if you pass a value by reference at function call time. Passing values by -; reference at function call time is a deprecated feature which will be removed -; from PHP at some point in the near future. The acceptable method for passing a -; value by reference to a function is by declaring the reference in the functions -; definition, not at call time. This directive does not disable this feature, it -; only determines whether PHP will warn you about it or not. These warnings -; should enabled in development environments only. -; Default Value: On (Suppress warnings) -; Development Value: Off (Issue warnings) -; Production Value: Off (Issue warnings) -; http://php.net/allow-call-time-pass-reference -allow_call_time_pass_reference = Off - -; Safe Mode -; http://php.net/safe-mode -safe_mode = Off - -; By default, Safe Mode does a UID compare check when -; opening files. If you want to relax this to a GID compare, -; then turn on safe_mode_gid. -; http://php.net/safe-mode-gid -safe_mode_gid = Off - -; When safe_mode is on, UID/GID checks are bypassed when -; including files from this directory and its subdirectories. -; (directory must also be in include_path or full path must -; be used when including) -; http://php.net/safe-mode-include-dir -safe_mode_include_dir = - -; When safe_mode is on, only executables located in the safe_mode_exec_dir -; will be allowed to be executed via the exec family of functions. -; http://php.net/safe-mode-exec-dir -safe_mode_exec_dir = - -; Setting certain environment variables may be a potential security breach. -; This directive contains a comma-delimited list of prefixes. In Safe Mode, -; the user may only alter environment variables whose names begin with the -; prefixes supplied here. By default, users will only be able to set -; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR). -; Note: If this directive is empty, PHP will let the user modify ANY -; environment variable! -; http://php.net/safe-mode-allowed-env-vars -safe_mode_allowed_env_vars = PHP_ - -; This directive contains a comma-delimited list of environment variables that -; the end user won't be able to change using putenv(). These variables will be -; protected even if safe_mode_allowed_env_vars is set to allow to change them. -; http://php.net/safe-mode-protected-env-vars -safe_mode_protected_env_vars = LD_LIBRARY_PATH - -; open_basedir, if set, limits all file operations to the defined directory -; and below. This directive makes most sense if used in a per-directory -; or per-virtualhost web server configuration file. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -; http://php.net/open-basedir -;open_basedir = - -; This directive allows you to disable certain functions for security reasons. -; It receives a comma-delimited list of function names. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -; http://php.net/disable-functions -disable_functions = - -; This directive allows you to disable certain classes for security reasons. -; It receives a comma-delimited list of class names. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -; http://php.net/disable-classes -disable_classes = - -; Colors for Syntax Highlighting mode. Anything that's acceptable in -; would work. -; http://php.net/syntax-highlighting -;highlight.string = #DD0000 -;highlight.comment = #FF9900 -;highlight.keyword = #007700 -;highlight.bg = #FFFFFF -;highlight.default = #0000BB -;highlight.html = #000000 - -; If enabled, the request will be allowed to complete even if the user aborts -; the request. Consider enabling it if executing long requests, which may end up -; being interrupted by the user or a browser timing out. PHP's default behavior -; is to disable this feature. -; http://php.net/ignore-user-abort -;ignore_user_abort = On - -; Determines the size of the realpath cache to be used by PHP. This value should -; be increased on systems where PHP opens many files to reflect the quantity of -; the file operations performed. -; http://php.net/realpath-cache-size -;realpath_cache_size = 16k - -; Duration of time, in seconds for which to cache realpath information for a given -; file or directory. For systems with rarely changing files, consider increasing this -; value. -; http://php.net/realpath-cache-ttl -;realpath_cache_ttl = 120 - -;;;;;;;;;;;;;;;;; -; Miscellaneous ; -;;;;;;;;;;;;;;;;; - -; Decides whether PHP may expose the fact that it is installed on the server -; (e.g. by adding its signature to the Web server header). It is no security -; threat in any way, but it makes it possible to determine whether you use PHP -; on your server or not. -; http://php.net/expose-php -expose_php = On - -;;;;;;;;;;;;;;;;;;; -; Resource Limits ; -;;;;;;;;;;;;;;;;;;; - -; Maximum execution time of each script, in seconds -; http://php.net/max-execution-time -; Note: This directive is hardcoded to 0 for the CLI SAPI -max_execution_time = 30 - -; Maximum amount of time each script may spend parsing request data. It's a good -; idea to limit this time on productions servers in order to eliminate unexpectedly -; long running scripts. -; Note: This directive is hardcoded to -1 for the CLI SAPI -; Default Value: -1 (Unlimited) -; Development Value: 60 (60 seconds) -; Production Value: 60 (60 seconds) -; http://php.net/max-input-time -max_input_time = 60 - -; Maximum input variable nesting level -; http://php.net/max-input-nesting-level -;max_input_nesting_level = 64 - -; Maximum amount of memory a script may consume (128MB) -; http://php.net/memory-limit -memory_limit = -1 - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Error handling and logging ; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -; This directive informs PHP of which errors, warnings and notices you would like -; it to take action for. The recommended way of setting values for this -; directive is through the use of the error level constants and bitwise -; operators. The error level constants are below here for convenience as well as -; some common settings and their meanings. -; By default, PHP is set to take action on all errors, notices and warnings EXCEPT -; those related to E_NOTICE and E_STRICT, which together cover best practices and -; recommended coding standards in PHP. For performance reasons, this is the -; recommend error reporting setting. Your production server shouldn't be wasting -; resources complaining about best practices and coding standards. That's what -; development servers and development settings are for. -; Note: The php.ini-development file has this setting as E_ALL | E_STRICT. This -; means it pretty much reports everything which is exactly what you want during -; development and early testing. -; -; Error Level Constants: -; E_ALL - All errors and warnings (includes E_STRICT as of PHP 6.0.0) -; E_ERROR - fatal run-time errors -; E_RECOVERABLE_ERROR - almost fatal run-time errors -; E_WARNING - run-time warnings (non-fatal errors) -; E_PARSE - compile-time parse errors -; E_NOTICE - run-time notices (these are warnings which often result -; from a bug in your code, but it's possible that it was -; intentional (e.g., using an uninitialized variable and -; relying on the fact it's automatically initialized to an -; empty string) -; E_STRICT - run-time notices, enable to have PHP suggest changes -; to your code which will ensure the best interoperability -; and forward compatibility of your code -; E_CORE_ERROR - fatal errors that occur during PHP's initial startup -; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's -; initial startup -; E_COMPILE_ERROR - fatal compile-time errors -; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) -; E_USER_ERROR - user-generated error message -; E_USER_WARNING - user-generated warning message -; E_USER_NOTICE - user-generated notice message -; E_DEPRECATED - warn about code that will not work in future versions -; of PHP -; E_USER_DEPRECATED - user-generated deprecation warnings -; -; Common Values: -; E_ALL & ~E_NOTICE (Show all errors, except for notices and coding standards warnings.) -; E_ALL & ~E_NOTICE | E_STRICT (Show all errors, except for notices) -; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) -; E_ALL | E_STRICT (Show all errors, warnings and notices including coding standards.) -; Default Value: E_ALL & ~E_NOTICE -; Development Value: E_ALL | E_STRICT -; Production Value: E_ALL & ~E_DEPRECATED -; http://php.net/error-reporting -error_reporting = E_ALL & ~E_DEPRECATED - -; This directive controls whether or not and where PHP will output errors, -; notices and warnings too. Error output is very useful during development, but -; it could be very dangerous in production environments. Depending on the code -; which is triggering the error, sensitive information could potentially leak -; out of your application such as database usernames and passwords or worse. -; It's recommended that errors be logged on production servers rather than -; having the errors sent to STDOUT. -; Possible Values: -; Off = Do not display any errors -; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) -; On or stdout = Display errors to STDOUT -; Default Value: On -; Development Value: On -; Production Value: Off -; http://php.net/display-errors -display_errors = Off - -; The display of errors which occur during PHP's startup sequence are handled -; separately from display_errors. PHP's default behavior is to suppress those -; errors from clients. Turning the display of startup errors on can be useful in -; debugging configuration problems. But, it's strongly recommended that you -; leave this setting off on production servers. -; Default Value: Off -; Development Value: On -; Production Value: Off -; http://php.net/display-startup-errors -display_startup_errors = Off - -; Besides displaying errors, PHP can also log errors to locations such as a -; server-specific log, STDERR, or a location specified by the error_log -; directive found below. While errors should not be displayed on productions -; servers they should still be monitored and logging is a great way to do that. -; Default Value: Off -; Development Value: On -; Production Value: On -; http://php.net/log-errors -log_errors = On - -; Set maximum length of log_errors. In error_log information about the source is -; added. The default is 1024 and 0 allows to not apply any maximum length at all. -; http://php.net/log-errors-max-len -log_errors_max_len = 1024 - -; Do not log repeated messages. Repeated errors must occur in same file on same -; line unless ignore_repeated_source is set true. -; http://php.net/ignore-repeated-errors -ignore_repeated_errors = Off - -; Ignore source of message when ignoring repeated messages. When this setting -; is On you will not log errors with repeated messages from different files or -; source lines. -; http://php.net/ignore-repeated-source -ignore_repeated_source = Off - -; If this parameter is set to Off, then memory leaks will not be shown (on -; stdout or in the log). This has only effect in a debug compile, and if -; error reporting includes E_WARNING in the allowed list -; http://php.net/report-memleaks -report_memleaks = On - -; This setting is on by default. -;report_zend_debug = 0 - -; Store the last error/warning message in $php_errormsg (boolean). Setting this value -; to On can assist in debugging and is appropriate for development servers. It should -; however be disabled on production servers. -; Default Value: Off -; Development Value: On -; Production Value: Off -; http://php.net/track-errors -track_errors = Off - -; Turn off normal error reporting and emit XML-RPC error XML -; http://php.net/xmlrpc-errors -;xmlrpc_errors = 0 - -; An XML-RPC faultCode -;xmlrpc_error_number = 0 - -; When PHP displays or logs an error, it has the capability of inserting html -; links to documentation related to that error. This directive controls whether -; those HTML links appear in error messages or not. For performance and security -; reasons, it's recommended you disable this on production servers. -; Note: This directive is hardcoded to Off for the CLI SAPI -; Default Value: On -; Development Value: On -; Production value: Off -; http://php.net/html-errors -html_errors = Off - -; If html_errors is set On PHP produces clickable error messages that direct -; to a page describing the error or function causing the error in detail. -; You can download a copy of the PHP manual from http://php.net/docs -; and change docref_root to the base URL of your local copy including the -; leading '/'. You must also specify the file extension being used including -; the dot. PHP's default behavior is to leave these settings empty. -; Note: Never use this feature for production boxes. -; http://php.net/docref-root -; Examples -;docref_root = "/phpmanual/" - -; http://php.net/docref-ext -;docref_ext = .html - -; String to output before an error message. PHP's default behavior is to leave -; this setting blank. -; http://php.net/error-prepend-string -; Example: -;error_prepend_string = "" - -; String to output after an error message. PHP's default behavior is to leave -; this setting blank. -; http://php.net/error-append-string -; Example: -;error_append_string = "" - -; Log errors to specified file. PHP's default behavior is to leave this value -; empty. -; http://php.net/error-log -; Example: -;error_log = php_errors.log -; Log errors to syslog (Event Log on NT, not valid in Windows 95). -;error_log = syslog - -;;;;;;;;;;;;;;;;; -; Data Handling ; -;;;;;;;;;;;;;;;;; - -; The separator used in PHP generated URLs to separate arguments. -; PHP's default setting is "&". -; http://php.net/arg-separator.output -; Example: -;arg_separator.output = "&" - -; List of separator(s) used by PHP to parse input URLs into variables. -; PHP's default setting is "&". -; NOTE: Every character in this directive is considered as separator! -; http://php.net/arg-separator.input -; Example: -;arg_separator.input = ";&" - -; This directive determines which super global arrays are registered when PHP -; starts up. If the register_globals directive is enabled, it also determines -; what order variables are populated into the global space. G,P,C,E & S are -; abbreviations for the following respective super globals: GET, POST, COOKIE, -; ENV and SERVER. There is a performance penalty paid for the registration of -; these arrays and because ENV is not as commonly used as the others, ENV is -; is not recommended on productions servers. You can still get access to -; the environment variables through getenv() should you need to. -; Default Value: "EGPCS" -; Development Value: "GPCS" -; Production Value: "GPCS"; -; http://php.net/variables-order -variables_order = "GPCS" - -; This directive determines which super global data (G,P,C,E & S) should -; be registered into the super global array REQUEST. If so, it also determines -; the order in which that data is registered. The values for this directive are -; specified in the same manner as the variables_order directive, EXCEPT one. -; Leaving this value empty will cause PHP to use the value set in the -; variables_order directive. It does not mean it will leave the super globals -; array REQUEST empty. -; Default Value: None -; Development Value: "GP" -; Production Value: "GP" -; http://php.net/request-order -request_order = "GP" - -; Whether or not to register the EGPCS variables as global variables. You may -; want to turn this off if you don't want to clutter your scripts' global scope -; with user data. -; You should do your best to write your scripts so that they do not require -; register_globals to be on; Using form variables as globals can easily lead -; to possible security problems, if the code is not very well thought of. -; http://php.net/register-globals -register_globals = Off - -; Determines whether the deprecated long $HTTP_*_VARS type predefined variables -; are registered by PHP or not. As they are deprecated, we obviously don't -; recommend you use them. They are on by default for compatibility reasons but -; they are not recommended on production servers. -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/register-long-arrays -register_long_arrays = Off - -; This directive determines whether PHP registers $argv & $argc each time it -; runs. $argv contains an array of all the arguments passed to PHP when a script -; is invoked. $argc contains an integer representing the number of arguments -; that were passed when the script was invoked. These arrays are extremely -; useful when running scripts from the command line. When this directive is -; enabled, registering these variables consumes CPU cycles and memory each time -; a script is executed. For performance reasons, this feature should be disabled -; on production servers. -; Note: This directive is hardcoded to On for the CLI SAPI -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/register-argc-argv -register_argc_argv = Off - -; When enabled, the SERVER and ENV variables are created when they're first -; used (Just In Time) instead of when the script starts. If these variables -; are not used within a script, having this directive on will result in a -; performance gain. The PHP directives register_globals, register_long_arrays, -; and register_argc_argv must be disabled for this directive to have any affect. -; http://php.net/auto-globals-jit -auto_globals_jit = On - -; Maximum size of POST data that PHP will accept. -; http://php.net/post-max-size -post_max_size = 8M - -; Magic quotes are a preprocessing feature of PHP where PHP will attempt to -; escape any character sequences in GET, POST, COOKIE and ENV data which might -; otherwise corrupt data being placed in resources such as databases before -; making that data available to you. Because of character encoding issues and -; non-standard SQL implementations across many databases, it's not currently -; possible for this feature to be 100% accurate. PHP's default behavior is to -; enable the feature. We strongly recommend you use the escaping mechanisms -; designed specifically for the database your using instead of relying on this -; feature. Also note, this feature has been deprecated as of PHP 5.3.0 and is -; scheduled for removal in PHP 6. -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/magic-quotes-gpc -magic_quotes_gpc = Off - -; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc. -; http://php.net/magic-quotes-runtime -magic_quotes_runtime = Off - -; Use Sybase-style magic quotes (escape ' with '' instead of \'). -; http://php.net/magic-quotes-sybase -magic_quotes_sybase = Off - -; Automatically add files before PHP document. -; http://php.net/auto-prepend-file -auto_prepend_file = - -; Automatically add files after PHP document. -; http://php.net/auto-append-file -auto_append_file = - -; By default, PHP will output a character encoding using -; the Content-type: header. To disable sending of the charset, simply -; set it to be empty. -; -; PHP's built-in default is text/html -; http://php.net/default-mimetype -default_mimetype = "text/html" - -; PHP's default character set is set to empty. -; http://php.net/default-charset -;default_charset = "iso-8859-1" - -; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is -; to disable this feature. -; http://php.net/always-populate-raw-post-data -;always_populate_raw_post_data = On - -;;;;;;;;;;;;;;;;;;;;;;;;; -; Paths and Directories ; -;;;;;;;;;;;;;;;;;;;;;;;;; - -; UNIX: "/path1:/path2" -;include_path = ".:/usr/share/php" -; -; Windows: "\path1;\path2" -;include_path = ".;c:\php\includes" -; -; PHP's default setting for include_path is ".;/path/to/php/pear" -; http://php.net/include-path - -; The root of the PHP pages, used only if nonempty. -; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root -; if you are running php as a CGI under any web server (other than IIS) -; see documentation for security issues. The alternate is to use the -; cgi.force_redirect configuration below -; http://php.net/doc-root -doc_root = - -; The directory under which PHP opens the script using /~username used only -; if nonempty. -; http://php.net/user-dir -user_dir = - -; Directory in which the loadable extensions (modules) reside. -; http://php.net/extension-dir -; extension_dir = "./" -; On windows: -; extension_dir = "ext" - -; Whether or not to enable the dl() function. The dl() function does NOT work -; properly in multithreaded servers, such as IIS or Zeus, and is automatically -; disabled on them. -; http://php.net/enable-dl -enable_dl = Off - -; cgi.force_redirect is necessary to provide security running PHP as a CGI under -; most web servers. Left undefined, PHP turns this on by default. You can -; turn it off here AT YOUR OWN RISK -; **You CAN safely turn this off for IIS, in fact, you MUST.** -; http://php.net/cgi.force-redirect -;cgi.force_redirect = 1 - -; if cgi.nph is enabled it will force cgi to always sent Status: 200 with -; every request. PHP's default behavior is to disable this feature. -;cgi.nph = 1 - -; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape -; (iPlanet) web servers, you MAY need to set an environment variable name that PHP -; will look for to know it is OK to continue execution. Setting this variable MAY -; cause security issues, KNOW WHAT YOU ARE DOING FIRST. -; http://php.net/cgi.redirect-status-env -;cgi.redirect_status_env = ; - -; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's -; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok -; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting -; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting -; of zero causes PHP to behave as before. Default is 1. You should fix your scripts -; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. -; http://php.net/cgi.fix-pathinfo -;cgi.fix_pathinfo=1 - -; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate -; security tokens of the calling client. This allows IIS to define the -; security context that the request runs under. mod_fastcgi under Apache -; does not currently support this feature (03/17/2002) -; Set to 1 if running under IIS. Default is zero. -; http://php.net/fastcgi.impersonate -;fastcgi.impersonate = 1; - -; Disable logging through FastCGI connection. PHP's default behavior is to enable -; this feature. -;fastcgi.logging = 0 - -; cgi.rfc2616_headers configuration option tells PHP what type of headers to -; use when sending HTTP response code. If it's set 0 PHP sends Status: header that -; is supported by Apache. When this option is set to 1 PHP will send -; RFC2616 compliant header. -; Default is zero. -; http://php.net/cgi.rfc2616-headers -;cgi.rfc2616_headers = 0 - -;;;;;;;;;;;;;;;; -; File Uploads ; -;;;;;;;;;;;;;;;; - -; Whether to allow HTTP file uploads. -; http://php.net/file-uploads -file_uploads = On - -; Temporary directory for HTTP uploaded files (will use system default if not -; specified). -; http://php.net/upload-tmp-dir -;upload_tmp_dir = - -; Maximum allowed size for uploaded files. -; http://php.net/upload-max-filesize -upload_max_filesize = 2M - -; Maximum number of files that can be uploaded via a single request -max_file_uploads = 20 - -;;;;;;;;;;;;;;;;;; -; Fopen wrappers ; -;;;;;;;;;;;;;;;;;; - -; Whether to allow the treatment of URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-fopen -allow_url_fopen = On - -; Whether to allow include/require to open URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-include -allow_url_include = Off - -; Define the anonymous ftp password (your email address). PHP's default setting -; for this is empty. -; http://php.net/from -;from="john@doe.com" - -; Define the User-Agent string. PHP's default setting for this is empty. -; http://php.net/user-agent -;user_agent="PHP" - -; Default timeout for socket based streams (seconds) -; http://php.net/default-socket-timeout -default_socket_timeout = 60 - -; If your scripts have to deal with files from Macintosh systems, -; or you are running on a Mac and need to deal with files from -; unix or win32 systems, setting this flag will cause PHP to -; automatically detect the EOL character in those files so that -; fgets() and file() will work regardless of the source of the file. -; http://php.net/auto-detect-line-endings -;auto_detect_line_endings = Off - -;;;;;;;;;;;;;;;;;;;;;; -; Dynamic Extensions ; -;;;;;;;;;;;;;;;;;;;;;; - -; If you wish to have an extension loaded automatically, use the following -; syntax: -; -; extension=modulename.extension -; -; For example, on Windows: -; -; extension=msql.dll -; -; ... or under UNIX: -; -; extension=msql.so -; -; ... or with a path: -; -; extension=/path/to/extension/msql.so -; -; If you only provide the name of the extension, PHP will look for it in its -; default extension directory. -; - -;;;;;;;;;;;;;;;;;;; -; Module Settings ; -;;;;;;;;;;;;;;;;;;; - -[Date] -; Defines the default timezone used by the date functions -; http://php.net/date.timezone -;date.timezone = - -; http://php.net/date.default-latitude -;date.default_latitude = 31.7667 - -; http://php.net/date.default-longitude -;date.default_longitude = 35.2333 - -; http://php.net/date.sunrise-zenith -;date.sunrise_zenith = 90.583333 - -; http://php.net/date.sunset-zenith -;date.sunset_zenith = 90.583333 - -[filter] -; http://php.net/filter.default -;filter.default = unsafe_raw - -; http://php.net/filter.default-flags -;filter.default_flags = - -[iconv] -;iconv.input_encoding = ISO-8859-1 -;iconv.internal_encoding = ISO-8859-1 -;iconv.output_encoding = ISO-8859-1 - -[intl] -;intl.default_locale = -; This directive allows you to produce PHP errors when some error -; happens within intl functions. The value is the level of the error produced. -; Default is 0, which does not produce any errors. -;intl.error_level = E_WARNING - -[sqlite] -; http://php.net/sqlite.assoc-case -;sqlite.assoc_case = 0 - -[sqlite3] -;sqlite3.extension_dir = - -[Pcre] -;PCRE library backtracking limit. -; http://php.net/pcre.backtrack-limit -;pcre.backtrack_limit=100000 - -;PCRE library recursion limit. -;Please note that if you set this value to a high number you may consume all -;the available process stack and eventually crash PHP (due to reaching the -;stack size limit imposed by the Operating System). -; http://php.net/pcre.recursion-limit -;pcre.recursion_limit=100000 - -[Pdo] -; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" -; http://php.net/pdo-odbc.connection-pooling -;pdo_odbc.connection_pooling=strict - -;pdo_odbc.db2_instance_name - -[Pdo_mysql] -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/pdo_mysql.cache_size -pdo_mysql.cache_size = 2000 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/pdo_mysql.default-socket -pdo_mysql.default_socket= - -[Phar] -; http://php.net/phar.readonly -;phar.readonly = On - -; http://php.net/phar.require-hash -;phar.require_hash = On - -;phar.cache_list = - -[Syslog] -; Whether or not to define the various syslog variables (e.g. $LOG_PID, -; $LOG_CRON, etc.). Turning it off is a good idea performance-wise. In -; runtime, you can define these variables by calling define_syslog_variables(). -; http://php.net/define-syslog-variables -define_syslog_variables = Off - -[mail function] -; For Win32 only. -; http://php.net/smtp -SMTP = localhost -; http://php.net/smtp-port -smtp_port = 25 - -; For Win32 only. -; http://php.net/sendmail-from -;sendmail_from = me@example.com - -; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). -; http://php.net/sendmail-path -;sendmail_path = - -; Force the addition of the specified parameters to be passed as extra parameters -; to the sendmail binary. These parameters will always replace the value of -; the 5th parameter to mail(), even in safe mode. -;mail.force_extra_parameters = - -; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename -mail.add_x_header = On - -; Log all mail() calls including the full path of the script, line #, to address and headers -;mail.log = - -[SQL] -; http://php.net/sql.safe-mode -sql.safe_mode = Off - -[ODBC] -; http://php.net/odbc.default-db -;odbc.default_db = Not yet implemented - -; http://php.net/odbc.default-user -;odbc.default_user = Not yet implemented - -; http://php.net/odbc.default-pw -;odbc.default_pw = Not yet implemented - -; Controls the ODBC cursor model. -; Default: SQL_CURSOR_STATIC (default). -;odbc.default_cursortype - -; Allow or prevent persistent links. -; http://php.net/odbc.allow-persistent -odbc.allow_persistent = On - -; Check that a connection is still valid before reuse. -; http://php.net/odbc.check-persistent -odbc.check_persistent = On - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/odbc.max-persistent -odbc.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/odbc.max-links -odbc.max_links = -1 - -; Handling of LONG fields. Returns number of bytes to variables. 0 means -; passthru. -; http://php.net/odbc.defaultlrl -odbc.defaultlrl = 4096 - -; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. -; See the documentation on odbc_binmode and odbc_longreadlen for an explanation -; of odbc.defaultlrl and odbc.defaultbinmode -; http://php.net/odbc.defaultbinmode -odbc.defaultbinmode = 1 - -;birdstep.max_links = -1 - -[Interbase] -; Allow or prevent persistent links. -ibase.allow_persistent = 1 - -; Maximum number of persistent links. -1 means no limit. -ibase.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -ibase.max_links = -1 - -; Default database name for ibase_connect(). -;ibase.default_db = - -; Default username for ibase_connect(). -;ibase.default_user = - -; Default password for ibase_connect(). -;ibase.default_password = - -; Default charset for ibase_connect(). -;ibase.default_charset = - -; Default timestamp format. -ibase.timestampformat = "%Y-%m-%d %H:%M:%S" - -; Default date format. -ibase.dateformat = "%Y-%m-%d" - -; Default time format. -ibase.timeformat = "%H:%M:%S" - -[MySQL] -; Allow accessing, from PHP's perspective, local files with LOAD DATA statements -; http://php.net/mysql.allow_local_infile -mysql.allow_local_infile = On - -; Allow or prevent persistent links. -; http://php.net/mysql.allow-persistent -mysql.allow_persistent = On - -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/mysql.cache_size -mysql.cache_size = 2000 - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/mysql.max-persistent -mysql.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/mysql.max-links -mysql.max_links = -1 - -; Default port number for mysql_connect(). If unset, mysql_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -; http://php.net/mysql.default-port -mysql.default_port = - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/mysql.default-socket -mysql.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysql.default-host -mysql.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysql.default-user -mysql.default_user = - -; Default password for mysql_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -; http://php.net/mysql.default-password -mysql.default_password = - -; Maximum time (in seconds) for connect timeout. -1 means no limit -; http://php.net/mysql.connect-timeout -mysql.connect_timeout = 60 - -; Trace mode. When trace_mode is active (=On), warnings for table/index scans and -; SQL-Errors will be displayed. -; http://php.net/mysql.trace-mode -mysql.trace_mode = Off - -[MySQLi] - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/mysqli.max-persistent -mysqli.max_persistent = -1 - -; Allow accessing, from PHP's perspective, local files with LOAD DATA statements -; http://php.net/mysqli.allow_local_infile -;mysqli.allow_local_infile = On - -; Allow or prevent persistent links. -; http://php.net/mysqli.allow-persistent -mysqli.allow_persistent = On - -; Maximum number of links. -1 means no limit. -; http://php.net/mysqli.max-links -mysqli.max_links = -1 - -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/mysqli.cache_size -mysqli.cache_size = 2000 - -; Default port number for mysqli_connect(). If unset, mysqli_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -; http://php.net/mysqli.default-port -mysqli.default_port = 3306 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/mysqli.default-socket -mysqli.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-host -mysqli.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-user -mysqli.default_user = - -; Default password for mysqli_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -; http://php.net/mysqli.default-pw -mysqli.default_pw = - -; Allow or prevent reconnect -mysqli.reconnect = Off - -[mysqlnd] -; Enable / Disable collection of general statstics by mysqlnd which can be -; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_statistics -mysqlnd.collect_statistics = On - -; Enable / Disable collection of memory usage statstics by mysqlnd which can be -; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_memory_statistics -mysqlnd.collect_memory_statistics = Off - -; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. -; http://php.net/mysqlnd.net_cmd_buffer_size -;mysqlnd.net_cmd_buffer_size = 2048 - -; Size of a pre-allocated buffer used for reading data sent by the server in -; bytes. -; http://php.net/mysqlnd.net_read_buffer_size -;mysqlnd.net_read_buffer_size = 32768 - -[OCI8] - -; Connection: Enables privileged connections using external -; credentials (OCI_SYSOPER, OCI_SYSDBA) -; http://php.net/oci8.privileged-connect -;oci8.privileged_connect = Off - -; Connection: The maximum number of persistent OCI8 connections per -; process. Using -1 means no limit. -; http://php.net/oci8.max-persistent -;oci8.max_persistent = -1 - -; Connection: The maximum number of seconds a process is allowed to -; maintain an idle persistent connection. Using -1 means idle -; persistent connections will be maintained forever. -; http://php.net/oci8.persistent-timeout -;oci8.persistent_timeout = -1 - -; Connection: The number of seconds that must pass before issuing a -; ping during oci_pconnect() to check the connection validity. When -; set to 0, each oci_pconnect() will cause a ping. Using -1 disables -; pings completely. -; http://php.net/oci8.ping-interval -;oci8.ping_interval = 60 - -; Connection: Set this to a user chosen connection class to be used -; for all pooled server requests with Oracle 11g Database Resident -; Connection Pooling (DRCP). To use DRCP, this value should be set to -; the same string for all web servers running the same application, -; the database pool must be configured, and the connection string must -; specify to use a pooled server. -;oci8.connection_class = - -; High Availability: Using On lets PHP receive Fast Application -; Notification (FAN) events generated when a database node fails. The -; database must also be configured to post FAN events. -;oci8.events = Off - -; Tuning: This option enables statement caching, and specifies how -; many statements to cache. Using 0 disables statement caching. -; http://php.net/oci8.statement-cache-size -;oci8.statement_cache_size = 20 - -; Tuning: Enables statement prefetching and sets the default number of -; rows that will be fetched automatically after statement execution. -; http://php.net/oci8.default-prefetch -;oci8.default_prefetch = 100 - -; Compatibility. Using On means oci_close() will not close -; oci_connect() and oci_new_connect() connections. -; http://php.net/oci8.old-oci-close-semantics -;oci8.old_oci_close_semantics = Off - -[PostgresSQL] -; Allow or prevent persistent links. -; http://php.net/pgsql.allow-persistent -pgsql.allow_persistent = On - -; Detect broken persistent links always with pg_pconnect(). -; Auto reset feature requires a little overheads. -; http://php.net/pgsql.auto-reset-persistent -pgsql.auto_reset_persistent = Off - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/pgsql.max-persistent -pgsql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -; http://php.net/pgsql.max-links -pgsql.max_links = -1 - -; Ignore PostgreSQL backends Notice message or not. -; Notice message logging require a little overheads. -; http://php.net/pgsql.ignore-notice -pgsql.ignore_notice = 0 - -; Log PostgreSQL backends Noitce message or not. -; Unless pgsql.ignore_notice=0, module cannot log notice message. -; http://php.net/pgsql.log-notice -pgsql.log_notice = 0 - -[Sybase-CT] -; Allow or prevent persistent links. -; http://php.net/sybct.allow-persistent -sybct.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/sybct.max-persistent -sybct.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/sybct.max-links -sybct.max_links = -1 - -; Minimum server message severity to display. -; http://php.net/sybct.min-server-severity -sybct.min_server_severity = 10 - -; Minimum client message severity to display. -; http://php.net/sybct.min-client-severity -sybct.min_client_severity = 10 - -; Set per-context timeout -; http://php.net/sybct.timeout -;sybct.timeout= - -;sybct.packet_size - -; The maximum time in seconds to wait for a connection attempt to succeed before returning failure. -; Default: one minute -;sybct.login_timeout= - -; The name of the host you claim to be connecting from, for display by sp_who. -; Default: none -;sybct.hostname= - -; Allows you to define how often deadlocks are to be retried. -1 means "forever". -; Default: 0 -;sybct.deadlock_retry_count= - -[bcmath] -; Number of decimal digits for all bcmath functions. -; http://php.net/bcmath.scale -bcmath.scale = 0 - -[browscap] -; http://php.net/browscap -;browscap = extra/browscap.ini - -[Session] -; Handler used to store/retrieve data. -; http://php.net/session.save-handler -session.save_handler = files - -; Argument passed to save_handler. In the case of files, this is the path -; where data files are stored. Note: Windows users have to change this -; variable in order to use PHP's session functions. -; -; The path can be defined as: -; -; session.save_path = "N;/path" -; -; where N is an integer. Instead of storing all the session files in -; /path, what this will do is use subdirectories N-levels deep, and -; store the session data in those directories. This is useful if you -; or your OS have problems with lots of files in one directory, and is -; a more efficient layout for servers that handle lots of sessions. -; -; NOTE 1: PHP will not create this directory structure automatically. -; You can use the script in the ext/session dir for that purpose. -; NOTE 2: See the section on garbage collection below if you choose to -; use subdirectories for session storage -; -; The file storage module creates files using mode 600 by default. -; You can change that by using -; -; session.save_path = "N;MODE;/path" -; -; where MODE is the octal representation of the mode. Note that this -; does not overwrite the process's umask. -; http://php.net/session.save-path -;session.save_path = "/tmp" - -; Whether to use cookies. -; http://php.net/session.use-cookies -session.use_cookies = 1 - -; http://php.net/session.cookie-secure -;session.cookie_secure = - -; This option forces PHP to fetch and use a cookie for storing and maintaining -; the session id. We encourage this operation as it's very helpful in combatting -; session hijacking when not specifying and managing your own session id. It is -; not the end all be all of session hijacking defense, but it's a good start. -; http://php.net/session.use-only-cookies -session.use_only_cookies = 1 - -; Name of the session (used as cookie name). -; http://php.net/session.name -session.name = PHPSESSID - -; Initialize session on request startup. -; http://php.net/session.auto-start -session.auto_start = 0 - -; Lifetime in seconds of cookie or, if 0, until browser is restarted. -; http://php.net/session.cookie-lifetime -session.cookie_lifetime = 0 - -; The path for which the cookie is valid. -; http://php.net/session.cookie-path -session.cookie_path = / - -; The domain for which the cookie is valid. -; http://php.net/session.cookie-domain -session.cookie_domain = - -; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. -; http://php.net/session.cookie-httponly -session.cookie_httponly = - -; Handler used to serialize data. php is the standard serializer of PHP. -; http://php.net/session.serialize-handler -session.serialize_handler = php - -; Defines the probability that the 'garbage collection' process is started -; on every session initialization. The probability is calculated by using -; gc_probability/gc_divisor. Where session.gc_probability is the numerator -; and gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. -; Default Value: 1 -; Development Value: 1 -; Production Value: 1 -; http://php.net/session.gc-probability -session.gc_probability = 1 - -; Defines the probability that the 'garbage collection' process is started on every -; session initialization. The probability is calculated by using the following equation: -; gc_probability/gc_divisor. Where session.gc_probability is the numerator and -; session.gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. Increasing this value to 1000 will give you -; a 0.1% chance the gc will run on any give request. For high volume production servers, -; this is a more efficient approach. -; Default Value: 100 -; Development Value: 1000 -; Production Value: 1000 -; http://php.net/session.gc-divisor -session.gc_divisor = 1000 - -; After this number of seconds, stored data will be seen as 'garbage' and -; cleaned up by the garbage collection process. -; http://php.net/session.gc-maxlifetime -session.gc_maxlifetime = 1440 - -; NOTE: If you are using the subdirectory option for storing session files -; (see session.save_path above), then garbage collection does *not* -; happen automatically. You will need to do your own garbage -; collection through a shell script, cron entry, or some other method. -; For example, the following script would is the equivalent of -; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): -; cd /path/to/sessions; find -cmin +24 | xargs rm - -; PHP 4.2 and less have an undocumented feature/bug that allows you to -; to initialize a session variable in the global scope, even when register_globals -; is disabled. PHP 4.3 and later will warn you, if this feature is used. -; You can disable the feature and the warning separately. At this time, -; the warning is only displayed, if bug_compat_42 is enabled. This feature -; introduces some serious security problems if not handled correctly. It's -; recommended that you do not use this feature on production servers. But you -; should enable this on development servers and enable the warning as well. If you -; do not enable the feature on development servers, you won't be warned when it's -; used and debugging errors caused by this can be difficult to track down. -; Default Value: On -; Development Value: On -; Production Value: Off -; http://php.net/session.bug-compat-42 -session.bug_compat_42 = Off - -; This setting controls whether or not you are warned by PHP when initializing a -; session value into the global space. session.bug_compat_42 must be enabled before -; these warnings can be issued by PHP. See the directive above for more information. -; Default Value: On -; Development Value: On -; Production Value: Off -; http://php.net/session.bug-compat-warn -session.bug_compat_warn = Off - -; Check HTTP Referer to invalidate externally stored URLs containing ids. -; HTTP_REFERER has to contain this substring for the session to be -; considered as valid. -; http://php.net/session.referer-check -session.referer_check = - -; How many bytes to read from the file. -; http://php.net/session.entropy-length -session.entropy_length = 0 - -; Specified here to create the session id. -; http://php.net/session.entropy-file -;session.entropy_file = /dev/urandom -session.entropy_file = - -; http://php.net/session.entropy-length -;session.entropy_length = 16 - -; Set to {nocache,private,public,} to determine HTTP caching aspects -; or leave this empty to avoid sending anti-caching headers. -; http://php.net/session.cache-limiter -session.cache_limiter = nocache - -; Document expires after n minutes. -; http://php.net/session.cache-expire -session.cache_expire = 180 - -; trans sid support is disabled by default. -; Use of trans sid may risk your users security. -; Use this option with caution. -; - User may send URL contains active session ID -; to other person via. email/irc/etc. -; - URL that contains active session ID may be stored -; in publically accessible computer. -; - User may access your site with the same session ID -; always using URL stored in browser's history or bookmarks. -; http://php.net/session.use-trans-sid -session.use_trans_sid = 0 - -; Select a hash function for use in generating session ids. -; Possible Values -; 0 (MD5 128 bits) -; 1 (SHA-1 160 bits) -; This option may also be set to the name of any hash function supported by -; the hash extension. A list of available hashes is returned by the hash_alogs() -; function. -; http://php.net/session.hash-function -session.hash_function = 0 - -; Define how many bits are stored in each character when converting -; the binary hash data to something readable. -; Possible values: -; 4 (4 bits: 0-9, a-f) -; 5 (5 bits: 0-9, a-v) -; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 -; http://php.net/session.hash-bits-per-character -session.hash_bits_per_character = 5 - -; The URL rewriter will look for URLs in a defined set of HTML tags. -; form/fieldset are special; if you include them here, the rewriter will -; add a hidden field with the info which is otherwise appended -; to URLs. If you want XHTML conformity, remove the form entry. -; Note that all valid entries require a "=", even if no value follows. -; Default Value: "a=href,area=href,frame=src,form=,fieldset=" -; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; http://php.net/url-rewriter.tags -url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" - -[MSSQL] -; Allow or prevent persistent links. -mssql.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -mssql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -mssql.max_links = -1 - -; Minimum error severity to display. -mssql.min_error_severity = 10 - -; Minimum message severity to display. -mssql.min_message_severity = 10 - -; Compatibility mode with old versions of PHP 3.0. -mssql.compatability_mode = Off - -; Connect timeout -;mssql.connect_timeout = 5 - -; Query timeout -;mssql.timeout = 60 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textlimit = 4096 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textsize = 4096 - -; Limits the number of records in each batch. 0 = all records in one batch. -;mssql.batchsize = 0 - -; Specify how datetime and datetim4 columns are returned -; On => Returns data converted to SQL server settings -; Off => Returns values as YYYY-MM-DD hh:mm:ss -;mssql.datetimeconvert = On - -; Use NT authentication when connecting to the server -mssql.secure_connection = Off - -; Specify max number of processes. -1 = library default -; msdlib defaults to 25 -; FreeTDS defaults to 4096 -;mssql.max_procs = -1 - -; Specify client character set. -; If empty or not set the client charset from freetds.comf is used -; This is only used when compiled with FreeTDS -;mssql.charset = "ISO-8859-1" - -[Assertion] -; Assert(expr); active by default. -; http://php.net/assert.active -;assert.active = On - -; Issue a PHP warning for each failed assertion. -; http://php.net/assert.warning -;assert.warning = On - -; Don't bail out by default. -; http://php.net/assert.bail -;assert.bail = Off - -; User-function to be called if an assertion fails. -; http://php.net/assert.callback -;assert.callback = 0 - -; Eval the expression with current error_reporting(). Set to true if you want -; error_reporting(0) around the eval(). -; http://php.net/assert.quiet-eval -;assert.quiet_eval = 0 - -[COM] -; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs -; http://php.net/com.typelib-file -;com.typelib_file = - -; allow Distributed-COM calls -; http://php.net/com.allow-dcom -;com.allow_dcom = true - -; autoregister constants of a components typlib on com_load() -; http://php.net/com.autoregister-typelib -;com.autoregister_typelib = true - -; register constants casesensitive -; http://php.net/com.autoregister-casesensitive -;com.autoregister_casesensitive = false - -; show warnings on duplicate constant registrations -; http://php.net/com.autoregister-verbose -;com.autoregister_verbose = true - -; The default character set code-page to use when passing strings to and from COM objects. -; Default: system ANSI code page -;com.code_page= - -[mbstring] -; language for internal character representation. -; http://php.net/mbstring.language -;mbstring.language = Japanese - -; internal/script encoding. -; Some encoding cannot work as internal encoding. -; (e.g. SJIS, BIG5, ISO-2022-*) -; http://php.net/mbstring.internal-encoding -;mbstring.internal_encoding = EUC-JP - -; http input encoding. -; http://php.net/mbstring.http-input -;mbstring.http_input = auto - -; http output encoding. mb_output_handler must be -; registered as output buffer to function -; http://php.net/mbstring.http-output -;mbstring.http_output = SJIS - -; enable automatic encoding translation according to -; mbstring.internal_encoding setting. Input chars are -; converted to internal encoding by setting this to On. -; Note: Do _not_ use automatic encoding translation for -; portable libs/applications. -; http://php.net/mbstring.encoding-translation -;mbstring.encoding_translation = Off - -; automatic encoding detection order. -; auto means -; http://php.net/mbstring.detect-order -;mbstring.detect_order = auto - -; substitute_character used when character cannot be converted -; one from another -; http://php.net/mbstring.substitute-character -;mbstring.substitute_character = none; - -; overload(replace) single byte functions by mbstring functions. -; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), -; etc. Possible values are 0,1,2,4 or combination of them. -; For example, 7 for overload everything. -; 0: No overload -; 1: Overload mail() function -; 2: Overload str*() functions -; 4: Overload ereg*() functions -; http://php.net/mbstring.func-overload -;mbstring.func_overload = 0 - -; enable strict encoding detection. -;mbstring.strict_detection = Off - -; This directive specifies the regex pattern of content types for which mb_output_handler() -; is activated. -; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) -;mbstring.http_output_conv_mimetype= - -; Allows to set script encoding. Only affects if PHP is compiled with --enable-zend-multibyte -; Default: "" -;mbstring.script_encoding= - -[gd] -; Tell the jpeg decode to ignore warnings and try to create -; a gd image. The warning will then be displayed as notices -; disabled by default -; http://php.net/gd.jpeg-ignore-warning -;gd.jpeg_ignore_warning = 0 - -[exif] -; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. -; With mbstring support this will automatically be converted into the encoding -; given by corresponding encode setting. When empty mbstring.internal_encoding -; is used. For the decode settings you can distinguish between motorola and -; intel byte order. A decode setting cannot be empty. -; http://php.net/exif.encode-unicode -;exif.encode_unicode = ISO-8859-15 - -; http://php.net/exif.decode-unicode-motorola -;exif.decode_unicode_motorola = UCS-2BE - -; http://php.net/exif.decode-unicode-intel -;exif.decode_unicode_intel = UCS-2LE - -; http://php.net/exif.encode-jis -;exif.encode_jis = - -; http://php.net/exif.decode-jis-motorola -;exif.decode_jis_motorola = JIS - -; http://php.net/exif.decode-jis-intel -;exif.decode_jis_intel = JIS - -[Tidy] -; The path to a default tidy configuration file to use when using tidy -; http://php.net/tidy.default-config -;tidy.default_config = /usr/local/lib/php/default.tcfg - -; Should tidy clean and repair output automatically? -; WARNING: Do not use this option if you are generating non-html content -; such as dynamic images -; http://php.net/tidy.clean-output -tidy.clean_output = Off - -[soap] -; Enables or disables WSDL caching feature. -; http://php.net/soap.wsdl-cache-enabled -soap.wsdl_cache_enabled=1 - -; Sets the directory name where SOAP extension will put cache files. -; http://php.net/soap.wsdl-cache-dir -soap.wsdl_cache_dir="/tmp" - -; (time to live) Sets the number of second while cached file will be used -; instead of original one. -; http://php.net/soap.wsdl-cache-ttl -soap.wsdl_cache_ttl=86400 - -; Sets the size of the cache limit. (Max. number of WSDL files to cache) -soap.wsdl_cache_limit = 5 - -[sysvshm] -; A default size of the shared memory segment -;sysvshm.init_mem = 10000 - -[ldap] -; Sets the maximum number of open links or -1 for unlimited. -ldap.max_links = -1 - -[mcrypt] -; For more information about mcrypt settings see http://php.net/mcrypt-module-open - -; Directory where to load mcrypt algorithms -; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) -;mcrypt.algorithms_dir= - -; Directory where to load mcrypt modes -; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) -;mcrypt.modes_dir= - -[dba] -;dba.default_handler= - -; Local Variables: -; tab-width: 4 -; End: - -<% @directives.sort_by { |key, val| key }.each do |directive, value| -%> -<%= "#{directive}=\"#{value}\"" %> -<% end -%> diff --git a/provision/cookbooks/rbenv/.kitchen.yml b/provision/cookbooks/rbenv/.kitchen.yml deleted file mode 100644 index 2612319..0000000 --- a/provision/cookbooks/rbenv/.kitchen.yml +++ /dev/null @@ -1,31 +0,0 @@ ---- -driver: - name: vagrant - -platforms: -- name: ubuntu-12.04 - run_list: - - recipe[apt] -- name: ubuntu-10.04 - run_list: - - recipe[apt] -- name: centos-6.5 - -suites: -- name: system_ruby - run_list: - - recipe[ruby_build] - - recipe[rbenv::system] - attributes: - rbenv: - plugins: - - name: rbenv-vars - git_url: https://github.com/sstephenson/rbenv-vars.git - rubies: - - name: 2.1.1 - environment: - CONFIGURE_OPTS: --disable-install-rdoc - - name: ree-1.8.7-2012.02 - environment: - CONFIGURE_OPTS: --no-tcmalloc --no-dev-docs - global: 2.1.1 diff --git a/provision/cookbooks/rbenv/.rspec b/provision/cookbooks/rbenv/.rspec deleted file mode 100644 index ba74614..0000000 --- a/provision/cookbooks/rbenv/.rspec +++ /dev/null @@ -1,3 +0,0 @@ ---default_path test/unit ---color ---format documentation diff --git a/provision/cookbooks/rbenv/.travis.yml b/provision/cookbooks/rbenv/.travis.yml deleted file mode 100644 index 2a49a53..0000000 --- a/provision/cookbooks/rbenv/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: ruby -rvm: - - 2.1 -bundler_args: --without integration diff --git a/provision/cookbooks/rbenv/Berksfile b/provision/cookbooks/rbenv/Berksfile deleted file mode 100644 index 528a080..0000000 --- a/provision/cookbooks/rbenv/Berksfile +++ /dev/null @@ -1,11 +0,0 @@ -source 'http://api.berkshelf.com' - -metadata - -group :integration do - cookbook 'apt' - cookbook 'yum' - cookbook 'ruby_build' -end - -cookbook 'fixtures', path: 'test/unit/fixtures' diff --git a/provision/cookbooks/rbenv/CHANGELOG.md b/provision/cookbooks/rbenv/CHANGELOG.md deleted file mode 100644 index a98339b..0000000 --- a/provision/cookbooks/rbenv/CHANGELOG.md +++ /dev/null @@ -1,119 +0,0 @@ -## 0.7.1 (unreleased) - - -## 0.7.2 (December 31, 2012) - -### Bug Fixes - -* Pull request [#26](https://github.com/fnichol/chef-rbenv/pull/26): Don't - call libexec commands directly. ([@mhoran][]) - -### Improvements - -* Add integration tests for a system Ruby version. ([@fnichol][]) - - -## 0.7.0 (November 21, 2012) - -### Bug Fixes - -* Issue [#14](https://github.com/fnichol/chef-rbenv/pull/14): Create - /etc/profile.d on system-wide and add note for Mac. ([@fnichol][]) - -### New features - -* Pull request [#20](https://github.com/fnichol/chef-rbenv/pull/20): Set an - attribute to create profile.d for user install. ([@jtimberman][]) - -### Improvements - -* Pull request [#12](https://github.com/fnichol/chef-rbenv/pull/12): Add name - attribute to metadata. ([@jtimberman][]) -* Update foodcritic configuration and update .travis.yml. ([@fnichol][]) -* Update Installation section of README (welcome Berkshelf). ([@fnichol][]) - - -## 0.6.10 (May 18, 2012) - -### New features - -* Pull request [#11](https://github.com/fnichol/chef-rbenv/pull/11): Add - FreeBSD support. ([@jssjr][]) - -### Improvements - -* Add other platform supports in metadata.rb and README. ([@fnichol][]) - - -## 0.6.8 (May 6, 2012) - -### Improvements - -* Add official hook resource log[rbenv-post-init-\*] for inter-cookbook - integration. ([@fnichol][]) - - -## 0.6.6 (May 4, 2012) - -### Bug Fixes - -* Fix FC022: Resource condition within loop may not behave as expected. - ([@fnichol][]) -* Add plaform equivalents in default attrs (FC024). ([@fnichol][]) -* Ensure update-java-alternatives is called before JRuby is built. - ([@fnichol][]) -* Pull request [#8](https://github.com/fnichol/chef-rbenv/pull/8): Add - /etc/profile.d/rbenv.sh support for user installs. ([@thoughtless][]) - -### Improvements - -* Add TravisCI to run Foodcritic linter. ([@fnichol][]) -* Pull request [#10](https://github.com/fnichol/chef-rbenv/pull/10): README - proofreading. ([@jdsiegel][]) -* README updates. ([@fnichol][]) -* Confirm debian platform support. ([@fnichol][]) - - -## 0.6.4 (February 23, 2012) - -### Bug Fixes - -* Set `root_path` on rbenv\_rehash in rbenv\_gem provider. ([@fnichol][]) - -### Improvements - -* Foodcritic lint-driven code updates. ([@fnichol][]) -* Update Git URL in README. ([@hedgehog][]) - - -## 0.6.2 (February 22, 2012) - -### Bug Fixes - -* Issues [#1](https://github.com/fnichol/chef-rbenv/issues/1), - [#2](https://github.com/fnichol/chef-rbenv/issues/2): Stub mixins in - RbenvRubygems to avoid libraries load ordering issues. ([@fnichol][]) -* Pull request [#5](https://github.com/fnichol/chef-rbenv/pull/5): Include - user setting in rehash calls. ([@magnetised][]) -* Issue [#4](https://github.com/fnichol/chef-rbenv/issues/4): Fix rbenv/gems - hash parsing. ([@fnichol][]) - -### Improvements - -* Large formatting updates to README. ([@fnichol][]) -* Add gh-pages branch for sectioned README at - https://fnichol.github.com/chef-rbenv - - -## 0.6.0 (December 21, 2011) - -The initial release. - -[@fnichol]: https://github.com/fnichol -[@jdsiegel]: https://github.com/jdsiegel -[@jssjr]: https://github.com/jssjr -[@jtimberman]: https://github.com/jtimberman -[@hedgehog]: https://github.com/hedgehog -[@magnetised]: https://github.com/magnetised -[@mhoran]: https://github.com/mhoran -[@thoughtless]: https://github.com/thoughtless diff --git a/provision/cookbooks/rbenv/Gemfile b/provision/cookbooks/rbenv/Gemfile deleted file mode 100644 index f5768d9..0000000 --- a/provision/cookbooks/rbenv/Gemfile +++ /dev/null @@ -1,16 +0,0 @@ -source "https://rubygems.org" - -gem "berkshelf", "~> 3.0.0.beta7" -gem "chefspec" -gem "emeril" -gem "foodcritic", "~> 3.0" -gem "rake" - -group :development do - gem "guard-rspec" -end - -group :integration do - gem "test-kitchen" - gem "kitchen-vagrant" -end diff --git a/provision/cookbooks/rbenv/Guardfile b/provision/cookbooks/rbenv/Guardfile deleted file mode 100644 index 538316c..0000000 --- a/provision/cookbooks/rbenv/Guardfile +++ /dev/null @@ -1,5 +0,0 @@ -guard :rspec, spec_paths: ["test/unit"] do - watch(%r{^test/unit/.+_spec\.rb$}) - watch(%r{^(libraries|providers|recipes|resources)/(.+)\.rb$}) { |m| "test/unit/#{m[1]}/#{m[2]}_spec.rb" } - watch("test/unit/spec_helper.rb") { "test/unit" } -end diff --git a/provision/cookbooks/rbenv/README.md b/provision/cookbooks/rbenv/README.md deleted file mode 100644 index a4a0ff1..0000000 --- a/provision/cookbooks/rbenv/README.md +++ /dev/null @@ -1,1094 +0,0 @@ -# rbenv Chef Cookbook - -[![Build Status](https://secure.travis-ci.org/fnichol/chef-rbenv.png?branch=master)](http://travis-ci.org/fnichol/chef-rbenv) - -## Description - -Manages [rbenv][rbenv_site] and its installed Rubies. -Several lightweight resources and providers ([LWRPs][lwrp]) are also defined. - -## Usage - -### rbenv Installed System-Wide with Rubies - -Most likely, this is the typical case. Include `recipe[rbenv::system]` in your -run\_list and override the defaults you want changed. See [below](#attributes) -for more details. - -If your platform is the Mac, you may need to modify your -[profile](#mac-system-note). - -### rbenv Installed For A Specific User with Rubies - -If you want a per-user install (like on a Mac/Linux workstation for -development, CI, etc.), include `recipe[rbenv::user]` in your run\_list and -add a user hash to the `user_installs` attribute list. For example: - - node.default['rbenv']['user_installs'] = [ - { 'user' => 'tflowers', - 'rubies' => ['1.9.3-p0', 'jruby-1.6.5'], - 'global' => '1.9.3-p0', - 'gems' => { - '1.9.3-p0' => [ - { 'name' => 'bundler', - 'version' => '1.1.rc.5' - }, - { 'name' => 'rake' } - ], - 'jruby-1.6.5' => [ - { 'name' => 'rest-client' } - ] - } - } - ] - -See [below](#attributes) for more details. - -### rbenv Installed System-Wide and LWRPs Defined - -If you want to manage your own rbenv environment with the provided -LWRPs, then include `recipe[rbenv::system_install]` in your run\_list -to prevent a default rbenv Ruby being installed. See the -[Resources and Providers](#lwrps) section for more details. - -If your platform is the Mac, you may need to modify your -[profile](#mac-system-note). - -### rbenv Installed For A Specific User and LWRPs Defined - -If you want to manage your own rbenv environment for users with the provided -LWRPs, then include `recipe[rbenv::user_install]` in your run\_list and add a -user hash to the `user_installs` attribute list. For example: - - node.default['rbenv']['user_installs'] = [ - { 'user' => 'tflowers' } - ] - -See the [Resources and Providers](#lwrps) section for more details. - -### Ultra-Minimal Access To LWRPs - -Simply include `recipe[rbenv]` in your run\_list and the LWRPs will be -available to use in other cookbooks. See the [Resources and Providers](#lwrps) -section for more details. - -### Other Use Cases - -* If node is running in a Vagrant VM, then including `recipe[rbenv::vagrant]` -in your run\_list can help with resolving the *chef-solo* binary on subsequent - -## Requirements - -### Chef - -Tested on 11.4.4 but newer and older version should work just -fine. File an [issue][issues] if this isn't the case. - -### Platform - -The following platforms have been tested with this cookbook, meaning that -the recipes and LWRPs run on these platforms without error: - -* ubuntu (10.04/12.04) -* debian (6.0) -* freebsd -* redhat -* centos -* fedora -* amazon -* scientific -* suse -* mac\_os\_x -* gentoo - -Please [report][issues] any additional platforms so they can be added. - -### Cookbooks - -There are **no** external cookbook dependencies. However, if you -want to manage Ruby installations or use the `rbenv_ruby` LWRP then you will -need to include the [ruby\_build cookbook][ruby_build_cb]. - -## Installation - -Depending on the situation and use case there are several ways to install -this cookbook. All the methods listed below assume a tagged version release -is the target, but omit the tags to get the head of development. A valid -Chef repository structure like the [Opscode repo][chef_repo] is also assumed. - -### Using Berkshelf - -[Berkshelf][berkshelf] is a cookbook dependency manager and development -workflow assistant. To install Berkshelf: - - cd chef-repo - gem install berkshelf - berks init - -To reference the Git version: - - repo="fnichol/chef-rbenv" - latest_release=$(curl -s https://api.github.com/repos/$repo/git/refs/tags \ - | ruby -rjson -e ' - j = JSON.parse(STDIN.read); - puts j.map { |t| t["ref"].split("/").last }.sort.last - ') - cat >> Berksfile < 'git://github.com/$repo.git', :branch => '$latest_release' - END_OF_BERKSFILE - berks install - -### Using Librarian-Chef - -[Librarian-Chef][librarian] is a bundler for your Chef cookbooks. -To install Librarian-Chef: - - cd chef-repo - gem install librarian - librarian-chef init - -To reference the Git version: - - repo="fnichol/chef-rbenv" - latest_release=$(curl -s https://api.github.com/repos/$repo/git/refs/tags \ - | ruby -rjson -e ' - j = JSON.parse(STDIN.read); - puts j.map { |t| t["ref"].split("/").last }.sort.last - ') - cat >> Cheffile < 'git://github.com/$repo.git', :ref => '$latest_release' - END_OF_CHEFFILE - librarian-chef install - -### From the Community Site - -This cookbook is not currently available on the site due to the flat -namespace for cookbooks. - -## Recipes - -### default - -Installs the rbenv gem and initializes Chef to use the Lightweight Resources -and Providers ([LWRPs][lwrp]). - -Use this recipe explicitly if you only want access to the LWRPs provided. - -### system_install - -Installs the rbenv codebase system-wide (that is, into `/usr/local/rbenv`). This -recipe includes *default*. - -Use this recipe by itself if you want rbenv installed system-wide but want -to handle installing Rubies, invoking LWRPs, etc.. - -### system - -Installs the rbenv codebase system-wide (that is, into `/usr/local/rbenv`) and -installs rubies driven off attribute metadata. This recipe includes *default* -and *system_install*. - -Use this recipe by itself if you want rbenv installed system-wide with rubies -installed. - -### user_install - -Installs the rbenv codebase for a list of users (selected from the -`node['rbenv']['user_installs']` hash). This recipe includes *default*. - -Use this recipe by itself if you want rbenv installed for specific users in -isolation but want each user to handle installing Rubies, invoking LWRPs, etc. - -### user - -Installs the rbenv codebase for a list of users (selected from the -`node['rbenv']['user_installs']` hash) and installs rubies driven off attribte -metadata. This recipe includes *default* and *user_install*. - -Use this recipe by itself if you want rbenv installed for specific users in -isolation with rubies installed. - -### vagrant - -An optional recipe if Chef is installed in a non-rbenv Ruby in a -[Vagrant][vagrant] virtual machine. This recipe installs a `chef-solo` -wrapper script so Chef doesn't need to be re-installed in the global rbenv Ruby. - -## Attributes - -### git_url - -The Git URL which is used to install rbenv. - -The default is `"git://github.com/sstephenson/rbenv.git"`. - -### git_ref - -A specific Git branch/tag/reference to use when installing rbenv. For -example, to pin rbenv to a specific release: - - node.default['ruby_build']['git_ref'] = "v0.2.1" - -The default is `"v0.4.0"`. - -### upgrade - -Determines how to handle installing updates to the rbenv. There are currently -2 valid values: - -* `"none"`, `false`, or `nil`: will not update rbenv and leave it in its - current state. -* `"sync"` or `true`: updates rbenv to the version specified by the - `git_ref` attribute or the head of the master branch by default. - -The default is `"none"`. - -### root_path - -The path prefix to rbenv in a system-wide installation. - -The default is `"/usr/local/rbenv"`. - -### rubies - -A list of additional system-wide rubies to be built and installed using the -[ruby\_build cookbook][ruby_build_cb]. You **must** include `recipe[ruby_build]` -in your run\_list for the `rbenv_ruby` LWRP to work properly. For example: - - node.default['rbenv']['rubies'] = [ "1.9.3-p0", "jruby-1.6.5" ] - -The default is an empty array: `[]`. - -Additional environment variables can be passed to ruby_build via the environment variable. -For example: - - node.default['rbenv']['rubies'] = [ "1.9.3-p0", "jruby-1.6.5", - { - :name => '1.9.3-327', - :environment => { 'CFLAGS' => '-march=native -O2 -pipe' } - } - ] - -### user_rubies - -A list of additional system-wide rubies to be built and installed (using the -[ruby\_build cookbook][ruby_build_cb]) per-user when not explicitly set. -For example: - - node.default['rbenv']['user_rubies'] = [ "1.8.7-p352" ] - -The default is an empty array: `[]`. - -Additional environment variables can be passed to ruby_build via the environment variable. -For example: - - node.default['rbenv']['user_rubies'] = [ "1.8.7-p352", - { - :name => '1.9.3-327', - :environment => { 'CFLAGS' => '-march=native -O2 -pipe' } - } - ] -### gems - -A hash of gems to be installed into arbitrary rbenv-managed rubies system wide. -See the [rbenv_gem](#lwrps-rbgem) resource for more details about the options -for each gem hash and target Ruby environment. For example: - - node.default['rbenv']['gems'] = { - '1.9.3-p0' => [ - { 'name' => 'vagrant' }, - { 'name' => 'bundler' - 'version' => '1.1.rc.5' - } - ], - '1.8.7-p352' => [ - { 'name' => 'nokogiri' } - ] - } - -The default is an empty hash: `{}`. - -### user_gems - -A hash of gems to be installed into arbitrary rbenv-managed rubies for each user -when not explicitly set. See the [rbenv_gem](#lwrps-rbgem) resource for more -details about the options for each gem hash and target Ruby environment. See -the [gems attribute](#attributes-gems) for an example. - -The default is an empty hash: `{}`. - -### plugins - -A list of plugins to be installed system-wide. See the [rbenv_plugin](#lwrps-plugin) -resource for details about the options. - - node.default['rbenv']['plugins'] = [ - { 'name' => 'rbenv-vars', - 'git_url' => 'https://github.com/sstephenson/rbenv-vars.git' }, - { 'name' => 'rbenv-gem-rehash', - 'git_url' => 'https://github.com/sstephenson/rbenv-gem-rehash.git', - 'git_ref' => '4d7b92de4' } - ] - -The default is an empty array: `[]`. - -### user_plugins - -As with user_gems, a list of plugins to be installed for each user when not explicitly set. - -The default is an empty array: `[]`. - -### vagrant/system_chef_solo - -If using the `vagrant` recipe, this sets the path to the package-installed -*chef-solo* binary. - -The default is `"/opt/ruby/bin/chef-solo"`. - -### create_profiled - -The user's shell needs to know about rbenv's location and set up the -PATH environment variable. This is handled in the -[system_install](#recipes-system_install) and -[user_install](#recipes-user_install) recipes by dropping off -`/etc/profile.d/rbenv.sh`. However, this requires root privilege, -which means that a user cannot use a "user install" for only their -user. - -Set this attribute to `false` to skip creation of the -`/etc/profile.d/rbenv.sh` template. For example: - - node.default['rbenv']['create_profiled'] = false - -The default is `true`. - -## Resources and Providers - -### rbenv_global - -This resource sets the global version of Ruby to be used in all shells, as per -the [rbenv global docs][rbenv_3_1]. - -#### Actions - - - - - - - - - - - - - - - - -
ActionDescriptionDefault
create - Sets the global version of Ruby to be used in all shells. See 3.1 - rbenv global(1) for more details. - Yes
- -1. [3.1 rbenv global][rbenv_3_1] - -#### Attributes - - - - - - - - - - - - - - - - - - - - - - - - - - -
AttributeDescriptionDefault Value
rbenv_version - Name attribute: a version of Ruby being managed by rbenv. - Note: the version of Ruby must already be installed--this LWRP - will not install it automatically. - nil
user - A users's isolated rbenv installation on which to apply an action. The - default value of nil denotes a system-wide rbenv - installation is being targeted. Note: if specified, the user - must already exist. - nil
root_path - The path prefix to rbenv installation, for example: - /opt/rbenv. - nil
- -#### Examples - -##### Set A Ruby As Global - - rbenv_global "1.8.7-p352" - -##### Set System Ruby As Global - - rbenv_global "system" - -##### Set A Ruby As Global For A User - - rbenv_global "jruby-1.7.0-dev" do - user "tflowers" - end - -### rbenv_script - -This resource is a wrapper for the `script` resource which wraps the code block -in an rbenv-aware environment. See the Opscode -[script resource][script_resource] page and the [rbenv shell][rbenv_3_3] -documentation for more details. - -#### Actions - - - - - - - - - - - - - - - - - - - - - -
ActionDescriptionDefault
runRun the scriptYes
nothingDo not run this command 
- -Use `action :nothing` to set a command to only run if another resource -notifies it. - -#### Attributes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AttributeDescriptionDefault Value
name - Name attribute: Name of the command to execute. - name
rbenv_version - A version of Ruby being managed by rbenv. - nil
root_path - The path prefix to rbenv installation, for example: - /opt/rbenv. - nil
code - Quoted script of code to execute. - nil
creates - A file this command creates - if the file exists, the command will not - be run. - nil
cwd - Current working director to run the command from. - nil
environment - A has of environment variables to set before running this command. - nil
group - A group or group ID that we should change to before running this - command. - nil
path - An array of paths to use when searching for the command. - nil, uses system path
returns - The return value of the command (may be an array of accepted values) - - this resource raises an exception if the return value(s) do not match. - 0
timeout - How many seconds to let the command run before timing out. - nil
user - A users's isolated rbenv installation on which to apply an action. The - default value of nil denotes a system-wide rbenv - installation is being targeted. Note: if specified, the user - must already exist. - nil
umask - Umask for files created by the command. - nil
- -#### Examples - -##### Run A Rake Task - - rbenv_script "migrate_rails_database" do - rbenv_version "1.8.7-p352" - user "deploy" - group "deploy" - cwd "/srv/webapp/current" - code %{rake RAILS_ENV=production db:migrate} - end - -### rbenv_gem - -This resource is a close analog of the `gem_package` resource/provider which -is rbenv-aware. See the Opscode [package resource][package_resource] and -[gem package options][gem_package_options] pages for more details. - -#### Actions - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ActionDescriptionDefault
install - Install a gem - if version is provided, install that specific version. - Yes
- - Upgrade a gem - if version is provided, upgrade to that specific - version. -  
remove - Remove a gem. -  
purge - Purge a gem. -  
- -#### Attributes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AttributeDescriptionDefault Value
package_name - Name attribute: the name of the gem to install. - nil
rbenv_version - A version of Ruby being managed by rbenv. - "global"
root_path - The path prefix to rbenv installation, for example: - /opt/rbenv. - nil
version - The specific version of the gem to install/upgrade. - nil
options - Add additional options to the underlying gem command. - nil
source - Provide an additional source for gem providers (such as RubyGems). - This can also include a file system path to a .gem file - such as /tmp/json-1.5.1.gem. - nil
user - A users's isolated rbenv installation on which to apply an action. The - default value of nil denotes a system-wide rbenv - installation is being targeted. Note: if specified, the user - must already exist. - nil
- -#### Examples - -##### Install A Gem - - rbenv_gem "thor" do - rbenv_version "1.8.7-p352" - action :install - end - - rbenv_gem "json" do - rbenv_version "1.8.7-p330" - end - - rbenv_gem "nokogiri" do - rbenv_version "jruby-1.5.6" - version "1.5.0.beta.4" - action :install - end - -**Note:** the install action is default, so the second example is a more common -usage. - -##### Install A Gem From A Local File - - rbenv_gem "json" do - rbenv_version "ree-1.8.7-2011.03" - source "/tmp/json-1.5.1.gem" - version "1.5.1" - end - -##### Keep A Gem Up To Date - - rbenv_gem "homesick" do - action :upgrade - end - -**Note:** the global rbenv Ruby will be targeted if no `rbenv_version` attribute -is given. - -##### Remove A Gem - - rbenv_gem "nokogiri" do - rbenv_version "jruby-1.5.6" - version "1.4.4.2" - action :remove - end - -### rbenv_plugin - -Installs rbenv plugins. - -#### Attributes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AttributeDescriptionDefault Value
name - Name attribute: the name of the plugin to install. - nil
root_path - The path prefix to rbenv installation, for example: - /opt/rbenv. - nil
git_url - The git URL of the plugin repository to clone. - nil
git_ref - The git revision (branch name or SHA) of the repository to checkout. - 'master'
user - A users's isolated rbenv installation on which to apply an action. The - default value of nil denotes a system-wide rbenv - installation is being targeted. Note: if specified, the user - must already exist. - nil
- -##### Install a plugin - - rbenv_plugin 'rbenv-vars' do - git_url 'https://github.com/sstephenson/rbenv-vars.git' - user 'deploy' - end - -### rbenv_rehash - -This resource installs shims for all Ruby binaries known to rbenv, as per -the [rbenv rehash docs][rbenv_3_6]. - -#### Actions - - - - - - - - - - - - - - - - - - - - - -
ActionDescriptionDefault
runRun the scriptYes
nothingDo not run this command 
- -Use `action :nothing` to set a command to only run if another resource -notifies it. - -#### Attributes - - - - - - - - - - - - - - - - - - - - - - - - - - -
AttributeDescriptionDefault Value
name - Name attribute: Name of the command to execute. - name
user - A users's isolated rbenv installation on which to apply an action. The - default value of nil denotes a system-wide rbenv - installation is being targeted. Note: if specified, the user - must already exist. - nil
root_path - The path prefix to rbenv installation, for example: - /opt/rbenv. - nil
- -#### Examples - -##### Rehash A System-Wide rbenv - - rbenv_rehash "Doing the rehash dance" - -##### Rehash A User's rbenv - - rbenv_rehash "Rehashing tflowers' rbenv" do - user "tflowers" - end - -### rbenv_ruby - -This resource uses the [ruby-build][ruby_build_site] framework to build and install -Ruby versions from definition files. - -**Note:** this LWRP requires the [ruby\_build cookbook][ruby_build_cb] to be -in the run list to perform the builds. - -#### Actions - - - - - - - - - - - - - - - - - - - - - -
ActionDescriptionDefault
install - Build and install a Ruby from a definition file. See the ruby-build - readme(1) for more details. - Yes
reinstall - Force a recompiliation of the Ruby from source. The :install action - will skip a build if the target install directory already exists. -  
- -1. [ruby-build readme][rb_readme] - -#### Attributes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AttributeDescriptionDefault Value
definition - Name attribute: the name of a built-in definition(1) - or the name of the ruby installed by a ruby-build defintion file(2) - nil
definition_file - The path to a ruby-build definition file. - nil
user - A users's isolated rbenv installation on which to apply an action. The - default value of nil denotes a system-wide rbenv - installation is being targeted. Note: if specified, the user - must already exist. - nil
root_path - The path prefix to rbenv installation, for example: - /opt/rbenv. - nil
- -1. [built-in definition][rb_definitions] -2. the recipe checks for the existence of the naming attribute under the root_path, and if not found invokes ruby-build with the definition file as an argument - -#### Examples - -##### Install Ruby From ruby-build - - rbenv_ruby "ree-1.8.7-2011.03" do - action :install - end - - rbenv_ruby "jruby-1.6.5" - -**Note:** the install action is default, so the second example is a more common -usage. - -##### Reinstall Ruby - - rbenv_ruby "ree-1.8.7-2011.03" do - action :reinstall - end - -##### Install a custom ruby - - rbenv_ruby "2.0.0p116" do - definition_file "/usr/local/rbenv/custom/2.0.0p116" - end - -## System-Wide Mac Installation Note - -This cookbook takes advantage of managing profile fragments in an -`/etc/profile.d` directory, common on most Unix-flavored platforms. -Unfortunately, Mac OS X does not support this idiom out of the box, -so you may need to [modify][mac_profile_d] your user profile. - -## Development - -* Source hosted at [GitHub][repo] -* Report issues/Questions/Feature requests on [GitHub Issues][issues] - -Pull requests are very welcome! Make sure your patches are well tested. -Ideally create a topic branch for every separate change you make. - -## License and Author - -Author:: [Fletcher Nichol][fnichol] () [![endorse](http://api.coderwall.com/fnichol/endorsecount.png)](http://coderwall.com/fnichol) - -Copyright 2011, Fletcher Nichol - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - -[berkshelf]: http://berkshelf.com/ -[chef_repo]: https://github.com/opscode/chef-repo -[cheffile]: https://github.com/applicationsonline/librarian/blob/master/lib/librarian/chef/templates/Cheffile -[gem_package_options]: http://docs.opscode.com/resource_gem_package.html#attributes -[kgc]: https://github.com/websterclay/knife-github-cookbooks#readme -[librarian]: https://github.com/applicationsonline/librarian#readme -[lwrp]: http://docs.opscode.com/lwrp_custom.html -[mac_profile_d]: http://hints.macworld.com/article.php?story=20011221192012445 -[package_resource]: http://docs.opscode.com/resource_package.html -[rb_readme]: https://github.com/sstephenson/ruby-build#readme -[rb_definitions]: https://github.com/sstephenson/ruby-build/tree/master/share/ruby-build -[rbenv_site]: https://github.com/sstephenson/rbenv -[rbenv_3_1]: https://github.com/sstephenson/rbenv#section_3.1 -[rbenv_3_3]: https://github.com/sstephenson/rbenv#section_3.3 -[rbenv_3_6]: https://github.com/sstephenson/rbenv#section_3.6 -[ruby_build_cb]: http://community.opscode.com/cookbooks/ruby_build -[ruby_build_site]: https://github.com/sstephenson/ruby-build -[script_resource]: http://docs.opscode.com/resource_script.html - -[fnichol]: https://github.com/fnichol -[repo]: https://github.com/fnichol/chef-rbenv -[issues]: https://github.com/fnichol/chef-rbenv/issues diff --git a/provision/cookbooks/rbenv/Rakefile b/provision/cookbooks/rbenv/Rakefile deleted file mode 100644 index 11a8d0b..0000000 --- a/provision/cookbooks/rbenv/Rakefile +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env rake - -begin - require 'emeril/rake' -rescue LoadError - puts ">>>>> Emeril gem not loaded, omitting tasks" unless ENV['CI'] -end - -require 'rspec/core/rake_task' -RSpec::Core::RakeTask.new(:unit) do |t| - t.pattern = ["test/unit/**/*_spec.rb"] -end - -require 'foodcritic' -FoodCritic::Rake::LintTask.new do |t| - t.options = { :fail_tags => ['any', '~FC017'] } -end - -begin - require 'kitchen/rake_tasks' - Kitchen::RakeTasks.new -rescue LoadError - puts ">>>>> Kitchen gem not loaded, omitting tasks" unless ENV['CI'] -end - -task :default => [:foodcritic, :unit] diff --git a/provision/cookbooks/rbenv/attributes/default.rb b/provision/cookbooks/rbenv/attributes/default.rb deleted file mode 100644 index 81c8a5e..0000000 --- a/provision/cookbooks/rbenv/attributes/default.rb +++ /dev/null @@ -1,67 +0,0 @@ -# -# Cookbook Name:: rbenv -# Attributes:: default -# -# Author:: Fletcher Nichol -# -# Copyright 2011, Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -# git repository containing rbenv -default['rbenv']['git_url'] = "https://github.com/sstephenson/rbenv.git" -default['rbenv']['git_ref'] = "v0.4.0" - -# upgrade action strategy -default['rbenv']['upgrade'] = "none" - -# extra system-wide tunables -default['rbenv']['root_path'] = "/usr/local/rbenv" -default['rbenv']['vagrant']['system_chef_solo'] = "/opt/ruby/bin/chef-solo" - -# a list of user hashes, each an isolated per-user rbenv installation -default['rbenv']['user_installs'] = [] - -# list of additional rubies that will be installed -default['rbenv']['rubies'] = [] -default['rbenv']['user_rubies'] = [] - -# hash of rubies and their list of additional gems to be installed. -default['rbenv']['gems'] = Hash.new -default['rbenv']['user_gems'] = Hash.new - -# list of rbenv plugins to install -default['rbenv']['plugins'] = [] -default['rbenv']['user_plugins'] = [] - -# whether to create profile.d shell script -default['rbenv']['create_profiled'] = true - -case platform -when "redhat","centos","fedora", "amazon", "scientific" - node.set['rbenv']['install_pkgs'] = %w{git grep} - default['rbenv']['user_home_root'] = '/home' -when "debian","ubuntu","suse" - node.set['rbenv']['install_pkgs'] = %w{git-core grep} - default['rbenv']['user_home_root'] = '/home' -when "mac_os_x" - node.set['rbenv']['install_pkgs'] = %w{git} - default['rbenv']['user_home_root'] = '/Users' -when "freebsd" - node.set['rbenv']['install_pkgs'] = %w{git} - default['rbenv']['user_home_root'] = '/usr/home' -when "gentoo" - node.set['rbenv']['install_pkgs'] = %w{git} - default['rbenv']['user_home_root'] = '/home' -end diff --git a/provision/cookbooks/rbenv/libraries/chef_provider_package_rbenvrubygems.rb b/provision/cookbooks/rbenv/libraries/chef_provider_package_rbenvrubygems.rb deleted file mode 100644 index c69f447..0000000 --- a/provision/cookbooks/rbenv/libraries/chef_provider_package_rbenvrubygems.rb +++ /dev/null @@ -1,95 +0,0 @@ -# -# Cookbook Name:: rbenv -# Provider:: Chef::Provider::Package::RbenvRubygems -# -# Author:: Fletcher Nichol -# -# Copyright 2011, Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -class Chef - module Rbenv - module Mixin - module ShellOut - # stub to satisfy RbenvRubygems (library load order not guarenteed) - end - end - - module ScriptHelpers - # stub to satisfy RbenvRubygems (library load order not guarenteed) - end - end - - class Provider - class Package - class RbenvRubygems < Chef::Provider::Package::Rubygems - - class RbenvGemEnvironment < AlternateGemEnvironment - attr_reader :rbenv_version, :rbenv_user - - include Chef::Rbenv::Mixin::ShellOut - - def initialize(gem_binary_location, rbenv_version, rbenv_user = nil) - super(gem_binary_location) - @rbenv_version = rbenv_version - @rbenv_user = rbenv_user - end - end - - attr_reader :rbenv_user - - include Chef::Rbenv::Mixin::ShellOut - include Chef::Rbenv::ScriptHelpers - - def initialize(new_resource, run_context=nil) - super - normalize_version - @new_resource.gem_binary(wrap_shim_cmd("gem")) - @rbenv_user = new_resource.respond_to?("user") ? new_resource.user : nil - @gem_env = RbenvGemEnvironment.new( - gem_binary_path, new_resource.rbenv_version, rbenv_user) - end - - def install_package(name, version) - super - rehash - true - end - - def remove_package(name, version) - super - rehash - true - end - - private - - def normalize_version - if @new_resource.rbenv_version == "global" - @new_resource.rbenv_version(current_global_version) - end - end - - def rehash - rbenv_rehash new_resource do - root_path rbenv_root - user rbenv_user if rbenv_user - action :nothing - end.run_action(:run) - end - end - end - end -end diff --git a/provision/cookbooks/rbenv/libraries/chef_rbenv_mixin.rb b/provision/cookbooks/rbenv/libraries/chef_rbenv_mixin.rb deleted file mode 100644 index eee20ea..0000000 --- a/provision/cookbooks/rbenv/libraries/chef_rbenv_mixin.rb +++ /dev/null @@ -1,49 +0,0 @@ -# -# Cookbook Name:: rbenv -# Library:: Chef::Rbenv::Mixin -# -# Author:: Fletcher Nichol -# -# Copyright 2011, Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -class Chef - module Rbenv - module Mixin - module ShellOut - def shell_out!(*command_args) - options = command_args.last.is_a?(Hash) ? command_args.pop : Hash.new - options[:env] = shell_environment.merge(options[:env] || Hash.new) - - super(*command_args.push(options)) - end - - def shell_environment - if rbenv_user - { 'USER' => rbenv_user, 'HOME' => Etc.getpwnam(rbenv_user).dir } - else - {} - end - end - end - - module ResourceString - def to_s - "#{@resource_name}[#{@rbenv_version || 'global'}::#{@name}] (#{@user || 'system'})" - end - end - end - end -end diff --git a/provision/cookbooks/rbenv/libraries/chef_rbenv_recipe_helpers.rb b/provision/cookbooks/rbenv/libraries/chef_rbenv_recipe_helpers.rb deleted file mode 100644 index f37417b..0000000 --- a/provision/cookbooks/rbenv/libraries/chef_rbenv_recipe_helpers.rb +++ /dev/null @@ -1,103 +0,0 @@ -# -# Cookbook Name:: rbenv -# Library:: Chef::RubyBuild::RecipeHelpers -# -# Author:: Fletcher Nichol -# -# Copyright 2011, Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -class Chef - module Rbenv - module RecipeHelpers - def build_upgrade_strategy(strategy) - if strategy.nil? || strategy == false - "none" - else - strategy - end - end - - def mac_with_no_homebrew - node['platform'] == 'mac_os_x' && - Chef::Platform.find_provider_for_node(node, :package) != - Chef::Provider::Package::Homebrew - end - - def install_rbenv_pkg_prereqs - return if mac_with_no_homebrew - - node['rbenv']['install_pkgs'].each do |pkg| - package "installing rbenv dependency: #{pkg}" do - package_name pkg - end - end - end - - def install_or_upgrade_rbenv(opts = {}) - git_deploy_rbenv opts - initialize_rbenv opts - add_rbenv_to_PATH - end - - private - - def git_deploy_rbenv(opts) - if opts[:upgrade_strategy] == "none" - git_exec_action = :checkout - else - git_exec_action = :sync - end - - git opts[:rbenv_prefix] do - repository opts[:git_url] - reference opts[:git_ref] - user opts[:user] if opts[:user] - group opts[:group] if opts[:group] - - action git_exec_action - end - end - - def initialize_rbenv(opts) - prefix = opts[:rbenv_prefix] - - if opts[:user] - init_env = { 'USER' => opts[:user], 'HOME' => opts[:home_dir] } - else - init_env = Hash.new - end - - bash "Initialize rbenv (#{opts[:user] || 'system'})" do - code %{PATH="#{prefix}/bin:$PATH" rbenv init -} - environment({'RBENV_ROOT' => prefix}.merge(init_env)) - user opts[:user] if opts[:user] - group opts[:group] if opts[:group] - end - - log "rbenv-post-init-#{opts[:user] || 'system'}" - end - - def add_rbenv_to_PATH - ruby_block "Add rbenv to PATH" do - block do - rbenv_root = node['rbenv']['root_path'] - ENV['PATH'] = "#{rbenv_root}/shims:#{rbenv_root}/bin:#{ENV['PATH']}" - end - end - end - end - end -end diff --git a/provision/cookbooks/rbenv/libraries/chef_rbenv_script_helpers.rb b/provision/cookbooks/rbenv/libraries/chef_rbenv_script_helpers.rb deleted file mode 100644 index 5bab8d4..0000000 --- a/provision/cookbooks/rbenv/libraries/chef_rbenv_script_helpers.rb +++ /dev/null @@ -1,65 +0,0 @@ -# -# Cookbook Name:: rbenv -# Library:: Chef::Rbenv::ShellHelpers -# -# Author:: Fletcher Nichol -# -# Copyright 2011, Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -class Chef - module Rbenv - module ScriptHelpers - def rbenv_root - if new_resource.root_path - new_resource.root_path - elsif new_resource.user - ::File.join(user_home, '.rbenv') - else - node['rbenv']['root_path'] - end - end - - def user_home - return nil unless new_resource.user - - Etc.getpwnam(new_resource.user).dir - end - - def which_rbenv - "(#{new_resource.user || 'system'})" - end - - def current_global_version - version_file = ::File.join(rbenv_root, 'version') - - ::File.exists?(version_file) && ::IO.read(version_file).chomp - end - - def wrap_shim_cmd(cmd) - [ %{export RBENV_ROOT="#{rbenv_root}"}, - %{export PATH="$RBENV_ROOT/bin:$RBENV_ROOT/shims:$PATH"}, - %{export RBENV_VERSION="#{new_resource.rbenv_version}"}, - %{$RBENV_ROOT/shims/#{cmd}} - ].join(' && ') - end - - def set_updated - r = yield - new_resource.updated_by_last_action(r.updated_by_last_action?) - end - end - end -end diff --git a/provision/cookbooks/rbenv/libraries/matchers.rb b/provision/cookbooks/rbenv/libraries/matchers.rb deleted file mode 100644 index 591a666..0000000 --- a/provision/cookbooks/rbenv/libraries/matchers.rb +++ /dev/null @@ -1,9 +0,0 @@ -if defined?(ChefSpec) - def install_rbenv_plugin(name) - ChefSpec::Matchers::ResourceMatcher.new(:rbenv_plugin, :install, name) - end - - def run_rbenv_script(name) - ChefSpec::Matchers::ResourceMatcher.new(:rbenv_script, :run, name) - end -end diff --git a/provision/cookbooks/rbenv/metadata.rb b/provision/cookbooks/rbenv/metadata.rb deleted file mode 100644 index a913e1d..0000000 --- a/provision/cookbooks/rbenv/metadata.rb +++ /dev/null @@ -1,22 +0,0 @@ -name "rbenv" -maintainer "Fletcher Nichol" -maintainer_email "fnichol@nichol.ca" -license "Apache 2.0" -description "Manages rbenv and its installed rubies. Several LWRPs are also defined." -long_description "Please refer to README.md (it's long)." -version "0.7.3" - -recommends "ruby_build" # if using the rbenv_ruby LWRP, ruby-build must be installed -recommends "java", "> 1.4.0" # if using jruby, java is required on system - -supports "ubuntu" -supports "debian" -supports "freebsd" -supports "redhat" -supports "centos" -supports "fedora" -supports "amazon" -supports "scientific" -supports "suse" -supports "mac_os_x" -supports "gentoo" diff --git a/provision/cookbooks/rbenv/providers/global.rb b/provision/cookbooks/rbenv/providers/global.rb deleted file mode 100644 index 474b47b..0000000 --- a/provision/cookbooks/rbenv/providers/global.rb +++ /dev/null @@ -1,51 +0,0 @@ -# -# Cookbook Name:: rbenv -# Provider:: global -# -# Author:: Fletcher Nichol -# -# Copyright 2011, 2014 Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -def whyrun_supported? - true -end - -use_inline_resources - -include Chef::Rbenv::ScriptHelpers - -action :create do - if current_global_version_correct? - set_updated { run_script } - else - Chef::Log.debug("#{new_resource} is already set - nothing to do") - end -end - -def run_script - command = %{rbenv global #{new_resource.rbenv_version}} - - rbenv_script "#{command} #{which_rbenv}" do - code command - user new_resource.user if new_resource.user - root_path new_resource.root_path if new_resource.root_path - action :run - end -end - -def current_global_version_correct? - current_global_version != new_resource.rbenv_version -end diff --git a/provision/cookbooks/rbenv/providers/plugin.rb b/provision/cookbooks/rbenv/providers/plugin.rb deleted file mode 100644 index 23ca1f0..0000000 --- a/provision/cookbooks/rbenv/providers/plugin.rb +++ /dev/null @@ -1,53 +0,0 @@ -# -# Cookbook Name:: rbenv -# Provider:: plugin -# -# Author:: Joshua Yotty -# -# Copyright 2014, Joshua Yotty -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -def whyrun_supported? - true -end - -use_inline_resources - -include Chef::Rbenv::ScriptHelpers - -action :install do - set_updated { create_plugins_directory } - set_updated { clone_plugin_repo } -end - -def create_plugins_directory - directory ::File.join(rbenv_root, 'plugins') do - owner new_resource.user || 'root' - mode 00755 - action :create - end -end - -def clone_plugin_repo - plugin_path = ::File.join(rbenv_root, 'plugins', new_resource.name) - - git "Install #{new_resource.name} plugin" do - destination plugin_path - repository new_resource.git_url - reference new_resource.git_ref || 'master' - user new_resource.user if new_resource.user - action :sync - end -end diff --git a/provision/cookbooks/rbenv/providers/rehash.rb b/provision/cookbooks/rbenv/providers/rehash.rb deleted file mode 100644 index 0cafae5..0000000 --- a/provision/cookbooks/rbenv/providers/rehash.rb +++ /dev/null @@ -1,43 +0,0 @@ -# -# Cookbook Name:: rbenv -# Provider:: rehash -# -# Author:: Fletcher Nichol -# -# Copyright 2011, 2014, Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -def whyrun_supported? - true -end - -use_inline_resources - -include Chef::Rbenv::ScriptHelpers - -action :run do - set_updated { run_script } -end - -def run_script - command = %{rbenv rehash} - - rbenv_script "#{command} #{which_rbenv}" do - code command - user new_resource.user if new_resource.user - root_path new_resource.root_path if new_resource.root_path - action :run - end -end diff --git a/provision/cookbooks/rbenv/providers/ruby.rb b/provision/cookbooks/rbenv/providers/ruby.rb deleted file mode 100644 index bdadd89..0000000 --- a/provision/cookbooks/rbenv/providers/ruby.rb +++ /dev/null @@ -1,119 +0,0 @@ -# -# Cookbook Name:: rbenv -# Provider:: ruby -# -# Author:: Fletcher Nichol -# -# Copyright 2011, Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -include Chef::Rbenv::ScriptHelpers - -def load_current_resource - @rubie = new_resource.definition - @definition_file = new_resource.definition_file - @root_path = new_resource.root_path - @user = new_resource.user - @environment = new_resource.environment -end - -action :install do - perform_install -end - -action :reinstall do - perform_install -end - -private - -def perform_install - if ruby_build_missing? - Chef::Log.warn( - "ruby_build cookbook is missing. Please add to the run_list (Action will be skipped).") - elsif ruby_installed? - Chef::Log.debug("#{new_resource} is already installed - nothing to do") - else - install_start = Time.now - - install_ruby_dependencies - - Chef::Log.info("Building #{new_resource}, this could take a while...") - - # bypass block scoping issues - rbenv_user = @user - rubie = @rubie - definition = @definition_file || @rubie - rbenv_prefix = @root_path - rbenv_env = @environment - command = %{rbenv install #{definition}} - - rbenv_script "#{command} #{which_rbenv}" do - code command - user rbenv_user if rbenv_user - root_path rbenv_prefix if rbenv_prefix - environment rbenv_env if rbenv_env - - action :nothing - end.run_action(:run) - - Chef::Log.debug("#{new_resource} build time was " + - "#{(Time.now - install_start)/60.0} minutes") - - new_resource.updated_by_last_action(true) - end -end - -def ruby_installed? - if Array(new_resource.action).include?(:reinstall) - false - else - ::File.directory?(::File.join(rbenv_root, 'versions', @rubie)) - end -end - -def ruby_build_missing? - ! run_context.loaded_recipe?("ruby_build") -end - -def install_ruby_dependencies - definition = ::File.basename(new_resource.definition) - - case definition - when /^\d\.\d\.\d/, /^rbx-/, /^ree-/ - pkgs = node['ruby_build']['install_pkgs_cruby'] - when /^jruby-/ - pkgs = node['ruby_build']['install_pkgs_jruby'] - end - - Array(pkgs).each do |pkg| - package pkg do - action :nothing - end.run_action(:install) - end - - ensure_java_environment if definition =~ /^jruby-/ -end - -def ensure_java_environment - begin - resource_collection.find( - "ruby_block[update-java-alternatives]" - ).run_action(:create) - rescue Chef::Exceptions::ResourceNotFound - # have pity on my soul - Chef::Log.info "The java cookbook does not appear to in the run_list." - end -end diff --git a/provision/cookbooks/rbenv/providers/script.rb b/provision/cookbooks/rbenv/providers/script.rb deleted file mode 100644 index 96a935e..0000000 --- a/provision/cookbooks/rbenv/providers/script.rb +++ /dev/null @@ -1,75 +0,0 @@ -# -# Cookbook Name:: rbenv -# Provider:: script -# -# Author:: Fletcher Nichol -# -# Copyright 2011, 2014, Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -def whyrun_supported? - true -end - -use_inline_resources - -include Chef::Rbenv::ScriptHelpers - -action :run do - set_updated { run_script } -end - -def run_script - script_code = build_script_code - script_environment = build_script_environment - - script new_resource.name do - interpreter "bash" - code script_code - user new_resource.user if new_resource.user - creates new_resource.creates if new_resource.creates - cwd new_resource.cwd if new_resource.cwd - group new_resource.group if new_resource.group - path new_resource.path if new_resource.path - returns new_resource.returns if new_resource.returns - timeout new_resource.timeout if new_resource.timeout - umask new_resource.umask if new_resource.umask - environment(script_environment) - end -end - -def build_script_code - script = [] - script << %{export RBENV_ROOT="#{rbenv_root}"} - script << %{export PATH="${RBENV_ROOT}/bin:$PATH"} - script << %{eval "$(rbenv init -)"} - if new_resource.rbenv_version - script << %{export RBENV_VERSION="#{new_resource.rbenv_version}"} - end - script << new_resource.code - script.join("\n").concat("\n") -end - -def build_script_environment - script_env = { 'RBENV_ROOT' => rbenv_root } - if new_resource.environment - script_env.merge!(new_resource.environment) - end - if new_resource.user - script_env.merge!({ 'USER' => new_resource.user,'HOME' => user_home }) - end - - script_env -end diff --git a/provision/cookbooks/rbenv/recipes/default.rb b/provision/cookbooks/rbenv/recipes/default.rb deleted file mode 100644 index df6a938..0000000 --- a/provision/cookbooks/rbenv/recipes/default.rb +++ /dev/null @@ -1,23 +0,0 @@ -# -# Cookbook Name:: rbenv -# Recipe:: default -# -# Copyright 2011, Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -class Chef::Recipe - # mix in recipe helpers - include Chef::Rbenv::RecipeHelpers -end diff --git a/provision/cookbooks/rbenv/recipes/system.rb b/provision/cookbooks/rbenv/recipes/system.rb deleted file mode 100644 index f290311..0000000 --- a/provision/cookbooks/rbenv/recipes/system.rb +++ /dev/null @@ -1,54 +0,0 @@ -# -# Cookbook Name:: rbenv -# Recipe:: system -# -# Copyright 2010, 2011 Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -include_recipe "rbenv::system_install" - -Array(node['rbenv']['plugins']).each do |plugin| - rbenv_plugin plugin['name'] do - git_url plugin['git_url'] - git_ref plugin['git_ref'] if plugin['git_ref'] - end -end - -Array(node['rbenv']['rubies']).each do |rubie| - if rubie.is_a?(Hash) - rbenv_ruby rubie['name'] do - environment rubie['environment'] if rubie['environment'] - definition_file rubie['definition_file'] if rubie['definition_file'] - end - else - rbenv_ruby rubie - end -end - -if node['rbenv']['global'] - rbenv_global node['rbenv']['global'] -end - -node['rbenv']['gems'].each_pair do |rubie, gems| - Array(gems).each do |gem| - rbenv_gem gem['name'] do - rbenv_version rubie - - %w{version action options source}.each do |attr| - send(attr, gem[attr]) if gem[attr] - end - end - end -end diff --git a/provision/cookbooks/rbenv/recipes/system_install.rb b/provision/cookbooks/rbenv/recipes/system_install.rb deleted file mode 100644 index 4ee04a5..0000000 --- a/provision/cookbooks/rbenv/recipes/system_install.rb +++ /dev/null @@ -1,43 +0,0 @@ -# -# Cookbook Name:: rbenv -# Recipe:: system_install -# -# Copyright 2011, Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -include_recipe 'rbenv' - -upgrade_strategy = build_upgrade_strategy(node['rbenv']['upgrade']) -git_url = node['rbenv']['git_url'] -git_ref = node['rbenv']['git_ref'] -rbenv_prefix = node['rbenv']['root_path'] - -install_rbenv_pkg_prereqs - -directory "/etc/profile.d" do - owner "root" - mode "0755" -end - -template "/etc/profile.d/rbenv.sh" do - source "rbenv.sh.erb" - owner "root" - mode "0755" -end - -install_or_upgrade_rbenv :rbenv_prefix => rbenv_prefix, - :git_url => git_url, - :git_ref => git_ref, - :upgrade_strategy => upgrade_strategy diff --git a/provision/cookbooks/rbenv/recipes/user.rb b/provision/cookbooks/rbenv/recipes/user.rb deleted file mode 100644 index 7e81c40..0000000 --- a/provision/cookbooks/rbenv/recipes/user.rb +++ /dev/null @@ -1,75 +0,0 @@ -# -# Cookbook Name:: rbenv -# Recipe:: user -# -# Copyright 2010, 2011 Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -include_recipe "rbenv::user_install" - -Array(node['rbenv']['user_installs']).each do |rbenv_user| - plugins = rbenv_user['plugins'] || node['rbenv']['user_plugins'] - rubies = rbenv_user['rubies'] || node['rbenv']['user_rubies'] - gem_hash = rbenv_user['gems'] || node['rbenv']['user_gems'] - - plugins.each do |plugin| - rbenv_plugin plugin['name'] do - git_url plugin['git_url'] - git_ref plugin['git_ref'] if plugin['git_ref'] - user rbenv_user['user'] - root_path rbenv_user['root_path'] if rbenv_user['root_path'] - end - end - - rubies.each do |rubie| - if rubie.is_a?(Hash) - rbenv_ruby "#{rubie['name']} (#{rbenv_user['user']})" do - definition rubie['name'] - user rbenv_user['user'] - root_path rbenv_user['root_path'] if rbenv_user['root_path'] - environment rubie['environment'] if rubie['environment'] - end - else - rbenv_ruby "#{rubie} (#{rbenv_user['user']})" do - definition rubie - user rbenv_user['user'] - root_path rbenv_user['root_path'] if rbenv_user['root_path'] - end - end - end - - rbenv_global "#{rbenv_user['global']} (#{rbenv_user['user']})" do - rbenv_version rbenv_user['global'] - user rbenv_user['user'] - root_path rbenv_user['root_path'] if rbenv_user['root_path'] - - only_if { rbenv_user['global'] } - end - - gem_hash.each_pair do |rubie, gems| - Array(gems).each do |gem| - rbenv_gem "#{gem['name']} (#{rbenv_user['user']})" do - package_name gem['name'] - user rbenv_user['user'] - root_path rbenv_user['root_path'] if rbenv_user['root_path'] - rbenv_version rubie - - %w{version action options source}.each do |attr| - send(attr, gem[attr]) if gem[attr] - end - end - end - end -end diff --git a/provision/cookbooks/rbenv/recipes/user_install.rb b/provision/cookbooks/rbenv/recipes/user_install.rb deleted file mode 100644 index 0bdb831..0000000 --- a/provision/cookbooks/rbenv/recipes/user_install.rb +++ /dev/null @@ -1,46 +0,0 @@ -# -# Cookbook Name:: rbenv -# Recipe:: user_install -# -# Copyright 2011, Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -include_recipe 'rbenv' - -install_rbenv_pkg_prereqs - -template "/etc/profile.d/rbenv.sh" do - source "rbenv.sh.erb" - owner "root" - mode "0755" - only_if {node['rbenv']['create_profiled']} -end - -Array(node['rbenv']['user_installs']).each do |rb_user| - upgrade_strategy = build_upgrade_strategy(rb_user['upgrade']) - git_url = rb_user['git_url'] || node['rbenv']['git_url'] - git_ref = rb_user['git_ref'] || node['rbenv']['git_ref'] - home_dir = rb_user['home'] || ::File.join( - node['rbenv']['user_home_root'], rb_user['user']) - rbenv_prefix = rb_user['root_path'] || ::File.join(home_dir, '.rbenv') - - install_or_upgrade_rbenv :rbenv_prefix => rbenv_prefix, - :home_dir => home_dir, - :git_url => git_url, - :git_ref => git_ref, - :upgrade_strategy => upgrade_strategy, - :user => rb_user['user'], - :group => rb_user['group'] -end diff --git a/provision/cookbooks/rbenv/recipes/vagrant.rb b/provision/cookbooks/rbenv/recipes/vagrant.rb deleted file mode 100644 index 7128afa..0000000 --- a/provision/cookbooks/rbenv/recipes/vagrant.rb +++ /dev/null @@ -1,19 +0,0 @@ -# -# Cookbook Name:: rbenv -# Recipe:: vagrant -# -# Copyright 2011, Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - diff --git a/provision/cookbooks/rbenv/resources/gem.rb b/provision/cookbooks/rbenv/resources/gem.rb deleted file mode 100644 index a3c483a..0000000 --- a/provision/cookbooks/rbenv/resources/gem.rb +++ /dev/null @@ -1,40 +0,0 @@ -# -# Cookbook Name:: rbenv -# Resource:: gem -# -# Author:: Fletcher Nichol -# -# Copyright 2011, Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -actions :install, :upgrade, :remove, :purge - -attribute :package_name, :kind_of => String, :name_attribute => true -attribute :rbenv_version, :kind_of => String, :default => "global" -attribute :version, :kind_of => String -attribute :response_file, :kind_of => String -attribute :source, :kind_of => String -attribute :options, :kind_of => [String, Hash] -attribute :gem_binary, :kind_of => String -attribute :user, :kind_of => String -attribute :root_path, :kind_of => String - -include Chef::Rbenv::Mixin::ResourceString - -def initialize(*args) - super - @action = :install - @provider = Chef::Provider::Package::RbenvRubygems -end diff --git a/provision/cookbooks/rbenv/resources/global.rb b/provision/cookbooks/rbenv/resources/global.rb deleted file mode 100644 index 318cd1b..0000000 --- a/provision/cookbooks/rbenv/resources/global.rb +++ /dev/null @@ -1,35 +0,0 @@ -# -# Cookbook Name:: rbenv -# Resource:: global -# -# Author:: Fletcher Nichol -# -# Copyright 2011, Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -actions :create - -attribute :rbenv_version, :kind_of => String, :name_attribute => true -attribute :user, :kind_of => String -attribute :root_path, :kind_of => String - -def initialize(*args) - super - @action = :create -end - -def to_s - "#{super} (#{@user || 'system'})" -end diff --git a/provision/cookbooks/rbenv/resources/plugin.rb b/provision/cookbooks/rbenv/resources/plugin.rb deleted file mode 100644 index 92c8b41..0000000 --- a/provision/cookbooks/rbenv/resources/plugin.rb +++ /dev/null @@ -1,13 +0,0 @@ -actions :install - -default_action :install - -attribute :name, kind_of: String, name_attribute: true -attribute :git_url, kind_of: String -attribute :git_ref, kind_of: String -attribute :user, kind_of: String -attribute :root_path, kind_of: String - -def to_s - "#{super} (#{@user || 'system'})" -end diff --git a/provision/cookbooks/rbenv/resources/rehash.rb b/provision/cookbooks/rbenv/resources/rehash.rb deleted file mode 100644 index b9d64f4..0000000 --- a/provision/cookbooks/rbenv/resources/rehash.rb +++ /dev/null @@ -1,31 +0,0 @@ -# -# Cookbook Name:: rbenv -# Resource:: rehash -# -# Author:: Fletcher Nichol -# -# Copyright 2011, Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -actions :run - -attribute :name, :kind_of => String, :name_attribute => true -attribute :user, :kind_of => String -attribute :root_path, :kind_of => String - -def initialize(*args) - super - @action = :run -end diff --git a/provision/cookbooks/rbenv/resources/ruby.rb b/provision/cookbooks/rbenv/resources/ruby.rb deleted file mode 100644 index a66441b..0000000 --- a/provision/cookbooks/rbenv/resources/ruby.rb +++ /dev/null @@ -1,38 +0,0 @@ -# -# Cookbook Name:: rbenv -# Resource:: ruby -# -# Author:: Fletcher Nichol -# -# Copyright 2011, Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -actions :install, :reinstall - -attribute :definition, :kind_of => String, :name_attribute => true -attribute :definition_file, :kind_of => String -attribute :root_path, :kind_of => String -attribute :user, :kind_of => String -attribute :environment, :kind_of => Hash - -def initialize(*args) - super - @action = :install - @rbenv_version = @definition -end - -def to_s - "#{super} (#{@user || 'system'})" -end diff --git a/provision/cookbooks/rbenv/resources/script.rb b/provision/cookbooks/rbenv/resources/script.rb deleted file mode 100644 index e345ce0..0000000 --- a/provision/cookbooks/rbenv/resources/script.rb +++ /dev/null @@ -1,41 +0,0 @@ -# -# Cookbook Name:: rbenv -# Resource:: script -# -# Author:: Fletcher Nichol -# -# Copyright 2011, Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -actions :run - -attribute :name, :kind_of => String, :name_attribute => true -attribute :rbenv_version, :kind_of => String -attribute :root_path, :kind_of => String -attribute :code, :kind_of => String -attribute :creates, :kind_of => String -attribute :cwd, :kind_of => String -attribute :environment, :kind_of => Hash -attribute :group, :kind_of => String -attribute :path, :kind_of => Array -attribute :returns, :kind_of => Array, :default => [ 0 ] -attribute :timeout, :kind_of => Integer -attribute :user, :kind_of => String -attribute :umask, :kind_of => [String, Integer] - -def initialize(*args) - super - @action = :run -end diff --git a/provision/cookbooks/rbenv/templates/default/rbenv.sh.erb b/provision/cookbooks/rbenv/templates/default/rbenv.sh.erb deleted file mode 100644 index 0d445b3..0000000 --- a/provision/cookbooks/rbenv/templates/default/rbenv.sh.erb +++ /dev/null @@ -1,15 +0,0 @@ -# Generated by Chef for <%= node['fqdn'] %> -# Local modifications will be overridden - -# prefer a user rbenv over a system wide install -if [ -s "${HOME}/.rbenv/bin" ]; then - rbenv_root="${HOME}/.rbenv" -elif [ -s "<%= node['rbenv']['root_path'] %>" ]; then - rbenv_root="<%= node['rbenv']['root_path'] %>" - export RBENV_ROOT="$rbenv_root" -fi - -if [ -n "$rbenv_root" ]; then - export PATH="${rbenv_root}/bin:$PATH" - eval "$(rbenv init -)" -fi diff --git a/provision/cookbooks/rbenv/test/integration/system_ruby/bats/global_ruby.bats b/provision/cookbooks/rbenv/test/integration/system_ruby/bats/global_ruby.bats deleted file mode 100644 index fc42c52..0000000 --- a/provision/cookbooks/rbenv/test/integration/system_ruby/bats/global_ruby.bats +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env bats - -global_ruby="2.1.1" -https_url="https://google.com" - -setup() { - unset GEM_HOME - unset GEM_PATH - unset GEM_CACHE - source /etc/profile.d/rbenv.sh -} - -@test "installs $global_ruby" { - run rbenv versions --bare - [ $status -eq 0 ] - [ $(echo "$output" | grep "^$global_ruby$") = "$global_ruby" ] -} - -@test "sets $global_ruby as the global Ruby" { - run rbenv global - [ $status -eq 0 ] - [ $output = "$global_ruby" ] -} - -@test "global Ruby can use openssl from stdlib" { - expr="puts OpenSSL::PKey::RSA.new(32).to_pem" - export RBENV_VERSION=$global_ruby - run ruby -ropenssl -e "$expr" - [ $status -eq 0 ] -} - -@test "global Ruby can install nokogiri gem" { - export RBENV_VERSION=$global_ruby - run gem install nokogiri --no-document - [ $status -eq 0 ] -} - -@test "global Ruby can use nokogiri with openssl" { - export RBENV_VERSION=$global_ruby - expr="puts Nokogiri::HTML(open('$https_url')).css('input')" - run ruby -ropen-uri -rnokogiri -e "$expr" - [ $status -eq 0 ] -} diff --git a/provision/cookbooks/rbenv/test/integration/system_ruby/bats/installation.bats b/provision/cookbooks/rbenv/test/integration/system_ruby/bats/installation.bats deleted file mode 100644 index 0c1b7e5..0000000 --- a/provision/cookbooks/rbenv/test/integration/system_ruby/bats/installation.bats +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bats - -@test "creates profile.d file" { - [ -f "/etc/profile.d/rbenv.sh" ] -} - -@test "creates rbenv directory" { - [ -d "/usr/local/rbenv" ] -} - -@test "loads environment" { - source /etc/profile.d/rbenv.sh - [ "$(type rbenv | head -1)" = "rbenv is a function" ] -} diff --git a/provision/cookbooks/rbenv/test/integration/system_ruby/bats/plugins.bats b/provision/cookbooks/rbenv/test/integration/system_ruby/bats/plugins.bats deleted file mode 100644 index e2b2ce0..0000000 --- a/provision/cookbooks/rbenv/test/integration/system_ruby/bats/plugins.bats +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bats - -setup() { - source /etc/profile.d/rbenv.sh -} - -@test "installs rbenv vars" { - rbenv vars -} diff --git a/provision/cookbooks/rbenv/test/integration/system_ruby/bats/ruby_envvars.bats b/provision/cookbooks/rbenv/test/integration/system_ruby/bats/ruby_envvars.bats deleted file mode 100644 index 394494c..0000000 --- a/provision/cookbooks/rbenv/test/integration/system_ruby/bats/ruby_envvars.bats +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env bats -# To build ree properly, a configure flag needs to be passed to the install -# command, which makes for a good test case. If ree does not build properly, -# it will fails these tests. For more background, see: -# https://github.com/sstephenson/rbenv/issues/297 - -rubie="ree-1.8.7-2012.02" - -setup() { - unset GEM_HOME - unset GEM_PATH - unset GEM_CACHE - source /etc/profile.d/rbenv.sh -} - -@test "$rubie can use nokogiri with openssl" { - export RBENV_VERSION=$rubie - https_url="https://google.com" - requires="require 'nokogiri';" - script="$requires puts Nokogiri::HTML(open('$https_url')).css('input')" - - run gem install nokogiri -v 1.5.11 --no-document - [ $status -eq 0 ] - - run ruby -rrubygems -ropen-uri -e "$script" - [ "$status" -eq 0 ] -} diff --git a/provision/cookbooks/rbenv/test/unit/fixtures/metadata.rb b/provision/cookbooks/rbenv/test/unit/fixtures/metadata.rb deleted file mode 100644 index b05d67e..0000000 --- a/provision/cookbooks/rbenv/test/unit/fixtures/metadata.rb +++ /dev/null @@ -1,4 +0,0 @@ -name "fixtures" -version "0.99.0" - -depends "rbenv" diff --git a/provision/cookbooks/rbenv/test/unit/fixtures/recipes/rbenv_global_defaults.rb b/provision/cookbooks/rbenv/test/unit/fixtures/recipes/rbenv_global_defaults.rb deleted file mode 100644 index 4363dfb..0000000 --- a/provision/cookbooks/rbenv/test/unit/fixtures/recipes/rbenv_global_defaults.rb +++ /dev/null @@ -1 +0,0 @@ -rbenv_global "1.6.5" diff --git a/provision/cookbooks/rbenv/test/unit/fixtures/recipes/rbenv_global_full.rb b/provision/cookbooks/rbenv/test/unit/fixtures/recipes/rbenv_global_full.rb deleted file mode 100644 index f863bf1..0000000 --- a/provision/cookbooks/rbenv/test/unit/fixtures/recipes/rbenv_global_full.rb +++ /dev/null @@ -1,5 +0,0 @@ -rbenv_global "9.1.2" do - user "claire" - root_path "/mnt/roobies" - action :create -end diff --git a/provision/cookbooks/rbenv/test/unit/fixtures/recipes/rbenv_plugin_defaults.rb b/provision/cookbooks/rbenv/test/unit/fixtures/recipes/rbenv_plugin_defaults.rb deleted file mode 100644 index 4a99537..0000000 --- a/provision/cookbooks/rbenv/test/unit/fixtures/recipes/rbenv_plugin_defaults.rb +++ /dev/null @@ -1,3 +0,0 @@ -rbenv_plugin "rbenv-root-default" do - git_url "foo.git" -end diff --git a/provision/cookbooks/rbenv/test/unit/fixtures/recipes/rbenv_plugin_full.rb b/provision/cookbooks/rbenv/test/unit/fixtures/recipes/rbenv_plugin_full.rb deleted file mode 100644 index 2d5abfa..0000000 --- a/provision/cookbooks/rbenv/test/unit/fixtures/recipes/rbenv_plugin_full.rb +++ /dev/null @@ -1,7 +0,0 @@ -rbenv_plugin "rbenv-coolness" do - git_url "https://example.com/rbenv-coolness.git" - git_ref "feature-branch" - root_path "/tmp/rootness" - user "sam" - action :install -end diff --git a/provision/cookbooks/rbenv/test/unit/fixtures/recipes/rbenv_rehash_defaults.rb b/provision/cookbooks/rbenv/test/unit/fixtures/recipes/rbenv_rehash_defaults.rb deleted file mode 100644 index ba5d86c..0000000 --- a/provision/cookbooks/rbenv/test/unit/fixtures/recipes/rbenv_rehash_defaults.rb +++ /dev/null @@ -1 +0,0 @@ -rbenv_rehash "defaultness" diff --git a/provision/cookbooks/rbenv/test/unit/fixtures/recipes/rbenv_rehash_full.rb b/provision/cookbooks/rbenv/test/unit/fixtures/recipes/rbenv_rehash_full.rb deleted file mode 100644 index 0323d41..0000000 --- a/provision/cookbooks/rbenv/test/unit/fixtures/recipes/rbenv_rehash_full.rb +++ /dev/null @@ -1,4 +0,0 @@ -rbenv_rehash "for-jdoe" do - user "jdoe" - root_path "/rooty" -end diff --git a/provision/cookbooks/rbenv/test/unit/fixtures/recipes/rbenv_script_defaults.rb b/provision/cookbooks/rbenv/test/unit/fixtures/recipes/rbenv_script_defaults.rb deleted file mode 100644 index 108490a..0000000 --- a/provision/cookbooks/rbenv/test/unit/fixtures/recipes/rbenv_script_defaults.rb +++ /dev/null @@ -1,4 +0,0 @@ -rbenv_script "not-much" do - code "rake nadda" -end - diff --git a/provision/cookbooks/rbenv/test/unit/fixtures/recipes/rbenv_script_full.rb b/provision/cookbooks/rbenv/test/unit/fixtures/recipes/rbenv_script_full.rb deleted file mode 100644 index ef57e95..0000000 --- a/provision/cookbooks/rbenv/test/unit/fixtures/recipes/rbenv_script_full.rb +++ /dev/null @@ -1,13 +0,0 @@ -rbenv_script "all-the-things" do - code "rake doit:all" - rbenv_version "thebest" - user "lockwood" - group "inventor" - creates "/opt/success" - cwd "/usr/dir" - path ["/opt/bin"] - returns [0, 255] - timeout 600 - umask 0221 - environment("FRUIT" => "strawberry") -end diff --git a/provision/cookbooks/rbenv/test/unit/providers/global_spec.rb b/provision/cookbooks/rbenv/test/unit/providers/global_spec.rb deleted file mode 100644 index 77b681f..0000000 --- a/provision/cookbooks/rbenv/test/unit/providers/global_spec.rb +++ /dev/null @@ -1,33 +0,0 @@ -require_relative "../spec_helper" - -describe "rbenv_global provider" do - - let(:runner) { ChefSpec::Runner.new(step_into: ["rbenv_global"]) } - let(:node) { runner.node} - - context "with a fully configured resource" do - - let(:chef_run) { runner.converge("fixtures::rbenv_global_full") } - - it "runs an rbenv_script" do - expect(chef_run).to run_rbenv_script("rbenv global 9.1.2 (claire)").with( - code: "rbenv global 9.1.2", - user: "claire", - root_path: "/mnt/roobies" - ) - end - end - - context "with a default configured resource" do - - let(:chef_run) { runner.converge("fixtures::rbenv_global_defaults") } - - it "runs an rbenv_script" do - expect(chef_run).to run_rbenv_script("rbenv global 1.6.5 (system)").with( - code: "rbenv global 1.6.5", - user: nil, - root_path: nil - ) - end - end -end diff --git a/provision/cookbooks/rbenv/test/unit/providers/plugin_spec.rb b/provision/cookbooks/rbenv/test/unit/providers/plugin_spec.rb deleted file mode 100644 index 7aed554..0000000 --- a/provision/cookbooks/rbenv/test/unit/providers/plugin_spec.rb +++ /dev/null @@ -1,50 +0,0 @@ -require_relative "../spec_helper" - -describe "rbenv_plugin provider" do - - let(:runner) { ChefSpec::Runner.new(step_into: ["rbenv_plugin"]) } - let(:node) { runner.node} - - context "with a fully configured resource" do - - let(:chef_run) { runner.converge("fixtures::rbenv_plugin_full") } - - it "creates the parent directory for plugins" do - expect(chef_run).to create_directory("/tmp/rootness/plugins").with( - owner: "sam", - mode: 00755 - ) - end - - it "downloads the plugin with git" do - expect(chef_run).to sync_git("Install rbenv-coolness plugin").with( - destination: "/tmp/rootness/plugins/rbenv-coolness", - repository: "https://example.com/rbenv-coolness.git", - reference: "feature-branch", - user: "sam" - ) - end - end - - context "with a minimally configured resource" do - - let(:chef_run) { runner.converge("fixtures::rbenv_plugin_defaults") } - - before { node.set["rbenv"]["root_path"] = "/ohyeah" } - - it "creates the parent directory for plugins" do - expect(chef_run).to create_directory("/ohyeah/plugins").with( - owner: "root", - mode: 00755 - ) - end - - it "downloads the plugin with git" do - expect(chef_run).to sync_git("Install rbenv-root-default plugin").with( - destination: "/ohyeah/plugins/rbenv-root-default", - repository: "foo.git", - reference: "master" - ) - end - end -end diff --git a/provision/cookbooks/rbenv/test/unit/providers/rehash_spec.rb b/provision/cookbooks/rbenv/test/unit/providers/rehash_spec.rb deleted file mode 100644 index 70b4b1b..0000000 --- a/provision/cookbooks/rbenv/test/unit/providers/rehash_spec.rb +++ /dev/null @@ -1,31 +0,0 @@ -require_relative "../spec_helper" - -describe "rbenv_rehash provider" do - - let(:runner) { ChefSpec::Runner.new(step_into: ["rbenv_rehash"]) } - let(:node) { runner.node} - - context "with a fully configured resource" do - - let(:chef_run) { runner.converge("fixtures::rbenv_rehash_full") } - - it "runs an rbenv_script" do - expect(chef_run).to run_rbenv_script("rbenv rehash (jdoe)").with( - code: "rbenv rehash", - user: "jdoe", - root_path: "/rooty" - ) - end - end - - context "with a defaults configured resource" do - - let(:chef_run) { runner.converge("fixtures::rbenv_rehash_defaults") } - - it "runs an rbenv_script" do - expect(chef_run).to run_rbenv_script("rbenv rehash (system)").with( - code: "rbenv rehash" - ) - end - end -end diff --git a/provision/cookbooks/rbenv/test/unit/providers/script_spec.rb b/provision/cookbooks/rbenv/test/unit/providers/script_spec.rb deleted file mode 100644 index 412c069..0000000 --- a/provision/cookbooks/rbenv/test/unit/providers/script_spec.rb +++ /dev/null @@ -1,80 +0,0 @@ -require_relative "../spec_helper" - -describe "rbenv_script provider" do - - let(:runner) { ChefSpec::Runner.new(step_into: ["rbenv_script"]) } - let(:node) { runner.node} - - context "with a fully configured resource" do - - let(:chef_run) { runner.converge("fixtures::rbenv_script_full") } - - before do - user = double(dir: "/mnt/lockwood") - allow(Etc).to receive(:getpwnam).with("lockwood") { user } - end - - it "runs a script" do - code = <<-CODE.gsub(/^\s+/, '') - export RBENV_ROOT="/mnt/lockwood/.rbenv" - export PATH="${RBENV_ROOT}/bin:$PATH" - eval "$(rbenv init -)" - export RBENV_VERSION="thebest" - rake doit:all - CODE - environment = { - "RBENV_ROOT" => "/mnt/lockwood/.rbenv", - "USER" => "lockwood", - "HOME" => "/mnt/lockwood", - "FRUIT" => "strawberry" - } - - expect(chef_run).to run_script("all-the-things").with( - interpreter: "bash", - code: code, - user: "lockwood", - group: "inventor", - creates: "/opt/success", - cwd: "/usr/dir", - path: ["/opt/bin"], - returns: [0, 255], - timeout: 600, - umask: 0221, - environment: environment - ) - end - end - - context "with a default configured resource" do - - let(:chef_run) { runner.converge("fixtures::rbenv_script_defaults") } - - before do - node.set["rbenv"]["root_path"] = "/zz" - end - - it "runs a script" do - code = <<-CODE.gsub(/^\s+/, '') - export RBENV_ROOT="/zz" - export PATH="${RBENV_ROOT}/bin:$PATH" - eval "$(rbenv init -)" - rake nadda - CODE - environment = { "RBENV_ROOT" => "/zz" } - - expect(chef_run).to run_script("not-much").with( - interpreter: "bash", - code: code, - user: nil, - group: nil, - creates: nil, - cwd: nil, - path: nil, - returns: [0], - timeout: nil, - umask: nil, - environment: environment - ) - end - end -end diff --git a/provision/cookbooks/rbenv/test/unit/resources/gem_spec.rb b/provision/cookbooks/rbenv/test/unit/resources/gem_spec.rb deleted file mode 100644 index d87f77b..0000000 --- a/provision/cookbooks/rbenv/test/unit/resources/gem_spec.rb +++ /dev/null @@ -1,111 +0,0 @@ -require_relative "../spec_helper" -require "chef/provider/package/rubygems" -require_relative "../../../libraries/chef_rbenv_mixin" -require_relative "../../../libraries/chef_provider_package_rbenvrubygems" -load_lw_resource("rbenv", "gem") - -describe Chef::Resource::RbenvGem do - - let(:resource) { described_class.new("creamcorn") } - - it "sets the default attribute to package_name" do - expect(resource.package_name).to eq("creamcorn") - end - - it "attribute rbenv_version defaults to global" do - expect(resource.rbenv_version).to eq("global") - end - - it "attribute rbenv_version takes a String value" do - resource.rbenv_version("nextruby") - expect(resource.rbenv_version).to eq("nextruby") - end - - it "attribute version defaults to nil" do - expect(resource.version).to be_nil - end - - it "attribute version takes a String value" do - resource.version("1.0.99") - expect(resource.version).to eq("1.0.99") - end - - it "attribute response_file defaults to nil" do - expect(resource.response_file).to be_nil - end - - it "attribute response_file takes a String value" do - resource.response_file("/dont/think/so") - expect(resource.response_file).to eq("/dont/think/so") - end - - it "attribute source defaults to nil" do - expect(resource.source).to be_nil - end - - it "attribute source takes a String value" do - resource.source("outthere") - expect(resource.source).to eq("outthere") - end - - it "attribute options defaults to nil" do - expect(resource.options).to be_nil - end - - it "attribute options takes a String value" do - resource.options("--no-document") - expect(resource.options).to eq("--no-document") - end - - it "attribute options takes a Hash value" do - resource.options({ one: "two" }) - expect(resource.options).to eq({ one: "two" }) - end - - it "attribute gem_binary defaults to nil" do - expect(resource.gem_binary).to be_nil - end - - it "attribute gem_binary takes a String value" do - resource.gem_binary("/my/fav/gem") - expect(resource.gem_binary).to eq("/my/fav/gem") - end - - it "attribute user defaults to nil" do - expect(resource.user).to be_nil - end - - it "attribute user takes a String value" do - resource.user("masha") - expect(resource.user).to eq("masha") - end - - it "attribute root_path defaults to nil" do - expect(resource.root_path).to be_nil - end - - it "attribute root_path takes a String value" do - resource.root_path("C:\\crazytown") - expect(resource.root_path).to eq("C:\\crazytown") - end - - it "action defaults to :install" do - expect(resource.action).to eq(:install) - end - - it "actions include :upgrade" do - expect(resource.allowed_actions).to include(:upgrade) - end - - it "actions include :remove" do - expect(resource.allowed_actions).to include(:remove) - end - - it "actions include :purge" do - expect(resource.allowed_actions).to include(:purge) - end - - it "sets the provider to RbenvRubygems" do - expect(resource.provider).to eq(Chef::Provider::Package::RbenvRubygems) - end -end diff --git a/provision/cookbooks/rbenv/test/unit/resources/global_spec.rb b/provision/cookbooks/rbenv/test/unit/resources/global_spec.rb deleted file mode 100644 index aff0ced..0000000 --- a/provision/cookbooks/rbenv/test/unit/resources/global_spec.rb +++ /dev/null @@ -1,42 +0,0 @@ -require_relative "../spec_helper" -load_lw_resource("rbenv", "global") - -describe Chef::Resource::RbenvGlobal do - - let(:resource) { described_class.new("antruby") } - - it "sets the default attribute to rbenv_version" do - expect(resource.rbenv_version).to eq("antruby") - end - - it "attribute user defaults to nil" do - expect(resource.user).to be_nil - end - - it "attribute user takes a String value" do - resource.user("casper") - expect(resource.user).to eq("casper") - end - - it "attribute root_path defaults to nil" do - expect(resource.root_path).to be_nil - end - - it "attribute root_path takes a String value" do - resource.root_path("C:\\wintowne") - expect(resource.root_path).to eq("C:\\wintowne") - end - - it "action defaults to :create" do - expect(resource.action).to eq(:create) - end - - it "#to_s includes user if provided" do - resource.user("molly") - expect(resource.to_s).to eq("rbenv_global[antruby] (molly)") - end - - it "#to_s includes system label if user is not provided" do - expect(resource.to_s).to eq("rbenv_global[antruby] (system)") - end -end diff --git a/provision/cookbooks/rbenv/test/unit/resources/plugin_spec.rb b/provision/cookbooks/rbenv/test/unit/resources/plugin_spec.rb deleted file mode 100644 index 9c991c7..0000000 --- a/provision/cookbooks/rbenv/test/unit/resources/plugin_spec.rb +++ /dev/null @@ -1,60 +0,0 @@ -require_relative "../spec_helper" -load_lw_resource("rbenv", "plugin") - -describe Chef::Resource::RbenvPlugin do - - let(:resource) { described_class.new("rbenv-goodies") } - - it "sets the default attribute to name" do - expect(resource.name).to eq("rbenv-goodies") - end - - it "attribute git_url defaults to nil" do - expect(resource.git_url).to be_nil - end - - it "attribute git_url takes a String value" do - resource.git_url("https://example.com/rbenv-goodies.git") - expect(resource.git_url).to eq("https://example.com/rbenv-goodies.git") - end - - it "attribute git_ref defaults to nil" do - expect(resource.git_ref).to be_nil - end - - it "attribute git_ref takes a String value" do - resource.git_ref("abc123") - expect(resource.git_ref).to eq("abc123") - end - - it "attribute user defaults to nil" do - expect(resource.user).to be_nil - end - - it "attribute user takes a String value" do - resource.user("abed") - expect(resource.user).to eq("abed") - end - - it "attribute root_path defaults to nil" do - expect(resource.root_path).to be_nil - end - - it "attribute root_path takes a String value" do - resource.root_path("/tmp/root") - expect(resource.root_path).to eq("/tmp/root") - end - - it "action defaults to :install" do - expect(resource.action).to eq(:install) - end - - it "#to_s includes user if provided" do - resource.user("molly") - expect(resource.to_s).to eq("rbenv_plugin[rbenv-goodies] (molly)") - end - - it "#to_s includes system label if user is not provided" do - expect(resource.to_s).to eq("rbenv_plugin[rbenv-goodies] (system)") - end -end diff --git a/provision/cookbooks/rbenv/test/unit/resources/rehash_spec.rb b/provision/cookbooks/rbenv/test/unit/resources/rehash_spec.rb deleted file mode 100644 index d7c9928..0000000 --- a/provision/cookbooks/rbenv/test/unit/resources/rehash_spec.rb +++ /dev/null @@ -1,33 +0,0 @@ -require_relative "../spec_helper" -load_lw_resource("rbenv", "rehash") - -describe Chef::Resource::RbenvRehash do - - let(:resource) { described_class.new("yabba") } - - it "sets the default attribute to name" do - expect(resource.name).to eq("yabba") - end - - it "attribute user defaults to nil" do - expect(resource.user).to be_nil - end - - it "attribute user takes a String value" do - resource.name("jerry") - expect(resource.name).to eq("jerry") - end - - it "attribute root_path defaults to nil" do - expect(resource.root_path).to be_nil - end - - it "attribute root_path takes a String value" do - resource.root_path("/nowhere/there") - expect(resource.root_path).to eq("/nowhere/there") - end - - it "action defaults to :run" do - expect(resource.action).to eq(:run) - end -end diff --git a/provision/cookbooks/rbenv/test/unit/resources/ruby_spec.rb b/provision/cookbooks/rbenv/test/unit/resources/ruby_spec.rb deleted file mode 100644 index 3960aff..0000000 --- a/provision/cookbooks/rbenv/test/unit/resources/ruby_spec.rb +++ /dev/null @@ -1,55 +0,0 @@ -require_relative "../spec_helper" -load_lw_resource("rbenv", "ruby") - -describe Chef::Resource::RbenvRuby do - - let(:resource) { described_class.new("antruby") } - - it "sets the default attribute to definition" do - expect(resource.definition).to eq("antruby") - end - - it "attribute definition_file defaults to nil" do - expect(resource.definition_file).to be_nil - end - - it "attribute definition_file takes a String value" do - resource.definition_file("/blah/blah/rubay") - expect(resource.definition_file).to eq("/blah/blah/rubay") - end - - it "attribute root_path defaults to nil" do - expect(resource.root_path).to be_nil - end - - it "attribute root_path takes a String value" do - resource.root_path("/rootness/path") - expect(resource.root_path).to eq("/rootness/path") - end - - it "attribute user defaults to nil" do - expect(resource.user).to be_nil - end - - it "attribute user takes a String value" do - resource.user("curious_george") - expect(resource.user).to eq("curious_george") - end - - it "action defaults to :install" do - expect(resource.action).to eq(:install) - end - - it "actions include :reinstall" do - expect(resource.allowed_actions).to include(:reinstall) - end - - it "#to_s includes user if provided" do - resource.user("molly") - expect(resource.to_s).to eq("rbenv_ruby[antruby] (molly)") - end - - it "#to_s includes system label if user is not provided" do - expect(resource.to_s).to eq("rbenv_ruby[antruby] (system)") - end -end diff --git a/provision/cookbooks/rbenv/test/unit/resources/script_spec.rb b/provision/cookbooks/rbenv/test/unit/resources/script_spec.rb deleted file mode 100644 index e769445..0000000 --- a/provision/cookbooks/rbenv/test/unit/resources/script_spec.rb +++ /dev/null @@ -1,128 +0,0 @@ -require_relative "../spec_helper" -load_lw_resource("rbenv", "script") - -describe Chef::Resource::RbenvScript do - - let(:resource) { described_class.new("gogo") } - - it "sets the default attribute to name" do - expect(resource.name).to eq("gogo") - end - - it "attribute rbenv_version defaults to nil" do - expect(resource.rbenv_version).to be_nil - end - - it "attribute rbenv_version takes a String value" do - resource.rbenv_version("bunnyruby") - expect(resource.rbenv_version).to eq("bunnyruby") - end - - it "attribute root_path defaults to nil" do - expect(resource.root_path).to be_nil - end - - it "attribute root_path takes a String value" do - resource.root_path("/yep") - expect(resource.root_path).to eq("/yep") - end - - it "attribute code defaults to nil" do - expect(resource.code).to be_nil - end - - it "attribute code takes a String value" do - resource.code("echo hi") - expect(resource.code).to eq("echo hi") - end - - it "attribute creates defaults to nil" do - expect(resource.creates).to be_nil - end - - it "attribute creates takes a String value" do - resource.creates("/tmp/thefile") - expect(resource.creates).to eq("/tmp/thefile") - end - - it "attribute cwd defaults to nil" do - expect(resource.cwd).to be_nil - end - - it "attribute cwd takes a String value" do - resource.cwd("/root") - expect(resource.cwd).to eq("/root") - end - - it "attribute environment defaults to nil" do - expect(resource.environment).to be_nil - end - - it "attribute environment takes a Hash value" do - resource.environment({ "BEANS" => "pinto" }) - expect(resource.environment).to eq({ "BEANS" => "pinto" }) - end - - it "attribute group defaults to nil" do - expect(resource.group).to be_nil - end - - it "attribute group takes a String value" do - resource.group("wheelers") - expect(resource.group).to eq("wheelers") - end - - it "attribute path defaults to nil" do - expect(resource.path).to be_nil - end - - it "attribute path takes an Array value" do - resource.path(["/tmp/pathpath"]) - expect(resource.path).to eq(["/tmp/pathpath"]) - end - - it "attribute returns defaults to 0" do - expect(resource.returns).to eq([0]) - end - - it "attribute returns takes an Array value" do - resource.returns([0, 127, 255]) - expect(resource.returns).to eq([0, 127, 255]) - end - - it "attribute timeout defaults to nil" do - expect(resource.timeout).to be_nil - end - - it "attribute timeout takes an Integer value" do - resource.timeout(123) - expect(resource.timeout).to eq(123) - end - - it "attribute user defaults to nil" do - expect(resource.user).to be_nil - end - - it "attribute user takes a String value" do - resource.user("eric") - expect(resource.user).to eq("eric") - end - - it "attribute umask defaults to nil" do - expect(resource.umask).to be_nil - end - - it "attribute umask takes a String value" do - resource.umask("0777") - expect(resource.umask).to eq("0777") - end - - it "attribute umask takes an Integer value" do - resource.umask(0640) - expect(resource.umask).to eq(0640) - end - - it "action defaults to :run" do - expect(resource.action).to eq(:run) - end -end diff --git a/provision/cookbooks/rbenv/test/unit/spec_helper.rb b/provision/cookbooks/rbenv/test/unit/spec_helper.rb deleted file mode 100644 index 92a79cd..0000000 --- a/provision/cookbooks/rbenv/test/unit/spec_helper.rb +++ /dev/null @@ -1,31 +0,0 @@ -require "chefspec" -require "chefspec/berkshelf" - -def load_lw_resource(cb, lwrp) - require "chef/resource/lwrp_base" - unless Chef::Resource.const_defined?(class_name_for_lwrp(cb, lwrp)) - Chef::Resource::LWRPBase.build_from_file( - cb, - File.join(File.dirname(__FILE__), %W{.. .. resources #{lwrp}.rb}), - nil - ) - end -end - -def load_lw_provider(cb, lwrp) - require "chef/provider/lwrp_base" - unless Chef::Provider.const_defined?(class_name_for_lwrp(cb, lwrp)) - Chef::Provider::LWRPBase.build_from_file( - cb, - File.join(File.dirname(__FILE__), %W{.. .. providers #{lwrp}.rb}), - nil - ) - end -end - -def class_name_for_lwrp(cb, lwrp) - require "chef/mixin/convert_to_class_name" - Chef::Mixin::ConvertToClassName.convert_to_class_name( - Chef::Mixin::ConvertToClassName.filename_to_qualified_string(cb, lwrp) - ) -end diff --git a/provision/cookbooks/ruby_build/.kitchen.yml b/provision/cookbooks/ruby_build/.kitchen.yml deleted file mode 100644 index 77ad739..0000000 --- a/provision/cookbooks/ruby_build/.kitchen.yml +++ /dev/null @@ -1,31 +0,0 @@ ---- -driver_plugin: vagrant -driver_config: - require_chef_omnibus: true - -platforms: -- name: ubuntu-12.04 - driver_config: - box: opscode-ubuntu-12.04 - box_url: https://opscode-vm.s3.amazonaws.com/vagrant/opscode_ubuntu-12.04_provisionerless.box - run_list: - - recipe[apt] -- name: ubuntu-10.04 - driver_config: - box: opscode-ubuntu-10.04 - box_url: https://opscode-vm.s3.amazonaws.com/vagrant/opscode_ubuntu-10.04_provisionerless.box - run_list: - - recipe[apt] -- name: centos-6.4 - driver_config: - box: opscode-centos-6.4 - box_url: https://opscode-vm.s3.amazonaws.com/vagrant/opscode_centos-6.4_provisionerless.box - -suites: -- name: alltherubies - run_list: - - recipe[ruby_build] - - recipe[alltherubies] -- name: installation - run_list: - - recipe[ruby_build] diff --git a/provision/cookbooks/ruby_build/.travis.yml b/provision/cookbooks/ruby_build/.travis.yml deleted file mode 100644 index e3176f6..0000000 --- a/provision/cookbooks/ruby_build/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: ruby -rvm: - - 1.9.3 -bundler_args: --without integration development diff --git a/provision/cookbooks/ruby_build/Berksfile b/provision/cookbooks/ruby_build/Berksfile deleted file mode 100644 index 7546b58..0000000 --- a/provision/cookbooks/ruby_build/Berksfile +++ /dev/null @@ -1,10 +0,0 @@ -site :opscode - -metadata - -group :integration do - cookbook 'alltherubies', :path => './test/cookbooks/alltherubies' - cookbook 'apt' - cookbook 'user' - cookbook 'java' -end diff --git a/provision/cookbooks/ruby_build/CHANGELOG.md b/provision/cookbooks/ruby_build/CHANGELOG.md deleted file mode 100644 index 6985de9..0000000 --- a/provision/cookbooks/ruby_build/CHANGELOG.md +++ /dev/null @@ -1,72 +0,0 @@ -## 0.8.0 / 2013-05-22 - -### Bug fixes - -* Pull request [#8][]: Remove libyaml-devel pkg dependency for Red Hat family - platforms. ([@fnichol][]) - -### Improvements - -* Pull request [#9][]: Use the HTTPS clone URL. ([@adammck][]) -* Pull request [#10][]: Use old-form notifies to support AWS OpsWorks. - ([@tsabat][]) -* Issue [#7][]: Install Git package(s) only if Git is not previously installed. - ([@fnichol][], [@ChrisLundquist][]) -* Convert project from Jamie to Test Kitchen. ([@fnichol][]) - - -## 0.7.2 / 2012-12-31 - -### Bug fixes - -* Add missing package dependencies for C Ruby versions on RHEL family. - ([@fnichol][]) - -### Improvements - -* Print Ruby build time to :info logger (formerly :debug). ([@fnichol][]) -* Add integration tests for commonly installed Ruby versions. ([@fnichol][]) - - -## 0.7.0 / 2012-11-21 - -### New features - -* Add environment attr to ruby_build_ruby. This allows for adding custom - compilation flags, as well as newer ruby-build environment variables, such - as RUBY_BUILD_MIRROR_URL. ([@fnichol][]) - -### Improvements - -* Update foodcritic configuration and update .travis.yml. ([@fnichol][]) -* Update Installation section of README (welcome Berkshelf). ([@fnichol][]) - - -## 0.6.2 / 2012-05-03 - -### Bug fixes - -* ruby_build_ruby LWRP now notifies when updated (FC017). ([@fnichol][]) -* Add plaform equivalents in default attrs (FC024). ([@fnichol][]) -* JRuby requires make package on Ubuntu/Debian. ([@fnichol][]) -* Ensure `Chef::Config[:file_cache_path]` exists in solo mode. ([@fnichol][]) - -### Improvements - -* Add TravisCI to run Foodcritic linter. ([@fnichol][]) -* Reorganize README with section links. ([@fnichol][]) - - -## 0.6.0 / 2011-12-10 - -The initial release. - - -[#7]: https://github.com/fnichol/chef-ruby_build/issues/7 -[#8]: https://github.com/fnichol/chef-ruby_build/issues/8 -[#9]: https://github.com/fnichol/chef-ruby_build/issues/9 -[#10]: https://github.com/fnichol/chef-ruby_build/issues/10 -[@ChrisLundquist]: https://github.com/ChrisLundquist -[@adammck]: https://github.com/adammck -[@fnichol]: https://github.com/fnichol -[@tsabat]: https://github.com/tsabat diff --git a/provision/cookbooks/ruby_build/Gemfile b/provision/cookbooks/ruby_build/Gemfile deleted file mode 100644 index de5c230..0000000 --- a/provision/cookbooks/ruby_build/Gemfile +++ /dev/null @@ -1,14 +0,0 @@ -source "https://rubygems.org" - -gem 'rake' -gem 'foodcritic' - -group :development do - gem 'emeril' -end - -group :integration do - gem 'berkshelf' - gem 'test-kitchen', '~> 1.0.0.alpha.6' - gem 'kitchen-vagrant' -end diff --git a/provision/cookbooks/ruby_build/README.md b/provision/cookbooks/ruby_build/README.md deleted file mode 100644 index 034d3e6..0000000 --- a/provision/cookbooks/ruby_build/README.md +++ /dev/null @@ -1,338 +0,0 @@ -# ruby-build Chef Cookbook - -[![Build Status](https://secure.travis-ci.org/fnichol/chef-ruby_build.png?branch=master)](http://travis-ci.org/fnichol/chef-ruby_build) - -## Description - -Manages the [ruby-build][rb_site] framework and its installed Rubies. -A lightweight resources and providers ([LWRP][lwrp]) is also defined. - -## Usage - -Simply include `recipe[ruby_build]` in your run\_list to have ruby-build -installed. You will also have access to the `ruby_build_ruby` resource. See -the [Resources and Providers](#lwrps) section for more details. - -## Requirements - -### Chef - -Tested on 0.10.8 but newer and older version should work just -fine. File an [issue][issues] if this isn't the case. - -### Platform - -The following platforms have been tested with this cookbook, meaning that -the recipes and LWRPs run on these platforms without error: - -* ubuntu (10.04/10.10/11.04/11.10/12.04) -* mac\_os\_x (10.7/10.8) -* debian -* freebsd -* redhat -* centos -* fedora -* amazon -* scientific -* suse - -Please [report][issues] any additional platforms so they can be added. - -### Cookbooks - -There are **no** external cookbook dependencies. However, if you are -installing [JRuby][jruby] then a Java runtime will need to be installed. -The Opscode [java cookbook][java_cb] can be used on supported platforms. - -## Installation - -Depending on the situation and use case there are several ways to install -this cookbook. All the methods listed below assume a tagged version release -is the target, but omit the tags to get the head of development. A valid -Chef repository structure like the [Opscode repo][chef_repo] is also assumed. - -### From the Opscode Community Platform - -To install this cookbook from the Opscode platform, use the *knife* command: - - knife cookbook site install ruby_build - -### Using Berkshelf - -[Berkshelf][berkshelf] is a cookbook dependency manager and development -workflow assistant. To install Berkshelf: - - cd chef-repo - gem install berkshelf - berks init - -To use the Community Site version: - - echo "cookbook 'ruby_build'" >> Berksfile - berks install - -Or to reference the Git version: - - repo="fnichol/chef-ruby_build" - latest_release=$(curl -s https://api.github.com/repos/$repo/git/refs/tags \ - | ruby -rjson -e ' - j = JSON.parse(STDIN.read); - puts j.map { |t| t["ref"].split("/").last }.sort.last - ') - cat >> Berksfile < 'git://github.com/$repo.git', :branch => '$latest_release' - END_OF_BERKSFILE - -### Using Librarian-Chef - -[Librarian-Chef][librarian] is a bundler for your Chef cookbooks. -To install Librarian-Chef: - - cd chef-repo - gem install librarian - librarian-chef init - -To use the Opscode platform version: - - echo "cookbook 'ruby_build'" >> Cheffile - librarian-chef install - -Or to reference the Git version: - - repo="fnichol/chef-ruby_build" - latest_release=$(curl -s https://api.github.com/repos/$repo/git/refs/tags \ - | ruby -rjson -e ' - j = JSON.parse(STDIN.read); - puts j.map { |t| t["ref"].split("/").last }.sort.last - ') - cat >> Cheffile < 'git://github.com/$repo.git', :ref => '$latest_release' - END_OF_CHEFFILE - librarian-chef install - -## Recipes - -### default - -Installs the ruby-build codebase and initializes Chef to use the Lightweight -Resources and Providers ([LWRPs][lwrp]). - -## Attributes - -### git_url - -The Git URL which is used to install ruby-build. - -The default is `"git://github.com/sstephenson/ruby-build.git"`. - -### git_ref - -A specific Git branch/tag/reference to use when installing ruby-build. For -example, to pin ruby-build to a specific release: - - node['ruby_build']['git_ref'] = "v20111030" - -The default is `"master"`. - -### default_ruby_base_path - -The default base path for a system-wide installed Ruby. For example, the -following resource: - - ruby_build_ruby "1.9.3-p0" - -will be installed into -`"#{node['ruby_build']['default_ruby_base_path']}/1.9.3-p0"` unless a -`prefix_path` attribute is explicitly set. - -The default is `"/usr/local/ruby"`. - -### upgrade - -Determines how to handle installing updates to the ruby-build framework. -There are currently 2 valid values: - -* `"none"`, `false`, or `nil`: will not update ruby-build and leave it in its - current state. -* `"sync"` or `true`: updates ruby-build to the version specified by the - `git_ref` attribute or the head of the master branch by default. - -The default is `"none"`. - -## Resources and Providers - -### ruby_build_ruby - -#### Actions - - - - - - - - - - - - - - - - - - - - - -
ActionDescriptionDefault
install - Build and install a Ruby from a definition file. See the ruby-build - readme(1) for more details. - Yes
reinstall - Force a recompiliation of the Ruby from source. The :install action - will skip a build if the target install directory already exists. -  
- -1. [ruby-build readme][rb_readme] - -#### Attributes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AttributeDescriptionDefault Value
definition - Name attribute: the name of a built-in definition(1) - or the path to a ruby-build definition file. - nil
prefix_pathThe path to which the Ruby will be installed.nil
user - A user which will own the installed Ruby. The default value of - nil denotes a system-wide Ruby (root-owned) is being - targeted. Note: if specified, the user must already exist. - nil
group - A group which will own the installed Ruby. The default value of - nil denotes a system-wide Ruby (root-owned) is being - targeted. Note: if specified, the group must already exist. - nil
environment - A Hash of additional environment variables(2), such as - CONFIGURE_OPTS or RUBY_BUILD_MIRROR_URL. - nil
- -1. [built-in definition][rb_definitions] -2. [special environment variables][rb_environment] - -#### Examples - -##### Install Ruby - - # See: https://github.com/sstephenson/ruby-build/issues/186 - ruby_build_ruby "ree-1.8.7-2012.02" do - environment({ 'CONFIGURE_OPTS' => '--no-tcmalloc' }) - end - - ruby_build_ruby "1.9.3-p0" do - prefix_path "/usr/local/ruby/ruby-1.9.3-p0" - environment({ - 'RUBY_BUILD_MIRROR_URL' => 'http://local.example.com' - }) - - action :install - end - - ruby_build_ruby "jruby-1.6.5" - -**Note:** the install action is default, so the second example is more common. - -##### Install A Ruby For A User - - ruby_build_ruby "maglev-1.0.0" do - prefix_path "/home/deploy/.rubies/maglev-1.0.0" - user "deploy" - group "deploy" - end - -##### Reinstall Ruby - - ruby_build_ruby "rbx-1.2.4" do - prefix_path "/opt/rbx-1.2.4" - - action :reinstall - end - -**Note:** the Ruby will be built whether or not the Ruby exists in the -`prefix_path` directory. - -## Development - -* Source hosted at [GitHub][repo] -* Report issues/Questions/Feature requests on [GitHub Issues][issues] - -Pull requests are very welcome! Make sure your patches are well tested. -Ideally create a topic branch for every separate change you make. - -## License and Author - -Author:: [Fletcher Nichol][fnichol] () [![endorse](http://api.coderwall.com/fnichol/endorsecount.png)](http://coderwall.com/fnichol) - -Copyright 2011, Fletcher Nichol - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - -[berkshelf]: http://berkshelf.com/ -[chef_repo]: https://github.com/opscode/chef-repo -[cheffile]: https://github.com/applicationsonline/librarian/blob/master/lib/librarian/chef/templates/Cheffile -[java_cb]: http://community.opscode.com/cookbooks/java -[jruby]: http://jruby.org/ -[kgc]: https://github.com/websterclay/knife-github-cookbooks#readme -[librarian]: https://github.com/applicationsonline/librarian#readme -[lwrp]: http://wiki.opscode.com/display/chef/Lightweight+Resources+and+Providers+%28LWRP%29 -[rb_readme]: https://github.com/sstephenson/ruby-build#readme -[rb_site]: https://github.com/sstephenson/ruby-build -[rb_environment]: https://github.com/sstephenson/ruby-build#special-environment-variables -[rb_definitions]: https://github.com/sstephenson/ruby-build/tree/master/share/ruby-build - -[fnichol]: https://github.com/fnichol -[repo]: https://github.com/fnichol/chef-ruby_build -[issues]: https://github.com/fnichol/chef-ruby_build/issues diff --git a/provision/cookbooks/ruby_build/Rakefile b/provision/cookbooks/ruby_build/Rakefile deleted file mode 100644 index 619e75e..0000000 --- a/provision/cookbooks/ruby_build/Rakefile +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env rake -require 'foodcritic' - -begin - require 'emeril/rake' -rescue LoadError - puts ">>>>> Emeril gem not loaded, omitting tasks" unless ENV['CI'] -end - -FoodCritic::Rake::LintTask.new do |t| - t.options = { :fail_tags => ['any'] } -end - -begin - require 'kitchen/rake_tasks' - Kitchen::RakeTasks.new -rescue LoadError - puts ">>>>> Kitchen gem not loaded, omitting tasks" unless ENV['CI'] -end - -task :default => [:foodcritic] diff --git a/provision/cookbooks/ruby_build/attributes/default.rb b/provision/cookbooks/ruby_build/attributes/default.rb deleted file mode 100644 index 3ac5924..0000000 --- a/provision/cookbooks/ruby_build/attributes/default.rb +++ /dev/null @@ -1,67 +0,0 @@ -# -# Cookbook Name:: ruby_build -# Attributes:: default -# -# Author:: Fletcher Nichol -# -# Copyright 2011, Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -# git repository containing the ruby-build framework -default['ruby_build']['git_url'] = "https://github.com/sstephenson/ruby-build.git" -default['ruby_build']['git_ref'] = "master" - -# default base path for a system-wide installed Ruby -default['ruby_build']['default_ruby_base_path'] = "/usr/local/ruby" - -# ruby-build upgrade action -default['ruby_build']['upgrade'] = "none" - -case platform -when "redhat", "centos", "fedora", "amazon", "scientific" - node.set['ruby_build']['install_pkgs'] = %w{ tar bash curl } - node.set['ruby_build']['install_git_pkgs'] = %w{ git } - node.set['ruby_build']['install_pkgs_cruby'] = - %w{ gcc-c++ patch readline readline-devel zlib zlib-devel - libffi-devel openssl-devel - make bzip2 autoconf automake libtool bison - libxml2 libxml2-devel libxslt libxslt-devel - subversion autoconf } - node.set['ruby_build']['install_pkgs_jruby'] = [] - -when "debian", "ubuntu" - node.set['ruby_build']['install_pkgs'] = %w{ tar bash curl } - node.set['ruby_build']['install_git_pkgs'] = %w{ git-core } - node.set['ruby_build']['install_pkgs_cruby'] = - %w{ build-essential bison openssl libreadline6 libreadline6-dev - zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 - libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev autoconf - libc6-dev ssl-cert subversion } - node.set['ruby_build']['install_pkgs_jruby'] = %w{ make g++ } - -when "suse" - node.set['ruby_build']['install_pkgs'] = %w{ tar bash curl } - node.set['ruby_build']['install_git_pkgs'] = %w{ git-core } - node.set['ruby_build']['install_pkgs_cruby'] = - %w{ gcc-c++ patch zlib zlib-devel libffi-devel - sqlite3-devel libxml2-devel libxslt-devel subversion autoconf } - node.set['ruby_build']['install_pkgs_jruby'] = [] - -when "mac_os_x" - node.set['ruby_build']['install_pkgs'] = [] - node.set['ruby_build']['install_git_pkgs'] = %w{ git-core } - node.set['ruby_build']['install_pkgs_cruby'] = [] - node.set['ruby_build']['install_pkgs_jruby'] = [] -end diff --git a/provision/cookbooks/ruby_build/chefignore b/provision/cookbooks/ruby_build/chefignore deleted file mode 100644 index e375383..0000000 --- a/provision/cookbooks/ruby_build/chefignore +++ /dev/null @@ -1,53 +0,0 @@ -# Put files/directories that should be ignored in this file. -# Lines that start with '# ' are comments. - -## OS -.DS_Store -Icon? -nohup.out - -## EDITORS -\#* -.#* -*~ -*.sw[a-z] -*.bak -REVISION -TAGS* -tmtags -*_flymake.* -*_flymake -*.tmproj -.project -.settings -mkmf.log - -## COMPILED -a.out -*.o -*.pyc -*.so - -## OTHER SCM -*/.bzr/* -*/.hg/* -*/.svn/* - -## Don't send rspecs up in cookbook -.watchr -.rspec -spec/* -spec/fixtures/* -test/* -features/* - -## SCM -.gitignore - -# Berkshelf -Berksfile -Berksfile.lock -cookbooks/* - -# Vagrant -.vagrant diff --git a/provision/cookbooks/ruby_build/libraries/ruby_build_recipe_helpers.rb b/provision/cookbooks/ruby_build/libraries/ruby_build_recipe_helpers.rb deleted file mode 100644 index b309285..0000000 --- a/provision/cookbooks/ruby_build/libraries/ruby_build_recipe_helpers.rb +++ /dev/null @@ -1,40 +0,0 @@ -# -# Cookbook Name:: ruby_build -# Library:: Chef::RubyBuild::RecipeHelpers -# -# Author:: Fletcher Nichol -# -# Copyright 2011, Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -class Chef - module RubyBuild - module RecipeHelpers - def build_upgrade_strategy(strategy) - if strategy.nil? || strategy == false - "none" - else - strategy - end - end - - def mac_with_no_homebrew - node['platform'] == 'mac_os_x' && - Chef::Platform.find_provider_for_node(node, :package) != - Chef::Provider::Package::Homebrew - end - end - end -end diff --git a/provision/cookbooks/ruby_build/metadata.rb b/provision/cookbooks/ruby_build/metadata.rb deleted file mode 100644 index 5ffdf1c..0000000 --- a/provision/cookbooks/ruby_build/metadata.rb +++ /dev/null @@ -1,18 +0,0 @@ -name "ruby_build" -maintainer "Fletcher Nichol" -maintainer_email "fnichol@nichol.ca" -license "Apache 2.0" -description "Manages the ruby-build framework and its installed rubies. A LWRP is also defined." -long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version "0.8.1" - -supports "ubuntu" -supports "debian" -supports "freebsd" -supports "redhat" -supports "centos" -supports "fedora" -supports "amazon" -supports "scientific" -supports "suse" -supports "mac_os_x" diff --git a/provision/cookbooks/ruby_build/providers/ruby.rb b/provision/cookbooks/ruby_build/providers/ruby.rb deleted file mode 100644 index 42ac2f5..0000000 --- a/provision/cookbooks/ruby_build/providers/ruby.rb +++ /dev/null @@ -1,88 +0,0 @@ -# -# Cookbook Name:: ruby_build -# Provider:: ruby -# -# Author:: Fletcher Nichol -# -# Copyright 2011, Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -def load_current_resource - @rubie = new_resource.definition - @prefix_path = new_resource.prefix_path || - "#{node['ruby_build']['default_ruby_base_path']}/#{@rubie}" -end - -action :install do - perform_install -end - -action :reinstall do - perform_install -end - -private - -def perform_install - if ruby_installed? - Chef::Log.debug( - "ruby_build_ruby[#{@rubie}] is already installed, so skipping") - else - install_start = Time.now - - install_ruby_dependencies - - Chef::Log.info( - "Building ruby_build_ruby[#{@rubie}], this could take a while...") - - rubie = @rubie # bypass block scoping issue - prefix_path = @prefix_path # bypass block scoping issue - execute "ruby-build[#{rubie}]" do - command %{/usr/local/bin/ruby-build "#{rubie}" "#{prefix_path}"} - user new_resource.user if new_resource.user - group new_resource.group if new_resource.group - environment new_resource.environment if new_resource.environment - - action :nothing - end.run_action(:run) - - Chef::Log.info("ruby_build_ruby[#{@rubie}] build time was " + - "#{(Time.now - install_start)/60.0} minutes") - new_resource.updated_by_last_action(true) - end -end - -def ruby_installed? - if Array(new_resource.action).include?(:reinstall) - false - else - ::File.exists?("#{@prefix_path}/bin/ruby") - end -end - -def install_ruby_dependencies - case ::File.basename(new_resource.definition) - when /^\d\.\d\.\d-/, /^rbx-/, /^ree-/ - pkgs = node['ruby_build']['install_pkgs_cruby'] - when /^jruby-/ - pkgs = node['ruby_build']['install_pkgs_jruby'] - end - - Array(pkgs).each do |pkg| - package pkg do - action :nothing - end.run_action(:install) - end -end diff --git a/provision/cookbooks/ruby_build/recipes/default.rb b/provision/cookbooks/ruby_build/recipes/default.rb deleted file mode 100644 index 2331ed4..0000000 --- a/provision/cookbooks/ruby_build/recipes/default.rb +++ /dev/null @@ -1,69 +0,0 @@ -# -# Cookbook Name:: ruby_build -# Recipe:: default -# -# Copyright 2011, Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -class Chef::Recipe - # mix in recipe helpers - include Chef::RubyBuild::RecipeHelpers -end - -git_url = node['ruby_build']['git_url'] -git_ref = node['ruby_build']['git_ref'] -upgrade_strategy = build_upgrade_strategy(node['ruby_build']['upgrade']) - -cache_path = Chef::Config['file_cache_path'] -src_path = "#{cache_path}/ruby-build" - -unless mac_with_no_homebrew - Array(node['ruby_build']['install_pkgs']).each do |pkg| - package pkg - end - - Array(node['ruby_build']['install_git_pkgs']).each do |pkg| - package pkg do - not_if "git --version >/dev/null" - end - end -end - -execute "Install ruby-build" do - cwd src_path - command %{./install.sh} - - action :nothing - not_if do - ::File.exists?("/usr/local/bin/ruby-build") && upgrade_strategy == "none" - end -end - -directory ::File.dirname(src_path) do - recursive true -end - -git src_path do #~FC043 exception to support AWS OpsWorks using an older Chef - repository git_url - reference git_ref - - if upgrade_strategy == "none" - action :checkout - else - action :sync - end - - notifies :run, resources(:execute => "Install ruby-build"), :immediately -end diff --git a/provision/cookbooks/ruby_build/resources/ruby.rb b/provision/cookbooks/ruby_build/resources/ruby.rb deleted file mode 100644 index 89339e6..0000000 --- a/provision/cookbooks/ruby_build/resources/ruby.rb +++ /dev/null @@ -1,33 +0,0 @@ -# -# Cookbook Name:: ruby_build -# Resource:: ruby -# -# Author:: Fletcher Nichol -# -# Copyright 2011, Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -actions :install, :reinstall - -attribute :definition, :kind_of => String, :name_attribute => true -attribute :prefix_path, :kind_of => String -attribute :user, :kind_of => String -attribute :group, :kind_of => String -attribute :environment, :kind_of => Hash - -def initialize(*args) - super - @action = :install -end diff --git a/provision/cookbooks/ruby_build/test/cookbooks/alltherubies/metadata.rb b/provision/cookbooks/ruby_build/test/cookbooks/alltherubies/metadata.rb deleted file mode 100644 index b71fd71..0000000 --- a/provision/cookbooks/ruby_build/test/cookbooks/alltherubies/metadata.rb +++ /dev/null @@ -1,10 +0,0 @@ -name "alltherubies" -maintainer "Fletcher Nichol" -maintainer_email "fnichol@nichol.ca" -license "Apache 2.0" -description "Installs all-the-rubies via ruby_build cookbook" -long_description "Everything must be installed" -version "0.1.0" - -depends "java" -depends "user" diff --git a/provision/cookbooks/ruby_build/test/cookbooks/alltherubies/recipes/default.rb b/provision/cookbooks/ruby_build/test/cookbooks/alltherubies/recipes/default.rb deleted file mode 100644 index 4735866..0000000 --- a/provision/cookbooks/ruby_build/test/cookbooks/alltherubies/recipes/default.rb +++ /dev/null @@ -1,59 +0,0 @@ -# -# Cookbook Name:: alltherubies -# Recipe:: default -# -# Copyright 2012, Fletcher Nichol -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -cores = node['cpu']['total'].to_i -system_rubies = %w{ 1.9.2-p320 1.9.3-p362 2.0.0-preview2 - jruby-1.7.1 rbx-2.0.0-rc1 } - -include_recipe "java" - -if %{ubuntu debian}.include?(node['platform']) - package "default-jre-headless" -end - -log "Forcing update of java alternatives" do - notifies :create, "ruby_block[update-java-alternatives]", :immediately -end - -system_rubies.each do |rubie| - ruby_build_ruby rubie do - environment({ 'MAKE_OPTS' => "-j #{cores + 1}" }) - end -end - -# Woah, REE, crazy bananas! For more details see: -# * https://github.com/sstephenson/rbenv/issues/297 -# * https://github.com/sstephenson/ruby-build/issues/186 -ruby_build_ruby "ree-1.8.7-2012.02" do - environment({ - 'MAKE_OPTS' => "-j #{cores + 1}", - 'CONFIGURE_OPTS' => "--no-tcmalloc", - }) -end - -user_account "app" do - home "/home/app" -end - -ruby_build_ruby "1.8.7-p371" do - prefix_path "/home/app/.rubies/ruby-1.8.7-p371" - user "app" - group "app" - environment({ 'MAKE_OPTS' => "-j #{cores + 1}" }) -end diff --git a/provision/cookbooks/ruby_build/test/integration/alltherubies/bats/_verify_tests.bash b/provision/cookbooks/ruby_build/test/integration/alltherubies/bats/_verify_tests.bash deleted file mode 100644 index 452a86d..0000000 --- a/provision/cookbooks/ruby_build/test/integration/alltherubies/bats/_verify_tests.bash +++ /dev/null @@ -1,33 +0,0 @@ -setup() { - export HOME=/root - export PATH="$ruby_root/bin:$PATH" - eval `$ruby_root/bin/ruby - <) -- Copyright:: 2009-2012, Opscode, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/provision/cookbooks/xml/attributes/default.rb b/provision/cookbooks/xml/attributes/default.rb deleted file mode 100755 index 3efa14a..0000000 --- a/provision/cookbooks/xml/attributes/default.rb +++ /dev/null @@ -1,8 +0,0 @@ -case node['platform_family'] -when "rhel", "fedora" - default['xml']['packages'] = %w{ libxml2-devel libxslt-devel } -when "ubuntu","debian" - default['xml']['packages'] = %w{ libxml2-dev libxslt-dev } -when "freebsd", "arch" - default['xml']['packages'] = %w{ libxml2 libxslt } -end diff --git a/provision/cookbooks/xml/metadata.json b/provision/cookbooks/xml/metadata.json deleted file mode 100755 index 9cf86a1..0000000 --- a/provision/cookbooks/xml/metadata.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "xml", - "description": "Installs xml", - "long_description": "Description\n===========\n\nInstalls development package for libxml.\n\nRequirements\n============\n\nDebian, Ubuntu, CentOS, Red Hat, Scientific, Fedora, SUSE, ArchLinux\n\nAttributes\n==========\n\n* `node['xml']['packages']` - Array of package names that should be\n installed\n\nRecipes\n=======\n\n## default\n\nInstalls the development packages for libxml2 and libxslt.\n\n## ruby\n\nInstalls the nokogiri gem into Chef's Ruby environment so it can be\nused in recipes.\n\nLicense and Author\n==================\n\n- Author:: Joshua Timberman ()\n- Copyright:: 2009-2012, Opscode, Inc.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n", - "maintainer": "Opscode, Inc.", - "maintainer_email": "cookbooks@opscode.com", - "license": "Apache 2.0", - "platforms": { - "centos": ">= 0.0.0", - "redhat": ">= 0.0.0", - "scientific": ">= 0.0.0", - "suse": ">= 0.0.0", - "fedora": ">= 0.0.0", - "amazon": ">= 0.0.0", - "ubuntu": ">= 0.0.0", - "debian": ">= 0.0.0", - "freebsd": ">= 0.0.0", - "arch": ">= 0.0.0" - }, - "dependencies": { - "build-essential": ">= 0.0.0" - }, - "recommendations": { - }, - "suggestions": { - }, - "conflicting": { - }, - "providing": { - }, - "replacing": { - }, - "attributes": { - }, - "groupings": { - }, - "recipes": { - "xml": "Installs libxml development packages" - }, - "version": "1.1.2" -} \ No newline at end of file diff --git a/provision/cookbooks/xml/metadata.rb b/provision/cookbooks/xml/metadata.rb deleted file mode 100755 index f80fee0..0000000 --- a/provision/cookbooks/xml/metadata.rb +++ /dev/null @@ -1,14 +0,0 @@ -name "xml" -maintainer "Opscode, Inc." -maintainer_email "cookbooks@opscode.com" -license "Apache 2.0" -description "Installs xml" -long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version "1.1.2" - -recipe "xml", "Installs libxml development packages" - -%w{ centos redhat scientific suse fedora amazon ubuntu debian freebsd arch }.each do |os| - supports os -end -depends "build-essential" diff --git a/provision/cookbooks/xml/recipes/default.rb b/provision/cookbooks/xml/recipes/default.rb deleted file mode 100755 index 8cf8427..0000000 --- a/provision/cookbooks/xml/recipes/default.rb +++ /dev/null @@ -1,24 +0,0 @@ -# -# Cookbook Name:: xml -# Recipe:: default -# -# Copyright 2010-2012, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -node['xml']['packages'].each do |pkg| - package pkg do - action :install - end -end diff --git a/provision/cookbooks/xml/recipes/ruby.rb b/provision/cookbooks/xml/recipes/ruby.rb deleted file mode 100755 index 49a5055..0000000 --- a/provision/cookbooks/xml/recipes/ruby.rb +++ /dev/null @@ -1,35 +0,0 @@ -# -# Cookbook Name:: xml -# Recipe:: ruby -# -# Author:: Joseph Holsten () -# -# Copyright 2008-2012, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -execute 'apt-get update' do - ignore_failure true - action :nothing -end.run_action(:run) if 'debian' == node['platform_family'] - -node.set['build_essential']['compiletime'] = true -include_recipe "build-essential" -include_recipe 'xml::default' - -node['xml']['packages'].each do |xml_pack| - resources("package[#{xml_pack}]").run_action(:install) -end - -chef_gem 'nokogiri' diff --git a/provision/cookbooks/yum/CHANGELOG.md b/provision/cookbooks/yum/CHANGELOG.md deleted file mode 100755 index 0763d67..0000000 --- a/provision/cookbooks/yum/CHANGELOG.md +++ /dev/null @@ -1,112 +0,0 @@ -yum Cookbook CHANGELOG -====================== -This file is used to list changes made in each version of the yum cookbook. - - -v2.3.2 ------- -### Bug -- **[COOK-3145](https://tickets.opscode.com/browse/COOK-3145)** - Use correct download URL for epel `key_url` - -v2.3.0 ------- -### New Feature -- [COOK-2924]: Yum should allow type setting in repo file - -v2.2.4 ------- -### Bug -- [COOK-2360]: last commit to `yum_repository` changes previous behaviour -- [COOK-3015]: Yum cookbook test minitest to fail - -v2.2.2 ------- -### Improvement -- [COOK-2741]: yum::elrepo -- [COOK-2946]: update tests, test kitchen support in yum cookbook - -### Bug -- [COOK-2639]: Yum cookbook - epel - always assumes url is a mirror list -- [COOK-2663]: Yum should allow metadata_expire setting in repo file -- [COOK-2751]: Update yum.ius_release version to 1.0-11 - -v2.2.0 ------- -- [COOK-2189] - yum::ius failed on install (caused from rpm dependency) -- [COOK-2196] - Make includepkgs and exclude configurable for each repos -- [COOK-2244] - Allow configuring caching using attributes -- [COOK-2399] - yum cookbook LWRPs fail FoodCritic -- [COOK-2519] - Add priority option to Yum repo files -- [COOK-2593] - allow integer or string for yum priority -- [COOK-2643] - don't use conditional attribute for `yum_key` `remote_file` - -v2.1.0 ------- -- [COOK-2045] - add remi repository recipe -- [COOK-2121] - add `:create` action to `yum_repository` - -v2.0.6 ------- -- [COOK-2037] - minor style fixes -- [COOK-2038] - updated README - -v2.0.4 ------- -- [COOK-1908] - unable to install repoforge on CentOS 6 32 bit - -v2.0.2 ------- -- [COOK-1758] - Add default action for repository resource - -v2.0.0 ------- -This version changes the behavior of the EPEL recipe (most commonly used in other Opscode cookbooks) on Amazon, and removes an attribute, `node['yum']['epel_release']`. See the README for details. - -- [COOK-1772] - Simplify management of EPEL with LWRP - -v1.0.0 ------- -`mirrorlist` in the `yum_repository` LWRP must be set to the mirror list URI to use rather than setting it to true. See README.md. - -- [COOK-1088] - use dl.fedoraproject.org for EPEL to prevent redirects -- [COOK-1653] - fix mirrorlist -- [COOK-1710] - support http proxy -- [COOK-1722] - update IUS version - -v0.8.2 ------- -- [COOK-1521] - add :update action to `yum_repository` - -v0.8.0 ------- -- [COOK-1204] - Make 'add' default action for yum_repository -- [COOK-1351] - option to not make the yum cache (via attribute) -- [COOK-1353] - x86_64 centos path fixes -- [COOK-1414] - recipe for repoforge - -v0.6.2 ------- -- Updated README to remove git diff artifacts. - -v0.6.0 ------- -- Default action for the yum_repository LWRP is now add. -- [COOK-1227] - clear Chefs internal cache after adding new yum repo -- [COOK-1262] - yum::epel should enable existing repo on Amazon Linux -- [COOK-1272], [COOK-1302] - update RPM file for CentOS / RHEL 6 -- [COOK-1330] - update cookbook documentation on excludes for yum -- [COOK-1346] - retry remote_file for EPEL in case we get an FTP mirror - - -v0.5.2 ------- -- [COOK-825] - epel and ius `remote_file` should notify the `rpm_package` to install - -v0.5.0 ------- -- [COOK-675] - add recipe for handling EPEL repository -- [COOK-722] - add recipe for handling IUS repository - -v.0.1.2 ------- -- Remove yum update in default recipe, that doesn't update caches, it updates packages installed. diff --git a/provision/cookbooks/yum/README.md b/provision/cookbooks/yum/README.md deleted file mode 100755 index 65d6b2a..0000000 --- a/provision/cookbooks/yum/README.md +++ /dev/null @@ -1,222 +0,0 @@ -yum Cookbook -============ -Configures various YUM components on Red Hat-like systems. Includes LWRP for managing repositories and their GPG keys. - -Based on the work done by Eric Wolfe and Charles Duffy on the [yumrepo](https://github.com/atomic-penguin/cookbook-yumrepo) cookbook. - - -Requirements ------------- -Red Hat Enterprise Linux 5, and 6 distributions within this platform family. - - -Attributes ----------- -* `yum['exclude']` - - An array containing a list of packages to exclude from updates or installs. Wildcards and shell globs are supported. - - Defaults to an empty exclude list. - -* `yum['installonlypkgs']` - - An array containing a list of packages which should only be - installed, never updated. - - Defaults to an empty install-only list. - -* `yum['ius_release']` - - Set the IUS release to install. - - Defaults to the current release of the IUS repo. - -* `yum['repoforge_release']` - - Set the RepoForge release to install. - - Defaults to the current release of the repoforge repo. - -EPEL attributes used in the `yum::epel` recipe, see `attributes/epel.rb` for default values: - -* `yum['epel']['key']` - - Name of the GPG key used for the repo. - -* `yum['epel']['baseurl']` - - Base URL to an EPEL mirror. - -* `yum['epel']['url']` - - URL to the EPEL mirrorlist. - -* `yum['epel']['key_url']` - - URL to the GPG key for the repo. - -* `yum['epel']['includepkgs']` - - list of packages you want to use for the repo. - -* `yum['epel']['exclude']` - - list of packages you do NOT want to use for the repo. - -The `node['yum']['epel_release']` attribute is removed, see the __epel__ recipe information below. - -remi attributes used in the `yum::remi` recipe, see `attributes/remi.rb` for default values: - -* `yum['remi']['key']` - - Name of the GPG key used for the repo. - -* `yum['remi']['url']` - - URL to the remi mirrorlist. - -* `yum['remi']['key_url']` - - URL to the GPG key for the repo. - -* `yum['remi']['includepkgs']` - - list of packages you want to use for the repo. - -* `yum['remi']['exclude']` - - list of packages you do NOT want to use for the repo. - -Proxy settings used in yum.conf on RHEL family 5 and 6: - -* `yum['proxy']` - - Set the URL for an HTTP proxy - - None of the proxy settings are used if this is an empty string - (default) - -* `yum['proxy_username']` - - Set the username for the proxy - - not used if `yum['proxy']` above is an empty string - -* `yum['proxy_password']` - - Set the password for the proxy - - not used if `yum['proxy']` above is an empty string - - -Recipes -------- -### default -The default recipe does nothing. - -### yum -Manages the configuration of the `/etc/yum.conf` via attributes. See the aforementioned Array attributes `yum['exclude']` and `yum['installonlypkgs']`. - -### epel -Uses the `yum_key` and `yum_repository` resources from this cookbook are used to manage the main EPEL repository. If you need other EPEL repositories (source, debug-info), use the `yum_repository` LWRP in your own cookbook where those packages are required. The recipe will use the `yum['epel']` attributes (see above) to configure the key, url and download the GPG key for the repo. The defaults are detected by platform and version and should just work without modification in most use cases. - -On all platforms except Amazon, the action is to add the repository. On Amazon, the action is add and update. - -Amazon Linux has the EPEL repositories already added in the AMI. In previous versions of this cookbook, they were enabled with `yum-config-manager`, however in the current version, we manage the repository using the LWRP. The main difference is that the source and debuginfo repositories are not available, but if they're needed, add them using the `yum_repository` LWRP in your own cookbook(s). - -### ius -Installs the [IUS Community repositories](http://iuscommunity.org/Repos) via RPM. Uses the `node['yum']['ius_release']` attribute to select the right version of the package to install. - -The IUS repository requires EPEL, and includes `yum::epel` as a dependency. - -### repoforge -Installs the [RepoForge repositories](http://repoforge.org/) via RPM. Uses the `node['yum']['repoforge_release']` attribute to select the right version of the package to install. - -The RepoForge repository requires EPEL, and includes `yum::epel` as a dependency. - -### remi -Install the [Les RPM de Remi - Repository](http://rpms.famillecollet.com/) with the `yum_key` and `yum_repository` resources from this cookbook are used to manage the remi repository. Use the `yum['remi']` attributes (see above) to configure the key, url and download the GPG key for the repo. The defaults are detected by platform and should just work without modification in most use cases. - - -Resources/Providers -------------------- -### yum_key -This LWRP handles importing GPG keys for YUM repositories. Keys can be imported by the `url` parameter or placed in `/etc/pki/rpm-gpg/` by a recipe and then installed with the LWRP without passing the URL. - -#### Actions -- :add: installs the GPG key into `/etc/pki/rpm-gpg/` -- :remove: removes the GPG key from `/etc/pki/rpm-gpg/` - -#### Attribute Parameters -- key: name attribute. The name of the GPG key to install. -- url: if the key needs to be downloaded, the URL providing the download. - -#### Example - -``` ruby -# add the Zenoss GPG key -yum_key "RPM-GPG-KEY-zenoss" do - url "http://dev.zenoss.com/yum/RPM-GPG-KEY-zenoss" - action :add -end - -# remove Zenoss GPG key -yum_key "RPM-GPG-KEY-zenoss" do - action :remove -end -``` - -### yum_repository -This LWRP provides an easy way to manage additional YUM repositories. GPG keys can be managed with the `yum_key` LWRP. The LWRP automatically updates the package management cache upon the first run, when a new repo is added. - -#### Actions -- :create: creates a repository file and builds the repository listing -- :add: runs create action if repository file is missing (default) -- :remove: removes the repository file -- :update: updates the repository - -#### Attribute Parameters -- repo_name: name attribute. The name of the channel to discover -- description. The description of the repository -- url: The URL providing the packages, used for baseurl in the config -- mirrorlist: Set this as a string containing the URI to the - mirrorlist, start with "http://", "ftp://", "file://"; use "file://" - if the mirrorlist is a text file on the system. -- key: Optional, the name of the GPG key file installed by the `key` - LWRP. -- enabled: Default is `1`, set to `0` if the repository is disabled. -- type: Optional, alternate type of repository -- failovermethod: Optional, failovermethod -- bootstrapurl: Optional, bootstrapurl -- make_cache: Optional, Default is `true`, if `false` then `yum -q - makecache` will not be ran -- metadata_expire: Optional, Default is nil (or not applied) -- type: Optional, Default is nil (or not applied) - -*Note*: When using both url (to set baseurl) and mirrorlist, it is probably a good idea to also install the fastestmirror plugin, and use failovermethod "priority". - -#### Example -``` ruby -# add the Zenoss repository -yum_repository "zenoss" do - repo_name "zenoss" - description "Zenoss Stable repo" - url "http://dev.zenoss.com/yum/stable/" - key "RPM-GPG-KEY-zenoss" - action :add -end - -# remove Zenoss repo -yum_repository "zenoss" do - action :remove -end -``` - - -Usage ------ -Put `recipe[yum::yum]` in the run list to ensure yum is configured correctly for your environment within your Chef run. - -Use the `yum::epel` recipe to enable EPEL, or the `yum::ius` recipe to enable IUS, or the `yum::repoforge` recipe to enable RepoForge, or the `yum::remi` recipe to enable remi per __Recipes__ section above. - -You can manage GPG keys either with cookbook_file in a recipe if you want to package it with a cookbook or use the `url` parameter of the `key` LWRP. - - -License & Authors ------------------ -- Author:: Eric G. Wolfe -- Author:: Matt Ray () -- Author:: Joshua Timberman () - -```text -Copyright:: 2010 Tippr Inc. -Copyright:: 2011 Eric G. Wolfe -Copyright:: 2011-2012 Opscode, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -``` diff --git a/provision/cookbooks/yum/attributes/default.rb b/provision/cookbooks/yum/attributes/default.rb deleted file mode 100755 index 085ac99..0000000 --- a/provision/cookbooks/yum/attributes/default.rb +++ /dev/null @@ -1,30 +0,0 @@ -# -# Cookbook Name:: yum -# Attributes:: default -# -# Copyright 2011, Eric G. Wolfe -# Copyright 2011, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -# Example: override.yum.exclude = "kernel* compat-glibc*" -default['yum']['exclude'] = Array.new -default['yum']['installonlypkgs'] = Array.new -default['yum']['ius_release'] = '1.0-11' -default['yum']['repoforge_release'] = '0.5.2-2' -default['yum']['proxy'] = '' -default['yum']['proxy_username'] = '' -default['yum']['proxy_password'] = '' -default['yum']['cachedir'] = '/var/cache/yum' -default['yum']['keepcache'] = 0 diff --git a/provision/cookbooks/yum/attributes/elrepo.rb b/provision/cookbooks/yum/attributes/elrepo.rb deleted file mode 100755 index 5c97402..0000000 --- a/provision/cookbooks/yum/attributes/elrepo.rb +++ /dev/null @@ -1,24 +0,0 @@ -# -# Cookbook Name:: yum -# Attributes:: elrepo -# -# Copyright 2013, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -default['yum']['elrepo']['url'] = "http://elrepo.org/mirrors-elrepo.el#{node['platform_version'].to_i}" -default['yum']['elrepo']['key'] = "RPM-GPG-KEY-elrepo.org" -default['yum']['elrepo']['key_url'] = "http://elrepo.org/#{node['yum']['elrepo']['key']}" -default['yum']['elrepo']['includepkgs'] = nil -default['yum']['elrepo']['exclude'] = nil diff --git a/provision/cookbooks/yum/attributes/epel.rb b/provision/cookbooks/yum/attributes/epel.rb deleted file mode 100755 index c2247f8..0000000 --- a/provision/cookbooks/yum/attributes/epel.rb +++ /dev/null @@ -1,39 +0,0 @@ -# -# Cookbook Name:: yum -# Attributes:: epel -# -# Copyright 2011, Eric G. Wolfe -# Copyright 2011, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -case node['platform'] -when "amazon" - default['yum']['epel']['url'] = "http://mirrors.fedoraproject.org/mirrorlist?repo=epel-6&arch=$basearch" - default['yum']['epel']['baseurl'] = "" - default['yum']['epel']['key'] = "RPM-GPG-KEY-EPEL-6" -else - default['yum']['epel']['url'] = "http://mirrors.fedoraproject.org/mirrorlist?repo=epel-#{node['platform_version'].to_i}&arch=$basearch" - default['yum']['epel']['baseurl'] = "" - - if node['platform_version'].to_i >= 6 - default['yum']['epel']['key'] = "RPM-GPG-KEY-EPEL-6" - else - default['yum']['epel']['key'] = "RPM-GPG-KEY-EPEL" - end -end - -default['yum']['epel']['key_url'] = "http://dl.fedoraproject.org/pub/epel/#{node['yum']['epel']['key']}" -default['yum']['epel']['includepkgs'] = nil -default['yum']['epel']['exclude'] = nil diff --git a/provision/cookbooks/yum/attributes/remi.rb b/provision/cookbooks/yum/attributes/remi.rb deleted file mode 100755 index b80ee2c..0000000 --- a/provision/cookbooks/yum/attributes/remi.rb +++ /dev/null @@ -1,30 +0,0 @@ -# -# Cookbook Name:: yum -# Attributes:: remi -# -# Copyright 2011, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -case node['platform'] -when "fedora" - default['yum']['remi']['url'] = "http://rpms.famillecollet.com/fedora/#{node['platform_version'].to_i}/remi/mirror" -else - default['yum']['remi']['url'] = "http://rpms.famillecollet.com/enterprise/#{node['platform_version'].to_i}/remi/mirror" -end - -default['yum']['remi']['key'] = "RPM-GPG-KEY-remi" -default['yum']['remi']['key_url'] = "http://rpms.famillecollet.com/#{node['yum']['remi']['key']}" -default['yum']['remi']['includepkgs'] = nil -default['yum']['remi']['exclude'] = nil diff --git a/provision/cookbooks/yum/files/default/tests/minitest/default_test.rb b/provision/cookbooks/yum/files/default/tests/minitest/default_test.rb deleted file mode 100755 index 76f1a14..0000000 --- a/provision/cookbooks/yum/files/default/tests/minitest/default_test.rb +++ /dev/null @@ -1,28 +0,0 @@ -# -# Cookbook Name:: yum -# Recipe:: default -# -# Copyright 2013, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -require File.expand_path('../support/helpers', __FILE__) - -describe "yum::default" do - include Helpers::YumTest - - it "Default recipe does nothing, so default_test does nothing" do - skip "Default recipe does nothing so default test does nothing" - end -end diff --git a/provision/cookbooks/yum/files/default/tests/minitest/support/helpers.rb b/provision/cookbooks/yum/files/default/tests/minitest/support/helpers.rb deleted file mode 100755 index cbc099e..0000000 --- a/provision/cookbooks/yum/files/default/tests/minitest/support/helpers.rb +++ /dev/null @@ -1,37 +0,0 @@ -# -# Cookbook Name:: yum_test -# Recipe:: default -# -# Copyright 2013, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -module Helpers - module YumTest - require 'chef/mixin/shell_out' - include Chef::Mixin::ShellOut - include MiniTest::Chef::Assertions - include MiniTest::Chef::Context - include MiniTest::Chef::Resources - - # This isn't the most efficient thing in the world, but it works - # reliably as yum will only return the repos that are actually - # enabled. It would probably be more efficient, since we're at the - # end of the successful run, to cache the output to a file and - # inspect its contents. - def repo_enabled(repo) - shell_out("yum repolist enabled --verbose | grep Repo-id").stdout.include?(repo) - end - end -end diff --git a/provision/cookbooks/yum/files/default/tests/minitest/test_test.rb b/provision/cookbooks/yum/files/default/tests/minitest/test_test.rb deleted file mode 100755 index 3db9fe2..0000000 --- a/provision/cookbooks/yum/files/default/tests/minitest/test_test.rb +++ /dev/null @@ -1,66 +0,0 @@ -# -# Cookbook Name:: yum -# -# Copyright 2013, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -require File.expand_path('../support/helpers', __FILE__) - -describe "yum::test" do - # helpers includes the repo_enabled method used to test that repos - # are in fact enabled. - include Helpers::YumTest - - describe "elrepo" do - it "enables the elrepo repository" do - assert(repo_enabled("elrepo")) - end - end - - describe "epel" do - it "enables the epel repository" do - assert(repo_enabled("epel")) - end - end - - describe "ius" do - it "enables the ius repository" do - assert(repo_enabled("ius")) - end - end - - describe "remi" do - it "enables the remi repository" do - assert(repo_enabled("remi")) - end - end - - describe "repoforge" do - it "enables the repoforge repository" do - assert(repo_enabled("rpmforge")) - end - end - - describe "cook-2121" do - - it 'doesnt update the zenos-add.repo file if it exists' do - assert File.zero?('/etc/yum.repos.d/zenoss-add.repo') - end - - it 'updates the zenoss-create file' do - file('/etc/yum.repos.d/zenoss-create.repo').must_match %r[baseurl=http://dev.zenoss.com/yum/stable/] - end - end -end diff --git a/provision/cookbooks/yum/metadata.json b/provision/cookbooks/yum/metadata.json deleted file mode 100755 index d39607d..0000000 --- a/provision/cookbooks/yum/metadata.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "name": "yum", - "version": "2.3.2", - "description": "A fabulous new cookbook", - "long_description": "yum Cookbook\n============\nConfigures various YUM components on Red Hat-like systems. Includes LWRP for managing repositories and their GPG keys.\n\nBased on the work done by Eric Wolfe and Charles Duffy on the [yumrepo](https://github.com/atomic-penguin/cookbook-yumrepo) cookbook.\n\n\nRequirements\n------------\nRed Hat Enterprise Linux 5, and 6 distributions within this platform family.\n\n\nAttributes\n----------\n* `yum['exclude']`\n - An array containing a list of packages to exclude from updates or installs. Wildcards and shell globs are supported.\n - Defaults to an empty exclude list.\n\n* `yum['installonlypkgs']`\n - An array containing a list of packages which should only be\n installed, never updated.\n - Defaults to an empty install-only list.\n\n* `yum['ius_release']`\n - Set the IUS release to install.\n - Defaults to the current release of the IUS repo.\n\n* `yum['repoforge_release']`\n - Set the RepoForge release to install.\n - Defaults to the current release of the repoforge repo.\n\nEPEL attributes used in the `yum::epel` recipe, see `attributes/epel.rb` for default values:\n\n* `yum['epel']['key']`\n - Name of the GPG key used for the repo.\n\n* `yum['epel']['baseurl']`\n - Base URL to an EPEL mirror.\n\n* `yum['epel']['url']`\n - URL to the EPEL mirrorlist.\n\n* `yum['epel']['key_url']`\n - URL to the GPG key for the repo.\n\n* `yum['epel']['includepkgs']`\n - list of packages you want to use for the repo.\n\n* `yum['epel']['exclude']`\n - list of packages you do NOT want to use for the repo.\n\nThe `node['yum']['epel_release']` attribute is removed, see the __epel__ recipe information below.\n\nremi attributes used in the `yum::remi` recipe, see `attributes/remi.rb` for default values:\n\n* `yum['remi']['key']`\n - Name of the GPG key used for the repo.\n\n* `yum['remi']['url']`\n - URL to the remi mirrorlist.\n\n* `yum['remi']['key_url']`\n - URL to the GPG key for the repo.\n\n* `yum['remi']['includepkgs']`\n - list of packages you want to use for the repo.\n\n* `yum['remi']['exclude']`\n - list of packages you do NOT want to use for the repo.\n\nProxy settings used in yum.conf on RHEL family 5 and 6:\n\n* `yum['proxy']`\n - Set the URL for an HTTP proxy\n - None of the proxy settings are used if this is an empty string\n (default)\n\n* `yum['proxy_username']`\n - Set the username for the proxy\n - not used if `yum['proxy']` above is an empty string\n\n* `yum['proxy_password']`\n - Set the password for the proxy\n - not used if `yum['proxy']` above is an empty string\n\n\nRecipes\n-------\n### default\nThe default recipe does nothing.\n\n### yum\nManages the configuration of the `/etc/yum.conf` via attributes. See the aforementioned Array attributes `yum['exclude']` and `yum['installonlypkgs']`.\n\n### epel\nUses the `yum_key` and `yum_repository` resources from this cookbook are used to manage the main EPEL repository. If you need other EPEL repositories (source, debug-info), use the `yum_repository` LWRP in your own cookbook where those packages are required. The recipe will use the `yum['epel']` attributes (see above) to configure the key, url and download the GPG key for the repo. The defaults are detected by platform and version and should just work without modification in most use cases.\n\nOn all platforms except Amazon, the action is to add the repository. On Amazon, the action is add and update.\n\nAmazon Linux has the EPEL repositories already added in the AMI. In previous versions of this cookbook, they were enabled with `yum-config-manager`, however in the current version, we manage the repository using the LWRP. The main difference is that the source and debuginfo repositories are not available, but if they're needed, add them using the `yum_repository` LWRP in your own cookbook(s).\n\n### ius\nInstalls the [IUS Community repositories](http://iuscommunity.org/Repos) via RPM. Uses the `node['yum']['ius_release']` attribute to select the right version of the package to install.\n\nThe IUS repository requires EPEL, and includes `yum::epel` as a dependency.\n\n### repoforge\nInstalls the [RepoForge repositories](http://repoforge.org/) via RPM. Uses the `node['yum']['repoforge_release']` attribute to select the right version of the package to install.\n\nThe RepoForge repository requires EPEL, and includes `yum::epel` as a dependency.\n\n### remi\nInstall the [Les RPM de Remi - Repository](http://rpms.famillecollet.com/) with the `yum_key` and `yum_repository` resources from this cookbook are used to manage the remi repository. Use the `yum['remi']` attributes (see above) to configure the key, url and download the GPG key for the repo. The defaults are detected by platform and should just work without modification in most use cases.\n\n\nResources/Providers\n-------------------\n### yum_key\nThis LWRP handles importing GPG keys for YUM repositories. Keys can be imported by the `url` parameter or placed in `/etc/pki/rpm-gpg/` by a recipe and then installed with the LWRP without passing the URL.\n\n#### Actions\n- :add: installs the GPG key into `/etc/pki/rpm-gpg/`\n- :remove: removes the GPG key from `/etc/pki/rpm-gpg/`\n\n#### Attribute Parameters\n- key: name attribute. The name of the GPG key to install.\n- url: if the key needs to be downloaded, the URL providing the download.\n\n#### Example\n\n``` ruby\n# add the Zenoss GPG key\nyum_key \"RPM-GPG-KEY-zenoss\" do\n url \"http://dev.zenoss.com/yum/RPM-GPG-KEY-zenoss\"\n action :add\nend\n\n# remove Zenoss GPG key\nyum_key \"RPM-GPG-KEY-zenoss\" do\n action :remove\nend\n```\n\n### yum_repository\nThis LWRP provides an easy way to manage additional YUM repositories. GPG keys can be managed with the `yum_key` LWRP. The LWRP automatically updates the package management cache upon the first run, when a new repo is added.\n\n#### Actions\n- :create: creates a repository file and builds the repository listing\n- :add: runs create action if repository file is missing (default)\n- :remove: removes the repository file\n- :update: updates the repository\n\n#### Attribute Parameters\n- repo_name: name attribute. The name of the channel to discover\n- description. The description of the repository\n- url: The URL providing the packages, used for baseurl in the config\n- mirrorlist: Set this as a string containing the URI to the\n mirrorlist, start with \"http://\", \"ftp://\", \"file://\"; use \"file://\"\n if the mirrorlist is a text file on the system.\n- key: Optional, the name of the GPG key file installed by the `key`\n LWRP.\n- enabled: Default is `1`, set to `0` if the repository is disabled.\n- type: Optional, alternate type of repository\n- failovermethod: Optional, failovermethod\n- bootstrapurl: Optional, bootstrapurl\n- make_cache: Optional, Default is `true`, if `false` then `yum -q\n makecache` will not be ran\n- metadata_expire: Optional, Default is nil (or not applied)\n- type: Optional, Default is nil (or not applied)\n\n*Note*: When using both url (to set baseurl) and mirrorlist, it is probably a good idea to also install the fastestmirror plugin, and use failovermethod \"priority\".\n\n#### Example\n``` ruby\n# add the Zenoss repository\nyum_repository \"zenoss\" do\n repo_name \"zenoss\"\n description \"Zenoss Stable repo\"\n url \"http://dev.zenoss.com/yum/stable/\"\n key \"RPM-GPG-KEY-zenoss\"\n action :add\nend\n\n# remove Zenoss repo\nyum_repository \"zenoss\" do\n action :remove\nend\n```\n\n\nUsage\n-----\nPut `recipe[yum::yum]` in the run list to ensure yum is configured correctly for your environment within your Chef run.\n\nUse the `yum::epel` recipe to enable EPEL, or the `yum::ius` recipe to enable IUS, or the `yum::repoforge` recipe to enable RepoForge, or the `yum::remi` recipe to enable remi per __Recipes__ section above.\n\nYou can manage GPG keys either with cookbook_file in a recipe if you want to package it with a cookbook or use the `url` parameter of the `key` LWRP.\n\n\nLicense & Authors\n-----------------\n- Author:: Eric G. Wolfe\n- Author:: Matt Ray ()\n- Author:: Joshua Timberman ()\n\n```text\nCopyright:: 2010 Tippr Inc.\nCopyright:: 2011 Eric G. Wolfe\nCopyright:: 2011-2012 Opscode, Inc.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n", - "maintainer": "Opscode, Inc.", - "maintainer_email": "cookbooks@opscode.com", - "license": "Apache 2.0", - "platforms": { - "redhat": ">= 5.0.0", - "centos": ">= 5.0.0", - "scientific": ">= 5.0.0", - "amazon": ">= 5.0.0" - }, - "dependencies": { - }, - "recommendations": { - }, - "suggestions": { - }, - "conflicting": { - }, - "providing": { - }, - "replacing": { - }, - "attributes": { - "yum/exclude": { - "display_name": "yum.conf exclude", - "description": "List of packages to exclude from updates or installs. This should be an array. Shell globs using wildcards (eg. * and ?) are allowed.", - "required": "optional" - }, - "yum/installonlypkgs": { - "display_name": "yum.conf installonlypkgs", - "description": "List of packages that should only ever be installed, never updated. Kernels in particular fall into this category. Defaults to kernel, kernel-smp, kernel-bigmem, kernel-enterprise, kernel-debug, kernel-unsupported.", - "required": "optional" - }, - "yum/proxy": { - "display_name": "yum.conf proxy", - "description": "Set the http URL for proxy to use in yum.conf", - "required": "optional" - }, - "yum/proxy_username": { - "display_name": "yum.conf proxy_username", - "description": "Set the proxy_username to use for yum.conf", - "required": "optional" - }, - "yum/proxy_password": { - "display_name": "yum.conf proxy_password", - "description": "Set the proxy_password to use for yum.conf", - "required": "optional" - } - }, - "groupings": { - }, - "recipes": { - "yum": "Empty recipe.", - "yum::yum": "Manages yum configuration" - } -} \ No newline at end of file diff --git a/provision/cookbooks/yum/metadata.rb b/provision/cookbooks/yum/metadata.rb deleted file mode 100755 index 29b11f2..0000000 --- a/provision/cookbooks/yum/metadata.rb +++ /dev/null @@ -1,37 +0,0 @@ -name "yum" -maintainer "Opscode, Inc." -maintainer_email "cookbooks@opscode.com" -license "Apache 2.0" -long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version "2.3.2" -recipe "yum", "Empty recipe." -recipe "yum::yum", "Manages yum configuration" - -%w{ redhat centos scientific amazon }.each do |os| - supports os, ">= 5.0" -end - -attribute "yum/exclude", - :display_name => "yum.conf exclude", - :description => "List of packages to exclude from updates or installs. This should be an array. Shell globs using wildcards (eg. * and ?) are allowed.", - :required => "optional" - -attribute "yum/installonlypkgs", - :display_name => "yum.conf installonlypkgs", - :description => "List of packages that should only ever be installed, never updated. Kernels in particular fall into this category. Defaults to kernel, kernel-smp, kernel-bigmem, kernel-enterprise, kernel-debug, kernel-unsupported.", - :required => "optional" - -attribute "yum/proxy", - :display_name => "yum.conf proxy", - :description => "Set the http URL for proxy to use in yum.conf", - :required => "optional" - -attribute "yum/proxy_username", - :display_name => "yum.conf proxy_username", - :description => "Set the proxy_username to use for yum.conf", - :required => "optional" - -attribute "yum/proxy_password", - :display_name => "yum.conf proxy_password", - :description => "Set the proxy_password to use for yum.conf", - :required => "optional" diff --git a/provision/cookbooks/yum/providers/key.rb b/provision/cookbooks/yum/providers/key.rb deleted file mode 100755 index c9b41d8..0000000 --- a/provision/cookbooks/yum/providers/key.rb +++ /dev/null @@ -1,79 +0,0 @@ -# -# Cookbook Name:: yum -# Provider:: key -# -# Copyright 2010, Tippr Inc. -# Copyright 2011, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -def whyrun_supported? - true -end - -action :add do - unless ::File.exists?("/etc/pki/rpm-gpg/#{new_resource.key}") - Chef::Log.info "Adding #{new_resource.key} GPG key to /etc/pki/rpm-gpg/" - - if node['platform_version'].to_i <= 5 - package "gnupg" - elsif node['platform_version'].to_i >= 6 - package "gnupg2" - end - - execute "import-rpm-gpg-key-#{new_resource.key}" do - command "rpm --import /etc/pki/rpm-gpg/#{new_resource.key}" - action :nothing - not_if <<-EOH - function packagenames_for_keyfile() { - local filename="$1" - gpg \ - --with-fingerprint \ - --with-colons \ - --fixed-list-mode \ - "$filename" \ - | gawk -F: '/^pub/ { print tolower(sprintf("gpg-pubkey-%s-%x\\n", substr($5, length($5)-8+1), $6)) }' - } - - for pkgname in $(packagenames_for_keyfile "/etc/pki/rpm-gpg/#{new_resource.key}"); do - if [[ $pkgname ]] && ! rpm -q $pkgname ; then - exit 1; - fi; - done - - exit 0 - EOH - end - - #download the file if necessary - unless new_resource.url.nil? - remote_file "/etc/pki/rpm-gpg/#{new_resource.key}" do - source new_resource.url - mode "0644" - notifies :run, "execute[import-rpm-gpg-key-#{new_resource.key}]", :immediately - end - end - - end -end - -action :remove do - if ::File.exists?("/etc/pki/rpm-gpg/#{new_resource.key}") - Chef::Log.info "Removing #{new_resource.key} key from /etc/pki/rpm-gpg/" - file "/etc/pki/rpm-gpg/#{new_resource.key}" do - action :delete - end - new_resource.updated_by_last_action(true) - end -end diff --git a/provision/cookbooks/yum/providers/repository.rb b/provision/cookbooks/yum/providers/repository.rb deleted file mode 100755 index 87ee598..0000000 --- a/provision/cookbooks/yum/providers/repository.rb +++ /dev/null @@ -1,125 +0,0 @@ -# -# Cookbook Name:: yum -# Provider:: repository -# -# Copyright 2010, Tippr Inc. -# Copyright 2011, Opscode, Inc.. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -# note that deletion does not remove GPG keys, either from the repo or -# /etc/pki/rpm-gpg; this is a design decision. - -def whyrun_supported? - true -end - -action :add do - unless ::File.exists?("/etc/yum.repos.d/#{new_resource.repo_name}.repo") - Chef::Log.info "Adding #{new_resource.repo_name} repository to /etc/yum.repos.d/#{new_resource.repo_name}.repo" - repo_config - end -end - -action :create do - Chef::Log.info "Adding and updating #{new_resource.repo_name} repository in /etc/yum.repos.d/#{new_resource.repo_name}.repo" - repo_config -end - -action :remove do - if ::File.exists?("/etc/yum.repos.d/#{new_resource.repo_name}.repo") - Chef::Log.info "Removing #{new_resource.repo_name} repository from /etc/yum.repos.d/" - file "/etc/yum.repos.d/#{new_resource.repo_name}.repo" do - action :delete - end - new_resource.updated_by_last_action(true) - end -end - -action :update do - repos ||= {} - # If the repo is already enabled/disabled as per the resource, we don't want to converge the template resource. - if ::File.exists?("/etc/yum.repos.d/#{new_resource.repo_name}.repo") - ::File.open("/etc/yum.repos.d/#{new_resource.repo_name}.repo") do |file| - repo_name ||= nil - file.each_line do |line| - case line - when /^\[(\S+)\]/ - repo_name = $1 - repos[repo_name] ||= {} - when /^(\S+?)=(.*)$/ - param, value = $1, $2 - repos[repo_name][param] = value - else - end - end - end - else - Chef::Log.error "Repo /etc/yum.repos.d/#{new_resource.repo_name}.repo does not exist, you must create it first" - end - if repos[new_resource.repo_name]['enabled'].to_i != new_resource.enabled - Chef::Log.info "Updating #{new_resource.repo_name} repository in /etc/yum.repos.d/#{new_resource.repo_name}.repo (setting enabled=#{new_resource.enabled})" - repo_config - else - Chef::Log.debug "Repository /etc/yum.repos.d/#{new_resource.repo_name}.repo is already set to enabled=#{new_resource.enabled}, skipping" - end -end - -private - -def repo_config - #import the gpg key. If it needs to be downloaded or imported from a cookbook - #that can be done in the calling recipe - if new_resource.key then - yum_key new_resource.key - end - #get the metadata - execute "yum-makecache" do - command "yum -q makecache" - action :nothing - end - #reload internal Chef yum cache - ruby_block "reload-internal-yum-cache" do - block do - Chef::Provider::Package::Yum::YumCache.instance.reload - end - action :nothing - end - #write out the file - template "/etc/yum.repos.d/#{new_resource.repo_name}.repo" do - cookbook "yum" - source "repo.erb" - mode "0644" - variables({ - :repo_name => new_resource.repo_name, - :description => new_resource.description, - :url => new_resource.url, - :mirrorlist => new_resource.mirrorlist, - :key => new_resource.key, - :enabled => new_resource.enabled, - :type => new_resource.type, - :failovermethod => new_resource.failovermethod, - :bootstrapurl => new_resource.bootstrapurl, - :includepkgs => new_resource.includepkgs, - :exclude => new_resource.exclude, - :priority => new_resource.priority, - :metadata_expire => new_resource.metadata_expire, - :type => new_resource.type - }) - if new_resource.make_cache - notifies :run, "execute[yum-makecache]", :immediately - notifies :create, "ruby_block[reload-internal-yum-cache]", :immediately - end - end -end diff --git a/provision/cookbooks/yum/recipes/default.rb b/provision/cookbooks/yum/recipes/default.rb deleted file mode 100755 index 9bc90f2..0000000 --- a/provision/cookbooks/yum/recipes/default.rb +++ /dev/null @@ -1,18 +0,0 @@ -# -# Cookbook Name:: yum -# Recipe:: default -# -# Copyright 2011, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# diff --git a/provision/cookbooks/yum/recipes/elrepo.rb b/provision/cookbooks/yum/recipes/elrepo.rb deleted file mode 100755 index a54981d..0000000 --- a/provision/cookbooks/yum/recipes/elrepo.rb +++ /dev/null @@ -1,31 +0,0 @@ -# -# Cookbook Name:: yum -# Recipe:: elrepo -# -# Copyright:: Copyright (c) 2013 Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -yum_key node['yum']['elrepo']['key'] do - url node['yum']['elrepo']['key_url'] - action :add -end - -yum_repository "elrepo" do - description "ELRepo.org Community Enterprise Linux Extras Repository" - key node['yum']['elrepo']['key'] - mirrorlist node['yum']['elrepo']['url'] - includepkgs node['yum']['elrepo']['includepkgs'] - exclude node['yum']['elrepo']['exclude'] - action :create -end diff --git a/provision/cookbooks/yum/recipes/epel.rb b/provision/cookbooks/yum/recipes/epel.rb deleted file mode 100755 index be1e2aa..0000000 --- a/provision/cookbooks/yum/recipes/epel.rb +++ /dev/null @@ -1,35 +0,0 @@ -# -# Author:: Joshua Timberman () -# Cookbook Name:: yum -# Recipe:: epel -# -# Copyright:: Copyright (c) 2011 Opscode, Inc. -# Copyright 2010, Eric G. Wolfe -# Copyright 2010, Tippr Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -yum_key node['yum']['epel']['key'] do - url node['yum']['epel']['key_url'] - action :add -end - -yum_repository "epel" do - description "Extra Packages for Enterprise Linux" - key node['yum']['epel']['key'] - url node['yum']['epel']['baseurl'] - mirrorlist node['yum']['epel']['url'] - includepkgs node['yum']['epel']['includepkgs'] - exclude node['yum']['epel']['exclude'] - action platform?('amazon') ? [:add, :update] : :add -end diff --git a/provision/cookbooks/yum/recipes/ius.rb b/provision/cookbooks/yum/recipes/ius.rb deleted file mode 100755 index 2d25290..0000000 --- a/provision/cookbooks/yum/recipes/ius.rb +++ /dev/null @@ -1,42 +0,0 @@ -# -# Author:: Joshua Timberman () -# Cookbook Name:: yum -# Recipe:: ius -# -# Copyright:: Copyright (c) 2011 Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -include_recipe "yum::epel" - -package "epel-release" - -major = node['platform_version'].to_i -ius = node['yum']['ius_release'] - -remote_file "#{Chef::Config[:file_cache_path]}/ius-release-#{ius}.ius.el#{major}.noarch.rpm" do - source "http://dl.iuscommunity.org/pub/ius/stable/Redhat/#{major}/i386/ius-release-#{ius}.ius.el#{major}.noarch.rpm" - not_if "rpm -qa | grep -q '^ius-release-#{ius}'" - notifies :install, "rpm_package[ius-release]", :immediately -end - -rpm_package "ius-release" do - source "#{Chef::Config[:file_cache_path]}/ius-release-#{ius}.ius.el#{major}.noarch.rpm" - only_if { ::File.exists?("#{Chef::Config[:file_cache_path]}/ius-release-#{ius}.ius.el#{major}.noarch.rpm") } - action :nothing -end - -file "ius-release-cleanup" do - path "#{Chef::Config[:file_cache_path]}/ius-release-#{ius}.ius.el#{major}.noarch.rpm" - action :delete -end diff --git a/provision/cookbooks/yum/recipes/remi.rb b/provision/cookbooks/yum/recipes/remi.rb deleted file mode 100755 index 5ce5ff6..0000000 --- a/provision/cookbooks/yum/recipes/remi.rb +++ /dev/null @@ -1,35 +0,0 @@ -# -# Author:: Takeshi KOMIYA () -# Cookbook Name:: yum -# Recipe:: remi -# -# Copyright:: Copyright (c) 2011 Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -include_recipe "yum::epel" - -yum_key node['yum']['remi']['key'] do - url node['yum']['remi']['key_url'] - action :add -end - -yum_repository "remi" do - description "Les RPM de remi pour Enterprise Linux #{node['platform_version']} - $basearch" - key node['yum']['remi']['key'] - mirrorlist node['yum']['remi']['url'] - failovermethod "priority" - includepkgs node['yum']['remi']['includepkgs'] - exclude node['yum']['remi']['exclude'] - action :create -end diff --git a/provision/cookbooks/yum/recipes/repoforge.rb b/provision/cookbooks/yum/recipes/repoforge.rb deleted file mode 100755 index 14c1607..0000000 --- a/provision/cookbooks/yum/recipes/repoforge.rb +++ /dev/null @@ -1,41 +0,0 @@ -# -# Author:: Eric Edgar () -# Cookbook Name:: yum -# Recipe:: repoforge -# -# Copyright:: Copyright (c) 2012-2013 Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -include_recipe "yum::epel" - -major = platform?("amazon") ? 6 : node['platform_version'].to_i -arch = (node['kernel']['machine'] == "i686" && major == 5) ? "i386" : node['kernel']['machine'] -repoforge = node['yum']['repoforge_release'] - -remote_file "#{Chef::Config[:file_cache_path]}/rpmforge-release-#{repoforge}.el#{major}.rf.#{arch}.rpm" do - source "http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-#{repoforge}.el#{major}.rf.#{arch}.rpm" - not_if "rpm -qa | grep -q '^rpmforge-release-#{repoforge}'" - notifies :install, "rpm_package[rpmforge-release]", :immediately -end - -rpm_package "rpmforge-release" do - source "#{Chef::Config[:file_cache_path]}/rpmforge-release-#{repoforge}.el#{major}.rf.#{arch}.rpm" - only_if { ::File.exists?("#{Chef::Config[:file_cache_path]}/rpmforge-release-#{repoforge}.el#{major}.rf.#{arch}.rpm") } - action :install -end - -file "repoforge-release-cleanup" do - path "#{Chef::Config[:file_cache_path]}/rpmforge-release-#{repoforge}.el#{major}.rf.#{arch}.rpm" - action :delete -end diff --git a/provision/cookbooks/yum/recipes/test.rb b/provision/cookbooks/yum/recipes/test.rb deleted file mode 100755 index 7720c3a..0000000 --- a/provision/cookbooks/yum/recipes/test.rb +++ /dev/null @@ -1,39 +0,0 @@ -# -# Cookbook:: yum -# Recipe:: test -# -# Author:: Joshua Timberman -# Copyright:: Copyright (c) 2013, Opscode, Inc -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -include_recipe "yum::epel" -include_recipe "yum::elrepo" -include_recipe "yum::ius" -include_recipe "yum::repoforge" -include_recipe "yum::yum" -include_recipe "yum::remi" - -%w{add create}.each do |act| - file "/etc/yum.repos.d/zenoss-#{act}.repo" do - action :create - end - - yum_repository "zenoss-#{act}" do - description "Zenoss Stable repo" - url "http://dev.zenoss.com/yum/stable/" - key "RPM-GPG-KEY-zenoss" - action act.to_sym - end -end diff --git a/provision/cookbooks/yum/recipes/yum.rb b/provision/cookbooks/yum/recipes/yum.rb deleted file mode 100755 index d353f50..0000000 --- a/provision/cookbooks/yum/recipes/yum.rb +++ /dev/null @@ -1,23 +0,0 @@ -# -# Cookbook Name:: yum -# Recipe:: yum -# -# Copyright 2011, Eric G. Wolfe -# Copyright 2011, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -template "/etc/yum.conf" do - source "yum-rhel#{node['platform_version'].to_i}.conf.erb" -end diff --git a/provision/cookbooks/yum/resources/key.rb b/provision/cookbooks/yum/resources/key.rb deleted file mode 100755 index 96f9e72..0000000 --- a/provision/cookbooks/yum/resources/key.rb +++ /dev/null @@ -1,29 +0,0 @@ -# -# Cookbook Name:: yum -# Resource:: key -# -# Copyright 2011, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -actions :add, :remove -default_action :add - -attribute :key, :kind_of => String, :name_attribute => true -attribute :url, :kind_of => String, :default => nil - -def initialize(*args) - super - @action = :add -end diff --git a/provision/cookbooks/yum/resources/repository.rb b/provision/cookbooks/yum/resources/repository.rb deleted file mode 100755 index 1e274ca..0000000 --- a/provision/cookbooks/yum/resources/repository.rb +++ /dev/null @@ -1,42 +0,0 @@ -# -# Cookbook Name:: yum -# Resource:: repository -# -# Copyright 2011, Opscode, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -actions :add, :remove, :update, :create - -#name of the repo, used for .repo filename -attribute :repo_name, :kind_of => String, :name_attribute => true -attribute :description, :kind_of => String #long description -attribute :url, :kind_of => String, :default => "" -attribute :mirrorlist, :default => false -attribute :key, :kind_of => String, :default => nil -attribute :enabled, :default => 1 -attribute :type, :kind_of => String, :default => nil -attribute :failovermethod, :kind_of => String, :default => nil -attribute :bootstrapurl, :kind_of => String, :default => nil -attribute :make_cache, :kind_of => [TrueClass, FalseClass], :default => true -attribute :includepkgs, :kind_of => String, :default => nil -attribute :exclude, :kind_of => String, :default => nil -attribute :priority, :kind_of => [Integer, String], :default => nil -attribute :metadata_expire, :kind_of => [Integer, String], :default => nil -attribute :type, :kind_of => String, :default => nil - -def initialize(*args) - super - @action = :add -end diff --git a/provision/cookbooks/yum/templates/default/repo.erb b/provision/cookbooks/yum/templates/default/repo.erb deleted file mode 100755 index 02628a5..0000000 --- a/provision/cookbooks/yum/templates/default/repo.erb +++ /dev/null @@ -1,41 +0,0 @@ -# Generated by Chef for <%= node['fqdn'] %> -# Local modifications will be overwritten. -[<%= @repo_name %>] -name=<%= @description %> -<% if @type %> -type=<%= @type %> -<% end %> -<% unless @url.empty? -%> -baseurl=<%= @url %> -<% end -%> -<% if @mirrorlist %> -mirrorlist=<%= @mirrorlist %> -<% end %> -<% if @key %> -gpgcheck=1 -gpgkey=file:///etc/pki/rpm-gpg/<%= @key %> -<% else %> -gpgcheck=0 -<% end %> -enabled=<%= @enabled %> -<% if @failovermethod %> -failovermethod=<%= @failovermethod %> -<% end %> -<% if @bootstrapurl %> -bootstrapurl=<%= @bootstrapurl %> -<% end %> -<% if @includepkgs %> -includepkgs=<%= @includepkgs %> -<% end %> -<% if @exclude %> -exclude=<%= @exclude %> -<% end %> -<% if @priority %> -priority=<%= @priority %> -<% end %> -<% if @metadata_expire %> -metadata_expire=<%= @metadata_expire%> -<% end %> -<% if @type %> -type=<%= @type%> -<% end %> diff --git a/provision/cookbooks/yum/templates/default/yum-rhel5.conf.erb b/provision/cookbooks/yum/templates/default/yum-rhel5.conf.erb deleted file mode 100755 index 6ed58dc..0000000 --- a/provision/cookbooks/yum/templates/default/yum-rhel5.conf.erb +++ /dev/null @@ -1,33 +0,0 @@ -# Generated by Chef for <%= node['fqdn'] %> -# Local modifications will be overwritten. -[main] -cachedir=<%= node['yum']['cachedir'] %> -keepcache=<%= node['yum']['keepcache'] %> -debuglevel=2 -logfile=/var/log/yum.log -distroverpkg=redhat-release -tolerant=1 -exactarch=1 -obsoletes=1 -gpgcheck=1 -plugins=1 -<%- unless node['yum']['exclude'].empty? %> -exclude=<%= node['yum']['exclude'].join(" ") %> -<%- end %> -<%- unless node['yum']['installonlypkgs'].empty? %> -installonlypkgs=<%= node['yum']['installonlypkgs'].join(" ") %> -<%- end %> -<%- unless node['yum']['proxy'].empty? %> -proxy=<%= node['yum']['proxy'] %> -proxy_username=<%= node['yum']['proxy_username'] %> -proxy_password=<%= node['yum']['proxy_password'] %> -<%- end %> - -# Note: yum-RHN-plugin doesn't honor this. -metadata_expire=1h - -# Default. -# installonly_limit = 3 - -# PUT YOUR REPOS HERE OR IN separate files named file.repo -# in /etc/yum.repos.d diff --git a/provision/cookbooks/yum/templates/default/yum-rhel6.conf.erb b/provision/cookbooks/yum/templates/default/yum-rhel6.conf.erb deleted file mode 100755 index 44d7979..0000000 --- a/provision/cookbooks/yum/templates/default/yum-rhel6.conf.erb +++ /dev/null @@ -1,36 +0,0 @@ -# Generated by Chef for <%= node['fqdn'] %> -# Local modifications will be overwritten. -[main] -cachedir=<%= node['yum']['cachedir'] %>/$basearch/$releasever -keepcache=<%= node['yum']['keepcache'] %> -debuglevel=2 -logfile=/var/log/yum.log -exactarch=1 -obsoletes=1 -gpgcheck=1 -plugins=1 -installonly_limit=3 -<%- unless node['yum']['exclude'].empty? %> -exclude=<%= node['yum']['exclude'].join(" ") %> -<%- end %> -<%- unless node['yum']['installonlypkgs'].empty? %> -installonlypkgs=<%= node['yum']['installonlypkgs'].join(" ") %> -<%- end %> -<%- unless node['yum']['proxy'].empty? %> -proxy=<%= node['yum']['proxy'] %> -proxy_username=<%= node['yum']['proxy_username'] %> -proxy_password=<%= node['yum']['proxy_password'] %> -<%- end %> - -# This is the default, if you make this bigger yum won't see if the metadata -# is newer on the remote and so you'll "gain" the bandwidth of not having to -# download the new metadata and "pay" for it by yum not having correct -# information. -# It is esp. important, to have correct metadata, for distributions like -# Fedora which don't keep old packages around. If you don't like this checking -# interupting your command line usage, it's much better to have something -# manually check the metadata once an hour (yum-updatesd will do this). -# metadata_expire=90m - -# PUT YOUR REPOS HERE OR IN separate files named file.repo -# in /etc/yum.repos.d diff --git a/provision/default.yml b/provision/default.yml index d166438..6f813c0 100644 --- a/provision/default.yml +++ b/provision/default.yml @@ -4,8 +4,7 @@ # # General Settings # -wp_box: miya0001/vccw -chef_cookbook_path: ./provision +wp_box: vccw-team/xenial64 # # Virtual Machine Settings @@ -18,7 +17,6 @@ cpus: 1 # hostname: vccw.dev ip: 192.168.33.10 -sync_folder: 'www/wordpress' # # WordPress Settings @@ -32,7 +30,6 @@ rewrite_structure: /archives/%post_id% # # WordPress Path # -document_root: '/var/www/wordpress' wp_siteurl: '' # Path to the WP_SITEURL like "wp" wp_home: '' # Path to the WP_HOME like "wp" @@ -48,15 +45,16 @@ admin_email: vccw@example.com # db_prefix: wp_ db_host: localhost +db_name: wordpress +db_user: wordpress +db_pass: wordpress # # WordPress Default Plugins # Plugin's slug or url to the plugin's slug. # plugins: - - dynamic-hostname - - wp-total-hacks - - tinymce-templates + - debug-bar # # WordPress Default Theme @@ -70,6 +68,11 @@ theme: '' options: blogdescription: Hello VCCW. +# +# WordPress Multisite Options +# +multisite_options: {} + # # The values of wp-config.php # @@ -77,6 +80,14 @@ force_ssl_admin: false wp_debug: true savequeries: false +# +# Addtional PHP code in the wp-config.php +# +extra_wp_config: | + // Addtional PHP code in the wp-config.php + // These lines are inserted by VCCW. + // You can place addtional PHP code here! + # # Theme unit testing # @@ -90,24 +101,65 @@ theme_unit_test_uri: https://wpcom-themes.svn.automattic.com/demo/theme-unit-tes reset_db_on_provision: true # -# Are you hurrying a lot? +# RubyGems # -disable_vccw_cookbook: false - +ruby_gems: + - bundler + - wordmove # -# User and Group +# NPM modules # -user: vagrant -group: vagrant +npms: [] +# +# composer +# +composers: + - hirak/prestissimo:* + - phpunit/phpunit:* + - squizlabs/php_codesniffer:* + - wp-coding-standards/wpcs:* + # - phpmd/phpmd:* + # - sebastian/phpcpd:* + # - phploc/phploc:* + # - phing/phing:* # -# phpenv +# wp-cli package commands # -php_version: default +wp_cli_packages: + - vccw/wp-cli-scaffold-movefile:@stable # # Linked Clone for Vagrant v1.8 # linked_clone: false + +# +# Advanced Settings +# + +# +# PHP ini values +# +php_ini: + date.timezone: UTC + default_charset: UTF-8 + mbstring.language: neutral + mbstring.internal_encoding: UTF-8 + post_max_size: 1024M # Same with VVV + short_open_tag: Off + session.save_path: /tmp + sendmail_path: /usr/bin/env catchmail + upload_max_filesize: 1024M # Same with VVV + xdebug.remote_enable: true + xdebug.remote_host: 127.0.0.1 + xdebug.remote_port: 9000 + xdebug.profiler_enable: true + xdebug.idekey: VCCWDEBUG + xdebug.remote_connect_back: true + xdebug.remote_autostart: true + +synced_folder: wordpress +document_root: /var/www/html diff --git a/provision/playbook.yml b/provision/playbook.yml new file mode 100644 index 0000000..ec9e147 --- /dev/null +++ b/provision/playbook.yml @@ -0,0 +1,3 @@ +- include: playbooks/commands.yml +- include: playbooks/middleware.yml +- include: playbooks/wordpress.yml diff --git a/provision/playbooks/commands.yml b/provision/playbooks/commands.yml new file mode 100644 index 0000000..e881251 --- /dev/null +++ b/provision/playbooks/commands.yml @@ -0,0 +1,127 @@ +- hosts: all + vars: + wp_cli_bin_url: https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli-nightly.phar + composer_version: 1.2.2 + + tasks: + + # Setup bash + - name: Place a ~/.bash_profile + become: no + template: + src: templates/.bash_profile + dest: "{{ ansible_env.HOME }}/.bash_profile" + - name: Place a ~/.bash.d/ + become: no + file: + path: "{{ ansible_env.HOME }}/.bash.d" + state: directory + - name: Place a ~/.bash.d/vccw.sh + become: no + template: + src: templates/vccw.sh + dest: "{{ ansible_env.HOME }}/.bash.d/vccw.sh" + + # Install Composer libraries + - name: Download the Composer + become: yes + get_url: + url: https://getcomposer.org/installer + dest: /tmp/composer-setup.php + mode: 0755 + force: yes + - name: Run the Composer installer + become: yes + shell: "php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer --version={{ composer_version }}" + - name: Create a ~/.composer/ + file: + path: "{{ ansible_env.HOME }}/.composer/" + state: directory + - name: Place a composer.json + template: + src: templates/composer.json + dest: "{{ ansible_env.HOME }}/.composer/composer.json" + force: no + - name: Install Composer libraries + composer: + command: require + arguments: "{{ item }}" + working_dir: "{{ ansible_env.HOME }}/.composer" + with_items: "{{ vccw.composers | default([]) }}" + ignore_errors: yes + + # Install WP-CLI + - name: Install the WP-CLI + become: yes + get_url: + url: "{{ wp_cli_bin_url }}" + dest: /usr/local/bin/wp + mode: 0755 + force: yes + - name: Create a ~/.wp-cli/ + file: + path: "{{ ansible_env.HOME }}/.wp-cli/" + state: directory + - name: Create a `~/.wp-cli/config.yml` on the Guest + template: + src: templates/guest-wp-cli-config.yml + dest: "{{ ansible_env.HOME }}/.wp-cli/config.yml" + - name: Create a `/vagrant/wp-cli.yml` + template: + src: templates/host-wp-cli-config.yml + dest: "{{ vccw.vagrant_dir }}/wp-cli.yml" + - name: Install WP-CLI packages + become: no + shell: /bin/bash -lc "wp package install '{{ item }}'" + with_items: "{{ vccw.wp_cli_packages | default([]) }}" + ignore_errors: yes + - name: Setup a bash completion for the WP-CLI + get_url: + url: https://raw.githubusercontent.com/wp-cli/wp-cli/master/utils/wp-completion.bash + dest: "{{ ansible_env.HOME }}/.bash.d/wp-completion.sh" + force: yes + + # Install Ruby gems + - name: Place a ~/.gemrc + become: no + template: + src: templates/.gemrc + dest: "{{ ansible_env.HOME }}/.gemrc" + - name: Install Ruby gems + become: no + gem: + name: "{{ item }}" + state: latest + user_install: yes + with_items: "{{ vccw.ruby_gems | default([]) }}" + ignore_errors: yes + + # Install npm packages + - name: Place a ~/.npmrc + become: no + template: + src: templates/.npmrc + dest: "{{ ansible_env.HOME }}/.npmrc" + - name: Install npm packages + become: no + npm: + name: "{{ item }}" + global: yes + executable: /usr/bin/npm + with_items: "{{ vccw.npms | default([]) }}" + ignore_errors: yes + + # Setup WordPress coding standards + - name: Check the `phpcs` exists. + shell: bash -lc 'phpcs --help &> /dev/null; echo $?' + register: is_phpcs + - name: Setup the WordPress coding standard + shell: /bin/bash -lc "phpcs --config-set installed_paths {{ ansible_env.HOME }}/.composer/vendor/wp-coding-standards/wpcs" + when: is_phpcs.stdout == "0" + + # WordPress i18n tools + - name: Checkout the WordPress i18n Tools + subversion: + repo: http://i18n.svn.wordpress.org/tools/trunk/ + dest: "{{ ansible_env.HOME }}/.wp-i18n/" + ignore_errors: yes diff --git a/provision/playbooks/middleware.yml b/provision/playbooks/middleware.yml new file mode 100644 index 0000000..8cc9013 --- /dev/null +++ b/provision/playbooks/middleware.yml @@ -0,0 +1,101 @@ +- hosts: all + + tasks: + + - name: Allow remote connections to MySQL + become: yes + lineinfile: + dest: "/etc/mysql/mysql.conf.d/mysqld.cnf" + backrefs: yes + regexp: '^(bind-address)' + line: '# \1' + notify: + - restart mysql + + - name: Place ~/.my.cnf + become: no + template: + src: templates/.my.cnf + dest: "{{ ansible_env.HOME }}/.my.cnf" + + - name: Create SSL dir + become: yes + file: + path: /etc/apache2/ssl + state: directory + + # Create SSL Keys + - name: Create SSL keys + become: yes + command: openssl req -batch -new -x509 -newkey rsa:2048 -nodes -sha256 \ + -subj /CN=*.{{ vccw.hostname }}/O=oreore -days 3650 \ + -keyout /etc/apache2/ssl/{{ vccw.hostname }}.key \ + -out /etc/apache2/ssl/{{ vccw.hostname }}.crt + + - name: "Replacing the Apache User" + become: yes + replace: + dest: /etc/apache2/envvars + regexp: APACHE_RUN_USER=.* + replace: "APACHE_RUN_USER={{ ansible_env.USER }}" + notify: + - restart apache + + - name: "Replacing the Apache Group" + become: yes + replace: + dest: /etc/apache2/envvars + regexp: APACHE_RUN_GROUP=.* + replace: "APACHE_RUN_GROUP={{ ansible_env.USER }}" + notify: + - restart apache + + # Setup Document Root + - name: Place /etc/apache2/sites-available/site.conf + become: yes + template: + src: templates/site.conf + dest: /etc/apache2/sites-available/000-default.conf + notify: + - restart apache + + # enable wordpress.conf + - name: Enable virtual host for WordPress + become: yes + command: a2ensite 000-default + + # php config. + - name: Update php.ini + become: yes + lineinfile: + dest: /etc/php/7.0/apache2/conf.d/99-vccw.ini + create: yes + line: "{{ item.key }} = {{ item.value }}" + with_dict: "{{ vccw.php_ini }}" + notify: + - restart apache + + # Install mailcatcher as root + - name: Install mailcatcher + become: yes + gem: + name: mailcatcher + state: latest + user_install: no + - name: Add mailcatcher to service + become: yes + template: + src: templates/mailcatcher + dest: /etc/init.d/mailcatcher + mode: 0755 + - name: Start mailcatcher + become: yes + service: name=mailcatcher enabled=yes state=started + + handlers: + - name: restart apache + become: yes + service: name=apache2 state=restarted + - name: restart mysql + become: yes + service: name=mysql state=restarted diff --git a/provision/playbooks/templates/.bash_profile b/provision/playbooks/templates/.bash_profile new file mode 100644 index 0000000..b10a909 --- /dev/null +++ b/provision/playbooks/templates/.bash_profile @@ -0,0 +1,10 @@ +# +# The .bash_profile for VCCW +# + +if [ -d "${HOME}/.bash.d" ] ; then + for f in "${HOME}"/.bash.d/*.sh ; do + source "$f" + done + unset f +fi diff --git a/provision/site-cookbooks/wpcli/templates/default/editorconfig.erb b/provision/playbooks/templates/.editorconfig similarity index 100% rename from provision/site-cookbooks/wpcli/templates/default/editorconfig.erb rename to provision/playbooks/templates/.editorconfig diff --git a/provision/playbooks/templates/.gemrc b/provision/playbooks/templates/.gemrc new file mode 100644 index 0000000..64193c3 --- /dev/null +++ b/provision/playbooks/templates/.gemrc @@ -0,0 +1 @@ +gem: --user-install diff --git a/provision/playbooks/templates/.gitignore b/provision/playbooks/templates/.gitignore new file mode 100644 index 0000000..9d249c7 --- /dev/null +++ b/provision/playbooks/templates/.gitignore @@ -0,0 +1,12 @@ +.htaccess +sitemap.xml +sitemap.xml.gz +{{ vccw.wp_siteurl }}wp-config.php +{{ vccw.wp_siteurl }}wp-content/advanced-cache.php +{{ vccw.wp_siteurl }}wp-content/backup-db/ +{{ vccw.wp_siteurl }}wp-content/backups/ +{{ vccw.wp_siteurl }}wp-content/blogs.dir/ +{{ vccw.wp_siteurl }}wp-content/cache/ +{{ vccw.wp_siteurl }}wp-content/upgrade/ +{{ vccw.wp_siteurl }}wp-content/uploads/ +{{ vccw.wp_siteurl }}wp-content/wp-cache-config.php diff --git a/provision/playbooks/templates/.my.cnf b/provision/playbooks/templates/.my.cnf new file mode 100644 index 0000000..49d6dd2 --- /dev/null +++ b/provision/playbooks/templates/.my.cnf @@ -0,0 +1,3 @@ +[client] +user = root +password = wordpress diff --git a/provision/playbooks/templates/.npmrc b/provision/playbooks/templates/.npmrc new file mode 100644 index 0000000..dc3f6fb --- /dev/null +++ b/provision/playbooks/templates/.npmrc @@ -0,0 +1 @@ +prefix = ${HOME}/.npm-packages diff --git a/provision/playbooks/templates/composer.json b/provision/playbooks/templates/composer.json new file mode 100644 index 0000000..5cef753 --- /dev/null +++ b/provision/playbooks/templates/composer.json @@ -0,0 +1,5 @@ +{ + "config": { + "secure-http": false + } +} diff --git a/provision/playbooks/templates/extra-wp-config.php b/provision/playbooks/templates/extra-wp-config.php new file mode 100644 index 0000000..63ded5a --- /dev/null +++ b/provision/playbooks/templates/extra-wp-config.php @@ -0,0 +1,6 @@ +define( 'JETPACK_DEV_DEBUG', {{ vccw.wp_debug }} ); +define( 'WP_DEBUG', {{ vccw.wp_debug }} ); +define( 'FORCE_SSL_ADMIN', {{ vccw.force_ssl_admin }} ); +define( 'SAVEQUERIES', {{ vccw.savequeries }} ); + +{{ vccw.extra_wp_config }} diff --git a/provision/playbooks/templates/guest-wp-cli-config.yml b/provision/playbooks/templates/guest-wp-cli-config.yml new file mode 100644 index 0000000..11961d5 --- /dev/null +++ b/provision/playbooks/templates/guest-wp-cli-config.yml @@ -0,0 +1,3 @@ +path: {{ vccw.document_root }}/{{ vccw.wp_siteurl }} +apache_modules: + - mod_rewrite diff --git a/provision/playbooks/templates/host-wp-cli-config.yml b/provision/playbooks/templates/host-wp-cli-config.yml new file mode 100644 index 0000000..7be39b2 --- /dev/null +++ b/provision/playbooks/templates/host-wp-cli-config.yml @@ -0,0 +1,11 @@ +# +# WP-CLI configuration for the VCCW +# +# Run `vagrant ssh-config >> ~/.ssh/config` once. +# Then you can execute `wp` command from your host like following. +# +# $ wp @vccw plugin list +# + +@vccw: + ssh: {{ vccw.hostname }} diff --git a/provision/site-cookbooks/wpcli/templates/default/index.php.erb b/provision/playbooks/templates/index.php similarity index 86% rename from provision/site-cookbooks/wpcli/templates/default/index.php.erb rename to provision/playbooks/templates/index.php index 1a38379..3e5d155 100644 --- a/provision/site-cookbooks/wpcli/templates/default/index.php.erb +++ b/provision/playbooks/templates/index.php @@ -1,3 +1,4 @@ + /wp-blog-header.php' ); +require( '{{ vccw.wp_siteurl }}/wp-blog-header.php' ); diff --git a/provision/playbooks/templates/mailcatcher b/provision/playbooks/templates/mailcatcher new file mode 100644 index 0000000..18e45a6 --- /dev/null +++ b/provision/playbooks/templates/mailcatcher @@ -0,0 +1,69 @@ +#!/bin/bash +### BEGIN INIT INFO +# Provides: mailcatcher +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +### END INIT INFO + +PID_FILE=/var/run/mailcatcher.pid +NAME=mailcatcher +PROG=/usr/local/bin/mailcatcher +USER=root +GROUP=root + +start() { + echo -n "Starting MailCatcher" + if start-stop-daemon --stop --quiet --pidfile $PID_FILE --signal 0 + then + echo " already running." + exit + fi + start-stop-daemon \ + --start \ + --pidfile $PID_FILE \ + --make-pidfile \ + --background \ + --exec $PROG \ + --user $USER \ + --group $GROUP \ + --chuid $USER \ + -- \ + --foreground \ + --http-ip 0.0.0.0 \ + --no-quit \ + echo "." + return $? +} + +stop() { + echo -n "Stopping MailCatcher" + start-stop-daemon \ + --stop \ + --oknodo \ + --pidfile $PID_FILE + echo "." + return $? +} + +restart() { + stop + start +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart) + restart + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 + ;; +esac diff --git a/provision/site-cookbooks/wpcli/templates/default/multisite.htaccess.erb b/provision/playbooks/templates/multisite-htaccess similarity index 100% rename from provision/site-cookbooks/wpcli/templates/default/multisite.htaccess.erb rename to provision/playbooks/templates/multisite-htaccess diff --git a/provision/playbooks/templates/site.conf b/provision/playbooks/templates/site.conf new file mode 100644 index 0000000..be42e0c --- /dev/null +++ b/provision/playbooks/templates/site.conf @@ -0,0 +1,60 @@ + + ServerName {{ vccw.hostname }} + ServerAlias *.{{ vccw.hostname }} + + DocumentRoot {{ vccw.document_root }} + + EnableSendfile off + + + Options FollowSymLinks + AllowOverride FileInfo Options Limit + Order allow,deny + Allow from all + + + + Options FollowSymLinks + AllowOverride None + + + LogLevel info + ErrorLog /var/log/apache2/{{ vccw.hostname }}-error.log + CustomLog /var/log/apache2/{{ vccw.hostname }}-access.log combined + + RewriteEngine On + + + + + + ServerName {{ vccw.hostname }} + ServerAlias *.{{ vccw.hostname }} + + DocumentRoot {{ vccw.document_root }} + + EnableSendfile off + + + Options FollowSymLinks + AllowOverride FileInfo Options Limit + Order allow,deny + Allow from all + + + + Options FollowSymLinks + AllowOverride None + + + LogLevel info + ErrorLog /var/log/apache2/{{ vccw.hostname }}-error.log + CustomLog /var/log/apache2/{{ vccw.hostname }}-access.log combined + + RewriteEngine On + SSLEngine On + SSLCertificateFile /etc/apache2/ssl/{{ vccw.hostname }}.crt + SSLCertificateKeyFile /etc/apache2/ssl/{{ vccw.hostname }}.key + + + diff --git a/provision/playbooks/templates/vccw.sh b/provision/playbooks/templates/vccw.sh new file mode 100644 index 0000000..f618553 --- /dev/null +++ b/provision/playbooks/templates/vccw.sh @@ -0,0 +1,46 @@ +# +# Environments settings for the VCCW +# + +# For WP-CLI package tests +export WP_CLI_BIN_DIR=/tmp/wp-cli-phar + +# For wp plugin's unit testing +export WP_TESTS_DIR=/tmp/wordpress-tests-lib +export WP_CORE_DIR=/tmp/wordpress/ + +export COMPOSER_HOME=$HOME/.composer +export PATH=$HOME/.composer/vendor/bin:$PATH +export PATH=$HOME/.npm-packages/bin:$PATH + +if which ruby >/dev/null && which gem >/dev/null; then + PATH="$(ruby -rubygems -e 'puts Gem.user_dir')/bin:$PATH" +fi + +if which phpcs >/dev/null; then + alias wpcs="phpcs --standard=WordPress" +fi + +alias makepot="/usr/bin/env php $HOME/.wp-i18n/makepot.php" + +# For wp plugin's unit testing +function install-wp-tests { + set -ex; + + echo 'DROP DATABASE IF EXISTS wordpress_test;' | mysql -u root + + if [ -e /tmp/wordpress ]; then + rm -fr /tmp/wordpress + fi + + if [ -e /tmp/wordpress-tests-lib ]; then + rm -fr /tmp/wordpress-tests-lib + fi + + bash bin/install-wp-tests.sh wordpress_test root 'wordpress' localhost latest; +} + +# For WP-CLI package tests +function install-package-tests { + bash bin/install-package-tests.sh +} diff --git a/provision/playbooks/wordpress.yml b/provision/playbooks/wordpress.yml new file mode 100644 index 0000000..78c2f7e --- /dev/null +++ b/provision/playbooks/wordpress.yml @@ -0,0 +1,178 @@ +- hosts: all + vars: + path: "{{ vccw.document_root }}/{{ vccw.wp_siteurl }}" + + tasks: + + # Database Settings + - name: Create Database + mysql_db: + login_user: root + name: "{{ vccw.db_name }}" + state: present + - name: Create MySQL user + mysql_user: + login_user: root + name: "{{ vccw.db_user }}" + password: "{{ vccw.db_pass }}" + priv: "{{ vccw.db_name }}.*:ALL" + host: "%" + state: present + + # download wordpress + - name: Run `wp core download` + command: | + wp core download + --path={{ path }} + --locale={{ vccw.lang }} + --version={{ vccw.version }} + --force + + # wp-config.php + - name: Delete wp-config.php + file: + state: absent + path: "{{ path }}/wp-config.php" + - name: Create temporary file for extra-php in wp-config.php + template: + src: templates/extra-wp-config.php + dest: "/tmp/extra-wp-config.php" + - name: Run `wp core config` + shell: | + wp core config \ + --path={{ path }} \ + --dbhost={{ vccw.db_host }} \ + --dbname={{ vccw.db_name }} \ + --dbuser={{ vccw.db_user }} \ + --dbpass={{ vccw.db_pass }} \ + --dbprefix={{ vccw.db_prefix }} \ + --locale={{ vccw.lang }} \ + --extra-php < /tmp/extra-wp-config.php + + # Reset Database + - name: Run `wp db reset` + command: wp db reset --yes --path={{ path }} + when: vccw.reset_db_on_provision + + # install wordpress + - name: Run `wp core install` + command: | + wp core install + --path={{ path }} + --url=http://{{ vccw.hostname }}/{{ vccw.wp_siteurl }} + --title='{{ vccw.title }}' + --admin_user={{ vccw.admin_user }} + --admin_password={{ vccw.admin_pass }} + --admin_email={{ vccw.admin_email }} + + - name: Create index.php for wp_siteurl + when: vccw.wp_siteurl != '' + template: + src: templates/index.php + dest: /tmp/index.php + - name: Move index.php for wp_siteurl + when: vccw.wp_siteurl != '' + command: "mv /tmp/index.php {{ vccw.document_root }}/index.php" + + - name: Create `.editorconfig` + template: + src: templates/.editorconfig + dest: /tmp/.editorconfig + - name: Move `.editorconfig` + command: "mv /tmp/.editorconfig {{ vccw.document_root }}/.editorconfig" + + - name: Create `.gitignore` + template: + src: templates/.gitignore + dest: /tmp/.gitignore + - name: Move `.gitignore` + command: "mv /tmp/.gitignore {{ vccw.document_root }}/.gitignore" + + # Install Plugins + - name: Run `wp plugin install` + command: | + wp plugin install {{ item }} + --activate + --path={{ path }} + with_items: "{{ vccw.plugins | default([]) }}" + + # Install Theme + - name: Run `wp theme install` + command: | + wp theme install {{ vccw.theme }} + --path={{ path }} + when: vccw.theme != '' + + # Import Theme Unit Test Data + - name: Run `wp plugin install wordpress-importer` + command: | + wp plugin install wordpress-importer + --activate + --path={{ path }} + when: vccw.theme_unit_test + - name: Download WordPress theme unit test data + when: vccw.theme_unit_test + get_url: + url: "{{ vccw.theme_unit_test_uri }}" + dest: "/tmp/theme-unit-test-data.xml" + - name: Import WordPress theme unit test data + when: vccw.theme_unit_test + command: | + wp import + /tmp/theme-unit-test-data.xml + --authors=create + --path={{ path }} + + # Import Options + - name: Run `wp options update` + command: | + wp option update {{ item.key }} '{{ item.value }}' + --path={{ path }} + with_dict: "{{ vccw.options }}" + + # Setting Permalink + - name: Run `wp rewrite structure` + command: | + wp rewrite structure {{ vccw.rewrite_structure }} + --path={{ path }} + - name: Flush rewrite rules + command: | + wp rewrite flush + --hard + --path={{ path }} + + # multisite Settings + - name: Run `wp core multisite-convert` + when: vccw.multisite + command: | + wp core multisite-convert + --path={{ path }} + - name: Create `.htaccess` for multisite + when: vccw.multisite + template: + src: templates/multisite-htaccess + dest: /tmp/.htaccess + - name: Move `.htaccess` for multisite + when: vccw.multisite + command: "mv /tmp/.htaccess {{ vccw.document_root }}/.htaccess" + - name: Setting up Wordpress multisite options + command: | + wp network meta update 1 {{ item.key }} '{{ item.value }}' + --path={{ path }} + with_dict: "{{ vccw.multisite_options | default({}) }}" + when: vccw.multisite + + # Generate Movefile + - name: Check `wp scaffold movefile` exists. + shell: bash -lc 'wp help scaffold movefile &> /dev/null; echo $?' + register: is_command + - stat: + path: "{{ vccw.vagrant_dir }}/Movefile" + register: is_movefile + - name: Create a Movefile + become: no + shell: /bin/bash -lc "wp scaffold movefile --force" + args: + chdir: "{{ vccw.vagrant_dir }}" + creates: Movefile + when: is_command.stdout == "0" and is_movefile.stat.exists != true diff --git a/provision/site-cookbooks/vccw/attributes/default.rb b/provision/site-cookbooks/vccw/attributes/default.rb deleted file mode 100644 index ef6f381..0000000 --- a/provision/site-cookbooks/vccw/attributes/default.rb +++ /dev/null @@ -1,37 +0,0 @@ -default[:vccw][:composer_home] = '/home/vagrant/.composer' -default[:vccw][:src_path] = '/usr/local/share' -default[:vccw][:makepot] = '/usr/bin/php /usr/local/share/wp-i18n/makepot.php' -default[:vccw][:bash_profile] = '/home/vagrant/.bash_profile' -default[:vccw][:i18ntools_repositry] = 'http://i18n.svn.wordpress.org/tools/trunk/' -default[:vccw][:hatamoto_repository] = 'https://github.com/megumiteam/hatamoto.git' -default[:vccw][:iemoto_repositry] = 'https://github.com/megumiteam/iemoto.git' - -default[:vccw][:phpunit][:src] = 'https://phar.phpunit.de/phpunit.phar' -default[:vccw][:phpunit][:link] = '/usr/local/bin/phpunit' -default[:vccw][:phpunit][:wp_test_install] = '/usr/bin/wp-test-install' - -default[:vccw][:composer][:install] = 'curl -sS https://getcomposer.org/installer | php' -default[:vccw][:composer][:link] = '/usr/local/bin/composer' - -default[:vccw][:phpcs][:composer] = 'squizlabs/php_codesniffer=*' -default[:vccw][:phpcs][:wordpress_repo] = 'https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git' -default[:vccw][:phpcs][:sniffs] = 'wpcs' -default[:vccw][:phpcs][:alias] = 'wpcs' - -default[:vccw][:phpdoc][:composer] = "phpdocumentor/phpdocumentor=2.*" -default[:vccw][:phpmd][:composer] = "phpmd/phpmd=*" - -default[:vccw][:wordmove][:movefile] = '/vagrant/Movefile' -default[:vccw][:wordmove][:url] = 'http://wordpress.local' -default[:vccw][:wordmove][:wpdir] = '/var/www/wordpress' -default[:vccw][:wordmove][:dbhost] = 'localhost' -default[:vccw][:wordmove][:dbname] = 'wordpress' -default[:vccw][:wordmove][:dbuser] = 'wordpress' -default[:vccw][:wordmove][:dbpassword] = 'wordpress' - -default[:vccw][:user] = 'vagrant' -default[:vccw][:group] = 'vagrant' - -default[:vccw][:phpenv][:phpenv_root] = '/usr/local/phpenv' -default[:vccw][:phpenv][:install] = 'curl -L https://raw.github.com/CHH/phpenv/master/bin/phpenv-install.sh | sh' -default[:vccw][:phpenv][:php_version] = 'default' diff --git a/provision/site-cookbooks/vccw/metadata.rb b/provision/site-cookbooks/vccw/metadata.rb deleted file mode 100644 index ef004c1..0000000 --- a/provision/site-cookbooks/vccw/metadata.rb +++ /dev/null @@ -1,2 +0,0 @@ -depends 'ruby_build' -depends 'rbenv' diff --git a/provision/site-cookbooks/vccw/recipes/default.rb b/provision/site-cookbooks/vccw/recipes/default.rb deleted file mode 100644 index 592814d..0000000 --- a/provision/site-cookbooks/vccw/recipes/default.rb +++ /dev/null @@ -1,228 +0,0 @@ -# encoding: utf-8 -# vim: ft=ruby expandtab shiftwidth=2 tabstop=2 - -require 'shellwords' - -packages = %w{gettext subversion npm lftp sshpass sqlite-devel} - -packages.each do |pkg| - package pkg do - action [:install, :upgrade] - end -end - -include_recipe 'ruby_build' -include_recipe 'rbenv::system' -include_recipe 'vccw::phpenv' - -# -# Setup WordPress i18n Tools -# - -subversion "Checkout WordPress i18n tools." do - repository node[:vccw][:i18ntools_repositry] - revision "HEAD" - destination File.join(node[:vccw][:src_path], 'wp-i18n'); - action :sync - user "root" - group "root" -end - -execute "echo 'alias makepot.php=\"#{node[:vccw][:makepot]}\"' >> #{node[:vccw][:bash_profile]}" do - not_if "grep 'alias makepot.php' #{node[:vccw][:bash_profile]}" -end - - -# -# Setup Grunt -# - -execute "npm install -g grunt-init grunt-cli gulp" do - user "root" - group "root" -end - -#execute "gem install sass" do -# user "root" -# group "root" -#end - -directory File.join("/home/", Shellwords.shellescape(node[:vccw][:user]), "/.grunt-init") do - recursive true - user node[:vccw][:user] - group node[:vccw][:group] -end - -git File.join("/home/", Shellwords.shellescape(node[:vccw][:user]), "/.grunt-init/hatamoto") do - repository node[:vccw][:hatamoto_repository] - reference "master" - user node[:vccw][:user] - group node[:vccw][:group] - action :sync -end - -git File.join("/home/", Shellwords.shellescape(node[:vccw][:user]), "/.grunt-init/iemoto") do - repository node[:vccw][:iemoto_repositry] - reference "master" - user node[:vccw][:user] - group node[:vccw][:group] - action :sync -end - -template File.join("/home/", Shellwords.shellescape(node[:vccw][:user]), "/.grunt-init/defaults.json") do - source "defaults.json.erb" - owner node[:vccw][:user] - group node[:vccw][:group] - mode "0600" -end - - -# -# Setup PHPUnit -# - -directory File.join(node[:vccw][:src_path], 'phpunit') do - recursive true -end - -remote_file File.join(node[:vccw][:src_path], 'phpunit/phpunit.phar') do - source node[:vccw][:phpunit][:src] - mode 0755 - action :create_if_missing -end - -link node[:vccw][:phpunit][:link] do - to File.join(node[:vccw][:src_path], 'phpunit/phpunit.phar') -end - -execute "wp-test-install" do - user node[:vccw][:user] - group node[:vccw][:group] - command node[:vccw][:phpunit][:wp_test_install] - action :nothing -end - -template node[:vccw][:phpunit][:wp_test_install] do - source "wp-test-install.sh.erb" - owner node[:vccw][:user] - group node[:vccw][:group] - mode "0755" - notifies :run, "execute[wp-test-install]", :immediately -end - -directory "/tmp/wordpress/wp-content/uploads" do - recursive true -end - -# -# Setup Composer -# - -directory File.join(node[:vccw][:src_path], 'composer') do - recursive true -end - -execute node[:vccw][:composer][:install] do - user "root" - group "root" - cwd File.join(node[:vccw][:src_path], 'composer') -end - -link node[:vccw][:composer][:link] do - to File.join(node[:vccw][:src_path], 'composer/composer.phar') -end - -directory node[:vccw][:composer_home] do - user node[:vccw][:user] - group node[:vccw][:group] - recursive true -end - -execute "phpcs-install" do - user node[:vccw][:user] - group node[:vccw][:group] - environment ({'COMPOSER_HOME' => node[:vccw][:composer_home]}) - command <<-EOH - #{node[:vccw][:composer][:link]} global require #{Shellwords.shellescape(node[:vccw][:phpcs][:composer])} - EOH -end - -directory File.join(node[:vccw][:src_path], node[:vccw][:phpcs][:sniffs]) do - recursive true -end - -git File.join(node[:vccw][:src_path], node[:vccw][:phpcs][:sniffs]) do - repository node[:vccw][:phpcs][:wordpress_repo] - reference "master" - user "root" - group "root" - action :sync -end - -execute "echo 'export PATH=~/.composer/vendor/bin:$PATH' >> #{node[:vccw][:bash_profile]}" do - not_if "grep 'export PATH=~/.composer/vendor/bin:$PATH' #{node[:vccw][:bash_profile]}" -end - -execute "phpcs-set-config" do - user node[:vccw][:user] - group node[:vccw][:group] - command <<-EOH - /home/#{Shellwords.shellescape(node[:vccw][:user])}/.composer/vendor/bin/phpcs --config-set installed_paths #{File.join(node[:vccw][:src_path], node[:vccw][:phpcs][:sniffs])} - EOH -end - -execute "phpcs-add-alias" do - user node[:vccw][:user] - group node[:vccw][:group] - command <<-EOH - echo 'alias #{node[:vccw][:phpcs][:alias]}="phpcs -p -s -v --standard=WordPress-Core"' >> #{node[:vccw][:bash_profile]} - EOH - not_if "grep 'alias #{node[:vccw][:phpcs][:alias]}=' #{node[:vccw][:bash_profile]}" -end - -execute "phpdoc-install" do - user node[:vccw][:user] - group node[:vccw][:group] - environment ({'COMPOSER_HOME' => node[:vccw][:composer_home]}) - command <<-EOH - #{node[:vccw][:composer][:link]} global require #{Shellwords.shellescape(node[:vccw][:phpdoc][:composer])} - EOH -end - -execute "phpmd-install" do - user node[:vccw][:user] - group node[:vccw][:group] - environment ({'COMPOSER_HOME' => node[:vccw][:composer_home]}) - command <<-EOH - #{node[:vccw][:composer][:link]} global require #{Shellwords.shellescape(node[:vccw][:phpmd][:composer])} - EOH -end - -# Generate Movefile -template node[:vccw][:wordmove][:movefile] do - source "Movefile.erb" - owner node[:vccw][:user] - group node[:vccw][:group] - mode "0600" - variables( - :url => node[:vccw][:wordmove][:url].sub(/\/$/, ''), - :wpdir => node[:vccw][:wordmove][:wpdir].sub(/\/$/, ''), - :dbhost => node[:vccw][:wordmove][:dbhost], - :dbname => node[:vccw][:wordmove][:dbname], - :dbuser => node[:vccw][:wordmove][:dbuser], - :dbpassword => node[:vccw][:wordmove][:dbpassword] - ) - action :create_if_missing -end - -# Generate Banner -template "/etc/motd" do - source "motd.erb" - owner "root" - group "root" - mode "0644" - variables( - :version => node[:vccw][:version] - ) - action :create -end diff --git a/provision/site-cookbooks/vccw/recipes/phpenv.rb b/provision/site-cookbooks/vccw/recipes/phpenv.rb deleted file mode 100644 index cf3bbff..0000000 --- a/provision/site-cookbooks/vccw/recipes/phpenv.rb +++ /dev/null @@ -1,114 +0,0 @@ -# encoding: utf-8 -# vim: ft=ruby expandtab shiftwidth=2 tabstop=2 - -require 'shellwords' - -if /^[0-9]/ =~ node[:vccw][:phpenv][:php_version].to_s - - execute node[:vccw][:phpenv][:install] do - user "root" - group "root" - environment ({ - 'PHPENV_ROOT' => node[:vccw][:phpenv][:phpenv_root] - }) - not_if { ::File.exists?(node[:vccw][:phpenv][:phpenv_root]) } - end - - execute node[:vccw][:phpenv][:install] do - user "root" - group "root" - environment ({ - 'PHPENV_ROOT' => node[:vccw][:phpenv][:phpenv_root], - 'UPDATE' => 'yes' - }) - only_if { ::File.exists?(node[:vccw][:phpenv][:phpenv_root]) } - end - - template "/etc/profile.d/phpenv.sh" do - source "phpenv.sh.erb" - owner "root" - group "root" - mode "0755" - variables( - :phpenv_root => node[:vccw][:phpenv][:phpenv_root] - ) - action :create_if_missing - end - - directory File.join(node[:vccw][:phpenv][:phpenv_root], "/shims") do - recursive true - owner "root" - group "root" - mode "0755" - action :create - end - - directory File.join(node[:vccw][:phpenv][:phpenv_root], "/versions") do - recursive true - owner "root" - group "root" - mode "0755" - action :create - end - - directory File.join(node[:vccw][:phpenv][:phpenv_root], "/plugins") do - recursive true - owner "root" - group "root" - mode "0755" - action :create - end - - git File.join(node[:vccw][:phpenv][:phpenv_root], "/plugins/php-build") do - repository "https://github.com/php-build/php-build.git" - reference "master" - user "root" - group "root" - action :sync - end - - template File.join(node[:vccw][:phpenv][:phpenv_root], "/plugins/php-build/share/php-build/default_configure_options") do - source "default_configure_options.erb" - owner "root" - group "root" - mode "0755" - action :create - end - - execute "install-php" do - user "root" - group "root" - command <<-EOF - rm -fr /tmp/php-build* - #{File.join(node[:vccw][:phpenv][:phpenv_root], '/bin/phpenv')} install #{Shellwords.shellescape(node[:vccw][:phpenv][:php_version].to_s)} - #{File.join(node[:vccw][:phpenv][:phpenv_root], '/bin/phpenv')} global #{Shellwords.shellescape(node[:vccw][:phpenv][:php_version].to_s)} - #{File.join(node[:vccw][:phpenv][:phpenv_root], '/bin/phpenv')} rehash - EOF - environment ({ - 'PHPENV_ROOT' => node[:vccw][:phpenv][:phpenv_root] - }) - returns [0, 1] - notifies :restart, "service[apache2]" - end - - template File.join(node[:vccw][:phpenv][:phpenv_root], 'versions/', node[:vccw][:phpenv][:php_version].to_s, '/etc/conf.d/vccw.ini') do - source "vccw.ini.erb" - owner "root" - group "root" - mode "0644" - variables(:directives => node['php']['directives']) - notifies :restart, "service[apache2]" - end - - template "/etc/sudoers.d/phpenv" do - source "sudoers.erb" - owner "root" - group "root" - mode "0400" - variables( - :phpenv_root => node[:vccw][:phpenv][:phpenv_root] - ) - action :create - end - -end diff --git a/provision/site-cookbooks/vccw/templates/default/Movefile.erb b/provision/site-cookbooks/vccw/templates/default/Movefile.erb deleted file mode 100644 index 6a232f4..0000000 --- a/provision/site-cookbooks/vccw/templates/default/Movefile.erb +++ /dev/null @@ -1,59 +0,0 @@ -local: - vhost: "<%= @url %>" - wordpress_path: "<%= @wpdir %>" - - database: - name: "<%= @dbname %>" - user: "<%= @dbuser %>" - password: "<%= @dbpassword %>" - host: "<%= @dbhost %>" - -staging: - vhost: "http://example.com" - wordpress_path: "/var/www/your_site" # use an absolute path here - - database: - name: "database_name" - user: "user" - password: "password" - host: "localhost" - charset: "utf8" - - exclude: - - ".git/" - - ".gitignore" - - ".sass-cache/" - - "bin/" - - "tmp/*" - - "Gemfile*" - - "Movefile" - - "wp-config.php" - - "wp-content/*.sql" - - # paths: # you can customize wordpress internal paths - # wp_content: "wp-content" - # uploads: "wp-content/uploads" - # plugins: "wp-content/plugins" - # themes: "wp-content/themes" - # languages: "wp-content/languages" - # themes: "wp-content/themes" - - # ssh: - # host: "host" - # user: "user" - # password: "password" # password is optional, will use public keys if available. - # port: 22 # Port is optional - # rsync_options: "--verbose" # Additional rsync options, optional - # gateway: # Gateway is optional - # host: "host" - # user: "user" - # password: "password" # password is optional, will use public keys if available. - - # ftp: - # user: "user" - # password: "password" - # host: "host" - # passive: true - -# production: # multiple environments can be specified -# [...] diff --git a/provision/site-cookbooks/vccw/templates/default/default_configure_options.erb b/provision/site-cookbooks/vccw/templates/default/default_configure_options.erb deleted file mode 100644 index ee8900b..0000000 --- a/provision/site-cookbooks/vccw/templates/default/default_configure_options.erb +++ /dev/null @@ -1,33 +0,0 @@ ---without-pear ---with-gd ---enable-sockets ---with-jpeg-dir=/usr ---with-png-dir=/usr ---enable-exif ---enable-zip ---with-zlib ---with-zlib-dir=/usr ---with-kerberos ---with-openssl ---with-mcrypt=/usr ---enable-soap ---enable-xmlreader ---with-xsl ---enable-ftp ---enable-cgi ---with-curl=/usr ---with-tidy ---with-xmlrpc ---enable-sysvsem ---enable-sysvshm ---enable-shmop ---with-mysql=mysqlnd ---with-mysqli=mysqlnd ---with-pdo-mysql=mysqlnd ---with-mysql-sock=/var/lib/mysql/mysql.sock ---with-pdo-sqlite ---enable-pcntl ---with-readline ---enable-mbstring ---enable-bcmath ---with-apxs2=/usr/sbin/apxs diff --git a/provision/site-cookbooks/vccw/templates/default/defaults.json.erb b/provision/site-cookbooks/vccw/templates/default/defaults.json.erb deleted file mode 100644 index 6f1bfe5..0000000 --- a/provision/site-cookbooks/vccw/templates/default/defaults.json.erb +++ /dev/null @@ -1,11 +0,0 @@ -{ - "description": "This is a awesome cool theme.", - "contributor": "", - "homepage": "https://example.com/", - "author_name": "", - "author_url": "https://example.com/", - "repository_type": "git", - "repository_url": "", - "license": "GPLv2", - "license_uri": "http://www.gnu.org/licenses/gpl-2.0.html" -} diff --git a/provision/site-cookbooks/vccw/templates/default/motd.erb b/provision/site-cookbooks/vccw/templates/default/motd.erb deleted file mode 100644 index 46df24a..0000000 --- a/provision/site-cookbooks/vccw/templates/default/motd.erb +++ /dev/null @@ -1,16 +0,0 @@ - ___ ___ ___ - ___ / /\ / /\ /__/\ - /__/\ / /:/ / /:/ _\_ \:\ - \ \:\ / /:/ / /:/ /__/\ \:\ - \ \:\ / /:/ ___ / /:/ ___ _\_ \:\ \:\ - ___ \__\:\ /__/:/ / /\ /__/:/ / /\ /__/\ \:\ \:\ - /__/\ | |:| \ \:\ / /:/ \ \:\ / /:/ \ \:\ \:\/:/ - \ \:\| |:| \ \:\ /:/ \ \:\ /:/ \ \:\ \::/ - \ \:\__|:| \ \:\/:/ \ \:\/:/ \ \:\/:/ - \__\::::/ \ \::/ \ \::/ \ \::/ - ~~~~ \__\/ \__\/ \__\/ - -http://vccw.cc/ - -Initial code by Takayuki Miyauchi. -https://github.com/miya0001 diff --git a/provision/site-cookbooks/vccw/templates/default/phpenv.sh.erb b/provision/site-cookbooks/vccw/templates/default/phpenv.sh.erb deleted file mode 100644 index 86f705c..0000000 --- a/provision/site-cookbooks/vccw/templates/default/phpenv.sh.erb +++ /dev/null @@ -1,6 +0,0 @@ -# encoding: utf-8 -# vim: ft=ruby expandtab shiftwidth=2 tabstop=2 - -export PHPENV_ROOT="<%= @phpenv_root %>" -export PATH="${PHPENV_ROOT}/bin:$PATH" -eval "$(phpenv init -)" diff --git a/provision/site-cookbooks/vccw/templates/default/sudoers.erb b/provision/site-cookbooks/vccw/templates/default/sudoers.erb deleted file mode 100644 index 365dd45..0000000 --- a/provision/site-cookbooks/vccw/templates/default/sudoers.erb +++ /dev/null @@ -1 +0,0 @@ -Defaults secure_path = <%= @phpenv_root %>/shims:<%= @phpenv_root %>/bin:/sbin:/bin:/usr/sbin:/usr/bin diff --git a/provision/site-cookbooks/vccw/templates/default/vccw.ini.erb b/provision/site-cookbooks/vccw/templates/default/vccw.ini.erb deleted file mode 100644 index 0d3078b..0000000 --- a/provision/site-cookbooks/vccw/templates/default/vccw.ini.erb +++ /dev/null @@ -1,3 +0,0 @@ -<% @directives.sort_by { |key, val| key }.each do |directive, value| -%> -<%= "#{directive}=\"#{value}\"" %> -<% end -%> diff --git a/provision/site-cookbooks/vccw/templates/default/wp-test-install.sh.erb b/provision/site-cookbooks/vccw/templates/default/wp-test-install.sh.erb deleted file mode 100644 index 8995647..0000000 --- a/provision/site-cookbooks/vccw/templates/default/wp-test-install.sh.erb +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/env bash - -set -ex; - -DB_NAME='wordpress_test' -DB_USER='root' -DB_PASS='wordpress' -DB_HOST='localhost' -WP_VERSION='latest' - -echo "DROP DATABASE IF EXISTS $DB_NAME;" | mysql -u root -p$DB_PASS - -if [ -e /tmp/wordpress ]; then - sudo rm -fr /tmp/wordpress -fi - -if [ -e /tmp/wordpress-tests-lib ]; then - sudo rm -fr /tmp/wordpress-tests-lib -fi - -if [ -e /tmp/wordpress.tar.gz ]; then - sudo rm -fr /tmp/wordpress.tar.gz -fi - -WP_TESTS_DIR=${WP_TESTS_DIR-/tmp/wordpress-tests-lib} -WP_CORE_DIR=${WP_CORE_DIR-/tmp/wordpress/} - -set -ex - -install_wp() { - mkdir -p $WP_CORE_DIR - - if [ $WP_VERSION == 'latest' ]; then - local ARCHIVE_NAME='latest' - else - local ARCHIVE_NAME="wordpress-$WP_VERSION" - fi - - wget -nv -O /tmp/wordpress.tar.gz https://wordpress.org/${ARCHIVE_NAME}.tar.gz - tar --strip-components=1 -zxmf /tmp/wordpress.tar.gz -C $WP_CORE_DIR - - wget -nv -O $WP_CORE_DIR/wp-content/db.php https://raw.github.com/markoheijnen/wp-mysqli/master/db.php -} - -install_test_suite() { - # portable in-place argument for both GNU sed and Mac OSX sed - if [[ $(uname -s) == 'Darwin' ]]; then - local ioption='-i .bak' - else - local ioption='-i' - fi - - # set up testing suite - mkdir -p $WP_TESTS_DIR - cd $WP_TESTS_DIR - svn co --quiet https://develop.svn.wordpress.org/trunk/tests/phpunit/includes/ - - wget -nv -O wp-tests-config.php https://develop.svn.wordpress.org/trunk/wp-tests-config-sample.php - sed $ioption "s:dirname( __FILE__ ) . '/src/':'$WP_CORE_DIR':" wp-tests-config.php - sed $ioption "s/youremptytestdbnamehere/$DB_NAME/" wp-tests-config.php - sed $ioption "s/yourusernamehere/$DB_USER/" wp-tests-config.php - sed $ioption "s/yourpasswordhere/$DB_PASS/" wp-tests-config.php - sed $ioption "s|localhost|${DB_HOST}|" wp-tests-config.php -} - -install_db() { - # parse DB_HOST for port or socket references - local PARTS=(${DB_HOST//\:/ }) - local DB_HOSTNAME=${PARTS[0]}; - local DB_SOCK_OR_PORT=${PARTS[1]}; - local EXTRA="" - - if ! [ -z $DB_HOSTNAME ] ; then - if [ $(echo $DB_SOCK_OR_PORT | grep -e '^[0-9]\{1,\}$') ]; then - EXTRA=" --host=$DB_HOSTNAME --port=$DB_SOCK_OR_PORT --protocol=tcp" - elif ! [ -z $DB_SOCK_OR_PORT ] ; then - EXTRA=" --socket=$DB_SOCK_OR_PORT" - elif ! [ -z $DB_HOSTNAME ] ; then - EXTRA=" --host=$DB_HOSTNAME --protocol=tcp" - fi - fi - - # create database - mysqladmin create $DB_NAME --user="$DB_USER" --password="$DB_PASS"$EXTRA -} - -install_wp -install_test_suite -install_db diff --git a/provision/site-cookbooks/wpcli/attributes/default.rb b/provision/site-cookbooks/wpcli/attributes/default.rb deleted file mode 100644 index 227950b..0000000 --- a/provision/site-cookbooks/wpcli/attributes/default.rb +++ /dev/null @@ -1,59 +0,0 @@ -# -# Cookbook Name:: wpcli -# Attributes:: default -# -# Author:: Takayuki Miyauchi -# License: MIT -# - -# default[:wpcli][:wpcli-dir] = '/usr/local/share/wpcli' -# default[:wpcli][:wpcli-link] = '/usr/local/bin/wp' -# default[:wpcli][:installer] = 'https://raw.github.com/wpcli/builds/gh-pages/phar/wpcli.phar' - -default[:wpcli][:config_path] = '/home/vagrant/.wp-cli/config.yml' -default[:wpcli][:user] = 'vagrant' -default[:wpcli][:group] = 'vagrant' - -default[:wpcli][:dir] = '/usr/share/wp-cli' -default[:wpcli][:link] = '/usr/local/bin/wp' - -default[:wpcli][:locale] = "" -default[:wpcli][:wp_version] = "latest" - -default[:wpcli][:wp_host] = "wordpress.local" -default[:wpcli][:wp_home] = "" -default[:wpcli][:wp_siteurl] = "" -default[:wpcli][:wp_docroot] = "/var/www/wordpress" -default[:wpcli][:title] = "Welcome to the WordPress" - -default[:wpcli][:dbhost] = "localhost" -default[:wpcli][:dbname] = "wordpress" -default[:wpcli][:dbuser] = "wordpress" -default[:wpcli][:dbpassword] = "wordpress" -default[:wpcli][:dbprefix] = "wp_" - -default[:wpcli][:admin_user] = "admin" -default[:wpcli][:admin_password] = "admin" -default[:wpcli][:admin_email] = "vagrant@example.com" - -default[:wpcli][:default_plugins] = [] -default[:wpcli][:default_theme] = '' - -default[:wpcli][:is_multisite] = false -default[:wpcli][:debug_mode] = false -default[:wpcli][:savequeries] = false - -default[:wpcli][:theme_unit_test] = true -default[:wpcli][:theme_unit_test_data_url] = 'https://wpcom-themes.svn.automattic.com/demo/theme-unit-test-data.xml' -default[:wpcli][:theme_unit_test_data] = '/tmp/theme-unit-test-data.xml' - -default[:wpcli][:gitignore_url] = 'https://raw.githubusercontent.com/github/gitignore/master/WordPress.gitignore' -default[:wpcli][:gitignore] = '/var/www/wordpress/.gitignore' - -default[:wpcli][:is_multisite] = false -default[:wpcli][:force_ssl_admin] = false -default[:wpcli][:always_reset] = true - -default[:wpcli][:options] = {} -default[:wpcli][:multisite_options] = {} -default[:wpcli][:rewrite_structure] = '/archives/%post_id%' diff --git a/provision/site-cookbooks/wpcli/metadata.rb b/provision/site-cookbooks/wpcli/metadata.rb deleted file mode 100644 index baa6ff4..0000000 --- a/provision/site-cookbooks/wpcli/metadata.rb +++ /dev/null @@ -1,4 +0,0 @@ -depends 'yum' -depends 'mysql' -depends 'php' -depends 'apache2' diff --git a/provision/site-cookbooks/wpcli/recipes/default.rb b/provision/site-cookbooks/wpcli/recipes/default.rb deleted file mode 100644 index 7dd5986..0000000 --- a/provision/site-cookbooks/wpcli/recipes/default.rb +++ /dev/null @@ -1,59 +0,0 @@ -# encoding: utf-8 -# vim: ft=ruby expandtab shiftwidth=2 tabstop=2 - -require 'shellwords' - -include_recipe "yum::remi" -include_recipe 'php::package' - -packages = %w{git subversion zip unzip kernel-devel gcc perl make jq httpd-devel libxml2-devel libcurl-devel libjpeg-turbo-devel libpng-devel giflib-devel gd-devel libmcrypt-devel sqlite-devel libtidy-devel libxslt-devel} - -packages.each do |pkg| - package pkg do - action [:install, :upgrade] - end -end - -git node[:wpcli][:dir] do - repository "https://github.com/wp-cli/builds.git" - action :sync -end - -bin = ::File.join(node[:wpcli][:dir], 'phar', 'wp-cli.phar') -file bin do - mode '0755' - action :create -end - -link node[:wpcli][:link] do - to bin -end - -directory File.join("/home/", Shellwords.shellescape(node[:wpcli][:user]), "/.wp-cli") do - recursive true - owner node[:wpcli][:user] - group node[:wpcli][:group] -end - -directory File.join("/home/", Shellwords.shellescape(node[:wpcli][:user]), "/.wp-cli/commands") do - recursive true - owner node[:wpcli][:user] - group node[:wpcli][:group] -end - -template File.join("/home/", Shellwords.shellescape(node[:wpcli][:user]), "/.wp-cli/config.yml") do - source "config.yml.erb" - owner node[:wpcli][:user] - group node[:wpcli][:group] - mode "0644" - variables( - :docroot => File.join(node[:wpcli][:wp_docroot], node[:wpcli][:wp_siteurl]) - ) -end - -git File.join("/home/", Shellwords.shellescape(node[:wpcli][:user]), "/.wp-cli/commands/dictator") do - repository "https://github.com/danielbachhuber/dictator.git" - user node[:wpcli][:user] - group node[:wpcli][:group] - action :sync -end diff --git a/provision/site-cookbooks/wpcli/recipes/install.rb b/provision/site-cookbooks/wpcli/recipes/install.rb deleted file mode 100644 index 5ce1fdc..0000000 --- a/provision/site-cookbooks/wpcli/recipes/install.rb +++ /dev/null @@ -1,295 +0,0 @@ -# encoding: utf-8 -# vim: ft=ruby expandtab shiftwidth=2 tabstop=2 - -require 'shellwords' - -include_recipe 'apache2' -include_recipe 'apache2::mod_php5' -include_recipe 'apache2::mod_ssl' -include_recipe 'mysql::server' -include_recipe 'mysql::ruby' - -service "iptables" do - supports :status => true, :restart => true - action [:disable, :stop] -end - -execute "mysql-install-wp-privileges" do - command "/usr/bin/mysql -u root -p\"#{node[:mysql][:server_root_password]}\" < #{node[:mysql][:conf_dir]}/wp-grants.sql" - action :nothing -end - -template File.join(node[:mysql][:conf_dir], '/wp-grants.sql') do - source "grants.sql.erb" - owner node[:wpcli][:user] - group node[:wpcli][:group] - mode "0600" - variables( - :user => node[:wpcli][:dbuser], - :password => node[:wpcli][:dbpassword], - :database => node[:wpcli][:dbname] - ) - notifies :run, "execute[mysql-install-wp-privileges]", :immediately -end - - -execute "create wordpress database" do - command "/usr/bin/mysqladmin -u root -p\"#{node[:mysql][:server_root_password]}\" create #{node[:wpcli][:dbname]}" - not_if do - # Make sure gem is detected if it was just installed earlier in this recipe - require 'rubygems' - Gem.clear_paths - require 'mysql' - m = Mysql.new("localhost", "root", node[:mysql][:server_root_password]) - m.list_dbs.include?(node[:wpcli][:dbname]) - end - notifies :create, "ruby_block[save node data]", :immediately unless Chef::Config[:solo] -end - - -directory File.join(node[:wpcli][:wp_docroot], node[:wpcli][:wp_home]) do - recursive true - owner node[:wpcli][:user] - group node[:wpcli][:group] -end - - -bash "wordpress-core-download" do - user node[:wpcli][:user] - group node[:wpcli][:group] - if node[:wpcli][:wp_version] == 'latest' then - code <<-EOH -WP_CLI_CONFIG_PATH=#{Shellwords.shellescape(node[:wpcli][:config_path])} wp core download \\ ---path=#{File.join(node[:wpcli][:wp_docroot], node[:wpcli][:wp_siteurl])} \\ ---locale=#{Shellwords.shellescape(node[:wpcli][:locale])} \\ ---force - EOH - elsif node[:wpcli][:wp_version] =~ %r{^http(s)?://.*?\.zip$} - code <<-EOH - cd /tmp && wget -O ./download.zip #{Shellwords.shellescape(node[:wpcli][:wp_version])} && unzip -d /var/www/ ./download.zip && rm ./download.zip - EOH - else - code <<-EOH -WP_CLI_CONFIG_PATH=#{Shellwords.shellescape(node[:wpcli][:config_path])} wp core download \\ ---path=#{File.join(node[:wpcli][:wp_docroot], node[:wpcli][:wp_siteurl])} \\ ---locale=#{Shellwords.shellescape(node[:wpcli][:locale])} \\ ---version=#{Shellwords.shellescape(node[:wpcli][:wp_version].to_s)} \\ ---force - EOH - end -end - - -file File.join(node[:wpcli][:wp_docroot], node[:wpcli][:wp_siteurl], "wp-config.php") do - action :delete - backup false -end - - -bash "wordpress-core-config" do - user node[:wpcli][:user] - group node[:wpcli][:group] - cwd File.join(node[:wpcli][:wp_docroot], node[:wpcli][:wp_siteurl]) - code <<-EOH - WP_CLI_CONFIG_PATH=#{Shellwords.shellescape(node[:wpcli][:config_path])} wp core config \\ - --dbhost=#{Shellwords.shellescape(node[:wpcli][:dbhost])} \\ - --dbname=#{Shellwords.shellescape(node[:wpcli][:dbname])} \\ - --dbuser=#{Shellwords.shellescape(node[:wpcli][:dbuser])} \\ - --dbpass=#{Shellwords.shellescape(node[:wpcli][:dbpassword])} \\ - --dbprefix=#{Shellwords.shellescape(node[:wpcli][:dbprefix])} \\ - --locale=#{Shellwords.shellescape(node[:wpcli][:locale])} \\ - --extra-php < File.join(node[:wpcli][:wp_docroot], node[:wpcli][:wp_siteurl]) - ) - end - end -end - - -if node[:wpcli][:locale] == 'ja' then - bash "wordpress-plugin-ja-install" do - user node[:wpcli][:user] - group node[:wpcli][:group] - cwd File.join(node[:wpcli][:wp_docroot], node[:wpcli][:wp_siteurl]) - code "WP_CLI_CONFIG_PATH=#{Shellwords.shellescape(node[:wpcli][:config_path])} wp plugin activate wp-multibyte-patch" - end -end - -node[:wpcli][:default_plugins].each do |plugin| - bash "WordPress #{plugin} install" do - user node[:wpcli][:user] - group node[:wpcli][:group] - cwd File.join(node[:wpcli][:wp_docroot], node[:wpcli][:wp_siteurl]) - code "WP_CLI_CONFIG_PATH=#{Shellwords.shellescape(node[:wpcli][:config_path])} wp plugin install #{Shellwords.shellescape(plugin)} --activate" - end -end - -if node[:wpcli][:default_theme] != '' then - bash "WordPress #{node[:wpcli][:default_theme]} install" do - user node[:wpcli][:user] - group node[:wpcli][:group] - cwd File.join(node[:wpcli][:wp_docroot], node[:wpcli][:wp_siteurl]) - code "WP_CLI_CONFIG_PATH=#{Shellwords.shellescape(node[:wpcli][:config_path])} wp theme install #{Shellwords.shellescape(node[:wpcli][:default_theme])} --activate" - end -end - - -if node[:wpcli][:theme_unit_test] == true then - remote_file node[:wpcli][:theme_unit_test_data] do - source node[:wpcli][:theme_unit_test_data_url] - mode 0644 - action :create - end - - bash "Import theme unit test data" do - user node[:wpcli][:user] - group node[:wpcli][:group] - cwd File.join(node[:wpcli][:wp_docroot], node[:wpcli][:wp_siteurl]) - code "WP_CLI_CONFIG_PATH=#{Shellwords.shellescape(node[:wpcli][:config_path])} wp plugin install wordpress-importer --activate" - end - - bash "Import theme unit test data" do - user node[:wpcli][:user] - group node[:wpcli][:group] - cwd File.join(node[:wpcli][:wp_docroot], node[:wpcli][:wp_siteurl]) - code "WP_CLI_CONFIG_PATH=#{Shellwords.shellescape(node[:wpcli][:config_path])} wp import --authors=create #{Shellwords.shellescape(node[:wpcli][:theme_unit_test_data])}" - end -end - - -node[:wpcli][:options].each do |key, value| - bash "Setting up WordPress option #{key}" do - user node[:wpcli][:user] - group node[:wpcli][:group] - cwd File.join(node[:wpcli][:wp_docroot], node[:wpcli][:wp_siteurl]) - code "WP_CLI_CONFIG_PATH=#{Shellwords.shellescape(node[:wpcli][:config_path])} wp option update #{Shellwords.shellescape(key.to_s)} #{Shellwords.shellescape(value.to_s)}" - end -end - - -if node[:wpcli][:rewrite_structure] then - bash "Setting up rewrite rules" do - user node[:wpcli][:user] - group node[:wpcli][:group] - cwd File.join(node[:wpcli][:wp_docroot], node[:wpcli][:wp_siteurl]) - code "WP_CLI_CONFIG_PATH=#{Shellwords.shellescape(node[:wpcli][:config_path])} wp rewrite structure #{Shellwords.shellescape(node[:wpcli][:rewrite_structure])}" - end - - bash "Flush rewrite rules" do - user node[:wpcli][:user] - group node[:wpcli][:group] - cwd File.join(node[:wpcli][:wp_docroot], node[:wpcli][:wp_siteurl]) - code "WP_CLI_CONFIG_PATH=#{Shellwords.shellescape(node[:wpcli][:config_path])} wp rewrite flush --hard" - end -end - - -if node[:wpcli][:is_multisite] == true then - bash "Setup multisite" do - user node[:wpcli][:user] - group node[:wpcli][:group] - cwd File.join(node[:wpcli][:wp_docroot], node[:wpcli][:wp_siteurl]) - code "WP_CLI_CONFIG_PATH=#{Shellwords.shellescape(node[:wpcli][:config_path])} wp core multisite-convert" - end - - template File.join(node[:wpcli][:wp_docroot], node[:wpcli][:wp_home], '.htaccess') do - source "multisite.htaccess.erb" - owner node[:wpcli][:user] - group node[:wpcli][:group] - mode "0644" - end - - node[:wpcli][:multisite_options].each do |key, value| - bash "Setting up Wordpress multisite option #{key}" do - user node[:wpcli][:user] - group node[:wpcli][:group] - cwd File.join(node[:wpcli][:wp_docroot], node[:wpcli][:wp_siteurl]) - code "WP_CLI_CONFIG_PATH=#{Shellwords.shellescape(node[:wpcli][:config_path])} wp network meta update 1 #{Shellwords.shellescape(key.to_s)} #{Shellwords.shellescape(value.to_s)}" - end - end -end - -template File.join(node[:wpcli][:wp_docroot], node[:wpcli][:wp_home], '.gitignore') do - source "gitignore.erb" - owner node[:wpcli][:user] - group node[:wpcli][:group] - mode "0644" - action :create_if_missing - variables( - :siteurl => File.join(node[:wpcli][:wp_siteurl], '/'), - ) -end - -apache_site "000-default" do - enable false -end - -web_app "wordpress" do - template "wordpress.conf.erb" - docroot node[:wpcli][:wp_docroot] - server_name node[:fqdn] -end - -bash "create-ssl-keys" do - user "root" - group "root" - cwd File.join(node[:apache][:dir], 'ssl') - code <<-EOH - openssl genrsa -out server.key 2048 - openssl req -new -key server.key -sha256 -subj '/C=JP/ST=Wakayama/L=Kushimoto/O=My Corporate/CN=#{node[:fqdn]}' -out server.csr - openssl x509 -in server.csr -days 365 -req -signkey server.key > server.crt - EOH - notifies :restart, "service[apache2]" -end - -template File.join( node[:wpcli][:wp_docroot], ".editorconfig" ) do - source "editorconfig.erb" - owner node[:wpcli][:user] - group node[:wpcli][:group] - mode "0644" - action :create_if_missing -end diff --git a/provision/site-cookbooks/wpcli/templates/default/config.yml.erb b/provision/site-cookbooks/wpcli/templates/default/config.yml.erb deleted file mode 100644 index 764fae4..0000000 --- a/provision/site-cookbooks/wpcli/templates/default/config.yml.erb +++ /dev/null @@ -1,5 +0,0 @@ -path: <%= @docroot %> -apache_modules: - - mod_rewrite -require: - - commands/dictator/dictator.php diff --git a/provision/site-cookbooks/wpcli/templates/default/gitignore.erb b/provision/site-cookbooks/wpcli/templates/default/gitignore.erb deleted file mode 100644 index 26decab..0000000 --- a/provision/site-cookbooks/wpcli/templates/default/gitignore.erb +++ /dev/null @@ -1,12 +0,0 @@ -.htaccess -sitemap.xml -sitemap.xml.gz -<%= @siteurl %>wp-config.php -<%= @siteurl %>wp-content/advanced-cache.php -<%= @siteurl %>wp-content/backup-db/ -<%= @siteurl %>wp-content/backups/ -<%= @siteurl %>wp-content/blogs.dir/ -<%= @siteurl %>wp-content/cache/ -<%= @siteurl %>wp-content/upgrade/ -<%= @siteurl %>wp-content/uploads/ -<%= @siteurl %>wp-content/wp-cache-config.php diff --git a/provision/site-cookbooks/wpcli/templates/default/grants.sql.erb b/provision/site-cookbooks/wpcli/templates/default/grants.sql.erb deleted file mode 100644 index 197a79f..0000000 --- a/provision/site-cookbooks/wpcli/templates/default/grants.sql.erb +++ /dev/null @@ -1,5 +0,0 @@ -GRANT ALL ON <%= @database %>.* TO '<%= @user %>'@'%' IDENTIFIED BY '<%= @password %>'; -GRANT ALL ON <%= @database %>.* TO '<%= @user %>'@'<%= node['fqdn'] %>' IDENTIFIED BY '<%= @password %>'; -GRANT ALL ON <%= @database %>.* TO '<%= @user %>'@'localhost' IDENTIFIED BY '<%= @password %>'; - -FLUSH PRIVILEGES; diff --git a/provision/site-cookbooks/wpcli/templates/default/wordpress.conf.erb b/provision/site-cookbooks/wpcli/templates/default/wordpress.conf.erb deleted file mode 100644 index 9e25bdd..0000000 --- a/provision/site-cookbooks/wpcli/templates/default/wordpress.conf.erb +++ /dev/null @@ -1,63 +0,0 @@ - - ServerName <%= @params[:server_name] %> - DocumentRoot <%= @params[:docroot] %> - - EnableSendfile off - - > - Options FollowSymLinks - AllowOverride FileInfo Options Limit - Order allow,deny - Allow from all - - - - Options FollowSymLinks - AllowOverride None - - - LogLevel info - ErrorLog <%= node['apache']['log_dir'] %>/<%= @params[:name] %>-error.log - CustomLog <%= node['apache']['log_dir'] %>/<%= @params[:name] %>-access.log combined - - RewriteEngine On - RewriteLog <%= node['apache']['log_dir'] %>/<%= @application_name %>-rewrite.log - RewriteLogLevel 0 - - - - - - - - ServerName <%= @params[:server_name] %> - DocumentRoot <%= @params[:docroot] %> - - > - Options FollowSymLinks - AllowOverride FileInfo Options Limit - Order allow,deny - Allow from all - - - - Options FollowSymLinks - AllowOverride None - - - LogLevel info - ErrorLog <%= node['apache']['log_dir'] %>/<%= @params[:name] %>-error.log - CustomLog <%= node['apache']['log_dir'] %>/<%= @params[:name] %>-access.log combined - - RewriteEngine On - RewriteLog <%= node['apache']['log_dir'] %>/<%= @application_name %>-rewrite.log - RewriteLogLevel 0 - - SSLEngine On - SSLCertificateFile /etc/httpd/ssl/server.crt - SSLCertificateKeyFile /etc/httpd/ssl/server.key - - - - -