d2bb7fd2475b7cb0f92b3127badd6d4878f00faa
Utilisateurs/Brimir-(old-Support).md
... | ... | @@ -0,0 +1,244 @@ |
1 | +Support par Brimir |
|
2 | +================== |
|
3 | + |
|
4 | +`Birmir n'étant plus mis à jour, le support est maintenant gérer avec Zammad.` |
|
5 | + |
|
6 | +## Présentation |
|
7 | +> Brimir is a simple helpdesk system that can be used to handle support requests via incoming email. |
|
8 | + |
|
9 | +* https://getbrimir.com/ |
|
10 | +* https://github.com/ivaldi/brimir |
|
11 | + |
|
12 | +Brimir est actuellement installé sur **le serveur Tails**. |
|
13 | + |
|
14 | +## Utilisation |
|
15 | +### Start/Stop |
|
16 | +``` |
|
17 | +sudo service uwsgi [start|stop|status] brimir |
|
18 | +``` |
|
19 | + |
|
20 | + |
|
21 | +### Labels |
|
22 | + |
|
23 | +#### Ajouter une adresse email d'envoi |
|
24 | +Possible par [l'interface](https://support.resel.fr/email_addresses), mais il y a une vérification. On peut aussi trifouiller la base SQL (tant que c'est un ajout et fait proprement) en ajoutant une ligne avec default à false, les dates à expression `NOW()` et token sur `null`. |
|
25 | + |
|
26 | +## Installation |
|
27 | + |
|
28 | +### Prérequis : base SQL |
|
29 | + |
|
30 | +On choisi PostgreSQL, parce que c'est le bien :) |
|
31 | + |
|
32 | +1. On commence par créer l'utilisateur : |
|
33 | +``` |
|
34 | +11:07 alevavas@maia ~ % sudo -u postgres createuser -E -I -P brimir |
|
35 | +[sudo] password for alevavas: |
|
36 | +Saisir le mot de passe pour le nouveau rôle : |
|
37 | +Le saisir de nouveau : |
|
38 | +Le nouveau rôle est-il super-utilisateur ? (o/n) n |
|
39 | +Le nouveau rôle est-il autorisé à créer des bases de données ? (o/n) n |
|
40 | +Le nouveau rôle est-il autorisé à créer de nouveaux rôles ? (o/n) n |
|
41 | +``` |
|
42 | + |
|
43 | +2. on créé la base `sudo -u postgres createdb -E utf8 -O brimir brimir` |
|
44 | +on ajoute l'autorisation de se connecter : `sudo nano /etc/postgresql/9.1/main/pg_hba.conf` |
|
45 | + - on ajoute la ligne suivante : `host brimir brimir 172.22.2.56/32 md5` |
|
46 | +4. enfin on recharge : `sudo service postgresql reload` |
|
47 | +``` |
|
48 | +[ ok ] Reloading PostgreSQL 9.1 database server: main. |
|
49 | +``` |
|
50 | + |
|
51 | +## Brimir |
|
52 | +Les étapes sont assez simple (une fois qu'on a trouvé ce qui cloche, comme par exemple le fait que le gem execjs vient sans moteur JS et qu'il faut installer NodeJS) : |
|
53 | + |
|
54 | +1. on créé un emplacement et on récupère le code : |
|
55 | +``` |
|
56 | +root@tails /srv # mkdir brimir |
|
57 | +root@tails /srv # cd brimir |
|
58 | +root@tails /srv/brimir # ll |
|
59 | +total 0 |
|
60 | +root@tails /srv/brimir # git clone https://github.com/ivaldi/brimir.git . |
|
61 | +root@tails /srv/brimir # git checkout tags/0.6.1 |
|
62 | +HEAD is now at b084fd6... Recognize CC an BCC addresses as well |
|
63 | + |
|
64 | +root@tails /srv/brimir # useradd -M -c "Brimir" -r brimir -l -d /srv/brimir/ |
|
65 | +root@tails /srv/brimir # chown -R brimir:www-data . |
|
66 | +``` |
|
67 | + |
|
68 | +2. on installe les dépendances : |
|
69 | +``` |
|
70 | +root@tails /srv/brimir # apt-get install ruby ruby-dev libpq-dev |
|
71 | +root@tails /srv/brimir # gem install bundler |
|
72 | +root@tails /srv/brimir # curl --silent --location https://deb.nodesource.com/setup_0.12 | bash - |
|
73 | +root@tails /srv/brimir # apt-get install nodejs |
|
74 | +``` |
|
75 | + |
|
76 | +3. on met la configuration comme il faut |
|
77 | + - `nano config/database.yml` avec les bonnes infos |
|
78 | + - `nano config/environments/production.rb` on rajoute : |
|
79 | +``` |
|
80 | +# Conf ResEl |
|
81 | +config.action_mailer.default_options = { from: 'support@resel.fr' } |
|
82 | +config.action_mailer.default_url_options = { host: 'support.resel.fr' } |
|
83 | +``` |
|
84 | + |
|
85 | +4. on récupère les dépendances (Gems) avec `sudo -u brimir bundle install --without mysql sqlite development test --path vendor/bundle --deployment` (attention à l'utilisateur, sudo, pour toute commande lié à l'application comme bundle à partir de maintenant) |
|
86 | + |
|
87 | +5. on va générer un secret qui servira pour les cookies, on peut le faire avec `sed -i "s/<%= ENV\[\"SECRET_KEY_BASE\"\]` %>/`bin/rake secret`/g" config/secrets.ym`l ou |
|
88 | +`sed -i "s/<%= ENV\[\"SECRET_KEY_BASE\"\] %>/`dd if=/dev/urandom bs=1 count=1024 | sha512sum`/g" config/secrets.yml` |
|
89 | + |
|
90 | +6. on peut alors commencer l'installation de l'application : |
|
91 | + `sudo -u brimir bundle exec rake db:schema:load RAILS_ENV=production` |
|
92 | + `sudo -u brimir bundle exec rake assets:precompile RAILS_ENV=production` |
|
93 | + |
|
94 | +7. enfin on peut ajouter un 1er utilisateur à la main : `sudo -u brimir bundle exec rails console production` |
|
95 | + |
|
96 | +### uWSGI |
|
97 | +Bon l'application est prête, il lui faut un container serveur d'application, uWSGI est probablement le candidat idéal en plus du fait qu'il gère plus d'un langage (Python, Ruby, Perl, ...). |
|
98 | + |
|
99 | +1. On installe : `sudo apt-get install uwsgi uwsgi-plugin-rack-ruby1.9.1` |
|
100 | +2. On va créer un fichier de configuration `nano /etc/uwsgi/apps-available/brimir.ini` (la conf est dérivée de celle de Redmine) |
|
101 | +``` |
|
102 | + |
|
103 | +[uwsgi] |
|
104 | +master = true |
|
105 | +lazy-apps = true |
|
106 | +;idle = 3600 |
|
107 | +processes = 1 |
|
108 | + |
|
109 | +chdir = /srv/brimir |
|
110 | +plugin = rack |
|
111 | +rack = config.ru |
|
112 | +rbrequire = bundler/setup |
|
113 | +env = RAILS_ENV=production |
|
114 | + |
|
115 | +uid = brimir |
|
116 | +gid = brimir |
|
117 | +chmod-socket = 770 |
|
118 | +chown-socket = www-data:www-data |
|
119 | + |
|
120 | +; lazy-apps |
|
121 | +;rbrequire = rubygems |
|
122 | +;env = BUNDLE_GEMFILE=/srv/brimir/Gemfile |
|
123 | +``` |
|
124 | + |
|
125 | +3. On ajoute l'application aux actives : `cd /etc/uwsgi/apps-enabled/ && ln -s ../apps-available/brimir.ini .` |
|
126 | + |
|
127 | +4. On peut lancer l'application avec `service uwsgi start brimir` et uWSGI met à disposition le socket pour y accéder dans `/run/uwsgi/app/brimir/socket`. |
|
128 | + |
|
129 | +### Nginx |
|
130 | + |
|
131 | +Un serveur web qu'on ne présente plus, léger avec une syntaxe de configuration légère. |
|
132 | + |
|
133 | +1. On commence par l'installer : `sudo apt-get install nginx` |
|
134 | +2. On créé le fichier de conf qui va bien sudo nano /etc/nginx/sites-enabled/support.conf (de nouveau, basé sur l'exemple Redmine) : |
|
135 | +``` |
|
136 | +server { |
|
137 | + listen 172.22.42.20:443 ssl; |
|
138 | + |
|
139 | + server_name support.resel.fr; |
|
140 | + |
|
141 | + ssl_certificate /etc/nginx/ssl/resel.pem; |
|
142 | + ssl_certificate_key /etc/nginx/ssl/resel.key; |
|
143 | + |
|
144 | + access_log /var/log/nginx/access_support.resel.fr.log; |
|
145 | + error_log /var/log/nginx/errors_support.resel.fr.log; |
|
146 | + |
|
147 | + root "/srv/brimir/public"; |
|
148 | + |
|
149 | + # "API" de création des tickets par email .. désolé mais on filtre, que pour l'interne |
|
150 | + # Seul le serveur mail / les serveurs internes peuvent envoyer, pour les autres, on envoi un vrai faux 404 |
|
151 | + # http://stackoverflow.com/questions/26369128/how-to-deny-with-404-on-nginx |
|
152 | + location = /fake-internal-404.html { |
|
153 | + internal; #return 404 |
|
154 | + } |
|
155 | + location = /tickets.json { |
|
156 | + error_page 403 404 /fake-internal-404.html; |
|
157 | + # https://trac.nginx.org/nginx/ticket/633 : la ligne suivante ne fonctionne pas .. |
|
158 | +# limit_except GET { |
|
159 | + #allow all; |
|
160 | + allow ipv4-adm-brest/23; |
|
161 | + allow ipv4-pub-brest/23; |
|
162 | + allow ipv4-adm-rennes/23; |
|
163 | + allow ipv4-pub-rennes/23; |
|
164 | + allow ipv6-adm-brest/64; |
|
165 | + allow ipv6-pub-brest/64; |
|
166 | + allow ipv6-adm-rennes/64; |
|
167 | + allow ipv6-pub-rennes/64; |
|
168 | + deny all; |
|
169 | +# } |
|
170 | + try_files $uri @brimir; |
|
171 | + } |
|
172 | + |
|
173 | + location / { |
|
174 | + try_files $uri @brimir; |
|
175 | + } |
|
176 | + |
|
177 | + location @brimir { |
|
178 | + include uwsgi_params; |
|
179 | + uwsgi_modifier1 7; |
|
180 | + uwsgi_pass unix:/run/uwsgi/brimir.sock; |
|
181 | + } |
|
182 | + |
|
183 | +} |
|
184 | +``` |
|
185 | + |
|
186 | +Bonus : |
|
187 | +``` |
|
188 | + |
|
189 | +tails ~ % cat /etc/nginx/sites-enabled/http-redirect.conf |
|
190 | +server { |
|
191 | + listen [::]:80 default_server; |
|
192 | + |
|
193 | + # http://serverfault.com/questions/67316/in-nginx-how-can-i-rewrite-all-http-requests-to-https-while-maintaining-sub-dom |
|
194 | + return 301 https://$server_name$request_uri; |
|
195 | +} |
|
196 | +``` |
|
197 | + |
|
198 | +3. On ajoute le site aux sites actifs : `cd /etc/nginx/sites-enabled/ && ln -s ../sites-available/support.conf .` |
|
199 | + |
|
200 | +4. On peut lancer ou relancer nginx |
|
201 | + |
|
202 | +### Réception de mail |
|
203 | + |
|
204 | + |
|
205 | + |
|
206 | +L'envoi des mails à l'appli de support est très propre et fait simplement appel à cURL. |
|
207 | +Il faut mettre en place le script script/post-mail sur le serveur de mail (par exemple dans `/srv/scripts/brimir/`), puis modifier le fichier d'aliases (`/etc/aliases`) pour y ajouter : |
|
208 | +``` |
|
209 | +brimir: "|/bin/sh /srv/scripts/brimir/post-mail https://support.resel.fr/tickets.json" |
|
210 | +support: brimir |
|
211 | +inscription: brimir |
|
212 | +``` |
|
213 | + |
|
214 | +et enfin recharger la base d'aliases postalias /etc/aliases puis recharger postfix pour un effet imémdiat service postfix reload. |
|
215 | + |
|
216 | + |
|
217 | +### Débug |
|
218 | + |
|
219 | +On peut utiliser `curl` pour débuguer : |
|
220 | + |
|
221 | +``` |
|
222 | +curl --data-urlencode message@- -v https://support.resel.fr/tickets.json <<EOF |
|
223 | +Date: Tue, 7 Feb 2017 01:45:22 +0100 (CET) |
|
224 | +From: stupid@resel.fr |
|
225 | +To: support@resel.fr |
|
226 | +Message-ID: <random_id@test> |
|
227 | +Subject: coucou :) |
|
228 | + |
|
229 | +Yo ! |
|
230 | + |
|
231 | +EOF |
|
232 | +``` |
|
233 | + |
|
234 | +Quelques liens : |
|
235 | +* https://github.com/ivaldi/brimir/ |
|
236 | +* https://stackoverflow.com/questions/3681329/rails-3s-bundle-install-and-bundle-install-deployment-both-work-well-exce |
|
237 | +* https://github.com/rails/execjs |
|
238 | +* http://www.norbauer.com/rails-consulting/notes/git-revert-reset-a-single-file.html |
|
239 | +* https://stackoverflow.com/questions/9202324/execjs-could-not-find-a-javascript-runtime-but-execjs-and-therubyracer-are-in |
|
240 | +* https://stackoverflow.com/questions/6282307/execjs-and-could-not-find-a-javascript-runtime |
|
241 | +* https://github.com/nodejs/node-v0.x-archive/wiki/Installing-Node.js-via-package-manager#debian-and-ubuntu-based-linux-distributions |
|
242 | +* https://stackoverflow.com/questions/11513623/bundler-you-are-trying-to-install-in-deployment-mode-after-changing-your-gemfil |
|
243 | +* http://www.databasically.com/2010/10/22/what-time-is-it-or-handling-timezones-in-rails/ |
|
244 | +* https://stackoverflow.com/questions/8395748/devise-with-ldap-auth-problems |
|
... | ... | \ No newline at end of file |
Utilisateurs/Support.md
... | ... | @@ -1,242 +0,0 @@ |
1 | -Support par Brimir |
|
2 | -================== |
|
3 | - |
|
4 | -## Présentation |
|
5 | -> Brimir is a simple helpdesk system that can be used to handle support requests via incoming email. |
|
6 | - |
|
7 | -* https://getbrimir.com/ |
|
8 | -* https://github.com/ivaldi/brimir |
|
9 | - |
|
10 | -Brimir est actuellement installé sur **le serveur Tails**. |
|
11 | - |
|
12 | -## Utilisation |
|
13 | -### Start/Stop |
|
14 | -``` |
|
15 | -sudo service uwsgi [start|stop|status] brimir |
|
16 | -``` |
|
17 | - |
|
18 | - |
|
19 | -### Labels |
|
20 | - |
|
21 | -#### Ajouter une adresse email d'envoi |
|
22 | -Possible par [l'interface](https://support.resel.fr/email_addresses), mais il y a une vérification. On peut aussi trifouiller la base SQL (tant que c'est un ajout et fait proprement) en ajoutant une ligne avec default à false, les dates à expression `NOW()` et token sur `null`. |
|
23 | - |
|
24 | -## Installation |
|
25 | - |
|
26 | -### Prérequis : base SQL |
|
27 | - |
|
28 | -On choisi PostgreSQL, parce que c'est le bien :) |
|
29 | - |
|
30 | -1. On commence par créer l'utilisateur : |
|
31 | -``` |
|
32 | -11:07 alevavas@maia ~ % sudo -u postgres createuser -E -I -P brimir |
|
33 | -[sudo] password for alevavas: |
|
34 | -Saisir le mot de passe pour le nouveau rôle : |
|
35 | -Le saisir de nouveau : |
|
36 | -Le nouveau rôle est-il super-utilisateur ? (o/n) n |
|
37 | -Le nouveau rôle est-il autorisé à créer des bases de données ? (o/n) n |
|
38 | -Le nouveau rôle est-il autorisé à créer de nouveaux rôles ? (o/n) n |
|
39 | -``` |
|
40 | - |
|
41 | -2. on créé la base `sudo -u postgres createdb -E utf8 -O brimir brimir` |
|
42 | -on ajoute l'autorisation de se connecter : `sudo nano /etc/postgresql/9.1/main/pg_hba.conf` |
|
43 | - - on ajoute la ligne suivante : `host brimir brimir 172.22.2.56/32 md5` |
|
44 | -4. enfin on recharge : `sudo service postgresql reload` |
|
45 | -``` |
|
46 | -[ ok ] Reloading PostgreSQL 9.1 database server: main. |
|
47 | -``` |
|
48 | - |
|
49 | -## Brimir |
|
50 | -Les étapes sont assez simple (une fois qu'on a trouvé ce qui cloche, comme par exemple le fait que le gem execjs vient sans moteur JS et qu'il faut installer NodeJS) : |
|
51 | - |
|
52 | -1. on créé un emplacement et on récupère le code : |
|
53 | -``` |
|
54 | -root@tails /srv # mkdir brimir |
|
55 | -root@tails /srv # cd brimir |
|
56 | -root@tails /srv/brimir # ll |
|
57 | -total 0 |
|
58 | -root@tails /srv/brimir # git clone https://github.com/ivaldi/brimir.git . |
|
59 | -root@tails /srv/brimir # git checkout tags/0.6.1 |
|
60 | -HEAD is now at b084fd6... Recognize CC an BCC addresses as well |
|
61 | - |
|
62 | -root@tails /srv/brimir # useradd -M -c "Brimir" -r brimir -l -d /srv/brimir/ |
|
63 | -root@tails /srv/brimir # chown -R brimir:www-data . |
|
64 | -``` |
|
65 | - |
|
66 | -2. on installe les dépendances : |
|
67 | -``` |
|
68 | -root@tails /srv/brimir # apt-get install ruby ruby-dev libpq-dev |
|
69 | -root@tails /srv/brimir # gem install bundler |
|
70 | -root@tails /srv/brimir # curl --silent --location https://deb.nodesource.com/setup_0.12 | bash - |
|
71 | -root@tails /srv/brimir # apt-get install nodejs |
|
72 | -``` |
|
73 | - |
|
74 | -3. on met la configuration comme il faut |
|
75 | - - `nano config/database.yml` avec les bonnes infos |
|
76 | - - `nano config/environments/production.rb` on rajoute : |
|
77 | -``` |
|
78 | -# Conf ResEl |
|
79 | -config.action_mailer.default_options = { from: 'support@resel.fr' } |
|
80 | -config.action_mailer.default_url_options = { host: 'support.resel.fr' } |
|
81 | -``` |
|
82 | - |
|
83 | -4. on récupère les dépendances (Gems) avec `sudo -u brimir bundle install --without mysql sqlite development test --path vendor/bundle --deployment` (attention à l'utilisateur, sudo, pour toute commande lié à l'application comme bundle à partir de maintenant) |
|
84 | - |
|
85 | -5. on va générer un secret qui servira pour les cookies, on peut le faire avec `sed -i "s/<%= ENV\[\"SECRET_KEY_BASE\"\]` %>/`bin/rake secret`/g" config/secrets.ym`l ou |
|
86 | -`sed -i "s/<%= ENV\[\"SECRET_KEY_BASE\"\] %>/`dd if=/dev/urandom bs=1 count=1024 | sha512sum`/g" config/secrets.yml` |
|
87 | - |
|
88 | -6. on peut alors commencer l'installation de l'application : |
|
89 | - `sudo -u brimir bundle exec rake db:schema:load RAILS_ENV=production` |
|
90 | - `sudo -u brimir bundle exec rake assets:precompile RAILS_ENV=production` |
|
91 | - |
|
92 | -7. enfin on peut ajouter un 1er utilisateur à la main : `sudo -u brimir bundle exec rails console production` |
|
93 | - |
|
94 | -### uWSGI |
|
95 | -Bon l'application est prête, il lui faut un container serveur d'application, uWSGI est probablement le candidat idéal en plus du fait qu'il gère plus d'un langage (Python, Ruby, Perl, ...). |
|
96 | - |
|
97 | -1. On installe : `sudo apt-get install uwsgi uwsgi-plugin-rack-ruby1.9.1` |
|
98 | -2. On va créer un fichier de configuration `nano /etc/uwsgi/apps-available/brimir.ini` (la conf est dérivée de celle de Redmine) |
|
99 | -``` |
|
100 | - |
|
101 | -[uwsgi] |
|
102 | -master = true |
|
103 | -lazy-apps = true |
|
104 | -;idle = 3600 |
|
105 | -processes = 1 |
|
106 | - |
|
107 | -chdir = /srv/brimir |
|
108 | -plugin = rack |
|
109 | -rack = config.ru |
|
110 | -rbrequire = bundler/setup |
|
111 | -env = RAILS_ENV=production |
|
112 | - |
|
113 | -uid = brimir |
|
114 | -gid = brimir |
|
115 | -chmod-socket = 770 |
|
116 | -chown-socket = www-data:www-data |
|
117 | - |
|
118 | -; lazy-apps |
|
119 | -;rbrequire = rubygems |
|
120 | -;env = BUNDLE_GEMFILE=/srv/brimir/Gemfile |
|
121 | -``` |
|
122 | - |
|
123 | -3. On ajoute l'application aux actives : `cd /etc/uwsgi/apps-enabled/ && ln -s ../apps-available/brimir.ini .` |
|
124 | - |
|
125 | -4. On peut lancer l'application avec `service uwsgi start brimir` et uWSGI met à disposition le socket pour y accéder dans `/run/uwsgi/app/brimir/socket`. |
|
126 | - |
|
127 | -### Nginx |
|
128 | - |
|
129 | -Un serveur web qu'on ne présente plus, léger avec une syntaxe de configuration légère. |
|
130 | - |
|
131 | -1. On commence par l'installer : `sudo apt-get install nginx` |
|
132 | -2. On créé le fichier de conf qui va bien sudo nano /etc/nginx/sites-enabled/support.conf (de nouveau, basé sur l'exemple Redmine) : |
|
133 | -``` |
|
134 | -server { |
|
135 | - listen 172.22.42.20:443 ssl; |
|
136 | - |
|
137 | - server_name support.resel.fr; |
|
138 | - |
|
139 | - ssl_certificate /etc/nginx/ssl/resel.pem; |
|
140 | - ssl_certificate_key /etc/nginx/ssl/resel.key; |
|
141 | - |
|
142 | - access_log /var/log/nginx/access_support.resel.fr.log; |
|
143 | - error_log /var/log/nginx/errors_support.resel.fr.log; |
|
144 | - |
|
145 | - root "/srv/brimir/public"; |
|
146 | - |
|
147 | - # "API" de création des tickets par email .. désolé mais on filtre, que pour l'interne |
|
148 | - # Seul le serveur mail / les serveurs internes peuvent envoyer, pour les autres, on envoi un vrai faux 404 |
|
149 | - # http://stackoverflow.com/questions/26369128/how-to-deny-with-404-on-nginx |
|
150 | - location = /fake-internal-404.html { |
|
151 | - internal; #return 404 |
|
152 | - } |
|
153 | - location = /tickets.json { |
|
154 | - error_page 403 404 /fake-internal-404.html; |
|
155 | - # https://trac.nginx.org/nginx/ticket/633 : la ligne suivante ne fonctionne pas .. |
|
156 | -# limit_except GET { |
|
157 | - #allow all; |
|
158 | - allow ipv4-adm-brest/23; |
|
159 | - allow ipv4-pub-brest/23; |
|
160 | - allow ipv4-adm-rennes/23; |
|
161 | - allow ipv4-pub-rennes/23; |
|
162 | - allow ipv6-adm-brest/64; |
|
163 | - allow ipv6-pub-brest/64; |
|
164 | - allow ipv6-adm-rennes/64; |
|
165 | - allow ipv6-pub-rennes/64; |
|
166 | - deny all; |
|
167 | -# } |
|
168 | - try_files $uri @brimir; |
|
169 | - } |
|
170 | - |
|
171 | - location / { |
|
172 | - try_files $uri @brimir; |
|
173 | - } |
|
174 | - |
|
175 | - location @brimir { |
|
176 | - include uwsgi_params; |
|
177 | - uwsgi_modifier1 7; |
|
178 | - uwsgi_pass unix:/run/uwsgi/brimir.sock; |
|
179 | - } |
|
180 | - |
|
181 | -} |
|
182 | -``` |
|
183 | - |
|
184 | -Bonus : |
|
185 | -``` |
|
186 | - |
|
187 | -tails ~ % cat /etc/nginx/sites-enabled/http-redirect.conf |
|
188 | -server { |
|
189 | - listen [::]:80 default_server; |
|
190 | - |
|
191 | - # http://serverfault.com/questions/67316/in-nginx-how-can-i-rewrite-all-http-requests-to-https-while-maintaining-sub-dom |
|
192 | - return 301 https://$server_name$request_uri; |
|
193 | -} |
|
194 | -``` |
|
195 | - |
|
196 | -3. On ajoute le site aux sites actifs : `cd /etc/nginx/sites-enabled/ && ln -s ../sites-available/support.conf .` |
|
197 | - |
|
198 | -4. On peut lancer ou relancer nginx |
|
199 | - |
|
200 | -### Réception de mail |
|
201 | - |
|
202 | - |
|
203 | - |
|
204 | -L'envoi des mails à l'appli de support est très propre et fait simplement appel à cURL. |
|
205 | -Il faut mettre en place le script script/post-mail sur le serveur de mail (par exemple dans `/srv/scripts/brimir/`), puis modifier le fichier d'aliases (`/etc/aliases`) pour y ajouter : |
|
206 | -``` |
|
207 | -brimir: "|/bin/sh /srv/scripts/brimir/post-mail https://support.resel.fr/tickets.json" |
|
208 | -support: brimir |
|
209 | -inscription: brimir |
|
210 | -``` |
|
211 | - |
|
212 | -et enfin recharger la base d'aliases postalias /etc/aliases puis recharger postfix pour un effet imémdiat service postfix reload. |
|
213 | - |
|
214 | - |
|
215 | -### Débug |
|
216 | - |
|
217 | -On peut utiliser `curl` pour débuguer : |
|
218 | - |
|
219 | -``` |
|
220 | -curl --data-urlencode message@- -v https://support.resel.fr/tickets.json <<EOF |
|
221 | -Date: Tue, 7 Feb 2017 01:45:22 +0100 (CET) |
|
222 | -From: stupid@resel.fr |
|
223 | -To: support@resel.fr |
|
224 | -Message-ID: <random_id@test> |
|
225 | -Subject: coucou :) |
|
226 | - |
|
227 | -Yo ! |
|
228 | - |
|
229 | -EOF |
|
230 | -``` |
|
231 | - |
|
232 | -Quelques liens : |
|
233 | -* https://github.com/ivaldi/brimir/ |
|
234 | -* https://stackoverflow.com/questions/3681329/rails-3s-bundle-install-and-bundle-install-deployment-both-work-well-exce |
|
235 | -* https://github.com/rails/execjs |
|
236 | -* http://www.norbauer.com/rails-consulting/notes/git-revert-reset-a-single-file.html |
|
237 | -* https://stackoverflow.com/questions/9202324/execjs-could-not-find-a-javascript-runtime-but-execjs-and-therubyracer-are-in |
|
238 | -* https://stackoverflow.com/questions/6282307/execjs-and-could-not-find-a-javascript-runtime |
|
239 | -* https://github.com/nodejs/node-v0.x-archive/wiki/Installing-Node.js-via-package-manager#debian-and-ubuntu-based-linux-distributions |
|
240 | -* https://stackoverflow.com/questions/11513623/bundler-you-are-trying-to-install-in-deployment-mode-after-changing-your-gemfil |
|
241 | -* http://www.databasically.com/2010/10/22/what-time-is-it-or-handling-timezones-in-rails/ |
|
242 | -* https://stackoverflow.com/questions/8395748/devise-with-ldap-auth-problems |
|
... | ... | \ No newline at end of file |