Debian — Блог Валерия Леонтьева https://valera.ws Место публикации личных заметок. Технологии, управление, бизнес, жизнь Sun, 30 Sep 2012 17:03:28 +0000 ru-RU hourly 1 https://wordpress.org/?v=5.6.2 https://valera.ws/wp-content/uploads/2020/02/favicon.png Debian — Блог Валерия Леонтьева https://valera.ws 32 32 Рестарт Apache в случае недоступности сайта https://valera.ws/2012.09.29~%d1%80%d0%b5%d1%81%d1%82%d0%b0%d1%80%d1%82-apache-%d0%b2-%d1%81%d0%bb%d1%83%d1%87%d0%b0%d0%b5-%d0%bd%d0%b5%d0%b4%d0%be%d1%81%d1%82%d1%83%d0%bf%d0%bd%d0%be%d1%81%d1%82%d0%b8-%d1%81%d0%b0%d0%b9%d1%82/ https://valera.ws/2012.09.29~%d1%80%d0%b5%d1%81%d1%82%d0%b0%d1%80%d1%82-apache-%d0%b2-%d1%81%d0%bb%d1%83%d1%87%d0%b0%d0%b5-%d0%bd%d0%b5%d0%b4%d0%be%d1%81%d1%82%d1%83%d0%bf%d0%bd%d0%be%d1%81%d1%82%d0%b8-%d1%81%d0%b0%d0%b9%d1%82/#respond Sat, 29 Sep 2012 14:43:04 +0000 http://valera.ws/?p=683 Читать далее Рестарт Apache в случае недоступности сайта ]]> Иногда нужны простые но эффективные средства решения насущных задач. Например, у меня сложилась ситуация, когда сайт периодически начинает выдавать ошибку 500, не отмечая ничего в логах. Похоже, падает расширение PHP (подозрения на APC, но не в этмо суть). Рестарт Apache лечит проблему. Так как разбираться в ее истоках сейчас времени нет, я решил применить временное простое, но эффективное решение:

Создается скрипт, запуск которого можно поместить в cron (расписание зависит от ситуации и важности сайта). Код:

 

]]>
https://valera.ws/2012.09.29~%d1%80%d0%b5%d1%81%d1%82%d0%b0%d1%80%d1%82-apache-%d0%b2-%d1%81%d0%bb%d1%83%d1%87%d0%b0%d0%b5-%d0%bd%d0%b5%d0%b4%d0%be%d1%81%d1%82%d1%83%d0%bf%d0%bd%d0%be%d1%81%d1%82%d0%b8-%d1%81%d0%b0%d0%b9%d1%82/feed/ 0
Почему Debian живее всех живых? https://valera.ws/2011.02.06~debian-6-released/ https://valera.ws/2011.02.06~debian-6-released/#respond Sun, 06 Feb 2011 09:17:43 +0000 http://valera.ws/?p=549 Читать далее Почему Debian живее всех живых? ]]> Копипаст с Хабрахабра из комментариев пользователей к теме выхода Debian 6.0. Мне понравился ответ. Вопрос:

Озадаченно смотрю на версии «свежего софта»…

На моей бубунте уже как минимум Гном, офис и ядро более новых версий. Подозреваю, если посмотрю на прочий установленный или доступный в репозиториях софт — ситуация будет аналогичной.

Объясните — в чем смысл? Только в «проверенности» и стабильности этих версий?

Ответ:

Да. И это «только» весьма дорогого стоит. Более того, в рамках политики дебиана обновляться версии будут только на security fix’ы, то есть никаких новых фич до момента явного dist-upgrade’а. Сравните с убунтой, в которой каждые N дней пачка обновляемых пакетов.

Для десктопа это, может быть и нормально, но для сервера — неприемлимо. Я лично несколько раз сталкивался с дурацкими проблемами при обновлении версий (к счастью, только на декстопе). В списке лидеров — evolution (похерил архив почту), krusader (похерил половину настроек), deluge (криво подцепил старые настройки).

Если такой же сюрприз произойдёт на продакт-сервере, это будет очень не смешно. Особенно, если учесть сложность отката некоторых изменений в распределённых системах, даже при наличии бэкапа.

Таким образом, stable — это идеальное решение для сервера. А sid/ubuntu — вполне хорошо для _своего_ десктопа (решать проблемы похерившейся почты у себя неприятно, но решать их же у главбуха — куда грустнее).

Кстати, ровно той же политики придерживается и RHEL (CentOS) — у них в пятой версии до сих пор 2.6.18, хоть и с кучей бэкпортов.

© amarao, Хабрахабр.

]]>
https://valera.ws/2011.02.06~debian-6-released/feed/ 0
Легкое монтирование USB-флешки (NTFS) на сервер https://valera.ws/2011.01.18~mount-ntfs3g-usbflash/ https://valera.ws/2011.01.18~mount-ntfs3g-usbflash/#respond Tue, 18 Jan 2011 11:52:59 +0000 http://valera.ws/?p=537 Читать далее Легкое монтирование USB-флешки (NTFS) на сервер ]]> Дано:

  1. Домашний сервер на Debian 5.
  2. Физический доступ к нему.
  3. Доступ по SSH (не root).
  4. USB-флешка с разделом NTFS.

Необходимо: быстро монтировать и размонтировать флешку для чтения/записи.

Вся проблема сводится к тому, что автомантирование флешек в Дебиане по дефолту делается штатными драйверами (read-only) и только с правами на монтирование. А мне необходимо было периодически скидывать инфу на флешку или с нее. Захотелось процесс оптимизировать.

Для достижения цели необходимо решить 2 задачи:

  1. дать доступ к монтированию флешек (не всего, что попало, а именно USB NTFS флешек) рядовому пользователю без пароля,
  2. избавить от необходимости полностью писать команду монтирования каждый раз.

Делается все очень просто. Я создал shell-скрипт /root/flash следующего содержания:

#!/bin/bash

case "$1" in
	1)
		mount -t ntfs-3g /dev/sdc /media/flash/
		;;
	0)
		umount /media/flash/
		;;
	*)
		echo $"Usage: $0 {1|0}"
		exit 1
esac

При передаче скрипту 1 происходит монтирование, при передаче 0 — размонтирование флешки (если точнее, то усройства /dev/sdc).

Ссылку на скрипт размещаем в /usr/bin для удобного доступа к нему:

# ln -s /root/flash /usr/bin/flash

