owncloud-admin 0.0.2 → 0.0.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.
data/README ADDED
@@ -0,0 +1,7 @@
1
+ # owncloud-admin - the ownCloud administration tool
2
+
3
+ owncloud-admin is a simple command line tool to make administration of ownCloud
4
+ servers easier. It's primary purpose is installing an ownCloud instance.
5
+
6
+ If you have questions or comments please contact Cornelius Schumacher
7
+ <schumacher@kde.org>.
@@ -1,7 +1,28 @@
1
1
  #!/usr/bin/ruby
2
+ #
3
+ # owncloud-admin - the owncloud administration tool
4
+ #
5
+ # Copyright (C) 2011 Cornelius Schumacher <schumacher@kde.org>
6
+ #
7
+ # This program is free software; you can redistribute it and/or modify
8
+ # it under the terms of the GNU General Public License as published by
9
+ # the Free Software Foundation; either version 2 of the License, or
10
+ # (at your option) any later version.
11
+ #
12
+ # This program is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ # GNU General Public License for more details.
16
+ #
17
+ # You should have received a copy of the GNU General Public License along
18
+ # with this program; if not, write to the Free Software Foundation, Inc.,
19
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
2
20
 
3
21
  require File.expand_path('../../lib/owncloud-admin',__FILE__)
4
22
 
23
+ # Don't buffer output, so output progress is smooth, when called from desktop
24
+ $stdout.sync = true
25
+
5
26
  Cli.settings = Settings.new
6
27
 
7
28
  Cli.check_unknown_options!
data/lib/cli.rb CHANGED
@@ -1,3 +1,22 @@
1
+ #
2
+ # owncloud-admin - the owncloud administration tool
3
+ #
4
+ # Copyright (C) 2011 Cornelius Schumacher <schumacher@kde.org>
5
+ #
6
+ # This program is free software; you can redistribute it and/or modify
7
+ # it under the terms of the GNU General Public License as published by
8
+ # the Free Software Foundation; either version 2 of the License, or
9
+ # (at your option) any later version.
10
+ #
11
+ # This program is distributed in the hope that it will be useful,
12
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ # GNU General Public License for more details.
15
+ #
16
+ # You should have received a copy of the GNU General Public License along
17
+ # with this program; if not, write to the Free Software Foundation, Inc.,
18
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19
+
1
20
  class Cli < Thor
2
21
 
3
22
  default_task :global
@@ -36,40 +55,47 @@ class Cli < Thor
36
55
 
37
56
  desc "install", "Install ownCloud server"
38
57
  method_option :server_type, :type => :string,
39
- :desc => "Server type", :required => true
58
+ :desc => "Server type (#{Installer.server_types.join(", ")})",
59
+ :required => true
40
60
  method_option :server, :type => :string,
41
61
  :desc => "Server name", :required => false
42
- method_option :user, :type => :string,
43
- :desc => "User name", :required => false
44
- method_option :password, :type => :string,
45
- :desc => "Password", :required => false
62
+ method_option :ftp_user, :type => :string,
63
+ :desc => "FTP user name", :required => false
64
+ method_option :ftp_password, :type => :string,
65
+ :desc => "FTP password", :required => false
46
66
  method_option :root_helper, :type => :string,
47
67
  :desc => "Helper to call to run command as root (use 'kdesu -c' for GUI)",
48
68
  :required => false
49
69
  method_option :skip_download, :type => :boolean,
50
70
  :desc => "Skip download of owncloud sources", :required => false
71
+ method_option :admin_user, :type => :string,
72
+ :desc => "Name of ownCloud admin user (defaults to $USER)",
73
+ :required => false
74
+ method_option :admin_password, :type => :string,
75
+ :desc => "Initial admin password", :required => true
51
76
  def install
52
77
  installer = Installer.new @@settings
53
78
 
54
79
  installer.skip_download = options["skip_download"]
55
80
 
