class Shellpress::Wordpress
Constants
- ORDER
Public Class Methods
source_root()
click to toggle source
# File lib/shellpress/wordpress.rb, line 7 def self.source_root File.dirname(__FILE__) end
Public Instance Methods
clean()
click to toggle source
# File lib/shellpress/wordpress.rb, line 104 def clean if options[:all] FileUtils.rm_rf "." else Dir.glob("*").reject{|file| ['.yml'].include?(File.extname(file)) } end end
download()
click to toggle source
# File lib/shellpress/wordpress.rb, line 19 def download version = options[:version] if version say "*** Downloading WordPress #{version}", :green run "wget http://wordpress.org/wordpress-#{version}.tar.gz -O wordpress.tar.gz", :verbose => false else say "*** Downloading latest WordPress", :green run "wget http://wordpress.org/latest.tar.gz -O wordpress.tar.gz", :verbose => false end run "tar zxf wordpress.tar.gz", :verbose => false remove_file "wordpress.tar.gz", :verbose => false run "mv wordpress/* .", :verbose => false run "rmdir wordpress", :verbose => false end
install()
click to toggle source
# File lib/shellpress/wordpress.rb, line 50 def install config = options[:config] output = options[:output] unless File.exists?("wp-content") invoke :download end if config say "*** Loading settings from #{config}", :green settings = YAML.load_file(config) elsif File.exists?("config.yml") && !options[:skip_config] say "*** Loading settings from config.yml", :green settings = YAML.load_file("config.yml") else settings = { "mysql" => {}, "wp" => {} } settings["mysql"]["host"] = ask "MySQL host: " settings["mysql"]["db"] = ask "MySQL db: " settings["mysql"]["user"] = ask "MySQL user: " settings["mysql"]["pass"] = ask "MySQL pass: " settings["wp"]["title"]= ask "WordPress Title: " settings["wp"]["user"] = ask "WordPress User: " settings["wp"]["pass"] = ask "WordPress Pass: " settings["wp"]["email"] = ask "WordPress Email: " settings["wp"]["url"] = ask "WordPress URL: " if output File.open(output, "w") do |out| say "*** #{output} written", :green YAML.dump(settings, out) end end end say "*** Downloading WordPress Salt keys", :green run "wget https://api.wordpress.org/secret-key/1.1/salt/ -O /tmp/wp.keys", :verbose => false say "*** Updating wp-config with settings", :green run "sed -e 's/localhost/#{settings['mysql']['host']}/' -e 's/database_name_here/#{settings['mysql']['db']}/' -e 's/username_here/#{settings['mysql']['user']}/' -e 's/password_here/#{settings['mysql']['pass']}/' wp-config-sample.php > wp-config.php", :verbose => false run "sed -i '\/\#\@\-\/r \/tmp\/wp.keys' wp-config.php", :verbose => false run "sed -i '\/\#\@\+\/,\/\#\@\-\/d' wp-config.php", :verbose => false run "curl -d 'weblog_title=#{settings['wp']['title']}&user_name=#{settings['wp']['user']}&admin_password=#{settings['wp']['pass']}&admin_password2=#{settings['wp']['pass']}&admin_email=#{settings['wp']['email']}' http://#{settings['wp']['url']}/wp-admin/install.php?step=2" end