Теперь надо разрешить выполнение этого скрипта без пароля от имени root с помощью sudoers. Выполните:

# sudoedit

И в файл добавьте следующие строки (замените feedbee на имя вашего пользователя):

Cmnd_Alias FLASH_CMD = /usr/bin/flash
feedbee ALL=(ALL) NOPASSWD: FLASH_CMD

Собственно, всё. Теперь из под вашего пользователя можно просто выполнить:

$ sudo flash 1

для монтирования флешки, и

$ sudo flash 0

для размонтирования.

]]>
https://valera.ws/2011.01.18~mount-ntfs3g-usbflash/feed/ 0
Делегирование обслуживания почтового домена: часть 2. Отправка почты через localhost (настройка Exim4 в Debian) https://valera.ws/2010.11.28~exim-mail-localhost/ https://valera.ws/2010.11.28~exim-mail-localhost/#comments Sun, 28 Nov 2010 19:18:55 +0000 http://valera.ws/?p=455 Читать далее Делегирование обслуживания почтового домена: часть 2. Отправка почты через localhost (настройка Exim4 в Debian) ]]> Настройка Exim и PHP mail() на примере Linux Debian

Чтобы решить проблему отказа серверов Gmail от обслуживания  при отправке большого числа писем на несуществующие адреса, используем для отправки почты из скриптов сайта локальный почтовый SMTP-сервер (MTA). Локальный сервер будет выступать в качестве mail relay. В дополнение мы откажемся от подключения из скрипта к удаленному серверу, что может быть медленно. Локальные подключения всегда должны быть быстрее и стабильнее.

Локальный сервер мы будем использовать только для отправки писем. Причем, не важно, как будет происходить отправка: непосредственно через SMTP, или с помощью MUA. Получение почты по-прежнему будет происходить с серверов Gmail.

В дистрибутиве Debian 5 по умолчанию устанавливается MTA Exim4. Он отлично подойдет для наших задач. Причем его настройка производится с помощью мастера и невероятно проста. Настроить сервер требуется на прием соединений исключительно с локального соединения. При этом не нужно поручать ему обслуживание доменов, кроме дефолтного локального (localhost).

Итак, если Exim у вас не установлен, то установим его:

# aptitude install exim4

Далее запускаем его конфигурацию:

# dpkg-reconfigure exim4-config

1. На первом шаге необходимо выбрать конфигурацию сервера. В Exim есть несколько стандартных конфигураций, предназначенных для разных случаев. Подробнее о них в мануале. Нам нужна конфигурация “internet site; mail is sent and received directly using SMTP”.

2. Далее укажите имя сервера. Оно будет передаваться в SMTP-протоколе в команде HELLO, т.е. будет видно получателям вашей почты. Лучше всего, чтобы это имя совпадало с доменом, с которого шлется почта. Например, valera.ws.

Если у вас на сервере несколько сайтов с разными доменами (см. ниже), то лучше это имя сделать нейтральным, чтобы «не палиться». Например, можно выбрать local-mail-agent.

3. Далее требуется указать, какие интерфейсы должен слушать Exim. В нашем случае удаленные подключения мало того, что не нужны, так еще и опасны: кто угодно сможет рассылать почту через ваш сервер. Указываем только 127.0.0.1.

4. Далее спрашивается, какие домены должен обслуживать сервер. Т.е. для каких доменов не нужно пересылать письма на удаленные SMTP-сервера, пользователь заберет их с этого сервера. Нам не нужно обслуживание наших доменов. Можно указать только localhost, т.к. его больше обслужить некому.

Не указывайте здесь адрес вашего сервера (подставляется по умолчанию), т.к. его обслуживание делегировано Gmail. Если его указать, то письма, отправленные на ящики вашего домена, в Gmail не попадут и останутся на сервере. Это не нужно.

5. Далее можно указать, для каких доменов сервер должен служить релеем (список через точку с запятой). Здесь не указываем ничего, так как на следующем шаге мы разрешим себе релей для всех доменов. Можете указать список ваших доменов.

6. Здесь укажем 127.0.0.1, чтобы раз-решить релей для всех запросов с локального IP.

При этой конфигурации есть один негативный момент. Если ваш сайт поломают, то злоумышленники смогут слать почту с любых доменов через ваш сервер. Если на сервере 1—2 сайта, то лучше на этом шаге оставить поле пустым, а на предыдущем шаге внести список этих доменов (для возврата на шаг назад нажмите кнопку “Cancel”). При появлении новых доменов не забывайте их заносить в конфиг. Если вы считаете свои сайты надежными, то проще всего указывать здесь 127.0.0.1.

7. Дале уточняется, является ли для нас проблемой постоянные DNS-запросы при отправке каждого письма. В 99,9% это не проблема, так что выбираем ответ на вопрос “Keep number of DNS-queries minimal (Dial-on-Demand)?” “No”.

8. Где хранить локальную почту (помните, мы указали серверу обслуживать домен localhost?) нам по сути не важно, так как этим как правило никто не пользуется. Можно выбрать вариант по умолчанию: складывать все в /var/mail.

9. Предпоследний шаг — выбор конфигурации. Хранить все в одном файле, или раскидать по множеству мелких файлов. В большой файл проще вносить большие изменения, а с мелкими проще работать в случае мелких правок. Выберите вариант на свой вкус. Я выбрал “unsplit configuration” (ответ “No”).

10. На последнем шаге укажем на какой аккаунт реального пользователя системы пересылать сообщения, отправленные на служебные аккаунты postmaster, root и т.д. Здесь имеет смысл указать ваше имя пользователя в системе.

Переконфигурировать Exim в любой момент можно тем же способом. Мастер подставит в значения по умолчанию текущие значения вашей конфигурации.

Правильная настройка SPF

Если кратко, то SPF — это способ борьбы со спамом.

Мы собираемся отправлять почту с сервера, PTR IP которого не равен одной из MX-записей сервера, а так же в большинстве случаев PTR IP не равен самому нашему домену (не всегда хостеры соглашаются менять PTR). В этом случае вероятность попадания писем в спам повышается. Но есть хороший способ ее понизить: указать правильно запись SPF нашего домена.

SPF-запись — это обыкновенная запись доменной зоны, имеющая тип TXT. Узнать текущее ее значение для домена можно с помощью команды host в Linux:

$ host -t TXT valera.ws
valera.ws TXT record currently not present

В данном примере SPF-запись не задана. Зададим ее. С моего домена почта может отправляться с серверов Gmail и с моего сервера. Для начала узнаем, какой PTR моего сайта (valera.ws):

