FiXato-ubuntu-machine 0.5.3.2.2 → 0.5.3.2.3

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.
@@ -19,4 +19,6 @@ Capistrano::Configuration.instance.load {load("#{File.dirname(__FILE__)}/ubuntu-
19
19
  Capistrano::Configuration.instance.load {load("#{File.dirname(__FILE__)}/ubuntu-machine/postfix.rb")}
20
20
  Capistrano::Configuration.instance.load {load("#{File.dirname(__FILE__)}/ubuntu-machine/ruby.rb")}
21
21
  Capistrano::Configuration.instance.load {load("#{File.dirname(__FILE__)}/ubuntu-machine/ssh.rb")}
22
- Capistrano::Configuration.instance.load {load("#{File.dirname(__FILE__)}/ubuntu-machine/utils.rb")}
22
+ Capistrano::Configuration.instance.load {load("#{File.dirname(__FILE__)}/ubuntu-machine/tmpfs.rb")}
23
+ Capistrano::Configuration.instance.load {load("#{File.dirname(__FILE__)}/ubuntu-machine/utils.rb")}
24
+ Capistrano::Configuration.instance.load {load("#{File.dirname(__FILE__)}/ubuntu-machine/vsftpd.rb")}
@@ -123,4 +123,13 @@ namespace :apache do
123
123
  sudo "a2enmod deflate"
124
124
  force_reload
125
125
  end
126
+
127
+ desc "Install mod-xsendfile"
128
+ task :install_mod_xsendfile, :roles => :web do
129
+ run "wget http://tn123.ath.cx/mod_xsendfile/mod_xsendfile-0.9.tar.gz -O mod_xsendfile-0.9.tar.gz"
130
+ run "tar -xzf mod_xsendfile-0.9.tar.gz"
131
+ sudo "mkdir -p /usr/local/src"
132
+ sudo "mv mod_xsendfile-0.9* /usr/local/src/"
133
+ sudo "apxs2 -cia /usr/local/src/mod_xsendfile-0.9/mod_xsendfile.c"
134
+ end
126
135
  end
@@ -60,5 +60,14 @@ namespace :ssh do
60
60
  sudo "/etc/init.d/ssh reload"
61
61
  end
62
62
 
63
+ desc <<-DESC
64
+ Upload a default SSH config.
65
+ DESC
66
+ task :upload_ssh_config, :roles => :gateway do
67
+ run "mkdir -p ~/.ssh"
68
+ run "chown -R #{user}:#{user} ~/.ssh"
69
+ run "chmod 700 ~/.ssh"
70
+ put File.read(ssh_config), "./.ssh/config", :mode => 0600
71
+ end
63
72
 
64
73
  end
@@ -0,0 +1,158 @@
1
+ # Example config file /etc/vsftpd.conf
2
+ #
3
+ # The default compiled in settings are fairly paranoid. This sample file
4
+ # loosens things up a bit, to make the ftp daemon more usable.
5
+ # Please see vsftpd.conf.5 for all compiled in defaults.
6
+ #
7
+ # READ THIS: This example file is NOT an exhaustive list of vsftpd options.
8
+ # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
9
+ # capabilities.
10
+ #
11
+ #
12
+ # Run standalone? vsftpd can run either from an inetd or as a standalone
13
+ # daemon started from an initscript.
14
+ #listen=YES
15
+ #
16
+ # Run standalone with IPv6?
17
+ # Like the listen parameter, except vsftpd will listen on an IPv6 socket
18
+ # instead of an IPv4 one. This parameter and the listen parameter are mutually
19
+ # exclusive.
20
+ #listen_ipv6=YES
21
+ #
22
+ # Allow anonymous FTP? (Beware - allowed by default if you comment this out).
23
+ #anonymous_enable=YES
24
+ #
25
+ # Uncomment this to allow local users to log in.
26
+ #local_enable=YES
27
+ #
28
+ # Uncomment this to enable any form of FTP write command.
29
+ #write_enable=YES
30
+ #
31
+ # Default umask for local users is 077. You may wish to change this to 022,
32
+ # if your users expect that (022 is used by most other ftpd's)
33
+ #local_umask=022
34
+ #
35
+ # Uncomment this to allow the anonymous FTP user to upload files. This only
36
+ # has an effect if the above global write enable is activated. Also, you will
37
+ # obviously need to create a directory writable by the FTP user.
38
+ #anon_upload_enable=YES
39
+ #
40
+ # Uncomment this if you want the anonymous FTP user to be able to create
41
+ # new directories.
42
+ #anon_mkdir_write_enable=YES
43
+ #
44
+ # Activate directory messages - messages given to remote users when they
45
+ # go into a certain directory.
46
+ #dirmessage_enable=YES
47
+ #
48
+ # Activate logging of uploads/downloads.
49
+ #xferlog_enable=YES
50
+ #
51
+ # Make sure PORT transfer connections originate from port 20 (ftp-data).
52
+ #connect_from_port_20=YES
53
+ #
54
+ # If you want, you can arrange for uploaded anonymous files to be owned by
55
+ # a different user. Note! Using "root" for uploaded files is not
56
+ # recommended!
57
+ #chown_uploads=YES
58
+ #chown_username=whoever
59
+ #
60
+ # You may override where the log file goes if you like. The default is shown
61
+ # below.
62
+ #xferlog_file=/var/log/vsftpd.log
63
+ #
64
+ # If you want, you can have your log file in standard ftpd xferlog format
65
+ #xferlog_std_format=YES
66
+ #
67
+ # You may change the default value for timing out an idle session.
68
+ #idle_session_timeout=600
69
+ #
70
+ # You may change the default value for timing out a data connection.
71
+ #data_connection_timeout=120
72
+ #
73
+ # It is recommended that you define on your system a unique user which the
74
+ # ftp server can use as a totally isolated and unprivileged user.
75
+ #nopriv_user=ftpsecure
76
+ #
77
+ # Enable this and the server will recognise asynchronous ABOR requests. Not
78
+ # recommended for security (the code is non-trivial). Not enabling it,
79
+ # however, may confuse older FTP clients.
80
+ #async_abor_enable=YES
81
+ #
82
+ # By default the server will pretend to allow ASCII mode but in fact ignore
83
+ # the request. Turn on the below options to have the server actually do ASCII
84
+ # mangling on files when in ASCII mode.
85
+ # Beware that on some FTP servers, ASCII support allows a denial of service
86
+ # attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd
87
+ # predicted this attack and has always been safe, reporting the size of the
88
+ # raw file.
89
+ # ASCII mangling is a horrible feature of the protocol.
90
+ #ascii_upload_enable=YES
91
+ #ascii_download_enable=YES
92
+ #
93
+ # You may fully customise the login banner string:
94
+ #ftpd_banner=Welcome to blah FTP service.
95
+ #
96
+ # You may specify a file of disallowed anonymous e-mail addresses. Apparently
97
+ # useful for combatting certain DoS attacks.
98
+ #deny_email_enable=YES
99
+ # (default follows)
100
+ #banned_email_file=/etc/vsftpd.banned_emails
101
+ #
102
+ # You may restrict local users to their home directories. See the FAQ for
103
+ # the possible risks in this before using chroot_local_user or
104
+ # chroot_list_enable below.
105
+ #chroot_local_user=YES
106
+ #
107
+ # You may specify an explicit list of local users to chroot() to their home
108
+ # directory. If chroot_local_user is YES, then this list becomes a list of
109
+ # users to NOT chroot().
110
+ #chroot_list_enable=YES
111
+ # (default follows)
112
+ #chroot_list_file=/etc/vsftpd.chroot_list
113
+ #
114
+ # You may activate the "-R" option to the builtin ls. This is disabled by
115
+ # default to avoid remote users being able to cause excessive I/O on large
116
+ # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
117
+ # the presence of the "-R" option, so there is a strong case for enabling it.
118
+ #ls_recurse_enable=YES
119
+ #
120
+ #
121
+ # Debian customization
122
+ #
123
+ # Some of vsftpd's settings don't fit the Debian filesystem layout by
124
+ # default. These settings are more Debian-friendly.
125
+ #
126
+ # This option should be the name of a directory which is empty. Also, the
127
+ # directory should not be writable by the ftp user. This directory is used
128
+ # as a secure chroot() jail at times vsftpd does not require filesystem
129
+ # access.
130
+ secure_chroot_dir=/var/run/vsftpd
131
+ #
132
+ # This string is the name of the PAM service vsftpd will use.
133
+ pam_service_name=vsftpd
134
+ #
135
+ # This option specifies the location of the RSA certificate to use for SSL
136
+ # encrypted connections.
137
+ rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
138
+ # This option specifies the location of the RSA key to use for SSL
139
+ # encrypted connections.
140
+ rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
141
+
142
+ # We run from init.d
143
+ listen=YES
144
+ # We do not want anons connecting nor uploading
145
+ anonymous_enable=NO
146
+ anon_upload_enable=NO
147
+ # We want local users connecting/writing
148
+ local_enable=YES
149
+ write_enable=YES
150
+ # Files are initially created as Owner/Group read/write
151
+ file_open_mode=0660
152
+ local_umask=0007
153
+ # No need for active directory messages
154
+ dirmessage_enable=NO
155
+ xferlog_enable=YES
156
+ connect_from_port_20=YES
157
+ # Jail that local user!
158
+ chroot_local_user=YES
@@ -0,0 +1,20 @@
1
+ namespace :tmpfs do
2
+ set :tmpfs_directories do
3
+ {
4
+ '/tmpfs' => {:size => '2G', :mode => '0744'},
5
+ }
6
+ end
7
+
8
+ desc "Create tmpfs directories"
9
+ task :create_directories, :roles => :app do
10
+ tmpfs_directories.each do |dir,options|
11
+ options[:size] = '2G' if options[:size].nil?
12
+ options[:mode] = '0744' if options[:mode].nil?
13
+ sudo "mkdir -p #{dir}"
14
+ sudo "mount -t tmpfs -o size=#{options[:size]},mode=#{options[:mode]} tmpfs #{dir}"
15
+ run "cp /etc/fstab fstab.tmp"
16
+ run "echo 'tmpfs #{dir} tmpfs size=#{options[:size]},mode=#{options[:mode]} 0 0' >> fstab.tmp"
17
+ sudo "mv fstab.tmp /etc/fstab"
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,54 @@
1
+ namespace :vsftpd do
2
+ set :vsftpd_user_shell, '/usr/sbin/nologin'
3
+ set :vsftpd_group, 'ftpusers'
4
+
5
+ desc "Install VSFTPd"
6
+ task :install, :roles => :app do
7
+ sudo "aptitude install -y vsftpd"
8
+ configure
9
+ add_nologin_shell
10
+ create_users
11
+ end
12
+
13
+ desc "Install VSFTPd configuration file"
14
+ task :configure, :roles => :app do
15
+ put render("vsftpd.conf", binding), "vsftpd.conf"
16
+ sudo "mv vsftpd.conf /etc/vsftpd.conf"
17
+ restart
18
+ end
19
+
20
+ desc "Add the :vsftpd_user_shell to /etc/shells"
21
+ task :add_nologin_shell, :roles => :app do
22
+ puts "If this fails, then the '#{vsftpd_user_shell}'-shell is already in /etc/shells"
23
+ run "test -z `grep #{vsftpd_user_shell} /etc/shells`"
24
+ run "cp /etc/shells ~/shells.tmp"
25
+ run "echo '#{vsftpd_user_shell}' >> ~/shells.tmp"
26
+ sudo "mv ~/shells.tmp /etc/shells"
27
+ end
28
+
29
+ desc "Create VSFTPd-only users"
30
+ task :create_users, :roles => :app do
31
+ vsftpd_users.each do |user_to_create|
32
+ sudo "groupadd -f #{vsftpd_group}"
33
+ sudo "usermod -a -G #{vsftpd_group} #{user}"
34
+ sudo "useradd --shell #{vsftpd_user_shell} --groups #{vsftpd_group} -m #{user_to_create}"
35
+ puts "Changing password for #{user_to_create}:"
36
+ sudo_and_watch_prompt("passwd #{user_to_create}", [/Enter new UNIX password/, /Retype new UNIX password:/, /\[\]\:/, /\[y\/N\]/i])
37
+ end
38
+ end
39
+
40
+ desc "Start the vsftpd server"
41
+ task :start, :roles => :app do
42
+ sudo "/etc/init.d/vsftpd start"
43
+ end
44
+
45
+ desc "Restart the vsftpd server"
46
+ task :restart, :roles => :app do
47
+ sudo "/etc/init.d/vsftpd restart"
48
+ end
49
+
50
+ desc "Stop the vsftpd server"
51
+ task :stop, :roles => :app do
52
+ sudo "/etc/init.d/vsftpd stop"
53
+ end
54
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: FiXato-ubuntu-machine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3.2.2
4
+ version: 0.5.3.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Balthazar
@@ -11,7 +11,7 @@ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
 
14
- date: 2009-06-10 00:00:00 -07:00
14
+ date: 2009-06-12 00:00:00 -07:00
15
15
  default_executable:
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
@@ -49,7 +49,9 @@ files:
49
49
  - lib/capistrano/ext/ubuntu-machine/postfix.rb
50
50
  - lib/capistrano/ext/ubuntu-machine/ruby.rb
51
51
  - lib/capistrano/ext/ubuntu-machine/ssh.rb
52
+ - lib/capistrano/ext/ubuntu-machine/tmpfs.rb
52
53
  - lib/capistrano/ext/ubuntu-machine/utils.rb
54
+ - lib/capistrano/ext/ubuntu-machine/vsftpd.rb
53
55
  - lib/capistrano/ext/ubuntu-machine/templates/apache2.erb
54
56
  - lib/capistrano/ext/ubuntu-machine/templates/iptables.erb
55
57
  - lib/capistrano/ext/ubuntu-machine/templates/my.cnf.erb
@@ -58,6 +60,7 @@ files:
58
60
  - lib/capistrano/ext/ubuntu-machine/templates/passenger.load.erb
59
61
  - lib/capistrano/ext/ubuntu-machine/templates/sshd_config.erb
60
62
  - lib/capistrano/ext/ubuntu-machine/templates/vhost.erb
63
+ - lib/capistrano/ext/ubuntu-machine/templates/vsftpd.conf.erb
61
64
  - lib/capistrano/ext/ubuntu-machine/templates/deflate.conf.erb
62
65
  - lib/capistrano/ext/ubuntu-machine/templates/freetds.conf.erb
63
66
  - lib/capistrano/ext/ubuntu-machine/templates/odbc.ini.erb