comparison xml/ru/linux_packages.xml @ 2322:bb03e6ac2f16

Added per-distro instructions on how to enable packages signature checks.
author Konstantin Pavlov <thresh@videolan.org>
date Wed, 30 Jan 2019 13:04:46 +0300
parents 580c3007d242
children eaef8f4ca921
comparison
equal deleted inserted replaced
2321:580c3007d242 2322:bb03e6ac2f16
5 <!DOCTYPE article SYSTEM "../../dtd/article.dtd"> 5 <!DOCTYPE article SYSTEM "../../dtd/article.dtd">
6 6
7 <article name="nginx: пакеты для Linux" 7 <article name="nginx: пакеты для Linux"
8 link="/ru/linux_packages.html" 8 link="/ru/linux_packages.html"
9 lang="ru" 9 lang="ru"
10 rev="30" 10 rev="31"
11 toc="no"> 11 toc="no">
12 12
13 <section id="distributions"> 13 <section id="distributions">
14 14
15 <para> 15 <para>
117 117
118 </table> 118 </table>
119 </para> 119 </para>
120 120
121 <para> 121 <para>
122 Чтобы включить автоматическое обновление пакетов для Linux, 122 Для того, чтобы поставить nginx на новой машине, необходимо подключить
123 настройте репозиторий yum для дистрибутивов RHEL/CentOS, 123 и настроить репозиторий пакетов nginx.
124 репозиторий apt для дистрибутивов Debian/Ubuntu, 124 После этого можно будет установить и обновлять nginx из этого репозитория.
125 или репозиторий zypper для SLES. 125 </para>
126 </para> 126
127 127 </section>
128 </section> 128
129 129
130 130 <section name="Инструкции по установке" id="instructions">
131 <section name="Готовые пакеты стабильной версии" id="stable"> 131
132 132 <section name="RHEL/CentOS" id="RHEL-CentOS">
133 <para> 133
134 Для настройки репозитория yum для RHEL/CentOS необходимо 134 <para>
135 создать файл с именем <path>/etc/yum.repos.d/nginx.repo</path> 135 Установите пакеты, необходимые для подключения yum-репозитория:
136 и таким содержимым: 136 <programlisting>
137 137 sudo yum install yum-utils
138 <programlisting> 138 </programlisting>
139 [nginx] 139
140 name=nginx repo 140 Для подключения yum-репозитория создайте файл с именем
141 baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/ 141 <path>/etc/yum.repos.d/nginx.repo</path>
142 gpgcheck=0 142 со следующим содержимым:
143
144 <programlisting>
145 [nginx-stable]
146 name=nginx stable repo
147 baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
148 gpgcheck=1
143 enabled=1 149 enabled=1
144 </programlisting> 150 gpgkey=https://nginx.org/keys/nginx_signing.key
145 151
146 Замените “<literal>OS</literal>” на “<literal>rhel</literal>” или 152 [nginx-mainline]
147 “<literal>centos</literal>”, 153 name=nginx mainline repo
148 в зависимости от используемого дистрибутива, а “<literal>OSRELEASE</literal>” 154 baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
149 на “<literal>6</literal>” или “<literal>7</literal>”, для, соответственно, 6.x 155 gpgcheck=1
150 или 7.x версий. 156 enabled=0
151 </para> 157 gpgkey=https://nginx.org/keys/nginx_signing.key
152 158 </programlisting>
153 <para> 159
154 Для Debian/Ubuntu, для проверки подлинности подписи репозитория nginx, 160 По умолчанию используется репозиторий для стабильной версии nginx.
155 и чтобы избавиться от предупреждений об отсутствующем PGP-ключе во время 161 Если предпочтительно использовать пакеты для основной версии nginx,
156 установки пакета nginx, необходимо добавить ключ, которым были подписаны 162 выполните следующую команду:
157 пакеты и репозиторий nginx, в связку ключей программы <command>apt</command>. 163 <programlisting>
158 Загрузите <link url="/keys/nginx_signing.key">этот 164 sudo yum-config-manager --enable nginx-mainline
159 ключ</link> с нашего веб-сайта и добавьте его в связку ключей программы 165 </programlisting>
160 <command>apt</command>, выполнив команду: 166
161 <programlisting> 167 Чтобы установить nginx, выполните следующую команду:
162 sudo apt-key add nginx_signing.key 168 <programlisting>
163 </programlisting> 169 sudo yum install nginx
164 </para> 170 </programlisting>
165 171
166 <para> 172 При запросе подтверждения GPG-ключа проверьте, что отпечаток ключа совпадает
167 Для Debian замените <i>codename</i> на 173 с <command>573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62</command>, и,
168 <link id="distributions">кодовое имя</link> дистрибутива, 174 если это так, подтвердите его.
169 и добавьте в конец файла <path>/etc/apt/sources.list</path> 175 </para>
170 следующее: 176
171 177 </section>
172 <programlisting> 178
173 deb http://nginx.org/packages/debian/ <i>codename</i> nginx 179
174 deb-src http://nginx.org/packages/debian/ <i>codename</i> nginx 180 <section name="Debian" id="Debian">
175 </programlisting> 181
176 </para> 182 <para>
177 183 Установите пакеты, необходимые для подключения apt-репозитория:
178 <para> 184 <programlisting>
179 Для Ubuntu замените <i>codename</i> на 185 sudo apt install curl gnupg2 ca-certificates lsb-release
180 <link id="distributions">кодовое имя</link> дистрибутива, 186 </programlisting>
181 и добавьте в конец файла <path>/etc/apt/sources.list</path> 187
182 следующее: 188 Для подключения apt-репозитория для стабильной версии nginx,
183 189 выполните следующую команду:
184 <programlisting> 190 <programlisting>
185 deb http://nginx.org/packages/ubuntu/ <i>codename</i> nginx 191 echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" \
186 deb-src http://nginx.org/packages/ubuntu/ <i>codename</i> nginx 192 | sudo tee /etc/apt/sources.list.d/nginx.list
187 </programlisting> 193 </programlisting>
188 </para> 194
189 195 Если предпочтительно использовать пакеты для основной версии nginx,
190 <para> 196 выполните следующую команду вместо предыдущей:
191 Для Debian/Ubuntu затем выполните команды: 197 <programlisting>
192 <programlisting> 198 echo "deb http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" \
193 apt-get update 199 | sudo tee /etc/apt/sources.list.d/nginx.list
194 apt-get install nginx 200 </programlisting>
195 </programlisting> 201
196 </para> 202 Теперь нужно импортировать официальный ключ,
197 203 используемый apt для проверки подлинности пакетов:
198 <para> 204 <programlisting>
199 Для SLES 12 выполните команду: 205 curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
200 <programlisting> 206 </programlisting>
201 zypper addrepo -G -t yum -c 'http://nginx.org/packages/sles/12' nginx 207
202 </programlisting> 208 Проверьте, верный ли ключ был импортирован:
203 </para> 209 <programlisting>
204 210 sudo apt-key fingerprint ABF5BD827BD9BF62
205 <para> 211 </programlisting>
206 Для SLES 15 выполните команду: 212
207 <programlisting> 213 Вывод команды должен содержать полный отпечаток ключа
208 zypper addrepo -G -t yum -c 'http://nginx.org/packages/sles/15' nginx 214 <command>573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62</command>:
209 </programlisting> 215 <programlisting>
210 </para> 216 pub rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
211 217 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
212 </section> 218 uid [ unknown] nginx signing key &lt;signing-key@nginx.com&gt;
213 219 </programlisting>
214 220
215 <section name="Готовые пакеты mainline-версии" id="mainline"> 221 Чтобы установить nginx, выполните следующие команды:
216 222 <programlisting>
217 <para> 223 sudo apt update
218 Для настройки репозитория yum для RHEL/CentOS необходимо 224 sudo apt install nginx
219 создать файл с именем <path>/etc/yum.repos.d/nginx.repo</path> 225 </programlisting>
220 и таким содержимым: 226 </para>
221 227
222 <programlisting> 228 </section>
223 [nginx] 229
224 name=nginx repo 230
225 baseurl=http://nginx.org/packages/mainline/OS/OSRELEASE/$basearch/ 231 <section name="Ubuntu" id="Ubuntu">
226 gpgcheck=0 232
227 enabled=1 233 <para>
228 </programlisting> 234 Установите пакеты, необходимые для подключения apt-репозитория:
229 235 <programlisting>
230 Замените “<literal>OS</literal>” на “<literal>rhel</literal>” или 236 sudo apt install curl gnupg2 ca-certificates lsb-release
231 “<literal>centos</literal>”, 237 </programlisting>
232 в зависимости от используемого дистрибутива, а “<literal>OSRELEASE</literal>” 238
233 на “<literal>6</literal>” или “<literal>7</literal>”, для, соответственно, 6.x 239 Для подключения apt-репозитория для стабильной версии nginx,
234 или 7.x версий. 240 выполните следующую команду:
235 </para> 241 <programlisting>
236 242 echo "deb http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
237 <para> 243 | sudo tee /etc/apt/sources.list.d/nginx.list
238 Для Debian/Ubuntu, для проверки подлинности подписи репозитория nginx, 244 </programlisting>
239 и чтобы избавиться от предупреждений об отсутствующем PGP-ключе во время 245
240 установки пакета nginx, необходимо добавить ключ, которым были подписаны 246 Если предпочтительно использовать пакеты для основной версии nginx,
241 пакеты и репозиторий nginx, в связку ключей программы <command>apt</command>. 247 выполните следующую команду вместо предыдущей:
242 Загрузите <link url="/keys/nginx_signing.key">этот 248 <programlisting>
243 ключ</link> с нашего веб-сайта и добавьте его в связку ключей программы 249 echo "deb http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" \
244 <command>apt</command>, выполнив команду: 250 | sudo tee /etc/apt/sources.list.d/nginx.list
245 <programlisting> 251 </programlisting>
246 sudo apt-key add nginx_signing.key 252
247 </programlisting> 253 Теперь нужно импортировать официальный ключ, используемый apt для проверки
248 </para> 254 подлинности пакетов:
249 255 <programlisting>
250 <para> 256 curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
251 Для Debian замените <i>codename</i> на 257 </programlisting>
252 <link id="distributions">кодовое имя</link> дистрибутива, 258
253 и добавьте в конец файла <path>/etc/apt/sources.list</path> 259 Проверьте, верный ли ключ был импортирован:
254 следующее: 260 <programlisting>
255 261 sudo apt-key fingerprint ABF5BD827BD9BF62
256 <programlisting> 262 </programlisting>
257 deb http://nginx.org/packages/mainline/debian/ <i>codename</i> nginx 263
258 deb-src http://nginx.org/packages/mainline/debian/ <i>codename</i> nginx 264 Вывод команды должен содержать полный отпечаток ключа
259 </programlisting> 265 <command>573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62</command>:
260 </para> 266 <programlisting>
261 267 pub rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
262 <para> 268 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
263 Для Ubuntu замените <i>codename</i> на 269 uid [ unknown] nginx signing key &lt;signing-key@nginx.com&gt;
264 <link id="distributions">кодовое имя</link> дистрибутива, 270 </programlisting>
265 и добавьте в конец файла <path>/etc/apt/sources.list</path> 271
266 следующее: 272 Чтобы установить nginx, выполните следующие команды:
267 273 <programlisting>
268 <programlisting> 274 sudo apt update
269 deb http://nginx.org/packages/mainline/ubuntu/ <i>codename</i> nginx 275 sudo apt install nginx
270 deb-src http://nginx.org/packages/mainline/ubuntu/ <i>codename</i> nginx 276 </programlisting>
271 </programlisting> 277 </para>
272 </para> 278
273 279 </section>
274 <para> 280
275 Для Debian/Ubuntu затем выполните команды: 281
276 <programlisting> 282 <section name="SLES" id="SLES">
277 apt-get update 283
278 apt-get install nginx 284 <para>
279 </programlisting> 285 Установите пакеты, необходимые для подключения zypper-репозитория:
280 </para> 286 <programlisting>
281 287 sudo zypper install curl ca-certificates gpg2
282 <para> 288 </programlisting>
283 Для SLES 12 выполните команду: 289
284 <programlisting> 290 Для подключения zypper-репозитория для стабильной версии nginx,
285 zypper addrepo -G -t yum -c 'http://nginx.org/packages/mainline/sles/12' nginx 291 выполните следующую команду:
286 </programlisting> 292 <programlisting>
287 </para> 293 sudo zypper addrepo --gpgcheck --type yum --refresh --check \
288 294 'http://nginx.org/packages/sles/$releasever' nginx-stable
289 <para> 295 </programlisting>
290 Для SLES 15 выполните команду: 296
291 <programlisting> 297 Если предпочтительно использовать пакеты для основной версии nginx,
292 zypper addrepo -G -t yum -c 'http://nginx.org/packages/mainline/sles/15' nginx 298 выполните следующую команду вместо предыдущей:
293 </programlisting> 299 <programlisting>
294 </para> 300 sudo zypper addrepo --gpgcheck --type yum --refresh --check \
301 'http://nginx.org/packages/mainline/sles/$releasever' nginx-mainline
302 </programlisting>
303
304 Теперь нужно импортировать официальный ключ, используемый zypper/rpm
305 для проверки подлинности пакетов.
306 Скачайте ключ:
307 <programlisting>
308 curl -o /tmp/nginx_signing.key https://nginx.org/keys/nginx_signing.key
309 </programlisting>
310
311 Проверьте, верный ли ключ был загружен:
312 <programlisting>
313 gpg --with-fingerprint /tmp/nginx_signing.key
314 </programlisting>
315
316 Вывод команды должен содержать полный отпечаток ключа
317 <command>573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62</command>:
318 <programlisting>
319 pub 2048R/7BD9BF62 2011-08-19 [expires: 2024-06-14]
320 Key fingerprint = 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
321 uid nginx signing key &lt;signing-key@nginx.com&gt;
322 </programlisting>
323
324 Импортируйте ключ в базу данных rpm:
325 <programlisting>
326 sudo rpmkeys --import /tmp/nginx_signing.key
327 </programlisting>
328
329 Чтобы установить nginx, выполните следующую команду:
330 <programlisting>
331 sudo zypper install nginx
332 </programlisting>
333 </para>
334
335 </section>
295 336
296 </section> 337 </section>
297 338
298 339
299 <section name="Пакеты с исходным кодом" id="sourcepackages"> 340 <section name="Пакеты с исходным кодом" id="sourcepackages">
341 382
342 </section> 383 </section>
343 384
344 385
345 <section name="Подписи" id="signatures"> 386 <section name="Подписи" id="signatures">
346
347 <para>
348 Для проверки целостности и происхождения загруженного пакета
349 и в случае RPM, и в случае репозиториев Debian/Ubuntu используется
350 цифровая подпись.
351 Для проверки подписи необходимо загрузить
352 <link url="/keys/nginx_signing.key">этот ключ</link>
353 и импортировать его в связку ключей программы <command>rpm</command>
354 или <command>apt</command>:
355
356 <list type="bullet">
357
358 <listitem>
359 Для Debian/Ubuntu:
360 <programlisting>sudo apt-key add nginx_signing.key</programlisting>
361 </listitem>
362
363 <listitem>
364 Для RHEL/CentOS:
365 <programlisting>sudo rpm --import nginx_signing.key</programlisting>
366 </listitem>
367
368 <listitem>
369 Для SLES:
370 <programlisting>sudo rpm --import nginx_signing.key</programlisting>
371 </listitem>
372
373 </list>
374 </para>
375
376 <para>
377 В Debian/Ubuntu/SLES подпись проверяется по умолчанию, однако
378 в RHEL/CentOS необходимо добавить
379 <programlisting>gpgcheck=1</programlisting> в файл
380 <path>/etc/yum.repos.d/nginx.repo</path>.
381 </para>
382 387
383 <para> 388 <para>
384 Поскольку наши <link doc="../en/pgp_keys.xml">PGP-ключи</link> 389 Поскольку наши <link doc="../en/pgp_keys.xml">PGP-ключи</link>
385 находятся на том же сервере, что и пакеты, 390 находятся на том же сервере, что и пакеты,
386 им следует доверять в равной степени. 391 им следует доверять в равной степени.