$ nslookup valera.ws
Server:      194.224.52.4
Address:     194.224.52.4#53

Non-authoritative answer:
Name:     valera.ws
Address:  93.174.6.118

IP-адрес моего сервера 93.174.6.118. Узнаем PTR:

$ nslookup 93.174.6.118
Server:      194.224.52.4
Address:     194.224.52.4#53

Non-authoritative answer:
118.6.174.93.in-addr.arpa name = server.valera.ws.

Видно, что PTR IP, к которому привязан мой домен (IP моего сервера) — server.valera.ws.

v=spf1 a mx ptr include:_spf.google.com ~all

По порядку:

  • v=spf1 — версия SPF (первая);
  • a — разрешение отправлять почту с IP, указанного в A-записи домена (собственно с сервера, на который ваш домен ссылается);
  • mx — разрешение отправлять почту с IP, указанных в MX-записях домена (в нашем случае сервера Gmail);
  • ptr — разрешение отправлять почту с IP, PTR-запись которых содержит ваш домен (т.е. сам домен и поддомены);
  • include:_spf.google.com — подключение разрешений для серверов отправки почту Gmail (совсем не обязательно почта будет слаться с серверов, указанных в MX-записи);
  • ~all — нейтральная реакция на всю остальную почту; здесь можно указать -all, что будет значить, что почта, не попадающая под эти правила, — спам.

Если вы хотите отправлять почту с сервера, не попадающего под все эти правила, его можно указать по IP или домену PTR, например:

v=spf1 a mx ptr ptr:example.com include:_spf.google.com ~all

Запись указывается для вашего домена соответствующим образом, который определяет владелец DNS-сервера. Обычно сервером заведует хостер и предоставляет возможность вносить изменения в DNS-зоны через панель хостинга. Либо сам по запросу в саппорт меняет запись. В зональном файле должна появиться запись вида:

valera.ws.      TXT      v=spf1 a mx ptr include:_spf.google.com ~all

После обновления зоны host выдаст следующее:

$ host -t TXT valera.ws
valera.ws      TXT      «v=spf1 a mx ptr include:_spf.google.com ~all»

PHP mail()

После всей этой настройки функция mail() в PHP начнет слать почту через ваш локальный сервер на законных основаниях для антиспам-ботов. Но косяк будет в том, что в поле отправителя будет фигурировать адрес системного пользователя www-data@localdomain. Нас это не устраивает. Чтобы почта правильно слалась из mail(), необходимо использовать ее дополнительный параметр.

bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )

Именно $additional_parameters нас и интерисует. В него надо передавать реального отправителя:

mail($to, $subject, $message, $additional_headers, $additional_parameters.» -frealsender@valera.ws»);

Указывается отправитель слитно с параметром -f.

Теперь отправленные через mail() письма будут абсолютно адекватны (при условии, что вы указываете все нужные SMTP-заголовки, вроде “FROM:”, “TO:” и т.д.).

А если несколько сайтов с разными IP (настройка Exim для отправки писем с разных IP)?

Мы хотим использовать локальный SMTP-сервер для отправки почты со всех сайтов на сервере. Никаких проблем нет, если настроен Exim правильно (см. выше). Но проблема появляется, если разные сайты работают на разных IP. Мы не хотим в почте «палить» то, что все наши сайты живут на одном сервере. Но Exim по умолчанию шлет всю почту с основного (первого) IP сетевого интерфейса, а этот IP всем получателям в SMTP-заголовках “Received:” письма. Кроме того, там указывается и имя сервера, которые мы в случае с разными сайтами на сервере выбрали нейтральными.

Чтобы не «палить» IP сервера, нужно отсылать письмо на удаленный сервер с IP, равного A-записи домена сайта. Делается это несложно путем изменения конфига Exim. Внесем изменения в настройки транспорта SMTP Exim. Если вы выбрали монолитный конфиг, то нужно отредактировать файл:

# nano /etc/exim4/exim4.conf.template

Находим в файле строку “remote_smtp:” (поиск в nano — F6). Добавляем в конец этого блока:

interface = «${lookup{$sender_address_domain}lsearch{/usr/share/exim4/domain2ip}{$value}}»
helo_data = «$sender_address_domain»

Это значит, что при отправке письма нужно определить домен отправителя почты (для sender@valera.ws это valera.ws) и отправить почту с IP, к которому этот домен привязан. Само собой разумеется, что домен должен быть привязан к серверу, где установлен Exim.

Так же нужно создать файл в любом месте файл привязки доменов к IP (у домена может быть несколько IP, так что просто lookup-ить его не прокатит). Я выбрал для файла место: /usr/share/exim4/domain2ip

# nano /usr/share/exim4/domain2ip

Туда вводим наши домены по шаблону:

valera.ws: 123.123.123.123
vasya.ws: 123.123.123.124

Не забудьте дописать домен в файл в случае появления нового сайта.
Кстати, строку helo_data = «$sender_address_domain» можно добавить в файл даже если у вас один IP на все сайты. Тогда в команде HELLO SMTP-протокола (а, следовательно, и в заголовках писем) будет фигурировать ваш домен.

Идея с указанием интерфейса взята отсюда: http://www.directadmin.com/forum/showthread.php?t=36468

Проверка

Остается проверить, чтобы все ваши настройки работали верно. Для этого просто отправим письмо с локального сервера через консоль.

$ mail -a «From:feedbee@valera.ws» -s Test feedbee@gmail.com — -ffeedbee@valera.ws
Test <Ctrl-D>
Cc:

Проверяем отосланное письмо в ящике получателя:

А вот текст SMTP-протокола:

Delivered-To: feedbee@gmail.com
Received: by 10.236.109.139 with SMTP id s11cs13826yhg;
Wed, 24 Nov 2010 02:18:14 -0800 (PST)
Received: by 10.227.145.134 with SMTP id d6mr9025492wbv.195.1290593893066;
Wed, 24 Nov 2010 02:18:13 -0800 (PST)
Return-Path: feedbee@valera.ws
Received: from valera.ws (server.valera.ws [93.174.6.118])
by mx.google.com with ESMTP id b7si11085685wer.164.2010.11.24.02.18.12;
Wed, 24 Nov 2010 02:18:12 -0800 (PST)
Received-SPF: pass (google.com: domain of feedbee@valera.ws designates 93.174.6.118 as permitted sender) client-ip=93.174.6.118;
Authentication-Results: mx.google.com; spf=pass (google.com: domain of feedbee@valera.ws designates 93.174.6.118 as permitted sender) smtp.mail=feedbee@valera.ws
Received: from root by server.valera.ws with local (Exim 4.69)
(envelope-from <feedbee@valera.ws>)
id 1PLCQW-0006KD-Pc
for feedbee@gmail.com; Wed, 24 Nov 2010 10:18:12 +0000
To: feedbee@gmail.com
Subject: Test
From:feedbee@valera.ws
Message-Id: E1PLCQW-0006KD-Pc@server.valera.ws
Date: Wed, 24 Nov 2010 10:18:12 +0000

