diff --git a/app/controllers/admin/site_panel_controller.rb b/app/controllers/admin/site_panel_controller.rb
index 27cce94..db40102 100644
--- a/app/controllers/admin/site_panel_controller.rb
+++ b/app/controllers/admin/site_panel_controller.rb
@@ -277,6 +277,7 @@ class Admin::SitePanelController < OrbitAdminController
git_extension_url = "http://gitlab.tp.rulingcom.com/core/default-modules.git"
site_server = SiteServer.where(:server_name=>site_construct.server_type).first
ip = site_server.ip
+ server_port = site_server.port
user = site_server.account
password = site_server.password
site_name = site_construct.site_name
@@ -287,11 +288,11 @@ class Admin::SitePanelController < OrbitAdminController
site_construct_id = site_construct.id.to_s
if params[:site_construct][:copy_id].blank?
Thread.new do
- system("bundle exec rake create_site:create_site['#{git_template_url}','#{git_extension_url}','#{git_url}','#{ip}','#{user}','#{password}','#{site_name}','#{domain_name}','#{port}','#{db_name}','#{path}','#{site_construct_id}']")
+ system("bundle exec rake create_site:create_site['#{git_template_url}','#{git_extension_url}','#{git_url}','#{ip}','#{server_port}','#{user}','#{password}','#{site_name}','#{domain_name}','#{port}','#{db_name}','#{path}','#{site_construct_id}']")
end
else
Thread.new do
- system("bundle exec rake create_site:copy_site['#{ip}','#{user}','#{password}','#{site_name}','#{domain_name}','#{port}','#{db_name}','#{path}','#{site_construct_id}','#{params[:site_construct][:copy_id]}',#{site_construct.only_copy_installed_module}]")
+ system("bundle exec rake create_site:copy_site['#{ip}','#{server_port}', #{user}','#{password}','#{site_name}','#{domain_name}','#{port}','#{db_name}','#{path}','#{site_construct_id}','#{params[:site_construct][:copy_id]}',#{site_construct.only_copy_installed_module}]")
end
end
redirect_to "#{admin_site_panel_sites_list_path}?id=#{site_construct_id}"
@@ -307,6 +308,7 @@ class Admin::SitePanelController < OrbitAdminController
git_extension_url = "http://gitlab.tp.rulingcom.com/core/default-modules.git"
site_server = SiteServer.where(:server_name=>site_construct.server_type).first
ip = site_server.ip
+ server_port = site_server.port
user = site_server.account
password = site_server.password
site_name = site_construct.site_name
@@ -317,11 +319,11 @@ class Admin::SitePanelController < OrbitAdminController
site_construct_id = params[:id]
if site_construct.copy_id
Thread.new do
- system("bundle exec rake create_site:copy_site['#{ip}','#{user}','#{password}','#{site_name}','#{domain_name}','#{port}','#{db_name}','#{path}','#{site_construct_id}','#{site_construct.copy_id}',#{site_construct.only_copy_installed_module}]")
+ system("bundle exec rake create_site:copy_site['#{ip}','#{server_port}','#{user}','#{password}','#{site_name}','#{domain_name}','#{port}','#{db_name}','#{path}','#{site_construct_id}','#{site_construct.copy_id}',#{site_construct.only_copy_installed_module}]")
end
else
Thread.new do
- system("bundle exec rake create_site:create_site['#{git_template_url}','#{git_extension_url}','#{git_url}','#{ip}','#{user}','#{password}','#{site_name}','#{domain_name}','#{port}','#{db_name}','#{path}','#{site_construct_id}']")
+ system("bundle exec rake create_site:create_site['#{git_template_url}','#{git_extension_url}','#{git_url}','#{ip}','#{server_port}','#{user}','#{password}','#{site_name}','#{domain_name}','#{port}','#{db_name}','#{path}','#{site_construct_id}']")
end
end
render :json =>{"success"=>true}
diff --git a/app/models/site_server.rb b/app/models/site_server.rb
index dfe232c..c7e06c8 100644
--- a/app/models/site_server.rb
+++ b/app/models/site_server.rb
@@ -9,7 +9,8 @@ class SiteServer
field :default_domain_names, type: Array, default: []
field :domain_name , type: String ,default: ''
field :domain_names, type: Array, default: []
- field :ip , type: String ,default: ''
+ field :ip , type: String , default: ''
+ field :port, type: String, default: '22'
field :account , type: String ,default: ''
field :password , type: String ,default: ''
field :active , type: Boolean ,default: true
diff --git a/app/views/admin/site_panel/_server_manager_index.html.erb b/app/views/admin/site_panel/_server_manager_index.html.erb
index 9a42d14..136382b 100644
--- a/app/views/admin/site_panel/_server_manager_index.html.erb
+++ b/app/views/admin/site_panel/_server_manager_index.html.erb
@@ -30,6 +30,7 @@
Sites amount |
Server name |
IP |
+ Port |
Certbot |
Action |
@@ -48,6 +49,7 @@
<%=site_server.server_name%><%= 'X'.html_safe if !(site_server.active) %> |
<%=site_server.ip%> |
+ <%=site_server.port%> |
<% if site_server.has_certbot%>
<%= t("client_management.alreay_install") %>
diff --git a/app/views/admin/site_panel/edit_server_info.html.erb b/app/views/admin/site_panel/edit_server_info.html.erb
index 03d5016..80ed58d 100644
--- a/app/views/admin/site_panel/edit_server_info.html.erb
+++ b/app/views/admin/site_panel/edit_server_info.html.erb
@@ -124,6 +124,12 @@
<%= f.text_field :ip,{:id=>'ip'} %>
+
+
+
+ <%= f.text_field :port,{:id=>'port'} %>
+
+
diff --git a/lib/tasks/add_cert_ver_for_site.rake b/lib/tasks/add_cert_ver_for_site.rake
index 09b9e76..d0f500f 100644
--- a/lib/tasks/add_cert_ver_for_site.rake
+++ b/lib/tasks/add_cert_ver_for_site.rake
@@ -8,7 +8,7 @@ namespace :create_site do
site_server = site_construct.site_server
if !site_server.nil? && !site_construct.cert_ver_location_path.blank? && !site_construct.cert_ver_file_content.nil?
@password = site_server.password
- Net::SSH.start(site_server.ip , site_server.account , password: site_server.password) do |ssh|
+ Net::SSH.start(site_server.ip , site_server.account , { password: site_server.password, port: site_server.port}) do |ssh|
nginx_path = site_construct.nginx_file
cert_ver_file_content = site_construct.cert_ver_file_content
location_path = site_construct.cert_ver_location_path
diff --git a/lib/tasks/change_backup_setting.rake b/lib/tasks/change_backup_setting.rake
index 38e9370..6017921 100644
--- a/lib/tasks/change_backup_setting.rake
+++ b/lib/tasks/change_backup_setting.rake
@@ -19,18 +19,19 @@ namespace :exec_commands do
@thread.update(:status=>{"infos"=>[],"status"=>"execing"})
end
ip = site_server.ip
+ server_port = site_server.port
user = site_server.account
password = site_server.password
@password = password
begin
- Net::SSH.start(ip , user , password: password) do |ssh|
+ Net::SSH.start(ip , user , { password: password, port: server_port}) do |ssh|
end
rescue Net::SSH::HostKeyMismatch
system("ssh-keygen -f \"$HOME/.ssh/known_hosts\" -R #{ip}")
rescue Errno::ENOTTY
system("ssh-add \"$HOME/.ssh/id_rsa\"")
end
- Net::SSH.start(ip , user , password: password) do |ssh|
+ Net::SSH.start(ip , user , { password: password, port: server_port}) do |ssh|
@no_stdout = true
crontab_lines_str = exec_ssh_command_by_sudo_and_see_output(ssh,"sudo -p 'sudo password:' crontab -l", false, true)
if site_server.site_server_file_backups.count != 0
diff --git a/lib/tasks/change_site_cert.rake b/lib/tasks/change_site_cert.rake
index f9cb279..e63902e 100644
--- a/lib/tasks/change_site_cert.rake
+++ b/lib/tasks/change_site_cert.rake
@@ -31,7 +31,7 @@ namespace :create_site do
tmp_is_certbot = (args.is_certbot == "true")
if !site_server.nil?
@password = site_server.password
- Net::SSH.start(site_server.ip , site_server.account , password: site_server.password) do |ssh|
+ Net::SSH.start(site_server.ip , site_server.account , { password: site_server.password, port: site_server.port}) do |ssh|
redirect_to_https = args.redirect_to_https ? true : (@site_construct.redirect_to_https rescue false)
if tmp_is_certbot || (@site_cert.is_certbot rescue false)
domain_names = site_constructs.flat_map{|site_construct| site_construct.domain_name.strip.split(" ")}.select{|d| d.present? && d.match(/^[\d\.]+$/).nil?}
diff --git a/lib/tasks/change_site_server_name.rake b/lib/tasks/change_site_server_name.rake
index 8067491..93c3706 100644
--- a/lib/tasks/change_site_server_name.rake
+++ b/lib/tasks/change_site_server_name.rake
@@ -10,7 +10,7 @@ namespace :create_site do
if !site_server.nil?
@password = site_server.password
update_infos("Starting change domain name and ports.")
- Net::SSH.start(site_server.ip , site_server.account , password: site_server.password) do |ssh|
+ Net::SSH.start(site_server.ip , site_server.account , { password: site_server.password, port: site_server.port}) do |ssh|
@site_construct.update(:domain_name=>args.server_name)
if args.port.present?
all_ports = args.port.split('////')
diff --git a/lib/tasks/copy_site.rake b/lib/tasks/copy_site.rake
index 27d760c..69faec9 100644
--- a/lib/tasks/copy_site.rake
+++ b/lib/tasks/copy_site.rake
@@ -2,7 +2,7 @@ require 'net/ssh'
require 'pathname'
namespace :create_site do
desc "Copy Site from another site"
- task :copy_site,[:ip,:user,:password,:site_name,:domain_name,:port,:db_name,:path,:site_construct_id,:template_site_construct_id,:only_copy_installed_module] => :environment do |task,args|
+ task :copy_site,[:ip, :server_port,:user,:password,:site_name,:domain_name,:port,:db_name,:path,:site_construct_id,:template_site_construct_id,:only_copy_installed_module] => :environment do |task,args|
@password = args.password
template_site = SiteConstruct.find(args.template_site_construct_id)
if args.site_construct_id.blank?
@@ -24,14 +24,14 @@ namespace :create_site do
@site_construct.update(:status=>"creating")
@site_construct.update!(:infos=>[])
begin
- Net::SSH.start(args.ip , args.user , password: args.password) do |ssh|
+ Net::SSH.start(args.ip , args.user , { password: args.password, port: args.server_port}) do |ssh|
end
rescue Net::SSH::HostKeyMismatch
system("ssh-keygen -f \"$HOME/.ssh/known_hosts\" -R #{args.ip}")
rescue Errno::ENOTTY
system("ssh-add \"$HOME/.ssh/id_rsa\"")
end
- Net::SSH.start(args.ip , args.user , password: args.password) do |ssh|
+ Net::SSH.start(args.ip , args.user , { password: args.password, port: args.server_port}) do |ssh|
update_infos("setting nginx for #{args.site_name}")
nginx_setting_texts = @site_construct.generate_nginx_text
exec_ssh_command_by_sudo_for_copy(ssh,"touch /etc/nginx/orbit_sites/#{@site_construct.get_site_name}")
diff --git a/lib/tasks/create_site.rake b/lib/tasks/create_site.rake
index 9c23656..9128559 100644
--- a/lib/tasks/create_site.rake
+++ b/lib/tasks/create_site.rake
@@ -2,7 +2,7 @@ require 'net/ssh'
require 'pathname'
namespace :create_site do
desc "Create Site Script"
- task :create_site,[:git_template_url,:git_extension_url,:git_url,:ip,:user,:password,:site_name,:domain_name,:port,:db_name,:path,:site_construct_id] => :environment do |task,args|
+ task :create_site,[:git_template_url,:git_extension_url,:git_url,:ip, :server_port,:user,:password,:site_name,:domain_name,:port,:db_name,:path,:site_construct_id] => :environment do |task,args|
@password = args.password
if args.site_construct_id.blank?
@site_construct = SiteConstruct.new
@@ -22,14 +22,14 @@ namespace :create_site do
@site_construct.update(:status=>"creating")
@site_construct.update!(:infos=>[])
begin
- Net::SSH.start(args.ip , args.user , password: args.password) do |ssh|
+ Net::SSH.start(args.ip , args.user , { password: args.password, port: args.server_port}) do |ssh|
end
rescue Net::SSH::HostKeyMismatch
system("ssh-keygen -f \"$HOME/.ssh/known_hosts\" -R #{args.ip}")
rescue Errno::ENOTTY
system("ssh-add \"$HOME/.ssh/id_rsa\"")
end
- Net::SSH.start(args.ip , args.user , password: args.password) do |ssh|
+ Net::SSH.start(args.ip , args.user , { password: args.password, port: args.server_port}) do |ssh|
update_infos("setting nginx for #{args.site_name}")
nginx_setting_texts = @site_construct.generate_nginx_text
exec_ssh_command_by_sudo_for_create(ssh,"touch /etc/nginx/orbit_sites/#{@site_construct.get_site_name}")
diff --git a/lib/tasks/delete_dbs.rake b/lib/tasks/delete_dbs.rake
index 473bd0c..dad32cf 100644
--- a/lib/tasks/delete_dbs.rake
+++ b/lib/tasks/delete_dbs.rake
@@ -5,19 +5,20 @@ namespace :create_site do
task :delete_dbs,[:server_name,:dbs] => :environment do |task,args|
site_server = SiteServer.where(:server_name=>args.server_name).first
ip = site_server.ip
+ server_port = site_server.port
user = site_server.account
password = site_server.password
@password = password
dbs = args.dbs.split
begin
- Net::SSH.start(ip , user , password: password) do |ssh|
+ Net::SSH.start(ip , user , { password: password, port: server_port}) do |ssh|
end
rescue Net::SSH::HostKeyMismatch
system("ssh-keygen -f \"$HOME/.ssh/known_hosts\" -R #{ip}")
rescue Errno::ENOTTY
system("ssh-add \"$HOME/.ssh/id_rsa\"")
end
- Net::SSH.start(ip , user , password: password) do |ssh|
+ Net::SSH.start(ip , user , { password: password, port: server_port}) do |ssh|
dbs.each do |db|
puts "deleting database #{db}"
exec_ssh_command_by_sudo(ssh,"bash -l -c 'echo \"db.dropDatabase()\" | mongo --shell \'#{db}\''")
diff --git a/lib/tasks/delete_site.rake b/lib/tasks/delete_site.rake
index 068a31e..e98e2d7 100644
--- a/lib/tasks/delete_site.rake
+++ b/lib/tasks/delete_site.rake
@@ -6,19 +6,20 @@ namespace :create_site do
@site_construct = SiteConstruct.find(args.site_construct_id)
site_server = SiteServer.where(:server_name=>@site_construct.server_type).first
ip = site_server.ip
+ server_port = site_server.port
user = site_server.account
password = site_server.password
@password = password
begin
begin
- Net::SSH.start(ip , user , password: password) do |ssh|
+ Net::SSH.start(ip , user , { password: password, port: server_port}) do |ssh|
end
rescue Net::SSH::HostKeyMismatch
system("ssh-keygen -f \"$HOME/.ssh/known_hosts\" -R #{ip}")
rescue Errno::ENOTTY
system("ssh-add \"$HOME/.ssh/id_rsa\"")
end
- Net::SSH.start(ip , user , password: password) do |ssh|
+ Net::SSH.start(ip , user , { password: password, port: server_port}) do |ssh|
@site_construct.update!(:infos=>[])
if @site_construct.status != "closed"
update_infos("Closing site #{@site_construct.site_name}...")
diff --git a/lib/tasks/detect_sites.rake b/lib/tasks/detect_sites.rake
index ecbaf92..9a4a0f5 100644
--- a/lib/tasks/detect_sites.rake
+++ b/lib/tasks/detect_sites.rake
@@ -23,7 +23,7 @@ namespace :create_site do
@password = @site_server.password
begin
begin
- Net::SSH.start(@site_server.ip , @site_server.account , password: @site_server.password) do |ssh|
+ Net::SSH.start(@site_server.ip , @site_server.account , { password: @site_server.password, port: @site_server.port}) do |ssh|
end
rescue Net::SSH::HostKeyMismatch
system("ssh-keygen -f \"$HOME/.ssh/known_hosts\" -R #{@site_server.ip}")
@@ -34,7 +34,7 @@ namespace :create_site do
next
end
@no_stdout = true
- Net::SSH.start(@site_server.ip , @site_server.account , password: @site_server.password) do |ssh|
+ Net::SSH.start(@site_server.ip , @site_server.account , { password: @site_server.password, port: @site_server.port}) do |ssh|
certbot_path = exec_ssh_command_by_sudo_and_see_output(ssh,"bash -l -c 'which certbot certbot-auto'",false,true).strip.split("\n")[0]
@site_server.has_certbot = certbot_path.present?
@site_server.save
diff --git a/lib/tasks/exec_command.rake b/lib/tasks/exec_command.rake
index a53e3be..84021bc 100644
--- a/lib/tasks/exec_command.rake
+++ b/lib/tasks/exec_command.rake
@@ -56,18 +56,19 @@ namespace :exec_commands do
end
site_servers.each do |site_server|
ip = site_server.ip
+ server_port = site_server.port
user = site_server.account
password = site_server.password
@password = password
begin
- Net::SSH.start(ip , user , password: password) do |ssh|
+ Net::SSH.start(ip , user , { password: password, port: server_port}) do |ssh|
end
rescue Net::SSH::HostKeyMismatch
system("ssh-keygen -f \"$HOME/.ssh/known_hosts\" -R #{ip}")
rescue Errno::ENOTTY
system("ssh-add \"$HOME/.ssh/id_rsa\"")
end
- Net::SSH.start(ip , user , password: password) do |ssh|
+ Net::SSH.start(ip , user , { password: password, port: server_port}) do |ssh|
@site_construct.update!(:infos=>[]) rescue nil
if args.type == 'close_site'
exec_ssh_command_by_sudo_and_see_output(ssh,"chmod 777 #{@site_construct.path}/#{@site_construct.site_name} -R",false)
diff --git a/lib/tasks/install_certbot.rake b/lib/tasks/install_certbot.rake
index ea8c0f6..4675472 100644
--- a/lib/tasks/install_certbot.rake
+++ b/lib/tasks/install_certbot.rake
@@ -23,7 +23,7 @@ namespace :create_site do
@password = @site_server.password
begin
begin
- Net::SSH.start(@site_server.ip , @site_server.account , password: @site_server.password) do |ssh|
+ Net::SSH.start(@site_server.ip , @site_server.account , { password: @site_server.password, port: @site_server.port}) do |ssh|
end
rescue Net::SSH::HostKeyMismatch
system("ssh-keygen -f \"$HOME/.ssh/known_hosts\" -R #{@site_server.ip}")
@@ -33,7 +33,7 @@ namespace :create_site do
update_thread_infos(e.to_s)
next
end
- Net::SSH.start(@site_server.ip , @site_server.account , password: @site_server.password) do |ssh|
+ Net::SSH.start(@site_server.ip , @site_server.account , { password: @site_server.password, port: @site_server.port}) do |ssh|
certbot_path = exec_ssh_command_by_sudo_and_see_output(ssh,"bash -l -c 'which certbot'",false,true).strip
snap_path = exec_ssh_command_by_sudo_and_see_output(ssh,"bash -l -c 'which snap'",false,true).strip
already_apt_update = false
diff --git a/lib/tasks/test_ssh.rake b/lib/tasks/test_ssh.rake
index 0097b54..742f3ea 100644
--- a/lib/tasks/test_ssh.rake
+++ b/lib/tasks/test_ssh.rake
@@ -5,7 +5,7 @@ namespace :create_site do
desc "Test ssh"
task :test_ssh,[] => :environment do |task,args|
@site_server = SiteServer.where(:server_name=>'dev').first
- Net::SSH.start(@site_server.ip , @site_server.account , password: @site_server.password) do |ssh|
+ Net::SSH.start(@site_server.ip , @site_server.account , { password: @site_server.password, port: @site_server.port}) do |ssh|
exec_ssh_command_by_sudo_and_see_output_for_test(ssh,"bash -l -c 'cd orbit_sites/design3;bundle update'")
end
end
diff --git a/lib/tasks/test_vpn.rake b/lib/tasks/test_vpn.rake
index 5632886..11ec168 100644
--- a/lib/tasks/test_vpn.rake
+++ b/lib/tasks/test_vpn.rake
@@ -17,7 +17,7 @@ namespace :create_site do
@site_server = SiteServer.where(:server_name=>"rulingcom.com").first
proxy = Net::SSH::Proxy::HTTP.new(args.ip, args.port.to_i,
:user => args.username, :password => args.password)
- Net::SSH.start(@site_server.ip , @site_server.account , password: @site_server.password, proxy: proxy) do |ssh|
+ Net::SSH.start(@site_server.ip , @site_server.account , { password: @site_server.password, port: @site_server.port, proxy: proxy}) do |ssh|
exec_ssh_command_by_sudo("echo 'abc'")
end
#rescue Errno::ETIMEDOUT , Net::SSH::ConnectionTimeout => e
diff --git a/lib/tasks/update_multiple_nginx_setting.rake b/lib/tasks/update_multiple_nginx_setting.rake
index 3b20187..fe794b5 100644
--- a/lib/tasks/update_multiple_nginx_setting.rake
+++ b/lib/tasks/update_multiple_nginx_setting.rake
@@ -23,7 +23,7 @@ namespace :create_site do
@password = @site_server.password
begin
begin
- Net::SSH.start(@site_server.ip , @site_server.account , password: @site_server.password) do |ssh|
+ Net::SSH.start(@site_server.ip , @site_server.account , { password: @site_server.password, port: @site_server.port}) do |ssh|
end
rescue Net::SSH::HostKeyMismatch
system("ssh-keygen -f \"$HOME/.ssh/known_hosts\" -R #{@site_server.ip}")
@@ -33,7 +33,7 @@ namespace :create_site do
update_thread_infos(e.to_s)
next
end
- Net::SSH.start(@site_server.ip , @site_server.account , password: @site_server.password) do |ssh|
+ Net::SSH.start(@site_server.ip , @site_server.account , { password: @site_server.password, port: @site_server.port}) do |ssh|
need_update_sites = SiteConstruct.where(:id.in=>@site_server.need_update_site_ids).to_a
need_update_sites.each do |site_construct|
update_thread_infos("Changing "+site_construct.site_name+" nginx...")
|