Commit faed914e872cba7cb955ba763b4022dc6d27465c

Authored by Sergio Oliveira
1 parent 9925da16

Removed old scripts

scripts/Arquivos/colab/ipconfig.yml
... ... @@ -1,5 +0,0 @@
1   -COLAB_TRAC_IP=127.0.0.1
2   -COLAB_GITLAB_IP=127.0.0.1
3   -COLAB_REDMINE_IP=127.0.0.1
4   -COLAB_DATABASE_IP=10.1.0.41
5   -COLAB_SOLR_IP=10.1.0.42
scripts/Arquivos/gitlab-unicorn
... ... @@ -1,124 +0,0 @@
1   -#!/bin/bash
2   -#
3   -# GitLab
4   -# Contributors : @elvanja, @troyanov, @eiyaya, @foyo23, @nielsbasjes, @relip, @JasonMing, @andronat, @axilleas, @mdirkse
5   -# App Version : 6.x - 7.x
6   -
7   -# chkconfig: 2345 82 55
8   -# processname: unicorn
9   -# processname: sidekiq
10   -# description: Runs unicorn and sidekiq for nginx integration.
11   -
12   -# Related (kudos @4sak3n0ne):
13   -# https://github.com/gitlabhq/gitlabhq/issues/1049#issuecomment-8386882
14   -# https://gist.github.com/3062860
15   -
16   -# Include RedHat function library
17   -. /etc/rc.d/init.d/functions
18   -
19   -# The name of the service
20   -NAME=${0##*/}
21   -
22   -### Environment variables
23   -RAILS_ENV="production"
24   -
25   -# The username and path to the gitlab source
26   -USER=git
27   -APP_PATH=/home/git/gitlab
28   -
29   -# The PID and LOCK files used by unicorn and sidekiq
30   -UPID=$APP_PATH/tmp/pids/unicorn.pid
31   -ULOCK=/var/lock/subsys/unicorn
32   -SPID=$APP_PATH/tmp/pids/sidekiq.pid
33   -SLOCK=/var/lock/subsys/sidekiq
34   -
35   -# Evaluate the real path for the user (should already have RVM)
36   -PATH_PATCH="PATH=$(su $USER -s /bin/bash -l -c "echo \"\$PATH\"") && export PATH && "
37   -
38   -start() {
39   - cd $APP_PATH
40   -
41   - # Start unicorn
42   - echo -n $"Starting unicorn: "
43   - daemon --pidfile=$UPID --user=$USER "$PATH_PATCH RAILS_ENV=$RAILS_ENV bin/web start"
44   - unicorn=$?
45   - [ $unicorn -eq 0 ] && touch $ULOCK
46   - echo
47   -
48   - # Start sidekiq
49   - echo -n $"Starting sidekiq: "
50   - daemon --pidfile=$SPID --user=$USER "$PATH_PATCH RAILS_ENV=$RAILS_ENV bin/background_jobs start"
51   - sidekiq=$?
52   - [ $sidekiq -eq 0 ] && touch $SLOCK
53   - echo
54   -
55   - retval=$unicorn || $sidekiq
56   - return $retval
57   -}
58   -
59   -stop() {
60   - cd $APP_PATH
61   -
62   - # Stop unicorn
63   - echo -n $"Stopping unicorn: "
64   - killproc -p $UPID
65   - unicorn=$?
66   - [ $unicorn -eq 0 ] && rm -f $ULOCK
67   - echo
68   -
69   - # Stop sidekiq
70   - echo -n $"Stopping sidekiq: "
71   - killproc -p $SPID
72   - sidekiq=$?
73   - [ $sidekiq -eq 0 ] && rm -f $SLOCK
74   - echo
75   -
76   - retval=$unicorn || $sidekiq
77   - return $retval
78   -}
79   -
80   -restart() {
81   - stop
82   - start
83   -}
84   -
85   -get_status() {
86   - status -p $UPID unicorn
87   - unicorn=$?
88   -
89   - status -p $SPID sidekiq
90   - sidekiq=$?
91   -
92   - retval=$unicorn || $sidekiq
93   - return $retval
94   -}
95   -
96   -query_status() {
97   - get_status >/dev/null 2>&1
98   - return $?
99   -}
100   -
101   -case "$1" in
102   - start)
103   - query_status && exit 0
104   - start || exit 1
105   - ;;
106   - stop)
107   - query_status || exit 0
108   - stop || exit 1
109   - ;;
110   - restart)
111   - restart || exit 1
112   - ;;
113   - status)
114   - get_status
115   - exit $?
116   - ;;
117   - *)
118   - N=/etc/init.d/$NAME
119   - echo "Usage: $N {start|stop|restart|status}" >&2
120   - exit 1
121   - ;;
122   -esac
123   -
124   -exit 0
scripts/Arquivos/mailman/list.conf
... ... @@ -1,23 +0,0 @@
1   - server {
2   - server_name localhost;
3   - listen 8025;
4   -
5   - location /mailman/cgi-bin {
6   - root /usr/lib;
7   - fastcgi_split_path_info (^/mailman/cgi-bin/[^/]*)(.*)$;
8   - include /etc/nginx/fastcgi_params;
9   - fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
10   - fastcgi_param PATH_INFO $fastcgi_path_info;
11   - fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
12   - fastcgi_intercept_errors on;
13   - fastcgi_pass unix:/var/run/fcgiwrap.socket;
14   - }
15   - location /images/mailman {
16   - alias /usr/lib/mailman/icons;
17   - }
18   - location /pipermail {
19   - alias /var/lib/mailman/archives/public;
20   - autoindex on;
21   - }
22   - }
23   -
scripts/Arquivos/mailman/mailman_list_conf.conf
... ... @@ -1,3 +0,0 @@
1   -spb
2   -arthurmde@gmail.com
3   -admin
scripts/Arquivos/postgres/ipconfig.sh
... ... @@ -1,4 +0,0 @@
1   -TRAC_IP=127.0.0.1
2   -REDMINE_IP=127.0.0.1
3   -COLAB_IP=127.0.0.1
4   -GITLAB_IP=$COLAB_IP
scripts/Arquivos/postgres/pg_hba.conf
... ... @@ -1,23 +0,0 @@
1   -# TYPE DATABASE USER ADDRESS METHOD
2   -
3   -# "local" is for Unix domain socket connections only
4   - local redmine redmine md5
5   - local trac_colab colab md5
6   - local colab colab md5
7   - local gitlabhq_production git trust
8   - local postgres git trust
9   - local all postgres peer
10   -# IPv4 local connections:
11   - host redmine redmine 127.0.0.1/32 md5
12   - host trac_colab colab 127.0.0.1/32 md5
13   - host colab colab 127.0.0.1/32 md5
14   - host gitlabhq_production git 127.0.0.1/32 trust
15   - host postgres git 127.0.0.1/32 trust
16   - host all postgres 127.0.0.1/32 ident
17   -# IPv6 local connections:
18   - host redmine redmine ::1/128 md5
19   - host trac_colab colab ::1/128 md5
20   - host colab colab ::1/128 md5
21   - host gitlabhq_production git ::1/128 trust
22   - host postgres git ::1/128 trust
23   - host all postgres ::1/128 ident
scripts/Arquivos/redmine/routes.rb
... ... @@ -1,358 +0,0 @@
1   -# Redmine - project management software
2   -# Copyright (C) 2006-2013 Jean-Philippe Lang
3   -#
4   -# This program is free software; you can redistribute it and/or
5   -# modify it under the terms of the GNU General Public License
6   -# as published by the Free Software Foundation; either version 2
7   -# of the License, or (at your option) any later version.
8   -#
9   -# This program is distributed in the hope that it will be useful,
10   -# but WITHOUT ANY WARRANTY; without even the implied warranty of
11   -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12   -# GNU General Public License for more details.
13   -#
14   -# You should have received a copy of the GNU General Public License
15   -# along with this program; if not, write to the Free Software
16   -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17   -Redmine::Utils::relative_url_root = "/redmine"
18   -
19   -RedmineApp::Application.routes.draw do
20   - scope Redmine::Utils::relative_url_root do
21   - root :to => 'welcome#index', :as => 'home'
22   -
23   - match 'login', :to => 'account#login', :as => 'signin', :via => [:get, :post]
24   - match 'logout', :to => 'account#logout', :as => 'signout', :via => [:get, :post]
25   - match 'account/register', :to => 'account#register', :via => [:get, :post], :as => 'register'
26   - match 'account/lost_password', :to => 'account#lost_password', :via => [:get, :post], :as => 'lost_password'
27   - match 'account/activate', :to => 'account#activate', :via => :get
28   -
29   - match '/news/preview', :controller => 'previews', :action => 'news', :as => 'preview_news', :via => [:get, :post, :put]
30   - match '/issues/preview/new/:project_id', :to => 'previews#issue', :as => 'preview_new_issue', :via => [:get, :post, :put]
31   - match '/issues/preview/edit/:id', :to => 'previews#issue', :as => 'preview_edit_issue', :via => [:get, :post, :put]
32   - match '/issues/preview', :to => 'previews#issue', :as => 'preview_issue', :via => [:get, :post, :put]
33   -
34   - match 'projects/:id/wiki', :to => 'wikis#edit', :via => :post
35   - match 'projects/:id/wiki/destroy', :to => 'wikis#destroy', :via => [:get, :post]
36   -
37   - match 'boards/:board_id/topics/new', :to => 'messages#new', :via => [:get, :post], :as => 'new_board_message'
38   - get 'boards/:board_id/topics/:id', :to => 'messages#show', :as => 'board_message'
39   - match 'boards/:board_id/topics/quote/:id', :to => 'messages#quote', :via => [:get, :post]
40   - get 'boards/:board_id/topics/:id/edit', :to => 'messages#edit'
41   -
42   - post 'boards/:board_id/topics/preview', :to => 'messages#preview', :as => 'preview_board_message'
43   - post 'boards/:board_id/topics/:id/replies', :to => 'messages#reply'
44   - post 'boards/:board_id/topics/:id/edit', :to => 'messages#edit'
45   - post 'boards/:board_id/topics/:id/destroy', :to => 'messages#destroy'
46   -
47   - # Misc issue routes. TODO: move into resources
48   - match '/issues/auto_complete', :to => 'auto_completes#issues', :via => :get, :as => 'auto_complete_issues'
49   - match '/issues/context_menu', :to => 'context_menus#issues', :as => 'issues_context_menu', :via => [:get, :post]
50   - match '/issues/changes', :to => 'journals#index', :as => 'issue_changes', :via => :get
51   - match '/issues/:id/quoted', :to => 'journals#new', :id => /\d+/, :via => :post, :as => 'quoted_issue'
52   -
53   - match '/journals/diff/:id', :to => 'journals#diff', :id => /\d+/, :via => :get
54   - match '/journals/edit/:id', :to => 'journals#edit', :id => /\d+/, :via => [:get, :post]
55   -
56   - get '/projects/:project_id/issues/gantt', :to => 'gantts#show', :as => 'project_gantt'
57   - get '/issues/gantt', :to => 'gantts#show'
58   -
59   - get '/projects/:project_id/issues/calendar', :to => 'calendars#show', :as => 'project_calendar'
60   - get '/issues/calendar', :to => 'calendars#show'
61   -
62   - get 'projects/:id/issues/report', :to => 'reports#issue_report', :as => 'project_issues_report'
63   - get 'projects/:id/issues/report/:detail', :to => 'reports#issue_report_details', :as => 'project_issues_report_details'
64   -
65   - match 'my/account', :controller => 'my', :action => 'account', :via => [:get, :post]
66   - match 'my/account/destroy', :controller => 'my', :action => 'destroy', :via => [:get, :post]
67   - match 'my/page', :controller => 'my', :action => 'page', :via => :get
68   - match 'my', :controller => 'my', :action => 'index', :via => :get # Redirects to my/page
69   - match 'my/reset_rss_key', :controller => 'my', :action => 'reset_rss_key', :via => :post
70   - match 'my/reset_api_key', :controller => 'my', :action => 'reset_api_key', :via => :post
71   - match 'my/password', :controller => 'my', :action => 'password', :via => [:get, :post]
72   - match 'my/page_layout', :controller => 'my', :action => 'page_layout', :via => :get
73   - match 'my/add_block', :controller => 'my', :action => 'add_block', :via => :post
74   - match 'my/remove_block', :controller => 'my', :action => 'remove_block', :via => :post
75   - match 'my/order_blocks', :controller => 'my', :action => 'order_blocks', :via => :post
76   -
77   - resources :users
78   - match 'users/:id/memberships/:membership_id', :to => 'users#edit_membership', :via => :put, :as => 'user_membership'
79   - match 'users/:id/memberships/:membership_id', :to => 'users#destroy_membership', :via => :delete
80   - match 'users/:id/memberships', :to => 'users#edit_membership', :via => :post, :as => 'user_memberships'
81   -
82   - post 'watchers/watch', :to => 'watchers#watch', :as => 'watch'
83   - delete 'watchers/watch', :to => 'watchers#unwatch'
84   - get 'watchers/new', :to => 'watchers#new'
85   - post 'watchers', :to => 'watchers#create'
86   - post 'watchers/append', :to => 'watchers#append'
87   - delete 'watchers', :to => 'watchers#destroy'
88   - get 'watchers/autocomplete_for_user', :to => 'watchers#autocomplete_for_user'
89   - # Specific routes for issue watchers API
90   - post 'issues/:object_id/watchers', :to => 'watchers#create', :object_type => 'issue'
91   - delete 'issues/:object_id/watchers/:user_id' => 'watchers#destroy', :object_type => 'issue'
92   -
93   - resources :projects do
94   - member do
95   - get 'settings(/:tab)', :action => 'settings', :as => 'settings'
96   - post 'modules'
97   - post 'archive'
98   - post 'unarchive'
99   - post 'close'
100   - post 'reopen'
101   - match 'copy', :via => [:get, :post]
102   - end
103   -
104   - shallow do
105   - resources :memberships, :controller => 'members', :only => [:index, :show, :new, :create, :update, :destroy] do
106   - collection do
107   - get 'autocomplete'
108   - end
109   - end
110   - end
111   -
112   - resource :enumerations, :controller => 'project_enumerations', :only => [:update, :destroy]
113   -
114   - get 'issues/:copy_from/copy', :to => 'issues#new', :as => 'copy_issue'
115   - resources :issues, :only => [:index, :new, :create] do
116   - resources :time_entries, :controller => 'timelog' do
117   - collection do
118   - get 'report'
119   - end
120   - end
121   - end
122   - # issue form update
123   - match 'issues/update_form', :controller => 'issues', :action => 'update_form', :via => [:put, :post], :as => 'issue_form'
124   -
125   - resources :files, :only => [:index, :new, :create]
126   -
127   - resources :versions, :except => [:index, :show, :edit, :update, :destroy] do
128   - collection do
129   - put 'close_completed'
130   - end
131   - end
132   - get 'versions.:format', :to => 'versions#index'
133   - get 'roadmap', :to => 'versions#index', :format => false
134   - get 'versions', :to => 'versions#index'
135   -
136   - resources :news, :except => [:show, :edit, :update, :destroy]
137   - resources :time_entries, :controller => 'timelog' do
138   - get 'report', :on => :collection
139   - end
140   - resources :queries, :only => [:new, :create]
141   - shallow do
142   - resources :issue_categories
143   - end
144   - resources :documents, :except => [:show, :edit, :update, :destroy]
145   - resources :boards
146   - shallow do
147   - resources :repositories, :except => [:index, :show] do
148   - member do
149   - match 'committers', :via => [:get, :post]
150   - end
151   - end
152   - end
153   -
154   - match 'wiki/index', :controller => 'wiki', :action => 'index', :via => :get
155   - resources :wiki, :except => [:index, :new, :create], :as => 'wiki_page' do
156   - member do
157   - get 'rename'
158   - post 'rename'
159   - get 'history'
160   - get 'diff'
161   - match 'preview', :via => [:post, :put]
162   - post 'protect'
163   - post 'add_attachment'
164   - end
165   - collection do
166   - get 'export'
167   - get 'date_index'
168   - end
169   - end
170   - match 'wiki', :controller => 'wiki', :action => 'show', :via => :get
171   - get 'wiki/:id/:version', :to => 'wiki#show', :constraints => {:version => /\d+/}
172   - delete 'wiki/:id/:version', :to => 'wiki#destroy_version'
173   - get 'wiki/:id/:version/annotate', :to => 'wiki#annotate'
174   - get 'wiki/:id/:version/diff', :to => 'wiki#diff'
175   - end
176   -
177   - resources :issues do
178   - collection do
179   - match 'bulk_edit', :via => [:get, :post]
180   - post 'bulk_update'
181   - end
182   - resources :time_entries, :controller => 'timelog' do
183   - collection do
184   - get 'report'
185   - end
186   - end
187   - shallow do
188   - resources :relations, :controller => 'issue_relations', :only => [:index, :show, :create, :destroy]
189   - end
190   - end
191   - match '/issues', :controller => 'issues', :action => 'destroy', :via => :delete
192   -
193   - resources :queries, :except => [:show]
194   -
195   - resources :news, :only => [:index, :show, :edit, :update, :destroy]
196   - match '/news/:id/comments', :to => 'comments#create', :via => :post
197   - match '/news/:id/comments/:comment_id', :to => 'comments#destroy', :via => :delete
198   -
199   - resources :versions, :only => [:show, :edit, :update, :destroy] do
200   - post 'status_by', :on => :member
201   - end
202   -
203   - resources :documents, :only => [:show, :edit, :update, :destroy] do
204   - post 'add_attachment', :on => :member
205   - end
206   -
207   - match '/time_entries/context_menu', :to => 'context_menus#time_entries', :as => :time_entries_context_menu, :via => [:get, :post]
208   -
209   - resources :time_entries, :controller => 'timelog', :except => :destroy do
210   - collection do
211   - get 'report'
212   - get 'bulk_edit'
213   - post 'bulk_update'
214   - end
215   - end
216   - match '/time_entries/:id', :to => 'timelog#destroy', :via => :delete, :id => /\d+/
217   - # TODO: delete /time_entries for bulk deletion
218   - match '/time_entries/destroy', :to => 'timelog#destroy', :via => :delete
219   -
220   - get 'projects/:id/activity', :to => 'activities#index'
221   - get 'projects/:id/activity.:format', :to => 'activities#index'
222   - get 'activity', :to => 'activities#index'
223   -
224   - # repositories routes
225   - get 'projects/:id/repository/:repository_id/statistics', :to => 'repositories#stats'
226   - get 'projects/:id/repository/:repository_id/graph', :to => 'repositories#graph'
227   -
228   - get 'projects/:id/repository/:repository_id/changes(/*path(.:ext))',
229   - :to => 'repositories#changes'
230   -
231   - get 'projects/:id/repository/:repository_id/revisions/:rev', :to => 'repositories#revision'
232   - get 'projects/:id/repository/:repository_id/revision', :to => 'repositories#revision'
233   - post 'projects/:id/repository/:repository_id/revisions/:rev/issues', :to => 'repositories#add_related_issue'
234   - delete 'projects/:id/repository/:repository_id/revisions/:rev/issues/:issue_id', :to => 'repositories#remove_related_issue'
235   - get 'projects/:id/repository/:repository_id/revisions', :to => 'repositories#revisions'
236   - get 'projects/:id/repository/:repository_id/revisions/:rev/:action(/*path(.:ext))',
237   - :controller => 'repositories',
238   - :format => false,
239   - :constraints => {
240   - :action => /(browse|show|entry|raw|annotate|diff)/,
241   - :rev => /[a-z0-9\.\-_]+/
242   - }
243   -
244   - get 'projects/:id/repository/statistics', :to => 'repositories#stats'
245   - get 'projects/:id/repository/graph', :to => 'repositories#graph'
246   -
247   - get 'projects/:id/repository/changes(/*path(.:ext))',
248   - :to => 'repositories#changes'
249   -
250   - get 'projects/:id/repository/revisions', :to => 'repositories#revisions'
251   - get 'projects/:id/repository/revisions/:rev', :to => 'repositories#revision'
252   - get 'projects/:id/repository/revision', :to => 'repositories#revision'
253   - post 'projects/:id/repository/revisions/:rev/issues', :to => 'repositories#add_related_issue'
254   - delete 'projects/:id/repository/revisions/:rev/issues/:issue_id', :to => 'repositories#remove_related_issue'
255   - get 'projects/:id/repository/revisions/:rev/:action(/*path(.:ext))',
256   - :controller => 'repositories',
257   - :format => false,
258   - :constraints => {
259   - :action => /(browse|show|entry|raw|annotate|diff)/,
260   - :rev => /[a-z0-9\.\-_]+/
261   - }
262   - get 'projects/:id/repository/:repository_id/:action(/*path(.:ext))',
263   - :controller => 'repositories',
264   - :action => /(browse|show|entry|raw|changes|annotate|diff)/
265   - get 'projects/:id/repository/:action(/*path(.:ext))',
266   - :controller => 'repositories',
267   - :action => /(browse|show|entry|raw|changes|annotate|diff)/
268   -
269   - get 'projects/:id/repository/:repository_id', :to => 'repositories#show', :path => nil
270   - get 'projects/:id/repository', :to => 'repositories#show', :path => nil
271   -
272   - # additional routes for having the file name at the end of url
273   - get 'attachments/:id/:filename', :to => 'attachments#show', :id => /\d+/, :filename => /.*/, :as => 'named_attachment'
274   - get 'attachments/download/:id/:filename', :to => 'attachments#download', :id => /\d+/, :filename => /.*/, :as => 'download_named_attachment'
275   - get 'attachments/download/:id', :to => 'attachments#download', :id => /\d+/
276   - get 'attachments/thumbnail/:id(/:size)', :to => 'attachments#thumbnail', :id => /\d+/, :size => /\d+/, :as => 'thumbnail'
277   - resources :attachments, :only => [:show, :destroy]
278   -
279   - resources :groups do
280   - member do
281   - get 'autocomplete_for_user'
282   - end
283   - end
284   -
285   - match 'groups/:id/users', :controller => 'groups', :action => 'add_users', :id => /\d+/, :via => :post, :as => 'group_users'
286   - match 'groups/:id/users/:user_id', :controller => 'groups', :action => 'remove_user', :id => /\d+/, :via => :delete, :as => 'group_user'
287   - match 'groups/destroy_membership/:id', :controller => 'groups', :action => 'destroy_membership', :id => /\d+/, :via => :post
288   - match 'groups/edit_membership/:id', :controller => 'groups', :action => 'edit_membership', :id => /\d+/, :via => :post
289   -
290   - resources :trackers, :except => :show do
291   - collection do
292   - match 'fields', :via => [:get, :post]
293   - end
294   - end
295   - resources :issue_statuses, :except => :show do
296   - collection do
297   - post 'update_issue_done_ratio'
298   - end
299   - end
300   - resources :custom_fields, :except => :show
301   - resources :roles do
302   - collection do
303   - match 'permissions', :via => [:get, :post]
304   - end
305   - end
306   - resources :enumerations, :except => :show
307   - match 'enumerations/:type', :to => 'enumerations#index', :via => :get
308   -
309   - get 'projects/:id/search', :controller => 'search', :action => 'index'
310   - get 'search', :controller => 'search', :action => 'index'
311   -
312   - match 'mail_handler', :controller => 'mail_handler', :action => 'index', :via => :post
313   -
314   - match 'admin', :controller => 'admin', :action => 'index', :via => :get
315   - match 'admin/projects', :controller => 'admin', :action => 'projects', :via => :get
316   - match 'admin/plugins', :controller => 'admin', :action => 'plugins', :via => :get
317   - match 'admin/info', :controller => 'admin', :action => 'info', :via => :get
318   - match 'admin/test_email', :controller => 'admin', :action => 'test_email', :via => :get
319   - match 'admin/default_configuration', :controller => 'admin', :action => 'default_configuration', :via => :post
320   -
321   - resources :auth_sources do
322   - member do
323   - get 'test_connection', :as => 'try_connection'
324   - end
325   - collection do
326   - get 'autocomplete_for_new_user'
327   - end
328   - end
329   -
330   - match 'workflows', :controller => 'workflows', :action => 'index', :via => :get
331   - match 'workflows/edit', :controller => 'workflows', :action => 'edit', :via => [:get, :post]
332   - match 'workflows/permissions', :controller => 'workflows', :action => 'permissions', :via => [:get, :post]
333   - match 'workflows/copy', :controller => 'workflows', :action => 'copy', :via => [:get, :post]
334   - match 'settings', :controller => 'settings', :action => 'index', :via => :get
335   - match 'settings/edit', :controller => 'settings', :action => 'edit', :via => [:get, :post]
336   - match 'settings/plugin/:id', :controller => 'settings', :action => 'plugin', :via => [:get, :post], :as => 'plugin_settings'
337   -
338   - match 'sys/projects', :to => 'sys#projects', :via => :get
339   - match 'sys/projects/:id/repository', :to => 'sys#create_project_repository', :via => :post
340   - match 'sys/fetch_changesets', :to => 'sys#fetch_changesets', :via => :get
341   -
342   - match 'uploads', :to => 'attachments#upload', :via => :post
343   -
344   - get 'robots.txt', :to => 'welcome#robots'
345   -
346   - Dir.glob File.expand_path("plugins/*", Rails.root) do |plugin_dir|
347   - file = File.join(plugin_dir, "config/routes.rb")
348   - if File.exists?(file)
349   - begin
350   - instance_eval File.read(file)
351   - rescue Exception => e
352   - puts "An error occurred while loading the routes definition of #{File.basename(plugin_dir)} plugin (#{file}): #{e.message}."
353   - exit 1
354   - end
355   - end
356   - end
357   -end
358   -end
scripts/Arquivos/redmine/unicorn.rb
... ... @@ -1,25 +0,0 @@
1   -# Set the working application directory
2   -# working_directory "/path/to/your/app"
3   -working_directory "/opt/redmine"
4   -
5   -# Unicorn PID file location
6   -# pid "/path/to/pids/unicorn.pid"
7   -pid "/opt/redmine/pids/unicorn.pid"
8   -
9   -# Path to logs
10   -# stderr_path "/path/to/log/unicorn.log"
11   -# stdout_path "/path/to/log/unicorn.log"
12   -stderr_path "/opt/redmine/log/unicorn.log"
13   -stdout_path "/opt/redmine/log/unicorn.log"
14   -
15   -# Unicorn socket
16   -#listen "/tmp/unicorn.redmine.sock"
17   -listen "/tmp/unicorn.redmine.sock"
18   -
19   -# Number of processes
20   -# worker_processes 4
21   -worker_processes 2
22   -
23   -# Time-out
24   -timeout 30
25   -
scripts/Arquivos/remote-user-auth.py
... ... @@ -1,17 +0,0 @@
1   - from trac.core import *
2   - from trac.config import BoolOption
3   - from trac.web.api import IAuthenticator
4   -
5   - class MyRemoteUserAuthenticator(Component):
6   -
7   - implements(IAuthenticator)
8   -
9   - obey_remote_user_header = BoolOption('trac', 'obey_remote_user_header', 'false',
10   - """Whether the 'Remote-User:' HTTP header is to be trusted for user logins
11   - (''since ??.??').""")
12   -
13   - def authenticate(self, req):
14   - if self.obey_remote_user_header and req.get_header('Remote-User'):
15   - return req.get_header('Remote-User')
16   - return None
17   -
scripts/Arquivos/solr/schema.xml
... ... @@ -1,245 +0,0 @@
1   -<?xml version="1.0" ?>
2   -<!--
3   - Licensed to the Apache Software Foundation (ASF) under one or more
4   - contributor license agreements. See the NOTICE file distributed with
5   - this work for additional information regarding copyright ownership.
6   - The ASF licenses this file to You under the Apache License, Version 2.0
7   - (the "License"); you may not use this file except in compliance with
8   - the License. You may obtain a copy of the License at
9   -
10   - http://www.apache.org/licenses/LICENSE-2.0
11   -
12   - Unless required by applicable law or agreed to in writing, software
13   - distributed under the License is distributed on an "AS IS" BASIS,
14   - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   - See the License for the specific language governing permissions and
16   - limitations under the License.
17   --->
18   -
19   -<schema name="default" version="1.4">
20   - <types>
21   - <fieldtype name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
22   - <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true" omitNorms="true"/>
23   - <fieldtype name="binary" class="solr.BinaryField"/>
24   -
25   - <!-- Numeric field types that manipulate the value into
26   - a string value that isn't human-readable in its internal form,
27   - but with a lexicographic ordering the same as the numeric ordering,
28   - so that range queries work correctly. -->
29   - <fieldType name="int" class="solr.TrieIntField" precisionStep="0" omitNorms="true" sortMissingLast="true" positionIncrementGap="0"/>
30   - <fieldType name="float" class="solr.TrieFloatField" precisionStep="0" omitNorms="true" sortMissingLast="true" positionIncrementGap="0"/>
31   - <fieldType name="long" class="solr.TrieLongField" precisionStep="0" omitNorms="true" sortMissingLast="true" positionIncrementGap="0"/>
32   - <fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" omitNorms="true" sortMissingLast="true" positionIncrementGap="0"/>
33   -
34   - <fieldType name="tint" class="solr.TrieIntField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
35   - <fieldType name="tfloat" class="solr.TrieFloatField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
36   - <fieldType name="tlong" class="solr.TrieLongField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
37   - <fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
38   -
39   - <fieldType name="date" class="solr.TrieDateField" omitNorms="true" precisionStep="0" positionIncrementGap="0"/>
40   - <!-- A Trie based date field for faster date range queries and date faceting. -->
41   - <fieldType name="tdate" class="solr.TrieDateField" omitNorms="true" precisionStep="6" positionIncrementGap="0"/>
42   -
43   - <fieldType name="point" class="solr.PointType" dimension="2" subFieldSuffix="_d"/>
44   - <fieldType name="location" class="solr.LatLonType" subFieldSuffix="_coordinate"/>
45   - <fieldtype name="geohash" class="solr.GeoHashField"/>
46   -
47   - <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
48   - <analyzer type="index">
49   - <tokenizer class="solr.StandardTokenizerFactory"/>
50   - <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
51   - <!-- in this example, we will only use synonyms at query time
52   - <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
53   - -->
54   - <filter class="solr.LowerCaseFilterFactory"/>
55   - </analyzer>
56   - <analyzer type="query">
57   - <tokenizer class="solr.StandardTokenizerFactory"/>
58   - <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
59   - <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
60   - <filter class="solr.LowerCaseFilterFactory"/>
61   - </analyzer>
62   - </fieldType>
63   -
64   - <fieldType name="text_en" class="solr.TextField" positionIncrementGap="100">
65   - <analyzer type="index">
66   - <tokenizer class="solr.StandardTokenizerFactory"/>
67   - <filter class="solr.StopFilterFactory"
68   - ignoreCase="true"
69   - words="lang/stopwords_en.txt"
70   - enablePositionIncrements="true"
71   - />
72   - <filter class="solr.LowerCaseFilterFactory"/>
73   - <filter class="solr.EnglishPossessiveFilterFactory"/>
74   - <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
75   - <!-- Optionally you may want to use this less aggressive stemmer instead of PorterStemFilterFactory:
76   - <filter class="solr.EnglishMinimalStemFilterFactory"/>
77   - -->
78   - <filter class="solr.PorterStemFilterFactory"/>
79   - </analyzer>
80   - <analyzer type="query">
81   - <tokenizer class="solr.StandardTokenizerFactory"/>
82   - <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
83   - <filter class="solr.StopFilterFactory"
84   - ignoreCase="true"
85   - words="lang/stopwords_en.txt"
86   - enablePositionIncrements="true"
87   - />
88   - <filter class="solr.LowerCaseFilterFactory"/>
89   - <filter class="solr.EnglishPossessiveFilterFactory"/>
90   - <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
91   - <!-- Optionally you may want to use this less aggressive stemmer instead of PorterStemFilterFactory:
92   - <filter class="solr.EnglishMinimalStemFilterFactory"/>
93   - -->
94   - <filter class="solr.PorterStemFilterFactory"/>
95   - </analyzer>
96   - </fieldType>
97   -
98   - <fieldType name="text_ws" class="solr.TextField" positionIncrementGap="100">
99   - <analyzer>
100   - <tokenizer class="solr.WhitespaceTokenizerFactory"/>
101   - </analyzer>
102   - </fieldType>
103   -
104   - <fieldType name="ngram" class="solr.TextField" >
105   - <analyzer type="index">
106   - <tokenizer class="solr.KeywordTokenizerFactory"/>
107   - <filter class="solr.LowerCaseFilterFactory"/>
108   - <filter class="solr.NGramFilterFactory" minGramSize="3" maxGramSize="15" />
109   - </analyzer>
110   - <analyzer type="query">
111   - <tokenizer class="solr.KeywordTokenizerFactory"/>
112   - <filter class="solr.LowerCaseFilterFactory"/>
113   - </analyzer>
114   - </fieldType>
115   -
116   - <fieldType name="edge_ngram" class="solr.TextField" positionIncrementGap="1">
117   - <analyzer type="index">
118   - <tokenizer class="solr.WhitespaceTokenizerFactory" />
119   - <filter class="solr.LowerCaseFilterFactory" />
120   - <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
121   - <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" side="front" />
122   - </analyzer>
123   - <analyzer type="query">
124   - <tokenizer class="solr.WhitespaceTokenizerFactory" />
125   - <filter class="solr.LowerCaseFilterFactory" />
126   - <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
127   - </analyzer>
128   - </fieldType>
129   - </types>
130   -
131   - <fields>
132   - <!-- general -->
133   - <field name="id" type="string" indexed="true" stored="true" multiValued="false" required="true"/>
134   - <field name="django_ct" type="string" indexed="true" stored="true" multiValued="false"/>
135   - <field name="django_id" type="string" indexed="true" stored="true" multiValued="false"/>
136   -
137   - <dynamicField name="*_i" type="int" indexed="true" stored="true"/>
138   - <dynamicField name="*_s" type="string" indexed="true" stored="true"/>
139   - <dynamicField name="*_l" type="long" indexed="true" stored="true"/>
140   - <dynamicField name="*_t" type="text_en" indexed="true" stored="true"/>
141   - <dynamicField name="*_b" type="boolean" indexed="true" stored="true"/>
142   - <dynamicField name="*_f" type="float" indexed="true" stored="true"/>
143   - <dynamicField name="*_d" type="double" indexed="true" stored="true"/>
144   - <dynamicField name="*_dt" type="date" indexed="true" stored="true"/>
145   - <dynamicField name="*_p" type="location" indexed="true" stored="true"/>
146   - <dynamicField name="*_coordinate" type="tdouble" indexed="true" stored="false"/>
147   -
148   -
149   - <field name="fullname_and_username" type="text_en" indexed="true" stored="false" multiValued="false" />
150   -
151   - <field name="description" type="text_en" indexed="true" stored="true" multiValued="false" />
152   -
153   - <field name="text" type="text_en" indexed="true" stored="false" multiValued="false" />
154   -
155   - <field name="modified_by_url" type="text_en" indexed="true" stored="true" multiValued="false" />
156   -
157   - <field name="collaborators" type="text_en" indexed="true" stored="false" multiValued="false" />
158   -
159   - <field name="icon_name" type="text_en" indexed="true" stored="true" multiValued="false" />
160   -
161   - <field name="tag" type="text_en" indexed="true" stored="true" multiValued="false" />
162   -
163   - <field name="fullname" type="text_en" indexed="true" stored="true" multiValued="false" />
164   -
165   - <field name="mailinglist_url" type="string" indexed="false" stored="true" multiValued="false" />
166   -
167   - <field name="latest_description" type="string" indexed="false" stored="true" multiValued="false" />
168   -
169   - <field name="hits" type="long" indexed="true" stored="true" multiValued="false" />
170   -
171   - <field name="modified_by" type="text_en" indexed="true" stored="true" multiValued="false" />
172   -
173   - <field name="title" type="text_en" indexed="true" stored="true" multiValued="false" />
174   -
175   - <field name="url" type="string" indexed="false" stored="true" multiValued="false" />
176   -
177   - <field name="created" type="date" indexed="true" stored="true" multiValued="false" />
178   -
179   - <field name="modified" type="date" indexed="true" stored="true" multiValued="false" />
180   -
181   - <field name="latest_message_pk" type="long" indexed="false" stored="true" multiValued="false" />
182   -
183   - <field name="score" type="long" indexed="true" stored="true" multiValued="false" />
184   -
185   - <field name="author_url" type="string" indexed="false" stored="true" multiValued="false" />
186   -
187   - <field name="author" type="text_en" indexed="true" stored="true" multiValued="false" />
188   -
189   - <field name="type" type="text_en" indexed="true" stored="true" multiValued="false" />
190   -
191   - <field name="username" type="text_en" indexed="true" stored="false" multiValued="false" />
192   -
193   - <field name="webpage" type="text_en" indexed="true" stored="false" multiValued="false" />
194   -
195   - <field name="message_count" type="long" indexed="true" stored="false" multiValued="false" />
196   -
197   - <field name="institution" type="text_en" indexed="true" stored="true" multiValued="false" />
198   -
199   - <field name="google_talk" type="text_en" indexed="true" stored="false" multiValued="false" />
200   -
201   - <field name="name" type="text_en" indexed="true" stored="true" multiValued="false" />
202   -
203   - <field name="changeset_count" type="long" indexed="true" stored="false" multiValued="false" />
204   -
205   - <field name="role" type="text_en" indexed="true" stored="true" multiValued="false" />
206   -
207   - <field name="contribution_count" type="long" indexed="true" stored="false" multiValued="false" />
208   -
209   - <field name="ticket_count" type="long" indexed="true" stored="false" multiValued="false" />
210   -
211   - <field name="wiki_count" type="long" indexed="true" stored="false" multiValued="false" />
212   -
213   - <field name="email" type="text_en" indexed="true" stored="false" multiValued="false" />
214   -
215   - <field name="used_by" type="text_en" indexed="true" stored="false" multiValued="false" />
216   -
217   - <field name="size" type="long" indexed="true" stored="false" multiValued="false" />
218   -
219   - <field name="mimetype" type="text_en" indexed="true" stored="false" multiValued="false" />
220   -
221   - <field name="filename" type="text_en" indexed="true" stored="false" multiValued="false" />
222   -
223   - <field name="repository_name" type="text_en" indexed="true" stored="false" multiValued="false" />
224   -
225   - <field name="reporter" type="text_en" indexed="true" stored="true" multiValued="false" />
226   -
227   - <field name="milestone" type="text_en" indexed="true" stored="true" multiValued="false" />
228   -
229   - <field name="keywords" type="text_en" indexed="true" stored="true" multiValued="false" />
230   -
231   - <field name="severity" type="text_en" indexed="true" stored="true" multiValued="false" />
232   -
233   - <field name="component" type="text_en" indexed="true" stored="true" multiValued="false" />
234   -
235   - </fields>
236   -
237   - <!-- field to use to determine and enforce document uniqueness. -->
238   - <uniqueKey>id</uniqueKey>
239   -
240   - <!-- field for the QueryParser to use when an explicit fieldname is absent -->
241   - <defaultSearchField>text</defaultSearchField>
242   -
243   - <!-- SolrQueryParser configuration: defaultOperator="AND|OR" -->
244   - <solrQueryParser defaultOperator="AND"/>
245   -</schema>
246 0 \ No newline at end of file
scripts/Arquivos/solr/solrconfig.xml
... ... @@ -1,1821 +0,0 @@
1   -<?xml version="1.0" encoding="UTF-8" ?>
2   -<!--
3   - Licensed to the Apache Software Foundation (ASF) under one or more
4   - contributor license agreements. See the NOTICE file distributed with
5   - this work for additional information regarding copyright ownership.
6   - The ASF licenses this file to You under the Apache License, Version 2.0
7   - (the "License"); you may not use this file except in compliance with
8   - the License. You may obtain a copy of the License at
9   -
10   - http://www.apache.org/licenses/LICENSE-2.0
11   -
12   - Unless required by applicable law or agreed to in writing, software
13   - distributed under the License is distributed on an "AS IS" BASIS,
14   - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   - See the License for the specific language governing permissions and
16   - limitations under the License.
17   --->
18   -
19   -<!--
20   - For more details about configurations options that may appear in
21   - this file, see http://wiki.apache.org/solr/SolrConfigXml.
22   --->
23   -<config>
24   - <!-- In all configuration below, a prefix of "solr." for class names
25   - is an alias that causes solr to search appropriate packages,
26   - including org.apache.solr.(search|update|request|core|analysis)
27   -
28   - You may also specify a fully qualified Java classname if you
29   - have your own custom plugins.
30   - -->
31   -
32   - <!-- Controls what version of Lucene various components of Solr
33   - adhere to. Generally, you want to use the latest version to
34   - get all bug fixes and improvements. It is highly recommended
35   - that you fully re-index after changing this setting as it can
36   - affect both how text is indexed and queried.
37   - -->
38   - <luceneMatchVersion>4.6</luceneMatchVersion>
39   -
40   - <!-- <lib/> directives can be used to instruct Solr to load an Jars
41   - identified and use them to resolve any "plugins" specified in
42   - your solrconfig.xml or schema.xml (ie: Analyzers, Request
43   - Handlers, etc...).
44   -
45   - All directories and paths are resolved relative to the
46   - instanceDir.
47   -
48   - Please note that <lib/> directives are processed in the order
49   - that they appear in your solrconfig.xml file, and are "stacked"
50   - on top of each other when building a ClassLoader - so if you have
51   - plugin jars with dependencies on other jars, the "lower level"
52   - dependency jars should be loaded first.
53   -
54   - If a "./lib" directory exists in your instanceDir, all files
55   - found in it are included as if you had used the following
56   - syntax...
57   -
58   - <lib dir="./lib" />
59   - -->
60   -
61   - <!-- A 'dir' option by itself adds any files found in the directory
62   - to the classpath, this is useful for including all jars in a
63   - directory.
64   -
65   - When a 'regex' is specified in addition to a 'dir', only the
66   - files in that directory which completely match the regex
67   - (anchored on both ends) will be included.
68   -
69   - If a 'dir' option (with or without a regex) is used and nothing
70   - is found that matches, a warning will be logged.
71   -
72   - The examples below can be used to load some solr-contribs along
73   - with their external dependencies.
74   - -->
75   - <lib dir="../../../contrib/extraction/lib" regex=".*\.jar" />
76   - <lib dir="../../../dist/" regex="solr-cell-\d.*\.jar" />
77   -
78   - <lib dir="../../../contrib/clustering/lib/" regex=".*\.jar" />
79   - <lib dir="../../../dist/" regex="solr-clustering-\d.*\.jar" />
80   -
81   - <lib dir="../../../contrib/langid/lib/" regex=".*\.jar" />
82   - <lib dir="../../../dist/" regex="solr-langid-\d.*\.jar" />
83   -
84   - <lib dir="../../../contrib/velocity/lib" regex=".*\.jar" />
85   - <lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" />
86   -
87   - <!-- an exact 'path' can be used instead of a 'dir' to specify a
88   - specific jar file. This will cause a serious error to be logged
89   - if it can't be loaded.
90   - -->
91   - <!--
92   - <lib path="../a-jar-that-does-not-exist.jar" />
93   - -->
94   -
95   - <!-- Data Directory
96   -
97   - Used to specify an alternate directory to hold all index data
98   - other than the default ./data under the Solr home. If
99   - replication is in use, this should match the replication
100   - configuration.
101   - -->
102   - <dataDir>${solr.data.dir:}</dataDir>
103   -
104   -
105   - <!-- The DirectoryFactory to use for indexes.
106   -
107   - solr.StandardDirectoryFactory is filesystem
108   - based and tries to pick the best implementation for the current
109   - JVM and platform. solr.NRTCachingDirectoryFactory, the default,
110   - wraps solr.StandardDirectoryFactory and caches small files in memory
111   - for better NRT performance.
112   -
113   - One can force a particular implementation via solr.MMapDirectoryFactory,
114   - solr.NIOFSDirectoryFactory, or solr.SimpleFSDirectoryFactory.
115   -
116   - solr.RAMDirectoryFactory is memory based, not
117   - persistent, and doesn't work with replication.
118   - -->
119   - <directoryFactory name="DirectoryFactory"
120   - class="${solr.directoryFactory:solr.NRTCachingDirectoryFactory}"/>
121   -
122   - <!-- The CodecFactory for defining the format of the inverted index.
123   - The default implementation is SchemaCodecFactory, which is the official Lucene
124   - index format, but hooks into the schema to provide per-field customization of
125   - the postings lists and per-document values in the fieldType element
126   - (postingsFormat/docValuesFormat). Note that most of the alternative implementations
127   - are experimental, so if you choose to customize the index format, its a good
128   - idea to convert back to the official format e.g. via IndexWriter.addIndexes(IndexReader)
129   - before upgrading to a newer version to avoid unnecessary reindexing.
130   - -->
131   - <codecFactory class="solr.SchemaCodecFactory"/>
132   -
133   - <!-- To enable dynamic schema REST APIs, use the following for <schemaFactory>:
134   -
135   - <schemaFactory class="ManagedIndexSchemaFactory">
136   - <bool name="mutable">true</bool>
137   - <str name="managedSchemaResourceName">managed-schema</str>
138   - </schemaFactory>
139   -
140   - When ManagedIndexSchemaFactory is specified, Solr will load the schema from
141   - he resource named in 'managedSchemaResourceName', rather than from schema.xml.
142   - Note that the managed schema resource CANNOT be named schema.xml. If the managed
143   - schema does not exist, Solr will create it after reading schema.xml, then rename
144   - 'schema.xml' to 'schema.xml.bak'.
145   -
146   - Do NOT hand edit the managed schema - external modifications will be ignored and
147   - overwritten as a result of schema modification REST API calls.
148   -
149   - When ManagedIndexSchemaFactory is specified with mutable = true, schema
150   - modification REST API calls will be allowed; otherwise, error responses will be
151   - sent back for these requests.
152   - -->
153   - <schemaFactory class="ClassicIndexSchemaFactory"/>
154   -
155   - <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
156   - Index Config - These settings control low-level behavior of indexing
157   - Most example settings here show the default value, but are commented
158   - out, to more easily see where customizations have been made.
159   -
160   - Note: This replaces <indexDefaults> and <mainIndex> from older versions
161   - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
162   - <indexConfig>
163   - <!-- maxFieldLength was removed in 4.0. To get similar behavior, include a
164   - LimitTokenCountFilterFactory in your fieldType definition. E.g.
165   - <filter class="solr.LimitTokenCountFilterFactory" maxTokenCount="10000"/>
166   - -->
167   - <!-- Maximum time to wait for a write lock (ms) for an IndexWriter. Default: 1000 -->
168   - <!-- <writeLockTimeout>1000</writeLockTimeout> -->
169   -
170   - <!-- The maximum number of simultaneous threads that may be
171   - indexing documents at once in IndexWriter; if more than this
172   - many threads arrive they will wait for others to finish.
173   - Default in Solr/Lucene is 8. -->
174   - <!-- <maxIndexingThreads>8</maxIndexingThreads> -->
175   -
176   - <!-- Expert: Enabling compound file will use less files for the index,
177   - using fewer file descriptors on the expense of performance decrease.
178   - Default in Lucene is "true". Default in Solr is "false" (since 3.6) -->
179   - <!-- <useCompoundFile>false</useCompoundFile> -->
180   -
181   - <!-- ramBufferSizeMB sets the amount of RAM that may be used by Lucene
182   - indexing for buffering added documents and deletions before they are
183   - flushed to the Directory.
184   - maxBufferedDocs sets a limit on the number of documents buffered
185   - before flushing.
186   - If both ramBufferSizeMB and maxBufferedDocs is set, then
187   - Lucene will flush based on whichever limit is hit first.
188   - The default is 100 MB. -->
189   - <!-- <ramBufferSizeMB>100</ramBufferSizeMB> -->
190   - <!-- <maxBufferedDocs>1000</maxBufferedDocs> -->
191   -
192   - <!-- Expert: Merge Policy
193   - The Merge Policy in Lucene controls how merging of segments is done.
194   - The default since Solr/Lucene 3.3 is TieredMergePolicy.
195   - The default since Lucene 2.3 was the LogByteSizeMergePolicy,
196   - Even older versions of Lucene used LogDocMergePolicy.
197   - -->
198   - <!--
199   - <mergePolicy class="org.apache.lucene.index.TieredMergePolicy">
200   - <int name="maxMergeAtOnce">10</int>
201   - <int name="segmentsPerTier">10</int>
202   - </mergePolicy>
203   - -->
204   -
205   - <!-- Merge Factor
206   - The merge factor controls how many segments will get merged at a time.
207   - For TieredMergePolicy, mergeFactor is a convenience parameter which
208   - will set both MaxMergeAtOnce and SegmentsPerTier at once.
209   - For LogByteSizeMergePolicy, mergeFactor decides how many new segments
210   - will be allowed before they are merged into one.
211   - Default is 10 for both merge policies.
212   - -->
213   - <!--
214   - <mergeFactor>10</mergeFactor>
215   - -->
216   -
217   - <!-- Expert: Merge Scheduler
218   - The Merge Scheduler in Lucene controls how merges are
219   - performed. The ConcurrentMergeScheduler (Lucene 2.3 default)
220   - can perform merges in the background using separate threads.
221   - The SerialMergeScheduler (Lucene 2.2 default) does not.
222   - -->
223   - <!--
224   - <mergeScheduler class="org.apache.lucene.index.ConcurrentMergeScheduler"/>
225   - -->
226   -
227   - <!-- LockFactory
228   -
229   - This option specifies which Lucene LockFactory implementation
230   - to use.
231   -
232   - single = SingleInstanceLockFactory - suggested for a
233   - read-only index or when there is no possibility of
234   - another process trying to modify the index.
235   - native = NativeFSLockFactory - uses OS native file locking.
236   - Do not use when multiple solr webapps in the same
237   - JVM are attempting to share a single index.
238   - simple = SimpleFSLockFactory - uses a plain file for locking
239   -
240   - Defaults: 'native' is default for Solr3.6 and later, otherwise
241   - 'simple' is the default
242   -
243   - More details on the nuances of each LockFactory...
244   - http://wiki.apache.org/lucene-java/AvailableLockFactories
245   - -->
246   - <lockType>${solr.lock.type:native}</lockType>
247   -
248   - <!-- Unlock On Startup
249   -
250   - If true, unlock any held write or commit locks on startup.
251   - This defeats the locking mechanism that allows multiple
252   - processes to safely access a lucene index, and should be used
253   - with care. Default is "false".
254   -
255   - This is not needed if lock type is 'single'
256   - -->
257   - <!--
258   - <unlockOnStartup>false</unlockOnStartup>
259   - -->
260   -
261   - <!-- Expert: Controls how often Lucene loads terms into memory
262   - Default is 128 and is likely good for most everyone.
263   - -->
264   - <!-- <termIndexInterval>128</termIndexInterval> -->
265   -
266   - <!-- If true, IndexReaders will be opened/reopened from the IndexWriter
267   - instead of from the Directory. Hosts in a master/slave setup
268   - should have this set to false while those in a SolrCloud
269   - cluster need to be set to true. Default: true
270   - -->
271   - <!--
272   - <nrtMode>true</nrtMode>
273   - -->
274   -
275   - <!-- Commit Deletion Policy
276   - Custom deletion policies can be specified here. The class must
277   - implement org.apache.lucene.index.IndexDeletionPolicy.
278   -
279   - The default Solr IndexDeletionPolicy implementation supports
280   - deleting index commit points on number of commits, age of
281   - commit point and optimized status.
282   -
283   - The latest commit point should always be preserved regardless
284   - of the criteria.
285   - -->
286   - <!--
287   - <deletionPolicy class="solr.SolrDeletionPolicy">
288   - -->
289   - <!-- The number of commit points to be kept -->
290   - <!-- <str name="maxCommitsToKeep">1</str> -->
291   - <!-- The number of optimized commit points to be kept -->
292   - <!-- <str name="maxOptimizedCommitsToKeep">0</str> -->
293   - <!--
294   - Delete all commit points once they have reached the given age.
295   - Supports DateMathParser syntax e.g.
296   - -->
297   - <!--
298   - <str name="maxCommitAge">30MINUTES</str>
299   - <str name="maxCommitAge">1DAY</str>
300   - -->
301   - <!--
302   - </deletionPolicy>
303   - -->
304   -
305   - <!-- Lucene Infostream
306   -
307   - To aid in advanced debugging, Lucene provides an "InfoStream"
308   - of detailed information when indexing.
309   -
310   - Setting the value to true will instruct the underlying Lucene
311   - IndexWriter to write its info stream to solr's log. By default,
312   - this is enabled here, and controlled through log4j.properties.
313   - -->
314   - <infoStream>true</infoStream>
315   - </indexConfig>
316   -
317   -
318   - <!-- JMX
319   -
320   - This example enables JMX if and only if an existing MBeanServer
321   - is found, use this if you want to configure JMX through JVM
322   - parameters. Remove this to disable exposing Solr configuration
323   - and statistics to JMX.
324   -
325   - For more details see http://wiki.apache.org/solr/SolrJmx
326   - -->
327   - <jmx />
328   - <!-- If you want to connect to a particular server, specify the
329   - agentId
330   - -->
331   - <!-- <jmx agentId="myAgent" /> -->
332   - <!-- If you want to start a new MBeanServer, specify the serviceUrl -->
333   - <!-- <jmx serviceUrl="service:jmx:rmi:///jndi/rmi://localhost:9999/solr"/>
334   - -->
335   -
336   - <!-- The default high-performance update handler -->
337   - <updateHandler class="solr.DirectUpdateHandler2">
338   -
339   - <!-- Enables a transaction log, used for real-time get, durability, and
340   - and solr cloud replica recovery. The log can grow as big as
341   - uncommitted changes to the index, so use of a hard autoCommit
342   - is recommended (see below).
343   - "dir" - the target directory for transaction logs, defaults to the
344   - solr data directory. -->
345   - <!-- AutoCommit
346   -
347   - Perform a hard commit automatically under certain conditions.
348   - Instead of enabling autoCommit, consider using "commitWithin"
349   - when adding documents.
350   -
351   - http://wiki.apache.org/solr/UpdateXmlMessages
352   -
353   - maxDocs - Maximum number of documents to add since the last
354   - commit before automatically triggering a new commit.
355   -
356   - maxTime - Maximum amount of time in ms that is allowed to pass
357   - since a document was added before automatically
358   - triggering a new commit.
359   - openSearcher - if false, the commit causes recent index changes
360   - to be flushed to stable storage, but does not cause a new
361   - searcher to be opened to make those changes visible.
362   -
363   - If the updateLog is enabled, then it's highly recommended to
364   - have some sort of hard autoCommit to limit the log size.
365   - -->
366   - <autoCommit>
367   - <maxTime>${solr.autoCommit.maxTime:15000}</maxTime>
368   - <openSearcher>false</openSearcher>
369   - </autoCommit>
370   -
371   - <!-- softAutoCommit is like autoCommit except it causes a
372   - 'soft' commit which only ensures that changes are visible
373   - but does not ensure that data is synced to disk. This is
374   - faster and more near-realtime friendly than a hard commit.
375   - -->
376   -
377   - <autoSoftCommit>
378   - <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime>
379   - </autoSoftCommit>
380   -
381   - <!-- Update Related Event Listeners
382   -
383   - Various IndexWriter related events can trigger Listeners to
384   - take actions.
385   -
386   - postCommit - fired after every commit or optimize command
387   - postOptimize - fired after every optimize command
388   - -->
389   - <!-- The RunExecutableListener executes an external command from a
390   - hook such as postCommit or postOptimize.
391   -
392   - exe - the name of the executable to run
393   - dir - dir to use as the current working directory. (default=".")
394   - wait - the calling thread waits until the executable returns.
395   - (default="true")
396   - args - the arguments to pass to the program. (default is none)
397   - env - environment variables to set. (default is none)
398   - -->
399   - <!-- This example shows how RunExecutableListener could be used
400   - with the script based replication...
401   - http://wiki.apache.org/solr/CollectionDistribution
402   - -->
403   - <!--
404   - <listener event="postCommit" class="solr.RunExecutableListener">
405   - <str name="exe">solr/bin/snapshooter</str>
406   - <str name="dir">.</str>
407   - <bool name="wait">true</bool>
408   - <arr name="args"> <str>arg1</str> <str>arg2</str> </arr>
409   - <arr name="env"> <str>MYVAR=val1</str> </arr>
410   - </listener>
411   - -->
412   -
413   - </updateHandler>
414   -
415   - <!-- IndexReaderFactory
416   -
417   - Use the following format to specify a custom IndexReaderFactory,
418   - which allows for alternate IndexReader implementations.
419   -
420   - ** Experimental Feature **
421   -
422   - Please note - Using a custom IndexReaderFactory may prevent
423   - certain other features from working. The API to
424   - IndexReaderFactory may change without warning or may even be
425   - removed from future releases if the problems cannot be
426   - resolved.
427   -
428   -
429   - ** Features that may not work with custom IndexReaderFactory **
430   -
431   - The ReplicationHandler assumes a disk-resident index. Using a
432   - custom IndexReader implementation may cause incompatibility
433   - with ReplicationHandler and may cause replication to not work
434   - correctly. See SOLR-1366 for details.
435   -
436   - -->
437   - <!--
438   - <indexReaderFactory name="IndexReaderFactory" class="package.class">
439   - <str name="someArg">Some Value</str>
440   - </indexReaderFactory >
441   - -->
442   - <!-- By explicitly declaring the Factory, the termIndexDivisor can
443   - be specified.
444   - -->
445   - <!--
446   - <indexReaderFactory name="IndexReaderFactory"
447   - class="solr.StandardIndexReaderFactory">
448   - <int name="setTermIndexDivisor">12</int>
449   - </indexReaderFactory >
450   - -->
451   -
452   - <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
453   - Query section - these settings control query time things like caches
454   - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
455   - <query>
456   - <!-- Max Boolean Clauses
457   -
458   - Maximum number of clauses in each BooleanQuery, an exception
459   - is thrown if exceeded.
460   -
461   - ** WARNING **
462   -
463   - This option actually modifies a global Lucene property that
464   - will affect all SolrCores. If multiple solrconfig.xml files
465   - disagree on this property, the value at any given moment will
466   - be based on the last SolrCore to be initialized.
467   -
468   - -->
469   - <maxBooleanClauses>1024</maxBooleanClauses>
470   -
471   -
472   - <!-- Solr Internal Query Caches
473   -
474   - There are two implementations of cache available for Solr,
475   - LRUCache, based on a synchronized LinkedHashMap, and
476   - FastLRUCache, based on a ConcurrentHashMap.
477   -
478   - FastLRUCache has faster gets and slower puts in single
479   - threaded operation and thus is generally faster than LRUCache
480   - when the hit ratio of the cache is high (> 75%), and may be
481   - faster under other scenarios on multi-cpu systems.
482   - -->
483   -
484   - <!-- Filter Cache
485   -
486   - Cache used by SolrIndexSearcher for filters (DocSets),
487   - unordered sets of *all* documents that match a query. When a
488   - new searcher is opened, its caches may be prepopulated or
489   - "autowarmed" using data from caches in the old searcher.
490   - autowarmCount is the number of items to prepopulate. For
491   - LRUCache, the autowarmed items will be the most recently
492   - accessed items.
493   -
494   - Parameters:
495   - class - the SolrCache implementation LRUCache or
496   - (LRUCache or FastLRUCache)
497   - size - the maximum number of entries in the cache
498   - initialSize - the initial capacity (number of entries) of
499   - the cache. (see java.util.HashMap)
500   - autowarmCount - the number of entries to prepopulate from
501   - and old cache.
502   - -->
503   - <filterCache class="solr.FastLRUCache"
504   - size="512"
505   - initialSize="512"
506   - autowarmCount="0"/>
507   -
508   - <!-- Query Result Cache
509   -
510   - Caches results of searches - ordered lists of document ids
511   - (DocList) based on a query, a sort, and the range of documents requested.
512   - -->
513   - <queryResultCache class="solr.LRUCache"
514   - size="512"
515   - initialSize="512"
516   - autowarmCount="0"/>
517   -
518   - <!-- Document Cache
519   -
520   - Caches Lucene Document objects (the stored fields for each
521   - document). Since Lucene internal document ids are transient,
522   - this cache will not be autowarmed.
523   - -->
524   - <documentCache class="solr.LRUCache"
525   - size="512"
526   - initialSize="512"
527   - autowarmCount="0"/>
528   -
529   - <!-- custom cache currently used by block join -->
530   - <cache name="perSegFilter"
531   - class="solr.search.LRUCache"
532   - size="10"
533   - initialSize="0"
534   - autowarmCount="10"
535   - regenerator="solr.NoOpRegenerator" />
536   -
537   - <!-- Field Value Cache
538   -
539   - Cache used to hold field values that are quickly accessible
540   - by document id. The fieldValueCache is created by default
541   - even if not configured here.
542   - -->
543   - <!--
544   - <fieldValueCache class="solr.FastLRUCache"
545   - size="512"
546   - autowarmCount="128"
547   - showItems="32" />
548   - -->
549   -
550   - <!-- Custom Cache
551   -
552   - Example of a generic cache. These caches may be accessed by
553   - name through SolrIndexSearcher.getCache(),cacheLookup(), and
554   - cacheInsert(). The purpose is to enable easy caching of
555   - user/application level data. The regenerator argument should
556   - be specified as an implementation of solr.CacheRegenerator
557   - if autowarming is desired.
558   - -->
559   - <!--
560   - <cache name="myUserCache"
561   - class="solr.LRUCache"
562   - size="4096"
563   - initialSize="1024"
564   - autowarmCount="1024"
565   - regenerator="com.mycompany.MyRegenerator"
566   - />
567   - -->
568   -
569   -
570   - <!-- Lazy Field Loading
571   -
572   - If true, stored fields that are not requested will be loaded
573   - lazily. This can result in a significant speed improvement
574   - if the usual case is to not load all stored fields,
575   - especially if the skipped fields are large compressed text
576   - fields.
577   - -->
578   - <enableLazyFieldLoading>true</enableLazyFieldLoading>
579   -
580   - <!-- Use Filter For Sorted Query
581   -
582   - A possible optimization that attempts to use a filter to
583   - satisfy a search. If the requested sort does not include
584   - score, then the filterCache will be checked for a filter
585   - matching the query. If found, the filter will be used as the
586   - source of document ids, and then the sort will be applied to
587   - that.
588   -
589   - For most situations, this will not be useful unless you
590   - frequently get the same search repeatedly with different sort
591   - options, and none of them ever use "score"
592   - -->
593   - <!--
594   - <useFilterForSortedQuery>true</useFilterForSortedQuery>
595   - -->
596   -
597   - <!-- Result Window Size
598   -
599   - An optimization for use with the queryResultCache. When a search
600   - is requested, a superset of the requested number of document ids
601   - are collected. For example, if a search for a particular query
602   - requests matching documents 10 through 19, and queryWindowSize is 50,
603   - then documents 0 through 49 will be collected and cached. Any further
604   - requests in that range can be satisfied via the cache.
605   - -->
606   - <queryResultWindowSize>20</queryResultWindowSize>
607   -
608   - <!-- Maximum number of documents to cache for any entry in the
609   - queryResultCache.
610   - -->
611   - <queryResultMaxDocsCached>200</queryResultMaxDocsCached>
612   -
613   - <!-- Query Related Event Listeners
614   -
615   - Various IndexSearcher related events can trigger Listeners to
616   - take actions.
617   -
618   - newSearcher - fired whenever a new searcher is being prepared
619   - and there is a current searcher handling requests (aka
620   - registered). It can be used to prime certain caches to
621   - prevent long request times for certain requests.
622   -
623   - firstSearcher - fired whenever a new searcher is being
624   - prepared but there is no current registered searcher to handle
625   - requests or to gain autowarming data from.
626   -
627   -
628   - -->
629   - <!-- QuerySenderListener takes an array of NamedList and executes a
630   - local query request for each NamedList in sequence.
631   - -->
632   - <listener event="newSearcher" class="solr.QuerySenderListener">
633   - <arr name="queries">
634   - <!--
635   - <lst><str name="q">solr</str><str name="sort">price asc</str></lst>
636   - <lst><str name="q">rocks</str><str name="sort">weight asc</str></lst>
637   - -->
638   - </arr>
639   - </listener>
640   - <listener event="firstSearcher" class="solr.QuerySenderListener">
641   - <arr name="queries">
642   - <lst>
643   - <str name="q">static firstSearcher warming in solrconfig.xml</str>
644   - </lst>
645   - </arr>
646   - </listener>
647   -
648   - <!-- Use Cold Searcher
649   -
650   - If a search request comes in and there is no current
651   - registered searcher, then immediately register the still
652   - warming searcher and use it. If "false" then all requests
653   - will block until the first searcher is done warming.
654   - -->
655   - <useColdSearcher>false</useColdSearcher>
656   -
657   - <!-- Max Warming Searchers
658   -
659   - Maximum number of searchers that may be warming in the
660   - background concurrently. An error is returned if this limit
661   - is exceeded.
662   -
663   - Recommend values of 1-2 for read-only slaves, higher for
664   - masters w/o cache warming.
665   - -->
666   - <maxWarmingSearchers>2</maxWarmingSearchers>
667   -
668   - </query>
669   -
670   -
671   - <!-- Request Dispatcher
672   -
673   - This section contains instructions for how the SolrDispatchFilter
674   - should behave when processing requests for this SolrCore.
675   -
676   - handleSelect is a legacy option that affects the behavior of requests
677   - such as /select?qt=XXX
678   -
679   - handleSelect="true" will cause the SolrDispatchFilter to process
680   - the request and dispatch the query to a handler specified by the
681   - "qt" param, assuming "/select" isn't already registered.
682   -
683   - handleSelect="false" will cause the SolrDispatchFilter to
684   - ignore "/select" requests, resulting in a 404 unless a handler
685   - is explicitly registered with the name "/select"
686   -
687   - handleSelect="true" is not recommended for new users, but is the default
688   - for backwards compatibility
689   - -->
690   - <requestDispatcher handleSelect="false" >
691   - <!-- Request Parsing
692   -
693   - These settings indicate how Solr Requests may be parsed, and
694   - what restrictions may be placed on the ContentStreams from
695   - those requests
696   -
697   - enableRemoteStreaming - enables use of the stream.file
698   - and stream.url parameters for specifying remote streams.
699   -
700   - multipartUploadLimitInKB - specifies the max size (in KiB) of
701   - Multipart File Uploads that Solr will allow in a Request.
702   -
703   - formdataUploadLimitInKB - specifies the max size (in KiB) of
704   - form data (application/x-www-form-urlencoded) sent via
705   - POST. You can use POST to pass request parameters not
706   - fitting into the URL.
707   -
708   - addHttpRequestToContext - if set to true, it will instruct
709   - the requestParsers to include the original HttpServletRequest
710   - object in the context map of the SolrQueryRequest under the
711   - key "httpRequest". It will not be used by any of the existing
712   - Solr components, but may be useful when developing custom
713   - plugins.
714   -
715   - *** WARNING ***
716   - The settings below authorize Solr to fetch remote files, You
717   - should make sure your system has some authentication before
718   - using enableRemoteStreaming="true"
719   -
720   - -->
721   - <requestParsers enableRemoteStreaming="true"
722   - multipartUploadLimitInKB="2048000"
723   - formdataUploadLimitInKB="2048"
724   - addHttpRequestToContext="false"/>
725   -
726   - <!-- HTTP Caching
727   -
728   - Set HTTP caching related parameters (for proxy caches and clients).
729   -
730   - The options below instruct Solr not to output any HTTP Caching
731   - related headers
732   - -->
733   - <httpCaching never304="true" />
734   - <!-- If you include a <cacheControl> directive, it will be used to
735   - generate a Cache-Control header (as well as an Expires header
736   - if the value contains "max-age=")
737   -
738   - By default, no Cache-Control header is generated.
739   -
740   - You can use the <cacheControl> option even if you have set
741   - never304="true"
742   - -->
743   - <!--
744   - <httpCaching never304="true" >
745   - <cacheControl>max-age=30, public</cacheControl>
746   - </httpCaching>
747   - -->
748   - <!-- To enable Solr to respond with automatically generated HTTP
749   - Caching headers, and to response to Cache Validation requests
750   - correctly, set the value of never304="false"
751   -
752   - This will cause Solr to generate Last-Modified and ETag
753   - headers based on the properties of the Index.
754   -
755   - The following options can also be specified to affect the
756   - values of these headers...
757   -
758   - lastModFrom - the default value is "openTime" which means the
759   - Last-Modified value (and validation against If-Modified-Since
760   - requests) will all be relative to when the current Searcher
761   - was opened. You can change it to lastModFrom="dirLastMod" if
762   - you want the value to exactly correspond to when the physical
763   - index was last modified.
764   -
765   - etagSeed="..." is an option you can change to force the ETag
766   - header (and validation against If-None-Match requests) to be
767   - different even if the index has not changed (ie: when making
768   - significant changes to your config file)
769   -
770   - (lastModifiedFrom and etagSeed are both ignored if you use
771   - the never304="true" option)
772   - -->
773   - <!--
774   - <httpCaching lastModifiedFrom="openTime"
775   - etagSeed="Solr">
776   - <cacheControl>max-age=30, public</cacheControl>
777   - </httpCaching>
778   - -->
779   - </requestDispatcher>
780   -
781   - <!-- Request Handlers
782   -
783   - http://wiki.apache.org/solr/SolrRequestHandler
784   -
785   - Incoming queries will be dispatched to a specific handler by name
786   - based on the path specified in the request.
787   -
788   - Legacy behavior: If the request path uses "/select" but no Request
789   - Handler has that name, and if handleSelect="true" has been specified in
790   - the requestDispatcher, then the Request Handler is dispatched based on
791   - the qt parameter. Handlers without a leading '/' are accessed this way
792   - like so: http://host/app/[core/]select?qt=name If no qt is
793   - given, then the requestHandler that declares default="true" will be
794   - used or the one named "standard".
795   -
796   - If a Request Handler is declared with startup="lazy", then it will
797   - not be initialized until the first request that uses it.
798   -
799   - -->
800   - <!-- SearchHandler
801   -
802   - http://wiki.apache.org/solr/SearchHandler
803   -
804   - For processing Search Queries, the primary Request Handler
805   - provided with Solr is "SearchHandler" It delegates to a sequent
806   - of SearchComponents (see below) and supports distributed
807   - queries across multiple shards
808   - -->
809   - <requestHandler name="/select" class="solr.SearchHandler">
810   - <!-- default values for query parameters can be specified, these
811   - will be overridden by parameters in the request
812   - -->
813   - <lst name="defaults">
814   - <str name="echoParams">explicit</str>
815   - <int name="rows">10</int>
816   - <str name="df">text</str>
817   - </lst>
818   - <!-- In addition to defaults, "appends" params can be specified
819   - to identify values which should be appended to the list of
820   - multi-val params from the query (or the existing "defaults").
821   - -->
822   - <!-- In this example, the param "fq=instock:true" would be appended to
823   - any query time fq params the user may specify, as a mechanism for
824   - partitioning the index, independent of any user selected filtering
825   - that may also be desired (perhaps as a result of faceted searching).
826   -
827   - NOTE: there is *absolutely* nothing a client can do to prevent these
828   - "appends" values from being used, so don't use this mechanism
829   - unless you are sure you always want it.
830   - -->
831   - <!--
832   - <lst name="appends">
833   - <str name="fq">inStock:true</str>
834   - </lst>
835   - -->
836   - <!-- "invariants" are a way of letting the Solr maintainer lock down
837   - the options available to Solr clients. Any params values
838   - specified here are used regardless of what values may be specified
839   - in either the query, the "defaults", or the "appends" params.
840   -
841   - In this example, the facet.field and facet.query params would
842   - be fixed, limiting the facets clients can use. Faceting is
843   - not turned on by default - but if the client does specify
844   - facet=true in the request, these are the only facets they
845   - will be able to see counts for; regardless of what other
846   - facet.field or facet.query params they may specify.
847   -
848   - NOTE: there is *absolutely* nothing a client can do to prevent these
849   - "invariants" values from being used, so don't use this mechanism
850   - unless you are sure you always want it.
851   - -->
852   - <!--
853   - <lst name="invariants">
854   - <str name="facet.field">cat</str>
855   - <str name="facet.field">manu_exact</str>
856   - <str name="facet.query">price:[* TO 500]</str>
857   - <str name="facet.query">price:[500 TO *]</str>
858   - </lst>
859   - -->
860   - <!-- If the default list of SearchComponents is not desired, that
861   - list can either be overridden completely, or components can be
862   - prepended or appended to the default list. (see below)
863   - -->
864   - <!--
865   - <arr name="components">
866   - <str>nameOfCustomComponent1</str>
867   - <str>nameOfCustomComponent2</str>
868   - </arr>
869   - -->
870   - </requestHandler>
871   -
872   - <!-- A request handler that returns indented JSON by default -->
873   - <requestHandler name="/query" class="solr.SearchHandler">
874   - <lst name="defaults">
875   - <str name="echoParams">explicit</str>
876   - <str name="wt">json</str>
877   - <str name="indent">true</str>
878   - <str name="df">text</str>
879   - </lst>
880   - </requestHandler>
881   -
882   -
883   - <!-- realtime get handler, guaranteed to return the latest stored fields of
884   - any document, without the need to commit or open a new searcher. The
885   - current implementation relies on the updateLog feature being enabled. -->
886   - <requestHandler name="/get" class="solr.RealTimeGetHandler">
887   - <lst name="defaults">
888   - <str name="omitHeader">true</str>
889   - <str name="wt">json</str>
890   - <str name="indent">true</str>
891   - </lst>
892   - </requestHandler>
893   -
894   -
895   - <!-- A Robust Example
896   -
897   - This example SearchHandler declaration shows off usage of the
898   - SearchHandler with many defaults declared
899   -
900   - Note that multiple instances of the same Request Handler
901   - (SearchHandler) can be registered multiple times with different
902   - names (and different init parameters)
903   - -->
904   - <requestHandler name="/browse" class="solr.SearchHandler">
905   - <lst name="defaults">
906   - <str name="echoParams">explicit</str>
907   -
908   - <!-- VelocityResponseWriter settings -->
909   - <str name="wt">velocity</str>
910   - <str name="v.template">browse</str>
911   - <str name="v.layout">layout</str>
912   - <str name="title">Solritas</str>
913   -
914   - <!-- Query settings -->
915   - <str name="defType">edismax</str>
916   - <str name="qf">
917   - text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4
918   - title^10.0 description^5.0 keywords^5.0 author^2.0 resourcename^1.0
919   - </str>
920   - <str name="df">text</str>
921   - <str name="mm">100%</str>
922   - <str name="q.alt">*:*</str>
923   - <str name="rows">10</str>
924   - <str name="fl">*,score</str>
925   -
926   - <str name="mlt.qf">
927   - text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4
928   - title^10.0 description^5.0 keywords^5.0 author^2.0 resourcename^1.0
929   - </str>
930   - <str name="mlt.fl">text,features,name,sku,id,manu,cat,title,description,keywords,author,resourcename</str>
931   - <int name="mlt.count">3</int>
932   -
933   - <!-- Faceting defaults -->
934   - <str name="facet">on</str>
935   - <str name="facet.field">cat</str>
936   - <str name="facet.field">manu_exact</str>
937   - <str name="facet.field">content_type</str>
938   - <str name="facet.field">author_s</str>
939   - <str name="facet.query">ipod</str>
940   - <str name="facet.query">GB</str>
941   - <str name="facet.mincount">1</str>
942   - <str name="facet.pivot">cat,inStock</str>
943   - <str name="facet.range.other">after</str>
944   - <str name="facet.range">price</str>
945   - <int name="f.price.facet.range.start">0</int>
946   - <int name="f.price.facet.range.end">600</int>
947   - <int name="f.price.facet.range.gap">50</int>
948   - <str name="facet.range">popularity</str>
949   - <int name="f.popularity.facet.range.start">0</int>
950   - <int name="f.popularity.facet.range.end">10</int>
951   - <int name="f.popularity.facet.range.gap">3</int>
952   - <str name="facet.range">manufacturedate_dt</str>
953   - <str name="f.manufacturedate_dt.facet.range.start">NOW/YEAR-10YEARS</str>
954   - <str name="f.manufacturedate_dt.facet.range.end">NOW</str>
955   - <str name="f.manufacturedate_dt.facet.range.gap">+1YEAR</str>
956   - <str name="f.manufacturedate_dt.facet.range.other">before</str>
957   - <str name="f.manufacturedate_dt.facet.range.other">after</str>
958   -
959   - <!-- Highlighting defaults -->
960   - <str name="hl">on</str>
961   - <str name="hl.fl">content features title name</str>
962   - <str name="hl.encoder">html</str>
963   - <str name="hl.simple.pre">&lt;b&gt;</str>
964   - <str name="hl.simple.post">&lt;/b&gt;</str>
965   - <str name="f.title.hl.fragsize">0</str>
966   - <str name="f.title.hl.alternateField">title</str>
967   - <str name="f.name.hl.fragsize">0</str>
968   - <str name="f.name.hl.alternateField">name</str>
969   - <str name="f.content.hl.snippets">3</str>
970   - <str name="f.content.hl.fragsize">200</str>
971   - <str name="f.content.hl.alternateField">content</str>
972   - <str name="f.content.hl.maxAlternateFieldLength">750</str>
973   -
974   - <!-- Spell checking defaults -->
975   - <str name="spellcheck">on</str>
976   - <str name="spellcheck.extendedResults">false</str>
977   - <str name="spellcheck.count">5</str>
978   - <str name="spellcheck.alternativeTermCount">2</str>
979   - <str name="spellcheck.maxResultsForSuggest">5</str>
980   - <str name="spellcheck.collate">true</str>
981   - <str name="spellcheck.collateExtendedResults">true</str>
982   - <str name="spellcheck.maxCollationTries">5</str>
983   - <str name="spellcheck.maxCollations">3</str>
984   - </lst>
985   -
986   - <!-- append spellchecking to our list of components -->
987   - <arr name="last-components">
988   - <str>spellcheck</str>
989   - </arr>
990   - </requestHandler>
991   -
992   -
993   - <!-- Update Request Handler.
994   -
995   - http://wiki.apache.org/solr/UpdateXmlMessages
996   -
997   - The canonical Request Handler for Modifying the Index through
998   - commands specified using XML, JSON, CSV, or JAVABIN
999   -
1000   - Note: Since solr1.1 requestHandlers requires a valid content
1001   - type header if posted in the body. For example, curl now
1002   - requires: -H 'Content-type:text/xml; charset=utf-8'
1003   -
1004   - To override the request content type and force a specific
1005   - Content-type, use the request parameter:
1006   - ?update.contentType=text/csv
1007   -
1008   - This handler will pick a response format to match the input
1009   - if the 'wt' parameter is not explicit
1010   - -->
1011   - <requestHandler name="/update" class="solr.UpdateRequestHandler">
1012   - <!-- See below for information on defining
1013   - updateRequestProcessorChains that can be used by name
1014   - on each Update Request
1015   - -->
1016   - <!--
1017   - <lst name="defaults">
1018   - <str name="update.chain">dedupe</str>
1019   - </lst>
1020   - -->
1021   - </requestHandler>
1022   -
1023   - <!-- for back compat with clients using /update/json and /update/csv -->
1024   - <requestHandler name="/update/json" class="solr.JsonUpdateRequestHandler">
1025   - <lst name="defaults">
1026   - <str name="stream.contentType">application/json</str>
1027   - </lst>
1028   - </requestHandler>
1029   - <requestHandler name="/update/csv" class="solr.CSVRequestHandler">
1030   - <lst name="defaults">
1031   - <str name="stream.contentType">application/csv</str>
1032   - </lst>
1033   - </requestHandler>
1034   -
1035   - <!-- Solr Cell Update Request Handler
1036   -
1037   - http://wiki.apache.org/solr/ExtractingRequestHandler
1038   -
1039   - -->
1040   - <requestHandler name="/update/extract"
1041   - startup="lazy"
1042   - class="solr.extraction.ExtractingRequestHandler" >
1043   - <lst name="defaults">
1044   - <str name="lowernames">true</str>
1045   - <str name="uprefix">ignored_</str>
1046   -
1047   - <!-- capture link hrefs but ignore div attributes -->
1048   - <str name="captureAttr">true</str>
1049   - <str name="fmap.a">links</str>
1050   - <str name="fmap.div">ignored_</str>
1051   - </lst>
1052   - </requestHandler>
1053   -
1054   -
1055   - <!-- Field Analysis Request Handler
1056   -
1057   - RequestHandler that provides much the same functionality as
1058   - analysis.jsp. Provides the ability to specify multiple field
1059   - types and field names in the same request and outputs
1060   - index-time and query-time analysis for each of them.
1061   -
1062   - Request parameters are:
1063   - analysis.fieldname - field name whose analyzers are to be used
1064   -
1065   - analysis.fieldtype - field type whose analyzers are to be used
1066   - analysis.fieldvalue - text for index-time analysis
1067   - q (or analysis.q) - text for query time analysis
1068   - analysis.showmatch (true|false) - When set to true and when
1069   - query analysis is performed, the produced tokens of the
1070   - field value analysis will be marked as "matched" for every
1071   - token that is produces by the query analysis
1072   - -->
1073   - <requestHandler name="/analysis/field"
1074   - startup="lazy"
1075   - class="solr.FieldAnalysisRequestHandler" />
1076   -
1077   -
1078   - <!-- Document Analysis Handler
1079   -
1080   - http://wiki.apache.org/solr/AnalysisRequestHandler
1081   -
1082   - An analysis handler that provides a breakdown of the analysis
1083   - process of provided documents. This handler expects a (single)
1084   - content stream with the following format:
1085   -
1086   - <docs>
1087   - <doc>
1088   - <field name="id">1</field>
1089   - <field name="name">The Name</field>
1090   - <field name="text">The Text Value</field>
1091   - </doc>
1092   - <doc>...</doc>
1093   - <doc>...</doc>
1094   - ...
1095   - </docs>
1096   -
1097   - Note: Each document must contain a field which serves as the
1098   - unique key. This key is used in the returned response to associate
1099   - an analysis breakdown to the analyzed document.
1100   -
1101   - Like the FieldAnalysisRequestHandler, this handler also supports
1102   - query analysis by sending either an "analysis.query" or "q"
1103   - request parameter that holds the query text to be analyzed. It
1104   - also supports the "analysis.showmatch" parameter which when set to
1105   - true, all field tokens that match the query tokens will be marked
1106   - as a "match".
1107   - -->
1108   - <requestHandler name="/analysis/document"
1109   - class="solr.DocumentAnalysisRequestHandler"
1110   - startup="lazy" />
1111   -
1112   - <!-- Admin Handlers
1113   -
1114   - Admin Handlers - This will register all the standard admin
1115   - RequestHandlers.
1116   - -->
1117   - <requestHandler name="/admin/"
1118   - class="solr.admin.AdminHandlers" />
1119   - <!-- This single handler is equivalent to the following... -->
1120   - <!--
1121   - <requestHandler name="/admin/luke" class="solr.admin.LukeRequestHandler" />
1122   - <requestHandler name="/admin/system" class="solr.admin.SystemInfoHandler" />
1123   - <requestHandler name="/admin/plugins" class="solr.admin.PluginInfoHandler" />
1124   - <requestHandler name="/admin/threads" class="solr.admin.ThreadDumpHandler" />
1125   - <requestHandler name="/admin/properties" class="solr.admin.PropertiesRequestHandler" />
1126   - <requestHandler name="/admin/file" class="solr.admin.ShowFileRequestHandler" >
1127   - -->
1128   - <!-- If you wish to hide files under ${solr.home}/conf, explicitly
1129   - register the ShowFileRequestHandler using:
1130   - -->
1131   - <!--
1132   - <requestHandler name="/admin/file"
1133   - class="solr.admin.ShowFileRequestHandler" >
1134   - <lst name="invariants">
1135   - <str name="hidden">synonyms.txt</str>
1136   - <str name="hidden">anotherfile.txt</str>
1137   - </lst>
1138   - </requestHandler>
1139   - -->
1140   -
1141   - <!-- ping/healthcheck -->
1142   - <requestHandler name="/admin/ping" class="solr.PingRequestHandler">
1143   - <lst name="invariants">
1144   - <str name="q">solrpingquery</str>
1145   - </lst>
1146   - <lst name="defaults">
1147   - <str name="echoParams">all</str>
1148   - </lst>
1149   - <!-- An optional feature of the PingRequestHandler is to configure the
1150   - handler with a "healthcheckFile" which can be used to enable/disable
1151   - the PingRequestHandler.
1152   - relative paths are resolved against the data dir
1153   - -->
1154   - <!-- <str name="healthcheckFile">server-enabled.txt</str> -->
1155   - </requestHandler>
1156   -
1157   - <!-- Echo the request contents back to the client -->
1158   - <requestHandler name="/debug/dump" class="solr.DumpRequestHandler" >
1159   - <lst name="defaults">
1160   - <str name="echoParams">explicit</str>
1161   - <str name="echoHandler">true</str>
1162   - </lst>
1163   - </requestHandler>
1164   -
1165   - <!-- Solr Replication
1166   -
1167   - The SolrReplicationHandler supports replicating indexes from a
1168   - "master" used for indexing and "slaves" used for queries.
1169   -
1170   - http://wiki.apache.org/solr/SolrReplication
1171   -
1172   - It is also necessary for SolrCloud to function (in Cloud mode, the
1173   - replication handler is used to bulk transfer segments when nodes
1174   - are added or need to recover).
1175   -
1176   - https://wiki.apache.org/solr/SolrCloud/
1177   - -->
1178   - <requestHandler name="/replication" class="solr.ReplicationHandler" >
1179   - <!--
1180   - To enable simple master/slave replication, uncomment one of the
1181   - sections below, depending on whether this solr instance should be
1182   - the "master" or a "slave". If this instance is a "slave" you will
1183   - also need to fill in the masterUrl to point to a real machine.
1184   - -->
1185   - <!--
1186   - <lst name="master">
1187   - <str name="replicateAfter">commit</str>
1188   - <str name="replicateAfter">startup</str>
1189   - <str name="confFiles">schema.xml,stopwords.txt</str>
1190   - </lst>
1191   - -->
1192   - <!--
1193   - <lst name="slave">
1194   - <str name="masterUrl">http://your-master-hostname:8983/solr</str>
1195   - <str name="pollInterval">00:00:60</str>
1196   - </lst>
1197   - -->
1198   - </requestHandler>
1199   -
1200   - <!-- Search Components
1201   -
1202   - Search components are registered to SolrCore and used by
1203   - instances of SearchHandler (which can access them by name)
1204   -
1205   - By default, the following components are available:
1206   -
1207   - <searchComponent name="query" class="solr.QueryComponent" />
1208   - <searchComponent name="facet" class="solr.FacetComponent" />
1209   - <searchComponent name="mlt" class="solr.MoreLikeThisComponent" />
1210   - <searchComponent name="highlight" class="solr.HighlightComponent" />
1211   - <searchComponent name="stats" class="solr.StatsComponent" />
1212   - <searchComponent name="debug" class="solr.DebugComponent" />
1213   -
1214   - Default configuration in a requestHandler would look like:
1215   -
1216   - <arr name="components">
1217   - <str>query</str>
1218   - <str>facet</str>
1219   - <str>mlt</str>
1220   - <str>highlight</str>
1221   - <str>stats</str>
1222   - <str>debug</str>
1223   - </arr>
1224   -
1225   - If you register a searchComponent to one of the standard names,
1226   - that will be used instead of the default.
1227   -
1228   - To insert components before or after the 'standard' components, use:
1229   -
1230   - <arr name="first-components">
1231   - <str>myFirstComponentName</str>
1232   - </arr>
1233   -
1234   - <arr name="last-components">
1235   - <str>myLastComponentName</str>
1236   - </arr>
1237   -
1238   - NOTE: The component registered with the name "debug" will
1239   - always be executed after the "last-components"
1240   -
1241   - -->
1242   -
1243   - <!-- Spell Check
1244   -
1245   - The spell check component can return a list of alternative spelling
1246   - suggestions.
1247   -
1248   - http://wiki.apache.org/solr/SpellCheckComponent
1249   - -->
1250   - <searchComponent name="spellcheck" class="solr.SpellCheckComponent">
1251   -
1252   - <str name="queryAnalyzerFieldType">text_general</str>
1253   -
1254   - <!-- Multiple "Spell Checkers" can be declared and used by this
1255   - component
1256   - -->
1257   -
1258   - <!-- a spellchecker built from a field of the main index -->
1259   - <lst name="spellchecker">
1260   - <str name="name">default</str>
1261   - <str name="field">text</str>
1262   - <str name="classname">solr.DirectSolrSpellChecker</str>
1263   - <!-- the spellcheck distance measure used, the default is the internal levenshtein -->
1264   - <str name="distanceMeasure">internal</str>
1265   - <!-- minimum accuracy needed to be considered a valid spellcheck suggestion -->
1266   - <float name="accuracy">0.5</float>
1267   - <!-- the maximum #edits we consider when enumerating terms: can be 1 or 2 -->
1268   - <int name="maxEdits">2</int>
1269   - <!-- the minimum shared prefix when enumerating terms -->
1270   - <int name="minPrefix">1</int>
1271   - <!-- maximum number of inspections per result. -->
1272   - <int name="maxInspections">5</int>
1273   - <!-- minimum length of a query term to be considered for correction -->
1274   - <int name="minQueryLength">4</int>
1275   - <!-- maximum threshold of documents a query term can appear to be considered for correction -->
1276   - <float name="maxQueryFrequency">0.01</float>
1277   - <!-- uncomment this to require suggestions to occur in 1% of the documents
1278   - <float name="thresholdTokenFrequency">.01</float>
1279   - -->
1280   - </lst>
1281   -
1282   - <!-- a spellchecker that can break or combine words. See "/spell" handler below for usage -->
1283   - <lst name="spellchecker">
1284   - <str name="name">wordbreak</str>
1285   - <str name="classname">solr.WordBreakSolrSpellChecker</str>
1286   - <str name="field">name</str>
1287   - <str name="combineWords">true</str>
1288   - <str name="breakWords">true</str>
1289   - <int name="maxChanges">10</int>
1290   - </lst>
1291   -
1292   - <!-- a spellchecker that uses a different distance measure -->
1293   - <!--
1294   - <lst name="spellchecker">
1295   - <str name="name">jarowinkler</str>
1296   - <str name="field">spell</str>
1297   - <str name="classname">solr.DirectSolrSpellChecker</str>
1298   - <str name="distanceMeasure">
1299   - org.apache.lucene.search.spell.JaroWinklerDistance
1300   - </str>
1301   - </lst>
1302   - -->
1303   -
1304   - <!-- a spellchecker that use an alternate comparator
1305   -
1306   - comparatorClass be one of:
1307   - 1. score (default)
1308   - 2. freq (Frequency first, then score)
1309   - 3. A fully qualified class name
1310   - -->
1311   - <!--
1312   - <lst name="spellchecker">
1313   - <str name="name">freq</str>
1314   - <str name="field">lowerfilt</str>
1315   - <str name="classname">solr.DirectSolrSpellChecker</str>
1316   - <str name="comparatorClass">freq</str>
1317   - -->
1318   -
1319   - <!-- A spellchecker that reads the list of words from a file -->
1320   - <!--
1321   - <lst name="spellchecker">
1322   - <str name="classname">solr.FileBasedSpellChecker</str>
1323   - <str name="name">file</str>
1324   - <str name="sourceLocation">spellings.txt</str>
1325   - <str name="characterEncoding">UTF-8</str>
1326   - <str name="spellcheckIndexDir">spellcheckerFile</str>
1327   - </lst>
1328   - -->
1329   - </searchComponent>
1330   -
1331   - <!-- A request handler for demonstrating the spellcheck component.
1332   -
1333   - NOTE: This is purely as an example. The whole purpose of the
1334   - SpellCheckComponent is to hook it into the request handler that
1335   - handles your normal user queries so that a separate request is
1336   - not needed to get suggestions.
1337   -
1338   - IN OTHER WORDS, THERE IS REALLY GOOD CHANCE THE SETUP BELOW IS
1339   - NOT WHAT YOU WANT FOR YOUR PRODUCTION SYSTEM!
1340   -
1341   - See http://wiki.apache.org/solr/SpellCheckComponent for details
1342   - on the request parameters.
1343   - -->
1344   - <requestHandler name="/spell" class="solr.SearchHandler" startup="lazy">
1345   - <lst name="defaults">
1346   - <str name="df">text</str>
1347   - <!-- Solr will use suggestions from both the 'default' spellchecker
1348   - and from the 'wordbreak' spellchecker and combine them.
1349   - collations (re-written queries) can include a combination of
1350   - corrections from both spellcheckers -->
1351   - <str name="spellcheck.dictionary">default</str>
1352   - <str name="spellcheck.dictionary">wordbreak</str>
1353   - <str name="spellcheck">on</str>
1354   - <str name="spellcheck.extendedResults">true</str>
1355   - <str name="spellcheck.count">10</str>
1356   - <str name="spellcheck.alternativeTermCount">5</str>
1357   - <str name="spellcheck.maxResultsForSuggest">5</str>
1358   - <str name="spellcheck.collate">true</str>
1359   - <str name="spellcheck.collateExtendedResults">true</str>
1360   - <str name="spellcheck.maxCollationTries">10</str>
1361   - <str name="spellcheck.maxCollations">5</str>
1362   - </lst>
1363   - <arr name="last-components">
1364   - <str>spellcheck</str>
1365   - </arr>
1366   - </requestHandler>
1367   -
1368   - <!-- Term Vector Component
1369   -
1370   - http://wiki.apache.org/solr/TermVectorComponent
1371   - -->
1372   - <searchComponent name="tvComponent" class="solr.TermVectorComponent"/>
1373   -
1374   - <!-- A request handler for demonstrating the term vector component
1375   -
1376   - This is purely as an example.
1377   -
1378   - In reality you will likely want to add the component to your
1379   - already specified request handlers.
1380   - -->
1381   - <requestHandler name="/tvrh" class="solr.SearchHandler" startup="lazy">
1382   - <lst name="defaults">
1383   - <str name="df">text</str>
1384   - <bool name="tv">true</bool>
1385   - </lst>
1386   - <arr name="last-components">
1387   - <str>tvComponent</str>
1388   - </arr>
1389   - </requestHandler>
1390   -
1391   - <!-- Clustering Component
1392   -
1393   - You'll need to set the solr.clustering.enabled system property
1394   - when running solr to run with clustering enabled:
1395   -
1396   - java -Dsolr.clustering.enabled=true -jar start.jar
1397   -
1398   - http://wiki.apache.org/solr/ClusteringComponent
1399   - http://carrot2.github.io/solr-integration-strategies/
1400   - -->
1401   - <searchComponent name="clustering"
1402   - enable="${solr.clustering.enabled:false}"
1403   - class="solr.clustering.ClusteringComponent" >
1404   - <lst name="engine">
1405   - <str name="name">lingo</str>
1406   -
1407   - <!-- Class name of a clustering algorithm compatible with the Carrot2 framework.
1408   -
1409   - Currently available open source algorithms are:
1410   - * org.carrot2.clustering.lingo.LingoClusteringAlgorithm
1411   - * org.carrot2.clustering.stc.STCClusteringAlgorithm
1412   - * org.carrot2.clustering.kmeans.BisectingKMeansClusteringAlgorithm
1413   -
1414   - See http://project.carrot2.org/algorithms.html for more information.
1415   -
1416   - A commercial algorithm Lingo3G (needs to be installed separately) is defined as:
1417   - * com.carrotsearch.lingo3g.Lingo3GClusteringAlgorithm
1418   - -->
1419   - <str name="carrot.algorithm">org.carrot2.clustering.lingo.LingoClusteringAlgorithm</str>
1420   -
1421   - <!-- Override location of the clustering algorithm's resources
1422   - (attribute definitions and lexical resources).
1423   -
1424   - A directory from which to load algorithm-specific stop words,
1425   - stop labels and attribute definition XMLs.
1426   -
1427   - For an overview of Carrot2 lexical resources, see:
1428   - http://download.carrot2.org/head/manual/#chapter.lexical-resources
1429   -
1430   - For an overview of Lingo3G lexical resources, see:
1431   - http://download.carrotsearch.com/lingo3g/manual/#chapter.lexical-resources
1432   - -->
1433   - <str name="carrot.resourcesDir">clustering/carrot2</str>
1434   - </lst>
1435   -
1436   - <!-- An example definition for the STC clustering algorithm. -->
1437   - <lst name="engine">
1438   - <str name="name">stc</str>
1439   - <str name="carrot.algorithm">org.carrot2.clustering.stc.STCClusteringAlgorithm</str>
1440   - </lst>
1441   -
1442   - <!-- An example definition for the bisecting kmeans clustering algorithm. -->
1443   - <lst name="engine">
1444   - <str name="name">kmeans</str>
1445   - <str name="carrot.algorithm">org.carrot2.clustering.kmeans.BisectingKMeansClusteringAlgorithm</str>
1446   - </lst>
1447   - </searchComponent>
1448   -
1449   - <!-- A request handler for demonstrating the clustering component
1450   -
1451   - This is purely as an example.
1452   -
1453   - In reality you will likely want to add the component to your
1454   - already specified request handlers.
1455   - -->
1456   - <requestHandler name="/clustering"
1457   - startup="lazy"
1458   - enable="${solr.clustering.enabled:false}"
1459   - class="solr.SearchHandler">
1460   - <lst name="defaults">
1461   - <bool name="clustering">true</bool>
1462   - <bool name="clustering.results">true</bool>
1463   - <!-- Field name with the logical "title" of a each document (optional) -->
1464   - <str name="carrot.title">name</str>
1465   - <!-- Field name with the logical "URL" of a each document (optional) -->
1466   - <str name="carrot.url">id</str>
1467   - <!-- Field name with the logical "content" of a each document (optional) -->
1468   - <str name="carrot.snippet">features</str>
1469   - <!-- Apply highlighter to the title/ content and use this for clustering. -->
1470   - <bool name="carrot.produceSummary">true</bool>
1471   - <!-- the maximum number of labels per cluster -->
1472   - <!--<int name="carrot.numDescriptions">5</int>-->
1473   - <!-- produce sub clusters -->
1474   - <bool name="carrot.outputSubClusters">false</bool>
1475   -
1476   - <!-- Configure the remaining request handler parameters. -->
1477   - <str name="defType">edismax</str>
1478   - <str name="qf">
1479   - text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4
1480   - </str>
1481   - <str name="q.alt">*:*</str>
1482   - <str name="rows">10</str>
1483   - <str name="fl">*,score</str>
1484   - </lst>
1485   - <arr name="last-components">
1486   - <str>clustering</str>
1487   - </arr>
1488   - </requestHandler>
1489   -
1490   - <!-- Terms Component
1491   -
1492   - http://wiki.apache.org/solr/TermsComponent
1493   -
1494   - A component to return terms and document frequency of those
1495   - terms
1496   - -->
1497   - <searchComponent name="terms" class="solr.TermsComponent"/>
1498   -
1499   - <!-- A request handler for demonstrating the terms component -->
1500   - <requestHandler name="/js" class="org.apache.solr.handler.js.JavaScriptRequestHandler" startup="lazy"/>
1501   - <requestHandler name="/terms" class="solr.SearchHandler" startup="lazy">
1502   - <lst name="defaults">
1503   - <bool name="terms">true</bool>
1504   - <bool name="distrib">false</bool>
1505   - </lst>
1506   - <arr name="components">
1507   - <str>terms</str>
1508   - </arr>
1509   - </requestHandler>
1510   -
1511   -
1512   - <!-- Query Elevation Component
1513   -
1514   - http://wiki.apache.org/solr/QueryElevationComponent
1515   -
1516   - a search component that enables you to configure the top
1517   - results for a given query regardless of the normal lucene
1518   - scoring.
1519   - -->
1520   - <searchComponent name="elevator" class="solr.QueryElevationComponent" >
1521   - <!-- pick a fieldType to analyze queries -->
1522   - <str name="queryFieldType">string</str>
1523   - <str name="config-file">elevate.xml</str>
1524   - </searchComponent>
1525   -
1526   - <!-- A request handler for demonstrating the elevator component -->
1527   - <requestHandler name="/elevate" class="solr.SearchHandler" startup="lazy">
1528   - <lst name="defaults">
1529   - <str name="echoParams">explicit</str>
1530   - <str name="df">text</str>
1531   - </lst>
1532   - <arr name="last-components">
1533   - <str>elevator</str>
1534   - </arr>
1535   - </requestHandler>
1536   -
1537   - <!-- Highlighting Component
1538   -
1539   - http://wiki.apache.org/solr/HighlightingParameters
1540   - -->
1541   - <searchComponent class="solr.HighlightComponent" name="highlight">
1542   - <highlighting>
1543   - <!-- Configure the standard fragmenter -->
1544   - <!-- This could most likely be commented out in the "default" case -->
1545   - <fragmenter name="gap"
1546   - default="true"
1547   - class="solr.highlight.GapFragmenter">
1548   - <lst name="defaults">
1549   - <int name="hl.fragsize">100</int>
1550   - </lst>
1551   - </fragmenter>
1552   -
1553   - <!-- A regular-expression-based fragmenter
1554   - (for sentence extraction)
1555   - -->
1556   - <fragmenter name="regex"
1557   - class="solr.highlight.RegexFragmenter">
1558   - <lst name="defaults">
1559   - <!-- slightly smaller fragsizes work better because of slop -->
1560   - <int name="hl.fragsize">70</int>
1561   - <!-- allow 50% slop on fragment sizes -->
1562   - <float name="hl.regex.slop">0.5</float>
1563   - <!-- a basic sentence pattern -->
1564   - <str name="hl.regex.pattern">[-\w ,/\n\&quot;&apos;]{20,200}</str>
1565   - </lst>
1566   - </fragmenter>
1567   -
1568   - <!-- Configure the standard formatter -->
1569   - <formatter name="html"
1570   - default="true"
1571   - class="solr.highlight.HtmlFormatter">
1572   - <lst name="defaults">
1573   - <str name="hl.simple.pre"><![CDATA[<em>]]></str>
1574   - <str name="hl.simple.post"><![CDATA[</em>]]></str>
1575   - </lst>
1576   - </formatter>
1577   -
1578   - <!-- Configure the standard encoder -->
1579   - <encoder name="html"
1580   - class="solr.highlight.HtmlEncoder" />
1581   -
1582   - <!-- Configure the standard fragListBuilder -->
1583   - <fragListBuilder name="simple"
1584   - class="solr.highlight.SimpleFragListBuilder"/>
1585   -
1586   - <!-- Configure the single fragListBuilder -->
1587   - <fragListBuilder name="single"
1588   - class="solr.highlight.SingleFragListBuilder"/>
1589   -
1590   - <!-- Configure the weighted fragListBuilder -->
1591   - <fragListBuilder name="weighted"
1592   - default="true"
1593   - class="solr.highlight.WeightedFragListBuilder"/>
1594   -
1595   - <!-- default tag FragmentsBuilder -->
1596   - <fragmentsBuilder name="default"
1597   - default="true"
1598   - class="solr.highlight.ScoreOrderFragmentsBuilder">
1599   - <!--
1600   - <lst name="defaults">
1601   - <str name="hl.multiValuedSeparatorChar">/</str>
1602   - </lst>
1603   - -->
1604   - </fragmentsBuilder>
1605   -
1606   - <!-- multi-colored tag FragmentsBuilder -->
1607   - <fragmentsBuilder name="colored"
1608   - class="solr.highlight.ScoreOrderFragmentsBuilder">
1609   - <lst name="defaults">
1610   - <str name="hl.tag.pre"><![CDATA[
1611   - <b style="background:yellow">,<b style="background:lawgreen">,
1612   - <b style="background:aquamarine">,<b style="background:magenta">,
1613   - <b style="background:palegreen">,<b style="background:coral">,
1614   - <b style="background:wheat">,<b style="background:khaki">,
1615   - <b style="background:lime">,<b style="background:deepskyblue">]]></str>
1616   - <str name="hl.tag.post"><![CDATA[</b>]]></str>
1617   - </lst>
1618   - </fragmentsBuilder>
1619   -
1620   - <boundaryScanner name="default"
1621   - default="true"
1622   - class="solr.highlight.SimpleBoundaryScanner">
1623   - <lst name="defaults">
1624   - <str name="hl.bs.maxScan">10</str>
1625   - <str name="hl.bs.chars">.,!? &#9;&#10;&#13;</str>
1626   - </lst>
1627   - </boundaryScanner>
1628   -
1629   - <boundaryScanner name="breakIterator"
1630   - class="solr.highlight.BreakIteratorBoundaryScanner">
1631   - <lst name="defaults">
1632   - <!-- type should be one of CHARACTER, WORD(default), LINE and SENTENCE -->
1633   - <str name="hl.bs.type">WORD</str>
1634   - <!-- language and country are used when constructing Locale object. -->
1635   - <!-- And the Locale object will be used when getting instance of BreakIterator -->
1636   - <str name="hl.bs.language">en</str>
1637   - <str name="hl.bs.country">US</str>
1638   - </lst>
1639   - </boundaryScanner>
1640   - </highlighting>
1641   - </searchComponent>
1642   -
1643   - <!-- Update Processors
1644   -
1645   - Chains of Update Processor Factories for dealing with Update
1646   - Requests can be declared, and then used by name in Update
1647   - Request Processors
1648   -
1649   - http://wiki.apache.org/solr/UpdateRequestProcessor
1650   -
1651   - -->
1652   - <!-- Deduplication
1653   -
1654   - An example dedup update processor that creates the "id" field
1655   - on the fly based on the hash code of some other fields. This
1656   - example has overwriteDupes set to false since we are using the
1657   - id field as the signatureField and Solr will maintain
1658   - uniqueness based on that anyway.
1659   -
1660   - -->
1661   - <!--
1662   - <updateRequestProcessorChain name="dedupe">
1663   - <processor class="solr.processor.SignatureUpdateProcessorFactory">
1664   - <bool name="enabled">true</bool>
1665   - <str name="signatureField">id</str>
1666   - <bool name="overwriteDupes">false</bool>
1667   - <str name="fields">name,features,cat</str>
1668   - <str name="signatureClass">solr.processor.Lookup3Signature</str>
1669   - </processor>
1670   - <processor class="solr.LogUpdateProcessorFactory" />
1671   - <processor class="solr.RunUpdateProcessorFactory" />
1672   - </updateRequestProcessorChain>
1673   - -->
1674   -
1675   - <!-- Language identification
1676   -
1677   - This example update chain identifies the language of the incoming
1678   - documents using the langid contrib. The detected language is
1679   - written to field language_s. No field name mapping is done.
1680   - The fields used for detection are text, title, subject and description,
1681   - making this example suitable for detecting languages form full-text
1682   - rich documents injected via ExtractingRequestHandler.
1683   - See more about langId at http://wiki.apache.org/solr/LanguageDetection
1684   - -->
1685   - <!--
1686   - <updateRequestProcessorChain name="langid">
1687   - <processor class="org.apache.solr.update.processor.TikaLanguageIdentifierUpdateProcessorFactory">
1688   - <str name="langid.fl">text,title,subject,description</str>
1689   - <str name="langid.langField">language_s</str>
1690   - <str name="langid.fallback">en</str>
1691   - </processor>
1692   - <processor class="solr.LogUpdateProcessorFactory" />
1693   - <processor class="solr.RunUpdateProcessorFactory" />
1694   - </updateRequestProcessorChain>
1695   - -->
1696   -
1697   - <!-- Script update processor
1698   -
1699   - This example hooks in an update processor implemented using JavaScript.
1700   -
1701   - See more about the script update processor at http://wiki.apache.org/solr/ScriptUpdateProcessor
1702   - -->
1703   - <!--
1704   - <updateRequestProcessorChain name="script">
1705   - <processor class="solr.StatelessScriptUpdateProcessorFactory">
1706   - <str name="script">update-script.js</str>
1707   - <lst name="params">
1708   - <str name="config_param">example config parameter</str>
1709   - </lst>
1710   - </processor>
1711   - <processor class="solr.RunUpdateProcessorFactory" />
1712   - </updateRequestProcessorChain>
1713   - -->
1714   -
1715   - <!-- Response Writers
1716   -
1717   - http://wiki.apache.org/solr/QueryResponseWriter
1718   -
1719   - Request responses will be written using the writer specified by
1720   - the 'wt' request parameter matching the name of a registered
1721   - writer.
1722   -
1723   - The "default" writer is the default and will be used if 'wt' is
1724   - not specified in the request.
1725   - -->
1726   - <!-- The following response writers are implicitly configured unless
1727   - overridden...
1728   - -->
1729   - <!--
1730   - <queryResponseWriter name="xml"
1731   - default="true"
1732   - class="solr.XMLResponseWriter" />
1733   - <queryResponseWriter name="json" class="solr.JSONResponseWriter"/>
1734   - <queryResponseWriter name="python" class="solr.PythonResponseWriter"/>
1735   - <queryResponseWriter name="ruby" class="solr.RubyResponseWriter"/>
1736   - <queryResponseWriter name="php" class="solr.PHPResponseWriter"/>
1737   - <queryResponseWriter name="phps" class="solr.PHPSerializedResponseWriter"/>
1738   - <queryResponseWriter name="csv" class="solr.CSVResponseWriter"/>
1739   - <queryResponseWriter name="schema.xml" class="solr.SchemaXmlResponseWriter"/>
1740   - -->
1741   -
1742   - <queryResponseWriter name="json" class="solr.JSONResponseWriter">
1743   - <!-- For the purposes of the tutorial, JSON responses are written as
1744   - plain text so that they are easy to read in *any* browser.
1745   - If you expect a MIME type of "application/json" just remove this override.
1746   - -->
1747   - <str name="content-type">text/plain; charset=UTF-8</str>
1748   - </queryResponseWriter>
1749   -
1750   - <!--
1751   - Custom response writers can be declared as needed...
1752   - -->
1753   - <queryResponseWriter name="velocity" class="solr.VelocityResponseWriter" startup="lazy"/>
1754   -
1755   -
1756   - <!-- XSLT response writer transforms the XML output by any xslt file found
1757   - in Solr's conf/xslt directory. Changes to xslt files are checked for
1758   - every xsltCacheLifetimeSeconds.
1759   - -->
1760   - <queryResponseWriter name="xslt" class="solr.XSLTResponseWriter">
1761   - <int name="xsltCacheLifetimeSeconds">5</int>
1762   - </queryResponseWriter>
1763   -
1764   - <!-- Query Parsers
1765   -
1766   - http://wiki.apache.org/solr/SolrQuerySyntax
1767   -
1768   - Multiple QParserPlugins can be registered by name, and then
1769   - used in either the "defType" param for the QueryComponent (used
1770   - by SearchHandler) or in LocalParams
1771   - -->
1772   - <!-- example of registering a query parser -->
1773   - <!--
1774   - <queryParser name="myparser" class="com.mycompany.MyQParserPlugin"/>
1775   - -->
1776   -
1777   - <!-- Function Parsers
1778   -
1779   - http://wiki.apache.org/solr/FunctionQuery
1780   -
1781   - Multiple ValueSourceParsers can be registered by name, and then
1782   - used as function names when using the "func" QParser.
1783   - -->
1784   - <!-- example of registering a custom function parser -->
1785   - <!--
1786   - <valueSourceParser name="myfunc"
1787   - class="com.mycompany.MyValueSourceParser" />
1788   - -->
1789   -
1790   -
1791   - <!-- Document Transformers
1792   - http://wiki.apache.org/solr/DocTransformers
1793   - -->
1794   - <!--
1795   - Could be something like:
1796   - <transformer name="db" class="com.mycompany.LoadFromDatabaseTransformer" >
1797   - <int name="connection">jdbc://....</int>
1798   - </transformer>
1799   -
1800   - To add a constant value to all docs, use:
1801   - <transformer name="mytrans2" class="org.apache.solr.response.transform.ValueAugmenterFactory" >
1802   - <int name="value">5</int>
1803   - </transformer>
1804   -
1805   - If you want the user to still be able to change it with _value:something_ use this:
1806   - <transformer name="mytrans3" class="org.apache.solr.response.transform.ValueAugmenterFactory" >
1807   - <double name="defaultValue">5</double>
1808   - </transformer>
1809   -
1810   - If you are using the QueryElevationComponent, you may wish to mark documents that get boosted. The
1811   - EditorialMarkerFactory will do exactly that:
1812   - <transformer name="qecBooster" class="org.apache.solr.response.transform.EditorialMarkerFactory" />
1813   - -->
1814   -
1815   -
1816   - <!-- Legacy config for the admin interface -->
1817   - <admin>
1818   - <defaultQuery>*:*</defaultQuery>
1819   - </admin>
1820   -
1821   -</config>
scripts/Arquivos/solr/solrinit
... ... @@ -1,45 +0,0 @@
1   -#!/bin/bash
2   -# chkconfig: 2345 95 20
3   -# description: Solr
4   -# processname: myscript
5   -#
6   -#-----------------------------------------------------
7   -# Script for running solr as a service.
8   -#
9   -# Usage: service solr {start|stop|restart|status}"
10   -#
11   -#-----------------------------------------------------
12   -# This should be placed in /etc/init.d
13   -
14   -. /etc/rc.d/init.d/functions
15   -
16   -# Path to pid file
17   -PIDFILE=/var/run/solr.pid
18   -
19   -# Service name
20   -NAME="Solr"
21   -
22   -# Service description
23   -DESC="start/stop Solr Server"
24   -
25   -SOLR_INIT="/usr/share/solr/start.sh"
26   -
27   -case $1 in
28   - start)
29   - action "Starting ${NAME}: " daemon --pidfile $PIDFILE $SOLR_INIT
30   - ;;
31   - stop)
32   - action "Stopping ${NAME}: " killproc -p $PIDFILE
33   - ;;
34   - restart)
35   - $0 stop
36   - $0 start
37   - ;;
38   - status)
39   - status -p $PIDFILE solr
40   - ;;
41   - *)
42   - echo "Usage: $0 {start|stop|restart|status}"
43   - exit 3
44   - ;;
45   -esac
46 0 \ No newline at end of file
scripts/Arquivos/solr/start.sh
... ... @@ -1,20 +0,0 @@
1   -#!/bin/bash
2   -
3   -# Directory where solr is installed
4   -SOLR_HOME=/usr/share/solr/example
5   -
6   -# Java options for Solr
7   -OPTIONS="-Xmx1024m"
8   -
9   -# Path to pid file
10   -PIDFILE=/var/run/solr.pid
11   -
12   -# Path to log file
13   -LOG_FILE=/var/log/solr.log
14   -
15   -COMMAND="java $OPTIONS -jar start.jar"
16   -
17   -cd $SOLR_HOME
18   -nohup $COMMAND > $LOG_FILE 2>&1 &
19   -echo $! > $PIDFILE
20   -exit $?
scripts/colab.sh
... ... @@ -1,204 +0,0 @@
1   -#!/bin/sh
2   -#Instalação do Colab
3   -#-------------------
4   -#
5   -#Siga os passo na máquina destinada ao Colab
6   -
7   -IP_HOSTS=$1
8   -COLAB_IP=$2
9   -COLAB_PORT=$3
10   -
11   -if [[ ! "$IP_HOSTS" || ! "$COLAB_IP" || ! "$COLAB_PORT" ]]
12   - then
13   - echo " Parametros nao encontrados. Utiliza o caminho absoluto para o arquivo."
14   - echo ""
15   - echo " ./colab.sh <PATH_TO_IP_HOSTS.YML> <IP_COLAB_EXTERN> <PORT> "
16   - echo ""
17   - echo "Utilize o modelo de ips:
18   - wget https://gitlab.com/softwarepublico/colabdocumentation/raw/master/Arquivos/colab/ipconfig.yml -O /tmp/ipconfig.yml
19   -
20   -Exemplo: ./colab.sh /tmp/ipconfig.yml 127.0.0.1 8000
21   -"
22   - exit -1
23   -fi
24   -
25   -
26   -#
27   -#*NOTE:*
28   -#
29   -# Libere um acesso externo para esta máquina, pois o site do colab será acessado por esta máquina.
30   -#
31   -#Instale as ferramentas de desenvolvimento do python e algumas dependências para compilar o python
32   -#
33   -#.. code-block::
34   -#
35   - sudo yum groupinstall "Development tools" -y
36   - sudo yum install zlib-devel bzip2-devel openssl-devel ncurses-devel libxslt-devel vim -y
37   -#
38   -#Faça o download e compile o Python 2.7
39   -#
40   -#.. code-block::
41   -#
42   - cd /tmp
43   - sudo wget --no-check-certificate https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
44   - sudo tar xf Python-2.7.6.tar.xz
45   - cd Python-2.7.6
46   - sudo ./configure --prefix=/usr/local
47   - sudo make
48   -#
49   -#Instale o python 2.7 como um python alternativo
50   -#
51   -#.. code-block::
52   -#
53   - sudo make altinstall
54   -#
55   -#Atualize a variável PATH para executar o python2.7
56   -#
57   -#.. code-block::
58   -#
59   - sudo sh -c "echo 'export PATH=$PATH:/usr/local/bin/' >> ~/.bashrc"
60   - sudo sh -c "source ~/.bashrc"
61   -#
62   -#Instale o easy_install para o python 2.7
63   -#
64   -#.. code-block::
65   -#
66   - cd /tmp
67   - sudo wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
68   - sudo /usr/local/bin/python2.7 ez_setup.py
69   -#
70   -#Instale o pip 2.7
71   -#
72   -#.. code-block::
73   -#
74   - sudo /usr/local/bin/easy_install-2.7 pip
75   -#
76   -#Instale alguns pacotes adicionais do python
77   -#
78   -#.. code-block::
79   -#
80   - sudo yum remove libevent -y
81   - sudo yum install mercurial libevent-devel python-devel -y
82   -#
83   -#Edite o arquivo sudores para executar o ``python2.7`` como sudo
84   -#
85   -#
86   -#Mude a linha
87   -#
88   -#
89   - sudo sed -i 's/\/sbin:\/bin:\/usr\/sbin:\/usr\/bin/\/sbin:\/bin:\/usr\/sbin:\/usr\/bin:\/usr\/local\/bin/' /etc/sudoers
90   -#
91   -#Instalando o Django 1.6
92   -#
93   -#Instale o django e o uwsgi
94   -#
95   -#.. code-block::
96   -#
97   - sudo pip2.7 install django
98   - sudo pip2.7 install uwsgi
99   -#
100   -#Instale o Colab
101   -#
102   -#Instale o git e clone o repositório do colab
103   -#
104   -#.. code-block::
105   -
106   - #Verifica se git instalado para não conflitar com gitlab
107   - git_loc=`type -p $1`
108   - if [[ ! "$git_loc" ]]
109   - then
110   - sudo yum install git -y
111   - fi
112   -
113   - cd /opt
114   - sudo git clone https://github.com/colab-community/colab.git -b dev_spb
115   -#
116   -#Instale os pré-requisitos do colab
117   -#
118   -#.. code-block::
119   -#
120   - sudo yum install postgresql-devel -y #Foi preciso adicionar esta linha quando o postgrsql não é instalado na mesma máquina
121   - sudo pip2.7 install mimeparse
122   - sudo pip2.7 install -r /opt/colab/requirements.txt
123   -#
124   -#Crie o arquivo local_settings na pasta src/colab
125   -#
126   -#.. code-block::
127   -#
128   - sudo cp /opt/colab/src/colab/local_settings-dev.py /opt/colab/src/colab/local_settings.py
129   -#
130   -#Edite o arquivo local_settings criado, nele deverão ser alterados os IPs das máquinas utilizadas
131   -#
132   -#.. code-block::
133   -#
134   - TRAC_IP=`sed -n 1p $1 | grep -Po "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+"`
135   - GITLAB_IP=`sed -n 2p $1 | grep -Po "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+"`
136   - REDMINE_IP=`sed -n 3p $1 | grep -Po "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+"`
137   -
138   -
139   -#Troque os IPs das seguintes linhas
140   -#
141   -#.. code-block::
142   -#
143   - sudo sed -i "s/http:\/\/localhost:5000\/trac\//http:\/\/$TRAC_IP:5000\/trac\//g" /opt/colab/src/colab/local_settings.py
144   - sudo sed -i "s/http:\/\/localhost:8090\/gitlab\//http:\/\/$GITLAB_IP:8090\/gitlab\//g" /opt/colab/src/colab/local_settings.py
145   - sudo sed -i "s/http:\/\/localhost:9080\/redmine\//http:\/\/$REDMINE_IP:9080\/redmine\//g" /opt/colab/src/colab/local_settings.py
146   -
147   -#Na máquina do colab, sincronize e migre o banco de dados.
148   -#
149   -#.. code-block::
150   -#
151   -#Passo adicionado: Recebendo o IP onde está instalado o Postgresql
152   -
153   - DATABASE_IP=`sed -n 4p $1 | grep -Po "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+"`
154   -
155   - sudo sed -i "s/DATABASES\['default'\]\['HOST'\] = '[^']\+'/DATABASES\['default'\]\['HOST'\] = '$DATABASE_IP'/g" /opt/colab/src/colab/local_settings.py
156   - sudo sed -i "s/DATABASES\['trac'\]\['HOST'\] = '[^']\+'/DATABASES\['trac'\]\['HOST'\] = '$DATABASE_IP'/g" /opt/colab/src/colab/local_settings.py
157   -
158   - cd /opt/colab/src
159   - python2.7 manage.py syncdb
160   - python2.7 manage.py migrate
161   -
162   -#Atualize o index com o solr, para executar esta ação o solr já deve estar funcionando na máquina voltada para o Solr
163   -#
164   -#.. code-block::
165   -#
166   - SOLR_IP=`sed -n 5p $1 | grep -Po "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+"`
167   - sudo sed -i "s/HAYSTACK_CONNECTIONS\['default'\]\['URL'\] = '[^']\+'/HAYSTACK_CONNECTIONS\['default'\]\['URL'\] = 'http:\/\/$SOLR_IP:8983\/solr\/'/g" /opt/colab/src/colab/local_settings.py
168   -
169   - cd /opt/colab/src
170   - python2.7 manage.py update_index
171   -
172   -#Importe os e-mails do mailman
173   -#
174   -#.. code-block::
175   -#
176   - sudo python2.7 /opt/colab/src/manage.py import_emails
177   -#
178   -#Crie os Cronjobs para rodar em background a importação de email e a atualização do index
179   -#
180   -#.. code-block::
181   -#
182   - sudo sh -c "echo \"5 * * * * /usr/bin/python2.7 /opt/colab/src/manage.py import_emails
183   -45 * * * * /usr/bin/python2.7 /opt/colab/src/manage.py update_index\" > /tmp/crontabs"
184   - sudo crontab /tmp/crontabs
185   -
186   -#Instale a inicialização do colab como serviço
187   -# Adicionando o repositório PUIAS(para o supervisor)
188   -sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
189   -sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-puias
190   -
191   -sudo yum install supervisor -y
192   -
193   -sudo sh -c "echo \"[program:colab]
194   -command=/usr/local/bin/python2.7 /opt/colab/src/manage.py runserver $2:$3
195   -directory=/opt/colab
196   -user=colab
197   -autostart=true
198   -autorestart=false
199   -redirect_stderr=true\" >> /etc/supervisord.conf"
200   -
201   -
202   -## 12. Reinicie o supervisor
203   -
204   -sudo service supervisord restart
scripts/gitlab.sh
... ... @@ -1,87 +0,0 @@
1   -#!/bin/bash
2   -
3   -#To show the debug log
4   -set -x
5   -
6   -DATABASE_HOST=$1
7   -LOCALHOST=$2
8   -
9   -if [[ ! "$DATABASE_HOST" && ! "$LOCALHOST" ]]
10   - then
11   - echo "Uso: ./gitlab.sh <DATABASE_HOST> <EXTERNAL_IP>"
12   - exit -1
13   -fi
14   -
15   -# [ -s "$HOME/.rvm/scripts/rvm" ] && . "$HOME/.rvm/scripts/rvm"
16   -
17   -sudo yum install -y wget yum-utils
18   -
19   -sudo wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 https://www.fedoraproject.org/static/0608B895.txt
20   -sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
21   -
22   -sudo wget -O /etc/yum.repos.d/PUIAS_6_computational.repo https://gitlab.com/gitlab-org/gitlab-recipes/raw/master/install/centos/PUIAS_6_computational.repo
23   -sudo wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-puias http://springdale.math.ias.edu/data/puias/6/x86_64/os/RPM-GPG-KEY-puias
24   -sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-puias
25   -sudo yum-config-manager --enable epel --enable PUIAS_6_computational
26   -
27   -sudo yum -y groupinstall 'Development Tools'
28   -sudo yum -y install readline readline-devel ncurses-devel gdbm-devel glibc-devel tcl-devel openssl-devel curl-devel expat-devel db4-devel byacc sqlite-devel libyaml libyaml-devel libffi libffi-devel libxml2 libxml2-devel libxslt libxslt-devel libicu libicu-devel system-config-firewall-tui redis crontabs logwatch logrotate postfix zlib-devel perl-CPAN gettext curl-devel gettext-devel openssl-devel perl-Time-HiRes.x86_64
29   -
30   -sudo chkconfig redis on
31   -sudo service redis start
32   -
33   -sudo yum -y remove git
34   -
35   -mkdir /tmp/git && cd /tmp/git
36   -wget https://git-core.googlecode.com/files/git-1.9.0.tar.gz
37   -tar xzf git-1.9.0.tar.gz
38   -cd git-1.9.0/
39   -./configure
40   -make
41   -sudo make prefix=/usr/local install
42   -
43   -sudo adduser --system --shell /bin/bash --comment 'GitLab' --create-home --home-dir /home/git/ git
44   -sudo bash -c "echo 'git ALL=(ALL) ALL' > /etc/sudoers.d/git"
45   -sudo -iu git rvm use 2.0.0@gitlab --default
46   -
47   -sudo -iu git /usr/local/bin/git clone https://gitlab.com/gitlab-org/gitlab-shell.git
48   -sudo -iu git /usr/local/bin/git --git-dir=/home/git/gitlab-shell/.git --work-tree=/home/git/gitlab-shell/ reset --hard v1.9.3
49   -sudo -iu git cp /home/git/gitlab-shell/config.yml.example /home/git/gitlab-shell/config.yml
50   -sudo -iu git ruby /home/git/gitlab-shell/bin/install
51   -sudo restorecon -Rv /home/git/.ssh
52   -
53   -sudo -iu git /usr/local/bin/git clone https://github.com/colab-community/gitlabhq.git -b spb-stable /home/git/gitlab
54   -sudo -iu git cp /home/git/gitlab/config/gitlab.yml.example /home/git/gitlab/config/gitlab.yml
55   -sudo -iu git mkdir /home/git/gitlab-satellites
56   -sudo chmod u+rwx,g+rx,o-rwx /home/git/gitlab-satellites
57   -sudo -iu git cp /home/git/gitlab/config/unicorn.rb.example /home/git/gitlab/config/unicorn.rb
58   -sudo -iu git cp /home/git/gitlab/config/initializers/rack_attack.rb.example /home/git/gitlab/config/initializers/rack_attack.rb
59   -sudo sed -i "s/gitlab_url: \"http:\/\/localhost\/\"/gitlab_url: \"http:\/\/$LOCALHOST:8090\/gitlab\//" /home/git/gitlab-shell/config.yml
60   -
61   -sudo -iu git /usr/local/bin/git config --global user.name "GitLab"
62   -sudo -iu git /usr/local/bin/git config --global user.email "gitlab@localhost"
63   -sudo -iu git /usr/local/bin/git config --global core.autocrlf input
64   -sudo su - git -c "echo 'production:
65   - adapter: postgresql
66   - encoding: unicode
67   - database: gitlabhq_production
68   - pool: 10
69   - username: git
70   - host: $DATABASE_HOST' > /home/git/gitlab/config/database.yml"
71   -sudo -iu git -H chmod o-rwx /home/git/gitlab/config/database.yml
72   -
73   -# Baixando as dependencias, criando o banco, instalando de fato
74   -sudo su - git -c 'cd /home/git/gitlab && bundle config build.pg'
75   -sudo su - git -c 'cd /home/git/gitlab && bundle config build.nokogiri --use-system-libraries'
76   -sudo su - git -c 'cd /home/git/gitlab && bundle install --verbose --deployment --without development test mysql aws'
77   -sudo su - git -c 'cd /home/git/gitlab && echo yes | bundle exec rake db:create db:migrate RAILS_ENV=production'
78   -sudo su - git -c 'cd /home/git/gitlab && echo yes | bundle exec rake gitlab:setup RAILS_ENV=production'
79   -sudo su - git -c 'cd /home/git/gitlab bundle exec rake assets:precompile RAILS_ENV=production'
80   -
81   -# Configurando o servico do gitlab
82   -sudo wget -O /etc/init.d/gitlab https://gitlab.com/softwarepublico/colabdocumentation/raw/master/Arquivos/gitlab-unicorn
83   -sudo chmod +x /etc/init.d/gitlab
84   -sudo chkconfig --add gitlab
85   -sudo chkconfig gitlab on
86   -sudo cat /home/git/gitlab/lib/support/logrotate/gitlab > /etc/logrotate.d/gitlab
87   -sudo service gitlab restart
scripts/mailman.sh
... ... @@ -1,89 +0,0 @@
1   -#!/bin/sh
2   -
3   -set -x
4   -
5   -if [[ ! "$1" || ! "$2" ]]
6   - then
7   - echo " Parametros nao encontrados."
8   - echo " ./mailman.sh <ADMIN_MAIL> <ADMIN_PASSWD> "
9   - exit -1
10   -fi
11   -
12   -LIST_NAME="mailman"
13   -ADMIN_MAIL=$1
14   -ADMIN_PASSWD=$2
15   -
16   -sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
17   -
18   -sudo echo '[nginx]
19   -name=nginx repo
20   -baseurl=http://nginx.org/packages/centos/6/$basearch/
21   -gpgcheck=0
22   -enabled=1' > /etc/yum.repos.d/nginx.repo
23   -
24   -sudo yum install nginx wget fcgi-devel git -y
25   -sudo chkconfig nginx on
26   -
27   -cd /tmp
28   -sudo git clone https://github.com/gnosek/fcgiwrap.git
29   -sudo yum groupinstall "Development tools" -y
30   -cd /tmp/fcgiwrap
31   -sudo autoreconf -i
32   -sudo ./configure
33   -sudo make && make install
34   -
35   -sudo yum install spawn-fcgi -y
36   -
37   -sudo sh -c "echo 'FCGI_SOCKET=/var/run/fcgiwrap.socket' >> /etc/sysconfig/spawn-fcgi"
38   -sudo sh -c "echo 'FCGI_PROGRAM=/usr/local/sbin/fcgiwrap' >> /etc/sysconfig/spawn-fcgi"
39   -sudo sh -c "echo 'FCGI_USER=apache' >> /etc/sysconfig/spawn-fcgi"
40   -sudo sh -c "echo 'FCGI_GROUP=apache' >> /etc/sysconfig/spawn-fcgi"
41   -sudo sh -c "echo 'FCGI_EXTRA_OPTIONS=\"-M 0770\"' >> /etc/sysconfig/spawn-fcgi"
42   -sudo sh -c "echo 'OPTIONS=\"-u \$FCGI_USER -g \$FCGI_GROUP -s \$FCGI_SOCKET -S \$FCGI_EXTRA_OPTIONS -F 1 -P /var/run/spawn-fcgi.pid -- \$FCGI_PROGRAM\"' >> /etc/sysconfig/spawn-fcgi"
43   -
44   -sudo yum install mailman -y
45   -
46   -echo | sudo /usr/lib/mailman/bin/newlist $LIST_NAME $ADMIN_MAIL $ADMIN_PASSWD
47   -
48   -sudo sh -c "echo >> /etc/aliases"
49   -sudo sh -c "echo '##$LIST_NAME mailing list' >> /etc/aliases"
50   -sudo sh -c "echo '$LIST_NAME: \"|/usr/lib/mailman/mail/mailman post $LIST_NAME\"' >> /etc/aliases"
51   -sudo sh -c "echo '$LIST_NAME-admin: \"|/usr/lib/mailman/mail/mailman admin $LIST_NAME\"' >> /etc/aliases"
52   -sudo sh -c "echo '$LIST_NAME-bounces: \"|/usr/lib/mailman/mail/mailman bounces $LIST_NAME\"' >> /etc/aliases"
53   -sudo sh -c "echo '$LIST_NAME-confirm: \"|/usr/lib/mailman/mail/mailman confirm $LIST_NAME\"' >> /etc/aliases"
54   -sudo sh -c "echo '$LIST_NAME-join: \"|/usr/lib/mailman/mail/mailman join $LIST_NAME\"' >> /etc/aliases"
55   -sudo sh -c "echo '$LIST_NAME-leave: \"|/usr/lib/mailman/mail/mailman leave $LIST_NAME\"' >> /etc/aliases"
56   -sudo sh -c "echo '$LIST_NAME-owner: \"|/usr/lib/mailman/mail/mailman owner $LIST_NAME\"' >> /etc/aliases"
57   -sudo sh -c "echo '$LIST_NAME-request: \"|/usr/lib/mailman/mail/mailman request $LIST_NAME\"' >> /etc/aliases"
58   -sudo sh -c "echo '$LIST_NAME-subscribe: \"|/usr/lib/mailman/mail/mailman subscribe $LIST_NAME\"' >> /etc/aliases"
59   -sudo sh -c "echo '$LIST_NAME-unsubscribe: \"|/usr/lib/mailman/mail/mailman unsubscribe $LIST_NAME\"' >> /etc/aliases"
60   -
61   -sudo newaliases
62   -
63   -sudo yum -y install postfix
64   -
65   -sudo /etc/init.d/postfix restart
66   -
67   -sudo chkconfig --levels 235 mailman on
68   -
69   -sudo /etc/init.d/mailman start
70   -cd /usr/lib/mailman/cgi-bin/
71   -sudo ln -s ./ mailman
72   -
73   -sudo wget https://gitlab.com/softwarepublico/colabdocumentation/raw/master/Arquivos/mailman/list.conf -O /etc/nginx/conf.d/list.conf
74   -
75   -sudo service nginx restart
76   -
77   -sudo sh -c "echo 'DEFAULT_URL_PATTERN = \"https://%s/mailman/cgi-bin/\"' >> /etc/mailman/mm_cfg.py"
78   -
79   -sudo /usr/lib/mailman/bin/withlist -l -a -r fix_url
80   -sudo service mailman restart
81   -
82   -sudo usermod -a -G apache nginx
83   -
84   -sudo chkconfig --levels 235 spawn-fcgi on
85   -sudo /etc/init.d/spawn-fcgi start
86   -
87   -sudo service mailman restart
88   -sudo service nginx restart
89   -
scripts/postgres.sh
... ... @@ -1,50 +0,0 @@
1   -#!/bin/bash
2   -
3   -set -x
4   -
5   -if [ ! "$1" ]
6   - then
7   - echo "Arquivo de configuracao nao encontrado."
8   - echo "./postgres.sh <CONFIG_FILE>"
9   - exit -1
10   -fi
11   -
12   -CONFIG_FILE=$1
13   -
14   -sudo yum localinstall http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-1.noarch.rpm -y
15   -sudo yum install postgresql-devel postgresql93 postgresql93-devel postgresql93-libs postgresql93-server vim wget -y
16   -
17   -sudo service postgresql-9.3 initdb
18   -
19   -sudo chkconfig postgresql-9.3 on
20   -
21   -sudo service postgresql-9.3 start
22   -
23   -echo "export PATH=$PATH:/usr/pgsql-9.3/bin/" >> ~/.bashrc
24   -source ~/.bashrc
25   -sudo sh -c "echo 'export PATH=$PATH:/usr/pgsql-9.3/bin/' >> ~/.bashrc"
26   -sudo sh -c "source /root/.bashrc"
27   -
28   -sudo sed -i 's/\/sbin:\/bin:\/usr\/sbin:\/usr\/bin/\/sbin:\/bin:\/usr\/sbin:\/usr\/bin:\/usr\/pgsql-9.3\/bin/' /etc/sudoers
29   -
30   -sudo -u postgres psql -c "CREATE USER colab SUPERUSER INHERIT CREATEDB CREATEROLE;"
31   -sudo -u postgres psql -c "ALTER USER colab PASSWORD 'colab';"
32   -sudo -u postgres psql -c "CREATE USER git SUPERUSER INHERIT CREATEDB CREATEROLE;"
33   -sudo -u postgres psql -c "CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'redmine' NOINHERIT VALID UNTIL 'infinity';"
34   -sudo -u postgres psql -c "CREATE DATABASE colab WITH OWNER colab ENCODING 'UTF8' LC_COLLATE='en_US.UTF-8' LC_CTYPE='en_US.UTF-8' TEMPLATE=template0;"
35   -sudo -u postgres psql -c "CREATE DATABASE trac_colab WITH OWNER colab ENCODING 'UTF8' LC_COLLATE='en_US.UTF-8' LC_CTYPE='en_US.UTF-8' TEMPLATE=template0;"
36   -sudo -u postgres psql -c "CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;"
37   -
38   -sudo wget https://gitlab.com/softwarepublico/colabdocumentation/raw/master/Arquivos/postgres/pg_hba.conf -O /var/lib/pgsql/9.3/data/pg_hba.conf
39   -
40   -source $CONFIG_FILE
41   -
42   -sudo sed -i "s/host redmine redmine 127.0.0.1\/32 md5/host redmine redmine $REDMINE_IP\/32 md5/" /var/lib/pgsql/9.3/data/pg_hba.conf
43   -sudo sed -i "s/host trac_colab colab 127.0.0.1\/32 md5/host trac_colab colab $TRAC_IP\/32 md5/" /var/lib/pgsql/9.3/data/pg_hba.conf
44   -sudo sed -i "s/host colab colab 127.0.0.1\/32 md5/host colab colab $COLAB_IP\/32 md5/" /var/lib/pgsql/9.3/data/pg_hba.conf
45   -sudo sed -i "s/host gitlabhq_production git 127.0.0.1\/32 trust/host gitlabhq_production git $GITLAB_IP\/32 trust/" /var/lib/pgsql/9.3/data/pg_hba.conf
46   -
47   -sudo sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '*'/" /var/lib/pgsql/9.3/data/postgresql.conf
48   -
49   -sudo service postgresql-9.3 restart
50   -
scripts/redmine.sh
... ... @@ -1,75 +0,0 @@
1   -#!/bin/bash
2   -
3   -LOCAL_HOST=$1
4   -if [ -e $LOCAL_HOST ]; then
5   - echo "Please, inform the IP address Redmine will be listening"
6   - echo "ex: ./redmine.sh 127.0.0.1"
7   - exit -1
8   -fi
9   -
10   -echo "Installing a lot of system dependencies also making use of EPEL repository"
11   -sudo rpm -iUvh https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
12   -sudo yum -y install zlib-devel curl-devel httpd-devel apr-devel apr-util-devel subversion git postgresql-devel gcc gcc-c++.x86_64 make automake autoconf curl-devel openssl-devel httpd-devel apr-devel apr-util-devel sqlite-devel libxslt-devel libxml2-devel.x86_64 php-pear ImageMagick ImageMagick-devel ImageMagick-perl vim patch readline readline-devel zlib libffi-devel make bzip2 libtool bison wget libyaml-devel
13   -
14   -echo "Making sure $USER can access /opt"
15   -sudo chown $USER /opt && cd /opt
16   -
17   -echo "Downloading Redmine 2.3"
18   -git clone https://github.com/redmine/redmine.git --branch 2.3-stable && cd /opt/redmine
19   -ln -s /opt/redmine/public /opt/redmine/public/redmine
20   -
21   -echo "Installing Ruby/Redmine dependencies, this will take a VERY LONG TIME, grab a cup of coffee..."
22   -rvm gemset use redmine
23   -bundle install --verbose --without mysql sqlite
24   -gem --verbose install unicorn --no-ri --no-rdoc
25   -gem --verbose install pg -v '0.17.1' --no-ri --no-rdoc
26   -
27   -echo "Setting Redmine database file"
28   -cd config/ && echo "production:
29   - adapter: postgresql
30   - database: redmine
31   - host: $LOCAL_HOST
32   - username: redmine
33   - password: redmine
34   - encoding: utf8" > database.yml
35   -
36   -echo "Initializing Redmine database"
37   -export RAILS_ENV=production
38   -rake generate_secret_token
39   -rake db:migrate
40   -echo "pt-BR" | rake redmine:load_default_data
41   -
42   -echo "Downloading Redmine plugins"
43   -cd /opt/redmine/plugins && git clone https://github.com/colab-community/single_auth.git
44   -cd /opt/redmine/plugins && git clone https://github.com/backlogs/redmine_backlogs.git
45   -
46   -echo "Installing backlogs plugin"
47   -cd redmine_backlogs && git checkout v1.0.6
48   -bundle install --verbose
49   -gem uninstall rack -v '1.5.2'
50   -
51   -echo "Finishing Redmine settings"
52   -cd /opt/redmine
53   -bundle install --verbose --without mysql sqlite
54   -bundle exec rake db:migrate
55   -bundle exec rake redmine:backlogs:install story_trackers=2 task_tracker=1
56   -
57   -echo "Downloading server configuration files"
58   -cd /opt/redmine && mkdir pids
59   -wget https://gitlab.com/softwarepublico/colabdocumentation/raw/master/Arquivos/redmine/unicorn.rb -O config/unicorn.rb
60   -wget https://gitlab.com/softwarepublico/colabdocumentation/raw/master/Arquivos/redmine/routes.rb -O config/routes.rb
61   -
62   -echo "Setting up initialization on supervisor"
63   -if [ -e `cat /etc/supervisord.conf | grep redmine` ]; then
64   - CMD="source /usr/local/rvm/scripts/rvm &&";
65   - CMD="$CMD rvm gemset use redmine &&";
66   - CMD="$CMD unicorn_rails -c /opt/redmine/config/unicorn.rb -E $RAILS_ENV -p 9080 -D";
67   -
68   - echo "[program:redmine]" >> /etc/supervisord.conf;
69   - echo "command=$CMD" >> /etc/supervisord.conf;
70   - echo "user=$USER" >> /etc/supervisord.conf;
71   -fi
72   -
73   -echo "Finished installing, starting Redmine service"
74   -supervisorctl start redmine
75   -
scripts/rvm.sh
... ... @@ -1,13 +0,0 @@
1   -#! /bin/bash
2   -
3   -echo "Make sure rvm is installed at /user/local/rvm"
4   -sudo bash -c "curl -L get.rvm.io | bash -s stable"
5   -
6   -echo "Set rvm on the PATH and install ruby 2.0.0"
7   -sudo bash -c "source /usr/local/rvm/scripts/rvm && rvm install ruby-2.0.0"
8   -sudo bash -c "source /usr/local/rvm/scripts/rvm && rvm use 2.0.0 --default"
9   -
10   -echo "Create gemsets for gitlab and redmine"
11   -sudo bash -c "source /usr/local/rvm/scripts/rvm && rvm gemset create gitlab"
12   -sudo bash -c "source /usr/local/rvm/scripts/rvm && rvm gemset create redmine"
13   -
scripts/solr.sh
... ... @@ -1,38 +0,0 @@
1   -#Instalação do Solr 4.6.1
2   -#------------------------
3   -
4   -## Atualizacao
5   -sudo yum update -y
6   -
7   -##Instalacao das Dependencias
8   -sudo yum install -y wget java-1.7.0-openjdk vim
9   -
10   -## 0. Libere a porta 8983 desta máquina para que máquina do colab possa ouvi-la
11   -#sudo iptables -A INPUT -p tcp -dport 8983 -j ACCEPT
12   -#sudo /sbin/service iptables save
13   -
14   -##Faça o download e descompacte o Solr no /tmp
15   -sudo wget http://archive.apache.org/dist/lucene/solr/4.6.1/solr-4.6.1.tgz -O /tmp/solr-4.6.1.tgz
16   -sudo tar xvzf /tmp/solr-4.6.1.tgz -C /usr/share
17   -sudo mv /usr/share/solr-4.6.1 /usr/share/solr
18   -
19   -#Instale o Solr no diretório ``/usr/share``
20   -sudo cp /usr/share/solr/example/webapps/solr.war /usr/share/solr/example/solr/solr.war
21   -
22   -#Remova a tag ``updateLog`` no solrconfig.xml
23   -sudo wget https://gitlab.com/softwarepublico/colabdocumentation/raw/master/Arquivos/solr/solrconfig.xml -O /usr/share/solr/example/solr/collection1/conf/solrconfig.xml
24   -
25   -#Copiar o solr schema
26   -sudo wget https://gitlab.com/softwarepublico/colabdocumentation/raw/master/Arquivos/solr/schema.xml -O /usr/share/solr/example/solr/collection1/conf/schema.xml
27   -
28   -#Copiar script de inicialização
29   -sudo wget https://gitlab.com/softwarepublico/colabdocumentation/raw/master/Arquivos/solr/solrinit -O /etc/init.d/solr
30   -sudo chmod +x /etc/init.d/solr
31   -
32   -sudo wget https://gitlab.com/softwarepublico/colabdocumentation/raw/master/Arquivos/solr/start.sh -O /usr/share/solr/start.sh
33   -sudo chmod +x /usr/share/solr/start.sh
34   -
35   -sudo chkconfig solr on
36   -
37   -#Inicie o solr
38   -sudo service solr start
39 0 \ No newline at end of file
scripts/supervisor.sh
... ... @@ -1,5 +0,0 @@
1   -#!/bin/bash
2   -
3   -echo "Make sure supervisor is installed"
4   -sudo yum install -y supervisor
5   -
scripts/trac.sh
... ... @@ -1,52 +0,0 @@
1   -#!/bin/bash
2   -
3   -if [[ ! "$1" ]]
4   - then
5   - echo " Parametro nao encontrado."
6   - echo " ./tra.sh <DATABASE_HOST>"
7   - exit -1
8   -fi
9   -
10   -DATABASE_HOST=$1
11   -
12   -sudo rm -rf /opt/trac
13   -
14   -if [[ $DATABASE_HOST == "127.0.0.1" ]]; then
15   - sudo -u postgres psql -c "DROP DATABASE trac_colab;"
16   - sudo -u postgres psql -c "CREATE DATABASE trac_colab WITH OWNER colab ENCODING 'UTF8' LC_COLLATE='en_US.UTF-8' LC_CTYPE='en_US.UTF-8' TEMPLATE=template0;"
17   -fi
18   -
19   -sudo yum install -y wget
20   -sudo wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 https://www.fedoraproject.org/static/0608B895.txt
21   -sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
22   -
23   -sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
24   -sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-puias
25   -
26   -sudo yum install gcc python-devel python-setuptools vim -y
27   -sudo yum install postgresql-devel -y
28   -
29   -sudo easy_install psycopg2
30   -
31   -sudo yum install -y trac
32   -
33   -sudo mkdir -p /opt/trac
34   -sudo trac-admin /opt/trac initenv colab postgres://colab:colab@/trac_colab?host=$DATABASE_HOST
35   -
36   -sudo yum install subversion -y
37   -
38   -sudo wget https://gitlab.com/softwarepublico/colabdocumentation/raw/master/Arquivos/remote-user-auth.py -O /opt/trac/plugins/remote-user-auth.py
39   -sudo sed -i "s/\[trac\]/\[trac\]\nobey_remote_user_header = true/" /opt/trac/conf/trac.ini
40   -
41   -sudo yum install -y supervisor
42   -
43   -sudo sh -c "echo \"[program:trac]
44   -command=/usr/sbin/tracd --port 5000 /opt/trac
45   -directory=/opt/trac
46   -user=root
47   -autostart=true
48   -autorestart=false
49   -redirect_stderr=True\" > /etc/supervisor/conf.d/trac.conf"
50   -
51   -sudo service supervisord start
52   -
scripts/users.sh
... ... @@ -1,53 +0,0 @@
1   -#!/bin/bash
2   -
3   -# Make sure the current user is in sudoers file
4   -
5   -# Make sure to create user colab and colabdev group
6   -COLAB_USER=colab
7   -COLAB_GROUP=colabdev
8   -
9   -# Get user and group
10   -COLAB_USER_EXISTS=`cat /etc/group | grep $COLAB_USER:`
11   -COLAB_GROUP_EXISTS=`cat /etc/group | grep $COLAB_GROUP:`
12   -
13   -# Errors
14   -ERROR_NOT_ALLOWED=126
15   -ERROR_ALREADY_EXIST=9
16   -ERROR_OK=0
17   -
18   -echo "Making sure there is $COLAB_USER user and $COLAB_GROUP group in the system"
19   -
20   -# Make sure colab user exist
21   -if [ -e $COLAB_USER_EXISTS ]; then
22   - sudo adduser $COLAB_USER;
23   - LAST_CMD=`echo $?`
24   - if [ $LAST_CMD == $ERROR_OK ]; then
25   - echo "User $COLAB_USER was created successfully!";
26   - elif [ $LAST_CMD == $ERROR_NOT_ALLOWED ]; then
27   - echo "You don't have permission to create users"
28   - echo "Aborting installation"
29   - exit -1
30   - else
31   - echo "Something went weird, please check for files from $COLAB_USER";
32   - fi
33   -else
34   - echo "User $COLAB_USER already exist, skipping creation..."
35   -fi
36   -
37   -# Make sure colab group exist
38   -if [ -e $COLAB_GROUP_EXISTS ]; then
39   - sudo groupadd $COLAB_GROUP;
40   - LAST_CMD=`echo $?`
41   - if [ $LAST_CMD == $ERROR_OK ]; then
42   - echo "Group $COLAB_GROUP was created successfully!";
43   - elif [ $LAST_CMD == $ERROR_NOT_ALLOWED ]; then
44   - echo "You don't have permission to create groups"
45   - echo "Aborting installation"
46   - exit -1
47   - else
48   - echo "Something went weird, please check $COLAB_GROUP group"
49   - fi
50   -else
51   - echo "Group $COLAB_GROUP already exist, skipping creation..."
52   -fi
53   -