Test

P.S. Чтобы отправленная почта не попадала в спам, отправляйте письма только от имени реально существующих на серверах Gmail адресов на ваших доменах. Туда же повалятся уведомления о недоставках.

]]>
https://valera.ws/2010.11.28~exim-mail-localhost/feed/ 2
Debian 5 и датчики температуры для Intel Atom (330) https://valera.ws/2010.03.14~debian-5-coretemp-intel-atom/ https://valera.ws/2010.03.14~debian-5-coretemp-intel-atom/#comments Sun, 14 Mar 2010 10:24:19 +0000 http://valera.ws/?p=379 Читать далее Debian 5 и датчики температуры для Intel Atom (330) ]]> Проблема: если на платформу ION с процессором Intel Atom (вообще — любым, но у меня Atom 330) установить Debian Linux 5, то датчики температцры процессора «из коробки» не заработают. Связано это с тем, что в моделу ядра coretemp.ko не включена поддержка этого семейства процессоров. А sensors-detect не умеет их находить. О том, как включить поддержку и получать сведения о температуре, написано далее. На самом деле все очень просто. Процессоры семейства Atom придерживаются старой архитектуры X86 и работают аналогично другим процессорам от Intel, т.е. их поддержка в моделу ядра есть, просто она не включена. Чтобы исправить положение, нужно пересобрать модуль ядра, который отвечает за работу с датчиками. Процедура довольно простая и по шагам описана ниже. Кроме обновления самого модуля, требуется обновить скрипт sensors-detect, чтобы он научился находить новые датчики.

Debian 5.0. Как обычно, сначала требуется обновить систему. А затем:

0) Если еще не установлены, то устанавливаем

#lm-sensors apt-get install lm-sensors

1) Сливаем свежую версию (2010-02-19) sensors-detect. Файл можно взять готовый или выдернуть из официальных билдов.

Файл должен быть положен в: /usr/sbin/sensors-detect и иметь права 755.

2) Готовимся к сборке модуля ядра:

#apt-get install build-essential linux-headers-$(uname -r) linux-source-$(uname -r | awk -F’-‘ ‘{print $1}’)

3) Патчим исходники стандартного дебиановского модуля coretemp

#cd /usr/src
#wget http://mabene.icomedias.com/coretemp.patch
#tar jxvf linux-source-$(uname -r | awk -F’-‘ ‘{print $1}’).tar.bz2
#cd linux-source-$(uname -r | awk -F’-‘ ‘{print $1}’)
#patch -p1 < ../coretemp.patch

Здесь вы получите сообщение о неполном патче файла. Не пугайтесь, все хорошо. Последний кусок патча не применился, т.к. патч для Ubuntu, а в Debian сырец чуточку другой. Доведем патчинг до конца руками:

#nano drivers/hwmon/coretemp.c

Находим почти в конце файла строки:

/* check if family 6, models 0xe, 0xf, 0x16, 0x17 */
if ((c->cpuid_level < 0) || (c->x86 != 0x6) ||
!((c->x86_model == 0xe) || (c->x86_model == 0xf) ||
(c->x86_model == 0x16) || (c->x86_model == 0x17))) {

И заменяем их на:

/* check if family 6, models 0xe, 0xf, 0x16, 0x17, 0x1A, 0x1C */
if ((c->cpuid_level < 0) || (c->x86 != 0x6) ||
!((c->x86_model == 0xe) || (c->x86_model == 0xf) ||
(c->x86_model == 0x16) || (c->x86_model == 0x17) ||
(c->x86_model == 0x1A) || (c->x86_model == 0x1C))) {

Суть этой замены в том, что в комментарий и оператор добавляем еще лэйблы двух семейств (одно из них как раз Atom): (c->x86_model == 0x1A) || (c->x86_model == 0x1C)

4) Собираем (билдим) модуля ядра

#make -j 4 -C /lib/modules/$(uname -r)/build M=/usr/src/linux-source-$(uname -r | awk -F’-‘ ‘{print $1}’)/drivers/hwmon/ modules

5) Копируем полученный собранный модуль ядра в нужное место:

#cp drivers/hwmon/coretemp.ko /lib/modules/$(uname -r)/kernel/drivers/hwmon/coretemp.ko

7) modprobe coretemp

Если ошибок нет, то все ок.

8) #sensors-detect (всегда отвечаем утвердительно)

9) #sensors (радуемся):

coretemp-isa-0000
Adapter: ISA adapter
Core 0: +13.0°C (crit = +95.0°C)

coretemp-isa-0001
Adapter: ISA adapter
Core 1: +17.0°C (crit = +95.0°C)

coretemp-isa-0002
Adapter: ISA adapter
Core 2: +12.0°C (crit = +95.0°C)

coretemp-isa-0003
Adapter: ISA adapter
Core 3: +16.0°C (crit = +95.0°C)

P.S. Если призагрузке модуля ядра coretemp у вас возникала такая ошибка:

# modprobe coretemp
insmod /lib/modules/2.6.26-2-686/kernel/drivers/hwmon/coretemp.ko
FATAL: Error inserting coretemp (/lib/modules/2.6.26-2-686/kernel/drivers/hwmon/coretemp.ko): No such device

то описанное выше решение именно для вас.

P.S.S. Спасибо: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/296478http://www.didier-segura.fr/?p=66.

]]>
https://valera.ws/2010.03.14~debian-5-coretemp-intel-atom/feed/ 3
Установка Redmine на Debian с СУБД Postgres. Работа по HTTPS. https://valera.ws/2009.04.24~redmine-debian-postgres-https/ https://valera.ws/2009.04.24~redmine-debian-postgres-https/#comments Fri, 24 Apr 2009 09:20:51 +0000 http://valera.ws/?p=307 Читать далее Установка Redmine на Debian с СУБД Postgres. Работа по HTTPS. ]]> Стала задача установить хорошую современную систему управления задачами и багтрекинга. Выбор пал на Redmine. Фактически, Remine — это улучшенный Trac. Написан Redmine на Ruby. Основное отличие от Trac по функционалу — работа с несколькими разными проектами в связке. Кроме того, у Redmine намного шире функционал, и сделан он добротней.

