deprec 2.1.19 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. data/CHANGELOG +11 -1
  2. data/{README → README.md} +33 -68
  3. data/bin/hosts.rb +44 -0
  4. data/docs/nagios.txt +28 -0
  5. data/lib/deprec/capistrano_extensions.rb +21 -32
  6. data/lib/deprec/recipes/apache.rb +54 -73
  7. data/lib/deprec/recipes/deprec.rb +30 -48
  8. data/lib/deprec/recipes/git.rb +2 -85
  9. data/lib/deprec/recipes/haproxy.rb +3 -11
  10. data/lib/deprec/recipes/mri.rb +23 -40
  11. data/lib/deprec/recipes/mysql.rb +6 -23
  12. data/lib/deprec/recipes/nagios.rb +2 -17
  13. data/lib/deprec/recipes/nagios3.rb +180 -0
  14. data/lib/deprec/recipes/network.rb +60 -28
  15. data/lib/deprec/recipes/nrpe.rb +82 -0
  16. data/lib/deprec/recipes/passenger.rb +15 -12
  17. data/lib/deprec/recipes/postgresql.rb +2 -2
  18. data/lib/deprec/recipes/rack.rb +44 -0
  19. data/lib/deprec/recipes/rails.rb +10 -32
  20. data/lib/deprec/recipes/ree.rb +27 -18
  21. data/lib/deprec/recipes/rubygems.rb +29 -0
  22. data/lib/deprec/recipes/sqlite.rb +1 -1
  23. data/lib/deprec/recipes/ssh.rb +1 -0
  24. data/lib/deprec/recipes/svn.rb +1 -160
  25. data/lib/deprec/recipes/users.rb +19 -16
  26. data/lib/deprec/recipes_minus_rails.rb +39 -36
  27. data/lib/deprec/templates/apache/CHANGES.txt +11 -0
  28. data/lib/deprec/templates/mysql/my.cnf.erb +21 -31
  29. data/lib/deprec/templates/{nagios → nagios.old}/README +0 -0
  30. data/lib/deprec/templates/nagios.old/apache_vhost.erb +25 -0
  31. data/lib/deprec/templates/{nagios → nagios.old}/cgi.cfg.erb +0 -0
  32. data/lib/deprec/templates/nagios.old/check_linux_free_memory.pl +118 -0
  33. data/lib/deprec/templates/{nagios → nagios.old}/check_mongrel_cluster.rb +0 -0
  34. data/lib/deprec/templates/nagios.old/htpasswd.users +1 -0
  35. data/lib/deprec/templates/{nagios → nagios.old}/mrtg.cfg +0 -0
  36. data/lib/deprec/templates/{nagios → nagios.old}/nagios.cfg.erb +0 -0
  37. data/lib/deprec/templates/{nagios → nagios.old}/nrpe.cfg.erb +0 -0
  38. data/lib/deprec/templates/{nagios → nagios.old}/nrpe.xinetd.erb +0 -0
  39. data/lib/deprec/templates/{nagios → nagios.old}/objects/commands.cfg.erb +0 -0
  40. data/lib/deprec/templates/{nagios → nagios.old}/objects/contacts.cfg.erb +0 -0
  41. data/lib/deprec/templates/{nagios → nagios.old}/objects/hosts.cfg.erb +0 -0
  42. data/lib/deprec/templates/{nagios → nagios.old}/objects/localhost.cfg.erb +0 -0
  43. data/lib/deprec/templates/{nagios → nagios.old}/objects/services.cfg.erb +0 -0
  44. data/lib/deprec/templates/{nagios → nagios.old}/objects/timeperiods.cfg.erb +0 -0
  45. data/lib/deprec/templates/{nagios → nagios.old}/resource.cfg.erb +0 -0
  46. data/lib/deprec/templates/nagios/apache2.conf +55 -0
  47. data/lib/deprec/templates/nagios/cgi.cfg +25 -0
  48. data/lib/deprec/templates/nagios/commands.cfg +52 -0
  49. data/lib/deprec/templates/nagios/conf.d/contacts_nagios2.cfg +23 -0
  50. data/lib/deprec/templates/nagios/conf.d/extinfo_nagios2.cfg +13 -0
  51. data/lib/deprec/templates/nagios/conf.d/generic-host_nagios2.cfg +19 -0
  52. data/lib/deprec/templates/nagios/conf.d/generic-service_nagios2.cfg +26 -0
  53. data/lib/deprec/templates/nagios/conf.d/hostgroups_nagios2.cfg +48 -0
  54. data/lib/deprec/templates/nagios/conf.d/hosts/localhost_nagios2.cfg +59 -0
  55. data/lib/deprec/templates/nagios/conf.d/services_nagios2.cfg +45 -0
  56. data/lib/deprec/templates/nagios/conf.d/timeperiods_nagios2.cfg +50 -0
  57. data/lib/deprec/templates/nagios/host_template.erb +6 -0
  58. data/lib/deprec/templates/nagios/htpasswd.users +1 -1
  59. data/lib/deprec/templates/nagios/nagios.cfg +1326 -0
  60. data/lib/deprec/templates/nagios/nrpe.cfg +28 -0
  61. data/lib/deprec/templates/nagios/resource.cfg +31 -0
  62. data/lib/deprec/templates/passenger/apache_vhost.erb +2 -2
  63. data/lib/deprec/templates/passenger/logrotate.conf.erb +1 -1
  64. data/lib/deprec/templates/passenger/passenger.conf.erb +12 -11
  65. data/lib/deprec/templates/passenger/passenger.load.erb +1 -1
  66. metadata +43 -42
  67. data/lib/deprec/recipes/wordpress.rb +0 -96
