Mercurial > paster
annotate pasterd.8.in @ 59:fba88439ec0a
misc: update copyright years
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 12 Apr 2021 20:31:18 +0200 |
parents | 511e2e865e15 |
children | ecb0b90d94d8 |
rev | line source |
---|---|
14 | 1 .\" |
59
fba88439ec0a
misc: update copyright years
David Demelier <markand@malikania.fr>
parents:
33
diff
changeset
|
2 .\" Copyright (c) 2020-2021 David Demelier <markand@malikania.fr> |
14 | 3 .\" |
4 .\" Permission to use, copy, modify, and/or distribute this software for any | |
5 .\" purpose with or without fee is hereby granted, provided that the above | |
6 .\" copyright notice and this permission notice appear in all copies. | |
7 .\" | |
8 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
9 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
10 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
11 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
12 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
13 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
14 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
15 .\" | |
16 .Dd 06 February, 2020 | |
17 .Dt PASTERD 8 | |
18 .Os | |
19 .\" NAME | |
20 .Sh NAME | |
21 .Nm pasterd | |
22 .Nd simple paste service | |
23 .\" SYNOPSIS | |
24 .Sh SYNOPSIS | |
25 .Nm | |
21
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
26 .Op Fl fqv |
14 | 27 .Op Fl d Ar database-path |
28 .Op Fl t Ar theme-directory | |
29 .\" DESCRIPTION | |
30 .Sh DESCRIPTION | |
31 The | |
32 .Nm | |
33 utility is a simple CGI or FastCGI program to host code snippets over a web | |
34 interface. It will show most recent public pastes and let users to create new | |
35 one from a web form. | |
36 .Pp | |
37 It supports: | |
38 .Bl -bullet -compat | |
39 .It | |
40 Listing of recent pastes, | |
33
511e2e865e15
doc: advertise myself in manual pages
David Demelier <markand@malikania.fr>
parents:
32
diff
changeset
|
41 .It |
14 | 42 Submission of new pastes, |
43 .It | |
32
a47801a1522a
doc: advertise searching function in pasterd.8
David Demelier <markand@malikania.fr>
parents:
21
diff
changeset
|
44 Searching existing pastes, |
a47801a1522a
doc: advertise searching function in pasterd.8
David Demelier <markand@malikania.fr>
parents:
21
diff
changeset
|
45 .It |
14 | 46 Language highlighting (depending on the theme), |
47 .It | |
48 Private pastes (not listed). | |
49 .El | |
50 .Pp | |
51 To store pastes, | |
52 .Nm | |
53 uses a SQLite database that must be writable by the CGI/FastCGI owner. See usage | |
54 below. | |
55 .Pp | |
56 Available options: | |
57 .Bl -tag -width Ds | |
58 .It Fl f | |
59 Starts as FastCGI mode, | |
60 .Nm | |
61 will wait forever for new requests. | |
62 .It Fl d Ar database-path | |
63 Specify an alternate path for the database. | |
64 .It Fl t Ar theme-directory | |
65 Specify an alternate directory for the theme. | |
21
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
66 .It Fl q |
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
67 Do not log through syslog at all. |
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
68 .It Fl v |
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
69 Increase verbosity level. |
14 | 70 .El |
71 .\" USAGE | |
72 .Sh USAGE | |
73 The | |
74 .Nm | |
75 utility does not use configuration file as it does not need many adjustments, | |
76 instead every parameter could be passed by environment variables or options. | |
77 .Pp | |
78 By default, | |
79 .Nm | |
80 will try to use | |
81 .Pa @VARDIR@/paster/paster.db | |
82 database. | |
21
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
83 .\" LOGS |
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
84 .Sh LOGS |
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
85 The |
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
86 .Nm |
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
87 utility will log information through syslog unless verbosity is disabled. |
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
88 Except at startup where the tool can write to stderr some information if it |
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
89 can't continue processing, the tool will never write anything to stdout and |
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
90 use syslog only. |
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
91 .Pp |
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
92 The available verbosity level is defined in the following order: |
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
93 .Bd -literal -offset Ds |
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
94 none < warnings (default) < info < debug |
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
95 .Ed |
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
96 .Pp |
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
97 Use |
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
98 .Fl q |
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
99 or |
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
100 .Va PASTERD_VERBOSITY=0 |
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
101 if you want to disable syslog completely. |
14 | 102 .\" USING WITH FASTCGI |
103 .Sh USING WITH FASTCGI | |
104 The recommended way to use | |
105 .Nm | |
106 is to deploy using FastCGI. You can use the | |
107 .Xr kfcgi 8 | |
108 helper to spawn the process for you. | |
109 .Pp | |
110 Example: | |
111 .Bd -literal -offset Ds | |
112 kfcgi -p /var/www/paster -- pasterd -f -d paster.db -t siimple | |
113 .Ed | |
114 .Pp | |
115 Note: kfcgi chroot to the directory given, you must either statically link | |
116 pasterd at build time or deploy all required libraries. Also, themes directory | |
117 will need to be available in the chroot directory. In the above example, this | |
118 will effectively create a database | |
119 .Pa /var/www/paster/paster.db | |
120 and use the theme | |
121 .Pa /var/www/paster/siimple . | |
122 .Pp | |
123 Then, simply copy the desired theme into the directory. | |
124 .Bd -literal -offset Ds | |
125 cp -R @SHAREDIR@/paster/themes/siimple /var/www/paster | |
126 .Ed | |
127 .Pp | |
128 As an | |
129 .Em insecure | |
130 alternative, you can chroot to | |
131 .Pa / | |
132 to avoid static-linking and copying themes, using: | |
133 .Bd -literal -offset Ds | |
134 kfcgi -p / -- pasterd -f \e | |
135 -d /var/www/paster/paster.db \e | |
136 -t @SHAREDIR@/paster/themes/siimple | |
137 .Ed | |
138 .Pp | |
139 Both kfcgi invocations will create | |
140 .Pa /var/www/run/http.sock | |
141 with current user and group. Configure the web server to talk to that socket | |
142 and make sure it has appropriate file permissions otherwise see | |
143 .Fl u | |
144 option in | |
145 .Nm kfcgi . | |
146 See also the | |
147 .Xr kfcgi 8 | |
148 manual for more information. | |
149 .Pp | |
150 Next, configure the web server. | |
151 .Pp | |
152 Warning: at this moment, | |
153 .Nm | |
154 requires its own virtual host and can | |
155 .Em not | |
156 use a url. | |
157 .\" Server: nginx | |
158 .Ss Server: nginx | |
159 The nginx web server requires several parameters to run | |
160 .Nm . | |
161 .Bd -literal | |
162 server { | |
163 server_name mypaste.fr; | |
164 listen 80; | |
165 | |
166 location / { | |
167 fastcgi_param QUERY_STRING query_string; | |
168 fastcgi_param REQUEST_METHOD $request_method; | |
169 fastcgi_param CONTENT_TYPE $content_type; | |
170 fastcgi_param CONTENT_LENGTH $content_length; | |
171 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; | |
172 fastcgi_param SCRIPT_NAME $fastcgi_script_name; | |
173 fastcgi_param PATH_INFO $document_uri; | |
174 fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; | |
175 fastcgi_param REQUEST_URI $request_uri; | |
176 fastcgi_param DOCUMENT_URI $document_uri; | |
177 fastcgi_param DOCUMENT_ROOT $document_root; | |
178 fastcgi_param SERVER_PROTOCOL $server_protocol; | |
179 fastcgi_param GATEWAY_INTERFACE CGI/1.1; | |
180 fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; | |
181 fastcgi_param REMOTE_ADDR $remote_addr; | |
182 fastcgi_param REMOTE_PORT $remote_port; | |
183 fastcgi_param SERVER_ADDR $server_addr; | |
184 fastcgi_param SERVER_PORT $server_port; | |
185 fastcgi_param SERVER_NAME $server_name; | |
186 fastcgi_param HTTPS $https; | |
187 fastcgi_pass unix:/var/www/run/httpd.sock; | |
188 } | |
189 } | |
190 .Ed | |
191 .\" ENVIRONMENT | |
192 .Sh ENVIRONMENT | |
193 The following environment variables are detected: | |
194 .Bl -tag -width Ds | |
195 .It Va PASTERD_DATABASE_PATH No (string) | |
196 Path to the SQLite database. | |
197 .It Va PASTERD_THEME_DIR No (string) | |
198 Directory containing the theme. | |
21
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
199 .It Va PASTERD_VERBOSITY No (number) |
21c103c33ac9
pasterd: improve verbosity, closes #2472
David Demelier <markand@malikania.fr>
parents:
14
diff
changeset
|
200 Verbosity level, 0 to disable completely. |
14 | 201 .El |
33
511e2e865e15
doc: advertise myself in manual pages
David Demelier <markand@malikania.fr>
parents:
32
diff
changeset
|
202 .\" AUTHORS |
511e2e865e15
doc: advertise myself in manual pages
David Demelier <markand@malikania.fr>
parents:
32
diff
changeset
|
203 .Sh AUTHORS |
511e2e865e15
doc: advertise myself in manual pages
David Demelier <markand@malikania.fr>
parents:
32
diff
changeset
|
204 .Nm |
511e2e865e15
doc: advertise myself in manual pages
David Demelier <markand@malikania.fr>
parents:
32
diff
changeset
|
205 was written by David Demelier <markand@malikania.fr> |
14 | 206 .\" SEE ALSO |
207 .Sh SEE ALSO | |
208 .Xr paster 8 , | |
209 .Xr kfcgi 8 |