Как обычно, для установки некоего нового программного обеспечения в Линуксе сразу идем в Гугл и ищем подходящие HOWTO. По Редмайну я нашел несколько разных HOWTO, из которых каждый понемногу мне помог (см. ссылки внизу).

Установка

Сначала ставим нужные пакеты.

# apt-get install ruby rake ruby1.8-dev rubygems libmysql-ruby librmagick-ruby ruby-pkg-tools build-essential postgresql libdbd-pg-perl libapache-dbi-perl libapache2-mod-perl2 libdigest-sha1-perl postgresql-common postgresql-contrib-8.3 libpgsql-ruby1.8 libpgsql-ruby postgresql-server-dev-8.3 libopenssl-ruby

Вроде ничего не упустил :)

Далее устанавливаем ruby gems.

# gem install rails mongrel mongrel_cluster

Добавляем путь к gems в переменную PATH. Для этого редактируем файл /etc/profile. Добавляем путь в конец  переменной (два раза в файле, перед путем двоеточие). У меня получилось так:

# head -n 8 /etc/profile
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), …).if [ «`id -u`» -eq 0 ]; then
PATH=»/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/var/lib/gems/1.8/bin»
else
PATH=»/usr/local/bin:/usr/bin:/bin:/usr/games:/var/lib/gems/1.8/bin»
fi

Подготавливаем базу

Я решил использовать Postgres. С MySQL у меня была как минимум одна проблема: с кодировкой. Неправильно работали длины полей для русских текстов в UTF-8.

Из-под рута:

# su postgres

#createuser redmine —no-superuser —no-createdb —no-createrole —login —pwprompt –encrypted

#createdb —owner=redmine —encoding=utf-8 redmine

#exit

Пароль для пользователя введен redmine.

Скачиваем Redmine

На момент написания записи самый свежий стабильный релиз был 0.8.

# mkdir /var/www/rails_apps

# cd /var/www/rails_apps

# svn co http://redmine.rubyforge.org/svn/branches/0.8-stable redmine-0.8

Все команды далее выполняются из каталога  /var/www/rails_apps/redmine-0.8.

# cd /var/www/rails_apps/redmine-0.8

Конфигурируем доступ к базе

Создаем файл config/database.yml со следующим содержимым:

production:
adapter: postgresql
database: redmine
host: localhost
username: redmine
password: redmine

Конфигурируем SMTP

# cp config/email.yml.example config/email.yml

# vim config/email.yml

Внесите изменения в соответствии с настройками вашего SMTP-сервера.

Заполняем базу данных

# rake db:migrate RAILS_ENV=»production»

# rake redmine:load_default_data RAILS_ENV=»production»

Проверим, что все поставилось хорошо:

# mongrel_rails start —environment=production

Redmine должен работать по адресу http://localhost:3000. Для авторизации используйте логин и пароль admin. Не забудьте его позже своевременно изменить.

Настройка Redmine на работу через apache and mongrel_cluster по HTTPS

Создайте файл config/mongrel_cluster.yml следующего содержания:

group: www-data
log_file: log/mongrel.log
port: «9000»
cwd: /var/www/rails_apps/redmine-0.8
environment: production
user: www-data
pid_file: log/mongrel.pid
servers: 2

Проверьте, что все ОК:

# mongrel_rails cluster::start

Теперь вы должны получить доступ к Redmine на портах 9000 и 9001.

Для того, чтобы кластер поднимался после ребута, выполняем:

# mkdir /etc/mongrel_cluster

# ln -s /var/www/rails_apps/redmine-0.8/config/mongrel_cluster.yml /etc/mongrel_cluster/redmine.yml

# cp /var/lib/ruby/gems/1.8/gems/mongrel_cluster-1.0.5/resources/mongrel_cluster /etc/init.d

# chmod +x /etc/init.d/mongrel_cluster

# /usr/sbin/update-rc.d -f mongrel_cluster defaults

Настраиваем apache2

# a2enmod proxy

# a2enmod proxy_http

# a2enmod proxy_balancer

# a2enmod rewrite

# a2enmod headers

Создайте файл /etc/apache2/sites-available/redmine со следующим содержимым:

NameVirtualHost *:443
<VirtualHost *:443>
ServerAdmin xxx@xxx.xx
ServerName redmine # Измените имя сервера, чтобы виртуальный хост подхватился!
DocumentRoot /var/www/rails_apps/redmine-0.8/public/
RequestHeader set X_FORWARDED_PROTO ‘https’

<Directory /var/www/rails_apps/redmine-0.8/public/>
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA;+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /var/www/conf/mobicon.crt
SSLCertificateKeyFile /var/www/conf/mobicon.key
<Location />
AuthType Basic
AuthName «Mobicon-Media»
AuthBasicProvider ldap
AuthLDAPUrl ldap://localhost/ou=people,dc=mobicon-media,dc=com?cn
Require ldap-group cn=mobicon,ou=groups,dc=mobicon-media,dc=com
SSLRequireSSL
</Location>

ProxyPass /images !
ProxyPass /stylesheets !
ProxyPass /javascripts !
ProxyPass /favicon.ico !
ProxyPass /static !
ProxyPass /holding !
ProxyPass /templates !
ProxyPass / balancer://redmine_cluster
ProxyPreserveHost On

<Proxy balancer://redmine_cluster>
BalancerMember http://127.0.0.1:9000
BalancerMember http://127.0.0.1:9001
Order allow,deny
Allow from all
</Proxy>

RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ balancer://redmine2_cluster%{REQUEST_URI} [P,QSA,L]

ErrorLog /var/log/apache2/redmine.error.log
LogLevel warn
CustomLog /var/log/apache2/redmine.access.log combined
ServerSignature On
AddDefaultCharset Off
</VirtualHost>

Затем выполните:

# ln -s /etc/apache2/sites-available/redmine /etc/apache2/sites-enabled/redmine

# /etc/init.d/apache2 restart

Все настроено и готово к использованию!

Ссылки

http://blog.josefsson.org/2008/10/17/redmine-on-debian-lenny-using-lighttpd/