@@ -0,0 +1,29 @@
1
+ # Copyright by Mike Bailey. All rights reserved.
2
+ Capistrano::Configuration.instance(:must_exist).load do
3
+
4
+ namespace :deprec do
5
+ namespace :rubygems do
6
+
7
+ SRC_PACKAGES[:rubygems] = {
8
+ :md5sum => "b5badb7c5adda38d9866fa21ae46bbcc rubygems-1.4.2.tgz",
9
+ :url => "http://rubyforge.org/frs/download.php/73882/rubygems-1.4.2.tgz",
10
+ :configure => "",
11
+ :make => "",
12
+ :install => 'ruby setup.rb; exit 0;' # rubygems 1.4.2 is a bit broken http://bit.ly/k1IfUa
13
+ }
14
+
15
+ desc "Install Rubygems"
16
+ task :install do
17
+ deprec2.download_src(SRC_PACKAGES[:rubygems])
18
+ deprec2.install_from_src(SRC_PACKAGES[:rubygems])
19
+ end
20
+
21
+ desc "Upgrade to the latest version of Rubygems"
22
+ task :update_system do
23
+ gem2.update_system
24
+ end
25
+
26
+ end
27
+ end
28
+
29
+ end
@@ -36,7 +36,7 @@ Capistrano::Configuration.instance(:must_exist).load do
36
36
  # We need these stubs for deprec:rails:setup_database
37
37
  end
38
38
 
39
- desc "Grant user access to Database"
39
+ # "Grant user access to Database"
40
40
  task :grant_user_access_to_database do
41
41
  # Not needed for sqlite
42
42
  # We need these stubs for deprec:rails:setup_database
@@ -20,6 +20,7 @@ Capistrano::Configuration.instance(:must_exist).load do
20
20
  :owner => 'root:root'}
21
21
  ]
22
22
 
23
+ desc "Generate SSH config files locally"
23
24
  task :config_gen do
24
25
  SYSTEM_CONFIG_FILES[:ssh].each do |file|
25
26
  deprec2.render_template(:ssh, file)
@@ -1,171 +1,12 @@
1
1
  # Copyright 2006-2008 by Mike Bailey. All rights reserved.
2
- require 'fileutils'
3
- require 'uri'
4
-
5
- # http://svnbook.red-bean.com/en/1.4/svn-book.html#svn.serverconfig.choosing.apache
6
-
7
2
  Capistrano::Configuration.instance(:must_exist).load do
8
3
  namespace :deprec do
9
4
  namespace :svn do
10
5
 
