vm/chef/cookbooks/dokuwiki/recipes/default.rb (60 lines of code) (raw):

# Copyright 2023 Google 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. apt_update 'update' do action :update retries 5 retry_delay 30 end package 'install_packages' do package_name ['ca-certificates', 'curl'] retries 5 retry_delay 30 action :install end include_recipe 'apache2' include_recipe 'apache2::rm-index' include_recipe 'apache2::security-config' include_recipe 'php81' include_recipe 'php81::module_libapache2' include_recipe 'php81::module_xml' include_recipe 'dokuwiki::ospo' bash 'Download key' do user 'root' code <<-EOH curl -L -o /usr/share/keyrings/php-sury.org.gpg https://packages.sury.org/php/apt.gpg EOH end # Restart Apache2 to have php modules enabled and active. service 'apache2' do action :restart end # Download, untar and mark as owned by www-data all files of DokuWiki. remote_file '/tmp/dokuwiki.tgz' do source "https://github.com/dokuwiki/dokuwiki/releases/download/release-#{node['dokuwiki']['download_version']}/dokuwiki-#{node['dokuwiki']['download_version']}.tgz" action :create end bash 'untar_dokuwiki_tar' do user 'root' cwd '/var/www/html' code <<-EOH tar xzf /tmp/dokuwiki.tgz -C . --strip-components 1 chown -R www-data:www-data . cp conf/acl.auth.php.dist conf/acl.auth.php EOH end # Local users provider. It contains usernames and passwords, # full names, emails and groups template '/var/www/html/conf/users.auth.php.template' do source 'users.auth.php.erb' owner 'www-data' group 'www-data' mode '0644' end # Presence of this file prevents installation page from showing by default. template '/var/www/html/conf/local.php' do source 'local.php.erb' owner 'www-data' group 'www-data' mode '0644' end # Add additional configuration for www site template '/etc/apache2/sites-available/dokuwiki.conf' do source 'dokuwiki.conf.erb' end execute 'a2ensite dokuwiki' # Post deployment configuration - custom admin password c2d_startup_script 'dokuwiki' do source 'dokuwiki' action :cookbook_file end