http://www.drinkingbird.net/blog/articles/2008/02/27/setting-up-a-redmine-site-on-ubuntu

http://www.redmine.org/wiki/redmine/RedmineInstall

http://ubuntuforums.org/showthread.php?t=674598&highlight=redmine

http://www.drinkingbird.net/blog/articles/tag/redmine

]]>
https://valera.ws/2009.04.24~redmine-debian-postgres-https/feed/ 3
1680×1050 на базе Intel 945 в Debian https://valera.ws/2009.04.18~1680x1050-intel-945-debian/ https://valera.ws/2009.04.18~1680x1050-intel-945-debian/#respond Sat, 18 Apr 2009 14:54:43 +0000 http://valera.ws/?p=301 Читать далее 1680×1050 на базе Intel 945 в Debian ]]> Есть ноутбук со свтроенной графикой на базе чипсета Intel 945 (HP Compac nx7300). Есть Debian Linux 5.0 на этом ноутбуке. Есть внешний 20-дюймовый монитор Philips 200WP, родное разрешение которого 1680×1050. Задача: подключить монитор Philips к ноутбуку в качестве внешнего монитора (вместо встроенного дисплея). Сходу, втыкнув VGA-кабель от монитора в ноут, решить задачу в Линуксе не удалось (в Windows все сразу хорошо заработало). Картинка была как-бы размазана по горизонтали, то есть неправильно были выставлены частоты.

В поисках решения начал мучать Гугл. Большого количества материалов не было, но несколько тем, касающихся чипсета Интела, разрешения 1680×1050 и Убунту было. В большинстве материалов упоминалось решение с использованием софтины 915resolution. Но практически сразу выяснилось, что она устарела и в последних версиях Debian и Ubuntu ее нет смысла использовать вовсе.

В продолжении изысканий по теме я познакомился с программой xrandr (раньше работал с ее визуальным гномовским заменителем Параметры->Разрешение экрана), которая кстати умеет много чего хорошего. Именно с помощью нее настраиваются в том числе виртуальные мониторы (когда два монитора показывают разную картинку). Но нужды в этом мне не было, она использовалась только для установки режима после подключения внешнего монитора. (Режим — это сочетание разрешения, частот и еще каких-то там циферок.)

Далее нашел упоминание еще одной замечательной софтины — gtf. Она очень нужна для того, чтобы определить правильные параметры режима моего внешнего монитора.

Так же познакомился таки с системой видеовыходов в ОС. Как то раньше разбираться с этим не приходилось. А вот по мере изучения Линуксов все больше и больше приходится вдаваться в такие тонкости :) Ну да ладно. Если выполнить в консоли команду xrandr, то она покажет вам в ответ ваши текущие видеовыходы и подключенные на них мониторы. Вывод будет примерно такой:

feedbee@debian:~$ xrandr
Screen 0: minimum 320 x 200, current 1680 x 1050, maximum 2048 x 2048
VGA connected 1680×1050+0+0 (normal left inverted right x axis y axis) 433mm x 271mm
1280×800 60.0 +
1680x1050x74.9 74.9*
[…]
LVDS connected 1280×800+0+0 (normal left inverted right x axis y axis) 331mm x 207mm
1280×800 60.0 + 60.0*
[…]
TV disconnected (normal left inverted right x axis y axis)

Такой вывод говорит, что у меня в системе один «экран» (Screen 0). Показаны его разрешения (текущее и экстремумы). Разрешения имеют значения, если мы раздвигаем мониторы (то есть делаем на каждый разную картинку; тогда они оба должны помещаться в экран). Так же показано, что у меня есть 3 видеовыхода: VGA, LVDS, TV. По VGA подключен внешний монитор, LVDS — это встроенный дисплей ноутбука. TV-выход не подключен. Звездочка напротив режима обозначает, что он активный.

Чтобы заставить мой внешний монитор показывать нормальную картинку, надо было выяснить его нормальный рабочий режим, добавить этот режим в список и активировать, когда я подключаю внешний монитор (последнее можно делать не выключая ноутбука и без перезагрузки).

Чтобы определить нужный режим и активировать его, надо сделать следующее:

1)Выключить ноут.

2)Подключить внешний монитор.

3)Включить ноут и сразу зукройте его (или переключитесь на внешний монитор Fn+F4), т.е. работать сейчас вы будите через внешний монитор с неродным разрешением.

4)Выполнить ~$ gtf 1680 1050 60
Я получил от команды такой вывод:
~$ gtf 1680 1050 60
# 1680×1050 @ 60.00 Hz (GTF) hsync: 65.22 kHz; pclk: 147.14 MHz
Modeline «1680x1050_60.00» 147.14 1680 1784 1968 2256 1050 1051 1054 1087 -HSync +Vsync
Это и есть рассчитанные параметры режима для моего внешнего монитора.

5)Полученную строку добавить в /etc/X11/xorg.conf в Section «Monitor». Получится так:
Section «Monitor»
Identifier «Универсальный монитор»
Option «DPMS»
Modeline «1680x1050x74.9» 187.00 1680 1800 1976 2272 1050 1053 1059 1099 -hsync +vsync
EndSection

6)Перезапустить X-сервер (Ctrl+Backspace).
После этого остается только переключить нужный режим на нужный видеовыход. Это делается командой:

~$ xrandr —output VGA —mode 1680x1050x74.9

Ее удобно добавить в скрипт, который потом просто запускать после подключения внешнего монитора.

Чтобы сбросить режим на нормальный для ноутбучного дисплея, просто выполните:

~$ xrandr —auto

P.S. Выход был найден благодаря http://forums.debian.net/viewtopic.php?p=210202&sid=18c11b5eb193a4399ca4cbbfd206e4a4

Так же полезной оказалась страничка https://answers.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+question/26807

]]>
https://valera.ws/2009.04.18~1680x1050-intel-945-debian/feed/ 0
Debian Lenny, wifi и Broadcom https://valera.ws/2009.02.15~debian-lenny-wifi-i-broadcom/ https://valera.ws/2009.02.15~debian-lenny-wifi-i-broadcom/#respond Sun, 15 Feb 2009 21:14:21 +0000 http://valera.ws/?p=293 Читать далее Debian Lenny, wifi и Broadcom ]]> В своей недавней записи я рассказал как настроить работу Wi-fi на базе карточки от Broadcom в Debian Linux Etch. Сегодня вышла новая версия Debian — 5.0 Lenny, в которой обвновлена версия ядра Linux сразу до версии 2.6.26 (с 2.6.18). В связи с этим перестал работать старый Бродкомовский драйвер, и потребовалась установка нового. Благо, что установить новый драйвер очень просто, так как мы имеем свежее ядро Linux, под которое есть нормальные Бродкомовские дрова. Всю необходимую информацию о драйверах и установке можно получить на сайте http://linuxwireless.org/en/users/Drivers/b43.