11
- set :scm_group, 'scm'
12
-
13
- # Extract svn attributes from :repository URL
14
- #
15
- # Two examples of :repository entries are:
16
- #
17
- # set :repository, 'svn+ssh://scm.deprecated.org/var/svn/deprec/trunk'
18
- # set :repository, 'file:///tmp/svn/deprec/trunk'
19
- #
20
- # This has only been tested with svn+ssh but file: should work.
21
- #
22
- set (:svn_scheme) { URI.parse(repository).scheme }
23
- set (:svn_host) { URI.parse(repository).host }
24
- set (:repos_path) { URI.parse(repository).path }
25
- set (:repos_root) {
26
- URI.parse(repository).path.sub(/\/(trunk|tags|branches)$/, '')
27
- }
28
-
29
- # account name to perform actions on (such as granting access to an account)
30
- # this is a hack to allow us to optionally pass a variable to tasks
31
- set (:svn_account) do
32
- Capistrano::CLI.ui.ask 'account name'
33
- end
34
-
35
- set(:svn_backup_dir) { File.join(backup_dir, 'svn') }
36
-
37
6
  desc "Install Subversion"
38
7
  task :install do
39
8
  install_deps
40
- # XXX should really check if apache has already been installed
41
- # XXX can do that when we move to rake
42
- # deprec2.download_src(src_package, src_dir)
43
- # deprec2.install_from_src(src_package, src_dir)
44
- end
45
-
46
- desc "install dependencies for Subversion"
47
- task :install_deps do
48
- apt.install( {:base => %w(subversion)}, :stable )
49
- # XXX deprec1 - was building from source to get subversion-1.4.5 onto dapper. Compiled swig bindings for trac
50
- # apt.install( {:base => %w(build-essential wget libneon25 libneon25-dev swig python-dev libexpat1-dev)}, :stable )
51
- end
52
-
53
- desc "grant a user access to svn repos"
54
- task :grant_user_access, :roles => :scm do
55
- # creates account, scm_group and adds account to group
56
- deprec2.useradd(svn_account)
57
- deprec2.groupadd(scm_group)
58
- deprec2.add_user_to_group(svn_account, scm_group)
59
- end
60
-
61
- desc "Create subversion repository and import project into it"
62
- task :setup, :roles => :scm do
63
- create_repos
64
- import
65
- end
66
-
67
- desc "Create a subversion repository"
68
- task :create_repos, :roles => :scm do
69
- set :svn_account, top.user
70
- grant_user_access
71
- deprec2.mkdir(repos_root, :mode => 02775, :group => scm_group, :via => :sudo)
72
- sudo "svnadmin verify #{repos_root} > /dev/null 2>&1 || sudo svnadmin create #{repos_root}"
73
- sudo "chmod -R g+w #{repos_root}"
74
- end
75
-
76
- # Adapted from code in Bradley Taylors RailsMachine gem
77
- desc "Import project into subversion repository."
78
- task :import, :roles => :scm do
79
- new_path = "../#{application}"
80
- tags = repository.sub("trunk", "tags")
81
- branches = repository.sub("trunk", "branches")
82
- puts "Adding branches and tags"
83
- system "svn mkdir -m 'Adding tags and branches directories' #{tags} #{branches}"
84
- puts "Importing application."
85
- system "svn import #{repository} -m 'Import'"
86
- cwd = Dir.getwd
87
- puts "Moving application to new directory"
88
- Dir.chdir '../'
89
- system "mv #{cwd} #{cwd}.imported"
90
- puts "Checking out application."
91
- system "svn co #{repository} #{application}"
92
- Dir.chdir application
93
- remove_log_and_tmp
94
- puts "Your repository is: #{repository}"
95
- end
96
-
97
- # Lifted from Bradley Taylors RailsMachine gem
98
- desc "remove and ignore log files and tmp from subversion"
99
- task :remove_log_and_tmp, :roles => :scm do
100
- puts "removing log directory contents from svn"
101
- system "svn remove log/*"
102
- puts "ignoring log directory"
103
- system "svn propset svn:ignore '*.log' log/"
104
- system "svn update log/"
105
- puts "removing contents of tmp sub-directorys from svn"
106
- system "svn remove tmp/cache/*"
107
- system "svn remove tmp/pids/*"
108
- system "svn remove tmp/sessions/*"
109
- system "svn remove tmp/sockets/*"
110
- puts "ignoring tmp directory"
111
- system "svn propset svn:ignore '*' tmp/cache"
112
- system "svn propset svn:ignore '*' tmp/pids"
113
- system "svn propset svn:ignore '*' tmp/sessions"
114
- system "svn propset svn:ignore '*' tmp/sockets"
115
- system "svn update tmp/"
116
- puts "committing changes"
117
- system "svn commit -m 'Removed and ignored log files and tmp'"
118
- end
119
-
120
- # desc "Cache svn name and password on the server. Useful for http-based repositories."
121
- task :cache_credentials do
122
- run_with_input "svn list #{repository}"
123
- end
124
-
125
- desc "create backup of trac repository"
126
- task :backup, :roles => :scm do
127
- # http://svnbook.red-bean.com/nightly/en/svn.reposadmin.maint.html#svn.reposadmin.maint.backup
128
- # XXX do we need this? insane!
129
- # echo "REPOS_BASE=/var/svn" > ~/.svntoolsrc
130
- DATE=`date +%Y%m%d-%a`
131
-
132
- timestamp = Time.now.strftime("%Y%m%d-%a")
133
- deprec2.mkdir(svn_backup_dir, :owner => :root, :group => :deploy, :mode => 0775, :via => :sudo)
134
- dest_dir = File.join(svn_backup_dir, "#{application}_#{timestamp}")
135
- sudo "svnadmin hotcopy #{repos_root} #{dest_dir}"
136
9
  end