56
81
  installer.server = options["server"]
57
- installer.user = options["user"]
58
- installer.password = options["password"]
82
+ installer.ftp_user = options["ftp_user"]
83
+ installer.ftp_password = options["ftp_password"]
59
84
  if options["root_helper"]
60
85
  installer.root_helper = options["root_helper"]
61
86
  else
62
87
  installer.root_helper = "sudo bash -c"
63
88
  end
89
+ installer.admin_user = options["admin_user"]
90
+ installer.admin_password = options["admin_password"]
64
91
 
65
92
  server_type = options["server_type"]
66
93
 
67
- server_types = [ "local", "ftp" ]
68
- if server_types.include? server_type
94
+ if Installer.server_types.include? server_type
69
95
  installer.install server_type
70
96
  else
71
97
  STDERR.puts "Unsupported server type '#{server_type}."
72
- STDERR.puts "Supported types are: #{server_types.join}."
98
+ STDERR.puts "Supported types are: #{Installer.server_types.join(", ")}."
73
99
  exit 1
74
100
  end
75
101
  end
@@ -1,11 +1,35 @@
1
+ #
2
+ # owncloud-admin - the owncloud administration tool
3
+ #
4
+ # Copyright (C) 2011 Cornelius Schumacher <schumacher@kde.org>
5
+ #
6
+ # This program is free software; you can redistribute it and/or modify
7
+ # it under the terms of the GNU General Public License as published by
8
+ # the Free Software Foundation; either version 2 of the License, or
9
+ # (at your option) any later version.
10
+ #
11
+ # This program is distributed in the hope that it will be useful,
12
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ # GNU General Public License for more details.
15
+ #
16
+ # You should have received a copy of the GNU General Public License along
17
+ # with this program; if not, write to the Free Software Foundation, Inc.,
18
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19
+
1
20
  class Installer
2
21
 
3
- attr_accessor :server, :user, :password, :skip_download, :root_helper
22
+ attr_accessor :server, :ftp_user, :ftp_password, :skip_download, :root_helper,
23
+ :admin_user, :admin_password
4
24
 
5
25
  def initialize settings
6
26
  @settings = settings
7
27
  end
8
28
 
29
+ def self.server_types
30
+ [ "local", "ftp" ]
31
+ end
32
+
9
33
  def install server_type
10
34
  if !skip_download