В прошлый раз я писал, что у меня ноутбук HP Compaq nx7300 с сетевой Broadcom BCM4311 802.11b/g WLAN (rev 01). Эта карточка числится в списке поддерживаемых драйвером bc43 при условии свежести ядра (2.6.24 или старше). Чтобы проверить, какая карта у вас, выполните команды:

update-pciids
lspci -nn

В выводе последней команды в конце у меня есть следующая строка:
10:00.0 Network controller [0280]: Broadcom Cor poration BCM4311 802.11b/g WLAN [14e4:4311] (rev 01)

Это и ест ь мой сетевой адаптер Broadcom BCM4311.

Поддерживаются карты:

  • bcm4303 (802.11b-only chips, uses b43legacy)
  • bcm4306 (Rev. 2 uses b43legacy, Rev. 3 uses b43)
  • bcm4309 (only the 2.4GHz part)
  • bcm4311 rev 1 / bcm4312
  • bcm4311 rev 2 / bcm4312 (needs patches for 2.6.24)
  • bcm4312 (only the 2.4GHz part)
  • bcm4318

Для карты BCM4306 Rev 2 или для работы с лишь 802.11b режимом используется дрвйвер b43legacy. Во всех других случаях используется b43. Об установке b43 и поговорим :)

Для ядер 2.6.25 и выше надо выполнить лишь 2 следующие пачки команд, и все:

wget http://bu3sch.de/b43/fwcutter/b43-fwcutter-011.tar.bz2
tar xjf b43-fwcutter-011.tar.bz2
cd b43-fwcutter-011
make
cd ..

export FIRMWARE_INSTALL_DIR=»/lib/firmware»
wget http://mirror2.openwrt.org/sources/broadcom-wl-4.150.10.5.tar.bz2
tar xjf broadcom-wl-4.150.10.5.tar.bz2
cd broadcom-wl-4.150.10.5/driver
sudo ../../b43-fwcutter-011/b43-fwcutter -w «$FIRMWARE_INSTALL_DIR» wl_apsta_mimo.o

Тем самым мы скачали и собрали b43-fwcutter, которому затем подсунули скачанный драйвер. Он его «вставил» в систему. Все, сетевая работает.

Про настройку сетевой читайте в старом посте.

]]>
https://valera.ws/2009.02.15~debian-lenny-wifi-i-broadcom/feed/ 0
Вот такие бывают ошибки https://valera.ws/2009.01.05~error-or-not-erro/ https://valera.ws/2009.01.05~error-or-not-erro/#respond Mon, 05 Jan 2009 09:02:49 +0000 http://valera.ws/?p=265 Вот такие ошибки могут быть в Linux :) Ошибка без ошибки.

d0bed188d0b8d0b1d0bad0b0

]]>
https://valera.ws/2009.01.05~error-or-not-erro/feed/ 0
Настройка интернета от ADSL.BY в Debian https://valera.ws/2008.11.25~internet-adslby-debian/ https://valera.ws/2008.11.25~internet-adslby-debian/#respond Tue, 25 Nov 2008 07:25:41 +0000 http://valera.ws/?p=201 Читать далее Настройка интернета от ADSL.BY в Debian ]]> Краткая инструкция по настройке интернет-соединения с провайдером ADSL.BY по VPN в Debian Linux. За основу взята инструкция из блога ZvZ.

1) Для поднятия соединения необходимо установить пакеты PPTP и PPP.

# apt-get install pptp-linux
# apt-get install ppp

Опционально можно установить пакет для мониторинга PPP-соединения:

# apt-get install pppstatus

2) Далее требуется поправить конфиг /etc/ppp/options. Если брать за основу дефалтный файл, надо закомментить лишние строки и добавить недостающие. Но проще удалить все и вставить следующие строки:

lock
hide-password
noauth
nobsdcomp
nodeflate

3) Необходимо создать файл ppp-соединения в каталоге /etc/ppp/peers. Имя файла может быть любое, но его придется указывать каждый раз при подъеме соединения. Например, /etc/ppp/peers/adsl.by

remotename adsl.by
linkname adsl.by
ipparam adsl.by
name 22222pupkin
pty «pptp 81.25.32.68 —nolaunchpppd»
connect «ip route add `ip route get 81.25.32.68 | head -1`; exit 0»
replacedefaultroute
refuse-eap
debug dump
noauth
defaultroute

В данном примере требуется заменить имя пользователя (22222pupkin), а при необходимости и IP шлюза.

3) В файл /etc/ppp/chap-secrets добавляем пароль от Интернета. Для параноиков обращаю внимание, что файл можно писать и читать только из-под root’а. Остальным пользователям заглянуть в него не удастся. В файл требуется добавить строку, в которой все значения разделены не пробелом, а табуляцией.

22222pupkin adsl.by пароль *

4) Если вы еще не указали DNS-сервера Инфонета при настройке сети, сделайте это. Это можно сделать через Network Manager, или вручную в файле /etc/resolv.conf

81.25.32.34
81.25.32.9

5) Теперь пропишем роуты. Это можно делать каждый раз после загрузки, можно сделать скрипт (например у меня роуты прописываются после поднятия wi-fi-соединения скриптом), можно засунуть в «автозагрузку». Роут нужен следующий:

# route add -net 81.25.32.0 netmask 255.255.255.0 gw 192.168.0.1

192.168.0.1 — это адрес вашего модема.

Настройки готовы. Теперь можно пользоваться. Запуск соединения (из-под  root’а):

# pon adsl.by

Останов всех ppp-соединений:

# pon -a

Останов только данного соединения:

# poff adsl.by

Просмотр статистики (если соответствующий ставили пакет в начале):

# pppstatus

(Чтобы выйти из просмотра статистики, наберите !q)

После команды pon adsl.by между вами и сервером поднимается соединение по протоколу PPP, поверх которого идет туннелирование PPTP. Соединению PPP соответствует появившийся сетевой адаптер ppp0. Если создать больше одного соединения, появятся адаптеры ppp1 и т.д. Именно на этот адаптер прописывается default route автоматически (если ваши настройки соответствуют приведенным выше).