137
-
138
- task :restore, :roles => :scm do
139
- # prompt user to select from list of locally stored backups
140
- # tracd_stop
141
- # copy out backup
142
- end
143
-
144
-
145
- # XXX TODO
146
- # desc "backup repository"
147
- # task :svn_backup_respository, :roles => :scm do
148
- # puts "read http://svnbook.red-bean.com/nightly/en/svn-book.html#svn.reposadmin.maint.backup"
149
- # end
150
-
151
- end
10
+ end
152
11
  end
153
12
  end
154
-
155
- # svnserve setup
156
- # I've previously used ssh exclusively I've decided svnserve is a reasonable choice for collaboration on open source projects.
157
- # It's easier to setup than apache/ssl webdav access.
158
- #
159
- # sudo useradd svn
160
- # sudo mkdir -p /var/svn/deprec_svnserve_root
161
- # sudo ln -sf /var/www/apps/deprec/repos /var/svn/deprec_svnserve_root/deprec
162
- # sudo chown -R svn /var/svn/deprec_svnserve_root/deprec
163
-
164
- #
165
- # XXX put password file into svn and command to push it
166
- #
167
- # # run svnserve
168
- # sudo -u svn svnserve --daemon --root /var/svn/deprec_svnserve_root
169
- #
170
- # # check it out now
171
- # svn co svn://scm.deprecated.org/deprec/trunk deprec
@@ -3,25 +3,14 @@ Capistrano::Configuration.instance(:must_exist).load do
3
3
  namespace :deprec do
4
4
  namespace :users do
5
5
 
6
- set(:users_target_user) { Capistrano::CLI.ui.ask "Enter userid for new user" do |q| q.default = current_user; end }
6
+ set(:users_target_user) { Capistrano::CLI.ui.ask "Enter userid" do |q| q.default = current_user; end }
7
7
  set(:users_target_group) { Capistrano::CLI.ui.ask "Enter group name for new user" do |q| q.default = 'deploy'; end }
8
8
  set(:users_make_admin) { Capistrano::CLI.ui.ask "Should this be an admin account?" do |q| q.default = 'no'; end }
9
9
 
10
10
  desc "Create account"
11
11
  task :add do
12
- [users_target_user, users_target_group, users_make_admin] # get input
13
-
14
- while true do
15
- new_password = Capistrano::CLI.ui.ask("Enter new password for #{users_target_user}") { |q| q.echo = false }
16
- password_conf = Capistrano::CLI.ui.ask("Re-enter new password for #{users_target_user}") { |q| q.echo = false }
17
- if new_password != password_conf
18
- puts "Fail. Passwords do not match.\n\n"
19
- elsif new_password.chomp == ""
20
- puts "Fail. Passwords cannot be empty.\n\n"
21
- else
22
- break
23
- end
24
- end
12
+ [users_target_user, users_make_admin] # get input
13
+ new_password = get_new_password
25
14
 
26
15
  # Grab a list of all users with keys
27
16
  if users_target_user == 'all'
@@ -47,8 +36,7 @@ Capistrano::Configuration.instance(:must_exist).load do
47
36
 
48
37
  desc "Change user password"
49
38
  task :passwd do