11
35
  source = {
@@ -29,6 +53,8 @@ class Installer
29
53
  end
30
54
 
31
55
  @source_dir = @settings.tmp_dir + "owncloud"
56
+
57
+ write_admin_config
32
58
 
33
59
  if server_type == "local"
34
60
  install_local
@@ -40,6 +66,33 @@ class Installer
40
66
  end
41
67
  end
42
68
 
69
+ def write_admin_config
70
+ if !@admin_password
71
+ STDERR.puts "Initial admin password is required"
72
+ exit 1
73
+ end
74
+ if !@admin_user
75
+ @admin_user = ENV["USER"]
76
+ end
77
+
78
+ config = <<EOF
79
+ <?php
80
+ $AUTOCONFIG = array(
81
+ "dbtype" => 'sqlite',
82
+ "directory" => OC::$SERVERROOT."/data",
83
+ "adminlogin" => "#{@admin_user}",
84
+ "adminpass" => "#{@admin_password}"
85
+ );
86
+ ?>
87
+ EOF
88
+
89
+ config_file = @source_dir + "/config/autoconfig.php"
90
+
91
+ File.open config_file, "w" do |file|
92
+ file.print config
93
+ end
94
+ end
95
+
43
96
  def install_local
44
97
  # Requirements for ownCloud to run:
45
98
  # * packages installed: apache2, apache2-mod_php5, php5-json, php5-dom,
@@ -56,12 +109,12 @@ class Installer
56
109
  def install_ftp
57
110
  puts "Installing owncloud to remote web server via FTP..."
58
111
 
59
- assert_options [ :server, :user, :password ]
112
+ assert_options [ :server, :ftp_user, :ftp_password ]
60
113
 
61
114
  ftp = Net::FTP.new( server )
62
115
  ftp.passive = true
63
116
  puts " Logging in..."
64
- ftp.login user, password
117
+ ftp.login ftp_user, ftp_password
65
118
 
66
119
  puts " Finding installation directory..."
67
120
  install_dir = ""
@@ -1,3 +1,22 @@
1
+ #
2
+ # owncloud-admin - the owncloud administration tool
3
+ #
4
+ # Copyright (C) 2011 Cornelius Schumacher <schumacher@kde.org>
5
+ #
6
+ # This program is free software; you can redistribute it and/or modify
7
+ # it under the terms of the GNU General Public License as published by
8
+ # the Free Software Foundation; either version 2 of the License, or
9
+ # (at your option) any later version.
10
+ #
11
+ # This program is distributed in the hope that it will be useful,
12
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ # GNU General Public License for more details.
15
+ #
16
+ # You should have received a copy of the GNU General Public License along
17
+ # with this program; if not, write to the Free Software Foundation, Inc.,
18
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19
+
1
20
  require "rubygems"
2
21
 
3
22
  require "thor"
@@ -5,6 +24,6 @@ require "net/http"
5
24
  require "net/ftp"
6
25
 
7
26
  require File.expand_path('../version', __FILE__)
27
+ require File.expand_path('../installer', __FILE__) # must be before cli
8
28
  require File.expand_path('../cli', __FILE__)
9
29
  require File.expand_path('../settings', __FILE__)
10
- require File.expand_path('../installer', __FILE__)
@@ -1,3 +1,22 @@
1
+ #
2
+ # owncloud-admin - the owncloud administration tool
3
+ #
4
+ # Copyright (C) 2011 Cornelius Schumacher <schumacher@kde.org>
5
+ #
6
+ # This program is free software; you can redistribute it and/or modify
7
+ # it under the terms of the GNU General Public License as published by
8
+ # the Free Software Foundation; either version 2 of the License, or
9
+ # (at your option) any later version.
10
+ #
11
+ # This program is distributed in the hope that it will be useful,
12
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ # GNU General Public License for more details.
15
+ #
16
+ # You should have received a copy of the GNU General Public License along
17
+ # with this program; if not, write to the Free Software Foundation, Inc.,
18
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19
+
1
20
  class Settings
2
21
 
3
22
  def version
@@ -1,5 +1,24 @@
1
+ #
2
+ # owncloud-admin - the owncloud administration tool
3
+ #
4
+ # Copyright (C) 2011 Cornelius Schumacher <schumacher@kde.org>
5
+ #
6
+ # This program is free software; you can redistribute it and/or modify
7
+ # it under the terms of the GNU General Public License as published by
8
+ # the Free Software Foundation; either version 2 of the License, or
9
+ # (at your option) any later version.
10
+ #
11
+ # This program is distributed in the hope that it will be useful,
12
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ # GNU General Public License for more details.
15
+ #
16
+ # You should have received a copy of the GNU General Public License along
17
+ # with this program; if not, write to the Free Software Foundation, Inc.,
18
+ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19
+
1
20
  module OwncloudAdmin
2
21
 
3
- VERSION = "0.0.2"
22
+ VERSION = "0.0.3"
4
23
 
5
24
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: owncloud-admin
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 2
10
- version: 0.0.2
9
+ - 3
10
+ version: 0.0.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Cornelius Schumacher
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-09-30 00:00:00 +02:00
18
+ date: 2011-10-28 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -46,6 +46,7 @@ extra_rdoc_files: []
46
46
  files:
47
47
  - .gitignore
48
48
  - COPYING
49
+ - README
49
50
  - TODO
50
51
  - bin/owncloud-admin
51
52
  - lib/cli.rb