Удачи! ;)

]]>
https://valera.ws/2008.11.25~internet-adslby-debian/feed/ 0
Настройка беспроводной сети (wi-fi) в Debian https://valera.ws/2008.11.24~nastrojka-wi-fi-debian/ https://valera.ws/2008.11.24~nastrojka-wi-fi-debian/#respond Sun, 23 Nov 2008 21:02:55 +0000 http://valera.ws/?p=170 Читать далее Настройка беспроводной сети (wi-fi) в Debian ]]> Известный факт, что настройка беспроводных сетей в линуксе — не самая простая задача. Проблемы возникают из-за отсутствия в дистрибутивах драйверов к адаптерам wi-fi и bluetooth. Ко многим адаптерам драйвера существуют только под Windows.

В своем блоге я опишу результат собственных изысканий по подъему wi-fi адаптера на ноутбуке HP Compac nx 7300 для дистрибутива Debian (etch). Стоит упомянуть, что вся информация актуальна на момент ноября 2008 года, и что все описанное ниже не претендует на «руководство», это лишь описание моих действий и результатов.

UPD: Внимание! В связи с выходом Debian 5.0 Lenny сначала прочитайте эту запись!

Гуглинг на тему моего wi-fi в Debian привел к замечательному описанию-руководству по поднятию беспроводной сети. В этом мануале рассказывается про установку драйверов для беспроводных адаптеров на базе чипсетов Broadcom 43xx и 1390. Вот как раз 4311 и установлен в ноутбук HP Compac nx7300.

Драйвера от Broadcom есть и под Linux, и под Windows. Для линукса есть даже 2 разных версии:

  • Linux b43 / bcm43xx driver (начиная с ядра 2.6.24 его просто переименовали),
  • Linux b43_legacy driver (отделен в ядре 2.6.24 для совместимости со старыми чипсетами).

Виндовый драйвер так же может работать в линуксе через известную программу NDISWrapper. Причем, забегая вперед, скажу, что именно с ним и пришлось работать.

Сначала требуется определить, какой сетевой адаптер используется. Как это сделать, написано в отдельном руководстве. Самый простой вариант — выполнить следующие команды:

update-pciids
lspci -nn

В выводе последней команды в конце у меня есть следующая строка:

10:00.0 Network controller [0280]: Broadcom Cor poration BCM4311 802.11b/g WLAN [14e4:4311] (rev 01)

Это и ест ь мой сетевой адаптер  Broadcom  BCM4311. Теперь пробуем заставить его работать. Стоит отметить, что до установки дров сетевой интерфейс wlan0 просто не существует, а диод на ноуте не горит и не включается кнопкой.

Установкой я занимался по порядку, описанному в статье. Принцип там такой: попробуйте сделать это, если не поможет, попробуйте это, если не поможет, попробуйте это и т.д.

Сразу отмечу, что ядро у меня 2.6.18 (т.е. меньше) 2.6.24, а значит b43_legacy и Native b43 driver рассматривать смысла нет вообще. Cтавим Native bcm43xx driver.

Руководство по установке этого драйвера начинается с этого места. Подзаголовки (option 1, 2, 3, 4, 5) — это этапные варианты установки драйвера. Последним пунктом идет установка Ndiswrapper’а. Я прошел все эти 6 уровней, адаптер заработал у меня только после установки  Ndiswrapper’а. Если у вас не адаптер BCM4311 в связке с linux kernel 2.6 .18, рекомендую попробовать все варианты по порядку (пройти этот увлекательный к вест :), иначе можете сразу приступать к установке  Ndiswrapper’а.

Если в конце концов у вас таки появилось устройство wlan0, поздравляю, драйвер установлен!

Но установить драйвер естественно мало. Надо еще настроить интерфейс. Так как я бродил несколькими обходными путями и произвел достаточно много действий при изучении этого вопроса, точно сейчас сказать сложно, какие из действий являются минимально-необходимыми. Но факт в том, что в файле /etc/networks/interfaces у меня сейчас следующие строки:

allow-hotplug wlan0
iface wlan0 inet static
wireless-essid ZyXEL
address 192.168.0.30
netmask 255.255.255.0
gateway 192.168.0.1

ZyXEL — точка доступа, IP понятны, вторая строка обозначает, что IP пр описаны статически, а не по DHCP. Так же есть файл /home/feedbee/wlan следующего содержания:

echo "Loading ndiswrapper..."
modprobe ndiswrapper
echo "Setting mode Managed..."
iwconfig wlan0 mode Managed
echo " -- Setting ESSID"
iwconfig wlan0 essid ZyXEL
echo " --Setting to channel 6..."
iwconfig wlan0 channel 6
echo " --Turning on managed mode..."
iwconfig wlan0 mode Managed
echo " --Setting encryption key"
iwconfig wlan0 key restricted E3374866EE
echo "Bringing up interface wlan0..."
ifconfig wlan0 up
echo "Disable interface eth0 to kill its routes. .."
ifconfig eth0 down
echo "--Setting routing..."
route add default wlan0
route add -net 81.25.32.0 netmask 255.255.255.0 gw 192.168.0.1 wlan0

Этот файл включает сетевой адаптер. Но до запуска файла адаптер дол жен быть включен физически, т.е. должен гореть синий диод на ноутбуке.

В этом файле все должно быть понятно, отмечу только следующие моменты. Последняя строка строго индивидуальна, она прописывает нужный для работы роут на провайдера. Вообще, после поднятия интерфейса wlan0 остаются старые роуты на eth0 и к ним добавляются новые на wlan0. В этом случае роутиговая система ядра пытается слать пакеты через eth0 даже в том случае, если сетевой кабель не подключен. Именно по этой причине в файле wlan гасится интерфейс eth0 (при этом роуты на него автоматически удаляются). Дефалтные роуты на wlan0 прописываются автоматически.

Строка iwconfig wlan0 key restricted E3 374866EE в файле обозначает, что используется WEP-шифрование.  E3374866EE — это ключ, который введен на точке (в HEX-формате). Для WEP-64 это 10 шестнадцатеричных цифр, для WEP-128 — 26. Если шифрование не используется, эту строчку можно просто убрать.

Если интерфейс wlan0 и соединение с точкой доступа поднялись, но пакеты на сеть не ходят (хосты не пингуются), разбирайтесь с роутами.

]]>
https://valera.ws/2008.11.24~nastrojka-wi-fi-debian/feed/ 0