50
- new_password = Capistrano::CLI.ui.ask("Enter new password for #{users_target_user}") { |q| q.echo = false }
51
-
39
+ new_password = get_new_password
52
40
  deprec2.invoke_with_input("passwd #{users_target_user}", /UNIX password/, new_password)
53
41
  end
54
42
 
@@ -63,6 +51,21 @@ Capistrano::Configuration.instance(:must_exist).load do
63
51
  add
64
52
  end
65
53
 
54
+ def get_new_password
55
+ while true do
56
+ new_password = Capistrano::CLI.ui.ask("Enter new password for #{users_target_user}") { |q| q.echo = false }
57
+ password_conf = Capistrano::CLI.ui.ask("Re-enter new password for #{users_target_user}") { |q| q.echo = false }
58
+ if new_password != password_conf
59
+ puts "Fail. Passwords do not match.\n\n"
60
+ elsif new_password.chomp == ""
61
+ puts "Fail. Passwords cannot be empty.\n\n"
62
+ else
63
+ break
64
+ end
65
+ end
66
+ new_password
67
+ end
68
+
66
69
  end
67
70
  end
68
71
  end
@@ -6,61 +6,64 @@ require "#{File.dirname(__FILE__)}/recipes/canonical"
6
6
  require "#{File.dirname(__FILE__)}/recipes/deprec"
7
7
  require "#{File.dirname(__FILE__)}/recipes/deprecated"
8
8
 
9
- # require "#{File.dirname(__FILE__)}/recipes/chef"
10
- require "#{File.dirname(__FILE__)}/recipes/ec2"
11
- require "#{File.dirname(__FILE__)}/recipes/vmware_tools"
9
+ # Updated for deprec3
12
10
 
13
- require "#{File.dirname(__FILE__)}/recipes/mongrel"
14
- require "#{File.dirname(__FILE__)}/recipes/passenger"
15
- require "#{File.dirname(__FILE__)}/recipes/mysql"
16
- require "#{File.dirname(__FILE__)}/recipes/postgresql"
17
- require "#{File.dirname(__FILE__)}/recipes/sqlite"
18
- require "#{File.dirname(__FILE__)}/recipes/couchdb"
11
+ require "#{File.dirname(__FILE__)}/recipes/users"
12
+ require "#{File.dirname(__FILE__)}/recipes/network"
19
13
  require "#{File.dirname(__FILE__)}/recipes/mri"
20
14
  require "#{File.dirname(__FILE__)}/recipes/ree"
21
- require "#{File.dirname(__FILE__)}/recipes/apache"
22
- require "#{File.dirname(__FILE__)}/recipes/nginx"
23
-
24
- require "#{File.dirname(__FILE__)}/recipes/bash"
15
+ require "#{File.dirname(__FILE__)}/recipes/rack"
16
+ require "#{File.dirname(__FILE__)}/recipes/rubygems"
17
+ require "#{File.dirname(__FILE__)}/recipes/nagios3"
18
+ require "#{File.dirname(__FILE__)}/recipes/nrpe"
25
19
  require "#{File.dirname(__FILE__)}/recipes/git"
26
- # require "#{File.dirname(__FILE__)}/recipes/gitosis"
27
20
  require "#{File.dirname(__FILE__)}/recipes/svn"
28
- # require "#{File.dirname(__FILE__)}/recipes/integrity"
29
21
 
30
- require "#{File.dirname(__FILE__)}/recipes/users"
31
- require "#{File.dirname(__FILE__)}/recipes/ssh"
32
- require "#{File.dirname(__FILE__)}/recipes/php"
33
- # require "#{File.dirname(__FILE__)}/recipes/scm/trac"
22
+ # To be updated for deprec3
34
23
 
35
- require "#{File.dirname(__FILE__)}/recipes/aoe"
24
+ require "#{File.dirname(__FILE__)}/recipes/ssh"
25
+ require "#{File.dirname(__FILE__)}/recipes/passenger"
26
+ require "#{File.dirname(__FILE__)}/recipes/mysql"
27
+ require "#{File.dirname(__FILE__)}/recipes/postgresql"
28
+ require "#{File.dirname(__FILE__)}/recipes/apache"
29
+ require "#{File.dirname(__FILE__)}/recipes/haproxy"
30
+ require "#{File.dirname(__FILE__)}/recipes/heartbeat"
31
+ require "#{File.dirname(__FILE__)}/recipes/monit"
32
+ require "#{File.dirname(__FILE__)}/recipes/collectd"
33
+ require "#{File.dirname(__FILE__)}/recipes/ubuntu"
36
34
 
37
- require "#{File.dirname(__FILE__)}/recipes/xen"
38
- require "#{File.dirname(__FILE__)}/recipes/xentools"
35
+ # To be decided...
39
36
 
37
+ require "#{File.dirname(__FILE__)}/recipes/ec2"
38
+ require "#{File.dirname(__FILE__)}/recipes/vmware_tools"
39
+ require "#{File.dirname(__FILE__)}/recipes/mongrel"
40
+ require "#{File.dirname(__FILE__)}/recipes/sqlite"
41
+ require "#{File.dirname(__FILE__)}/recipes/nginx"
42
+ require "#{File.dirname(__FILE__)}/recipes/bash"
43
+ require "#{File.dirname(__FILE__)}/recipes/php"
44
+ require "#{File.dirname(__FILE__)}/recipes/aoe"
40
45
  require "#{File.dirname(__FILE__)}/recipes/ddclient"
41
46
  require "#{File.dirname(__FILE__)}/recipes/ntp"
42
47
  require "#{File.dirname(__FILE__)}/recipes/logrotate"
43
48
  require "#{File.dirname(__FILE__)}/recipes/ssl"
44
-
45
49
  require "#{File.dirname(__FILE__)}/recipes/postfix"
46
50
  require "#{File.dirname(__FILE__)}/recipes/memcache"
47
- require "#{File.dirname(__FILE__)}/recipes/monit"
48
- require "#{File.dirname(__FILE__)}/recipes/network"
49
- require "#{File.dirname(__FILE__)}/recipes/nagios"
50
- require "#{File.dirname(__FILE__)}/recipes/collectd"
51
51
  require "#{File.dirname(__FILE__)}/recipes/syslog"
52
52
  require "#{File.dirname(__FILE__)}/recipes/syslog_ng"
53
53
  require "#{File.dirname(__FILE__)}/recipes/stunnel"
54
- require "#{File.dirname(__FILE__)}/recipes/heartbeat"
55
- require "#{File.dirname(__FILE__)}/recipes/haproxy"
56
-
57
- require "#{File.dirname(__FILE__)}/recipes/ubuntu"
58
54
  require "#{File.dirname(__FILE__)}/recipes/lvm"
59
55
  require "#{File.dirname(__FILE__)}/recipes/vnstat"
60
- require "#{File.dirname(__FILE__)}/recipes/sphinx"
61
56
  require "#{File.dirname(__FILE__)}/recipes/utils"
57
+
58
+ # Retired recipes
59
+ #
60
+ # require "#{File.dirname(__FILE__)}/recipes/integrity"
61
+ # require "#{File.dirname(__FILE__)}/recipes/xen"
62
+ # require "#{File.dirname(__FILE__)}/recipes/xentools"
63
+ # require "#{File.dirname(__FILE__)}/recipes/scm/trac"
64
+ # require "#{File.dirname(__FILE__)}/recipes/sphinx"
62
65
  # require "#{File.dirname(__FILE__)}/recipes/apt_mirror"
63
- # require "#{File.dirname(__FILE__)}/recipes/wordpress" Not working
64
- require "#{File.dirname(__FILE__)}/recipes/wpmu"
65
- require "#{File.dirname(__FILE__)}/recipes/ar_sendmail"
66
- require "#{File.dirname(__FILE__)}/recipes/starling"
66
+ # require "#{File.dirname(__FILE__)}/recipes/wpmu"
67
+ # require "#{File.dirname(__FILE__)}/recipes/ar_sendmail"
68
+ # require "#{File.dirname(__FILE__)}/recipes/starling"
69
+ # require "#{File.dirname(__FILE__)}/recipes/couchdb"
@@ -0,0 +1,11 @@
1
+ apache2.conf
2
+ - natty uses relative paths for things like "Include ports.conf"
3
+
4
+ envvars
5
+ - natty adds stuff
6
+
7
+ mods-available/info.conf # and some others
8
+ - natty uses variable for path prefix
9
+
10
+ mods-available/mime.conf
11
+ - natty changes language list
@@ -32,14 +32,19 @@ nice = 0
32
32
  #
33
33
  # * Basic Settings
34
34
  #
35
+
36
+ #
37
+ # * IMPORTANT
38
+ # If you make changes to these settings and your system uses apparmor, you may
39
+ # also need to also adjust /etc/apparmor.d/usr.sbin.mysqld.
40
+ #
41
+
35
42
  user = mysql
36
- pid-file = /var/run/mysqld/mysqld.pid
37
43
  socket = /var/run/mysqld/mysqld.sock
38
44
  port = 3306
39
45
  basedir = /usr
40
46
  datadir = /var/lib/mysql
41
47
  tmpdir = /tmp
42
- language = /usr/share/mysql/english
43
48
  skip-external-locking
44
49
  #
45
50
  # Instead of skip-networking the default is now to listen only on
@@ -50,25 +55,30 @@ bind-address = 127.0.0.1
50
55
  #
51
56
  key_buffer = 16M
52
57
  max_allowed_packet = 16M
53
- thread_stack = 128K
54
- thread_cache_size = 8
58
+ thread_stack = 192K
59
+ thread_cache_size = 8
60
+ # This replaces the startup script and checks MyISAM tables if needed
61
+ # the first time they are touched
62
+ myisam-recover = BACKUP
55
63
  #max_connections = 100
56
64
  #table_cache = 64
57
65
  #thread_concurrency = 10
58
66
  #
59
67
  # * Query Cache Configuration
60
68
  #
61
- query_cache_limit = 1M
69
+ query_cache_limit = 1M
62
70
  query_cache_size = 16M
63
71
  #
64
72
  # * Logging and Replication
65
73
  #
66
74
  # Both location gets rotated by the cronjob.
67
75
  # Be aware that this log type is a performance killer.
68
- #log = /var/log/mysql/mysql.log
69
- #
70
- # Error logging goes to syslog. This is a Debian improvement :)
71
- #
76
+ # As of 5.1 you can enable the log at runtime!
77
+ #general_log_file = /var/log/mysql/mysql.log
78
+ #general_log = 1
79
+
80
+ log_error = /var/log/mysql/error.log
81
+
72
82
  # Here you can see queries with especially long duration
73
83
  #log_slow_queries = /var/log/mysql/mysql-slow.log
74
84
  #long_query_time = 2
@@ -78,24 +88,16 @@ query_cache_size = 16M
78
88
  # note: if you are setting up a replication slave, see README.Debian about
79
89
  # other settings you may need to change.
80
90
  #server-id = 1
81
- log_bin = /var/log/mysql/mysql-bin.log
82
- # WARNING: Using expire_logs_days without bin_log crashes the server! See README.Debian!
91
+ #log_bin = /var/log/mysql/mysql-bin.log
83
92
  expire_logs_days = 10
84
93
  max_binlog_size = 100M
85
94
  #binlog_do_db = include_database_name
86
95
  #binlog_ignore_db = include_database_name
87
96
  #
88
- # * BerkeleyDB
89
- #
90
- # Using BerkeleyDB is now discouraged as its support will cease in 5.1.12.
91
- skip-bdb
92
- #
93
97
  # * InnoDB
94
98
  #
95
99
  # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
96
100
  # Read the manual for more InnoDB related options. There are many!
97
- # You might want to disable InnoDB to shrink the mysqld process by circa 100MB.
98
- #skip-innodb
99
101
  #
100
102
  # * Security Features
101
103
  #
@@ -121,20 +123,8 @@ max_allowed_packet = 16M
121
123
  [isamchk]
122
124
  key_buffer = 16M
123
125
 
124
- #
125
- # * NDB Cluster
126
- #
127
- # See /usr/share/doc/mysql-server-*/README.Debian for more information.
128
- #
129
- # The following configuration is read by the NDB Data Nodes (ndbd processes)
130
- # not from the NDB Management Nodes (ndb_mgmd processes).
131
- #
132
- # [MYSQL_CLUSTER]
133
- # ndb-connectstring=127.0.0.1
134
-
135
-
136
126
  #
137
127
  # * IMPORTANT: Additional settings that can override those from this file!
128
+ # The files must end with '.cnf', otherwise they'll be ignored.
138
129
  #
139
130
  !includedir /etc/mysql/conf.d/
140
-