Настройка USB-модема Huawei E171 в Linux

Июл 29
2011

Если используется версия Ubuntu ниже 10.04, то предварительно ставим udev-extras:

sudo apt-get update && sudo apt-get install udev-extras

Далее создаем правило udev:

sudo echo 'SUBSYSTEM=="usb", SYSFS{idProduct}=="1436", SYSFS{idVendor}=="12d1", RUN+="/lib/udev/usb-modeswitch --vendor 0x12d1 --product 0x1436 --type option-zerocd"' | sudo tee  /etc/udev/rules.d/45-huawei171.rules

Вынимаем модем из USB-порта, вставляем обратно, ждем пока модем инициализируется (5-8 секунд). Открываем настройку сетевых соединений (NetworkManager), выбираем мобильные соединения, затем выбираем оператора сотовой связи, ну а дальше как в винде: далее, далее, далее…

Тестировалось на модеме от МТС, в случае другого оператора возможно придется в настройках NetworkManager изменить адрес APN-сервера.

su: incorrect password

Июл 29
2011

Не знаю, что произошло, но в какой то момент при вызове «su -» стала появляться ошибка — su: incorrect password, решение проблемы тривиально:

sudo chmod 4755 /bin/su

Установка Trac на CentOS

Июл 26
2011

Даже для небольших команд разработчиков нужны инструменты для совместной работы, учета выполненных задач, совместного использования и контроля кода и т.д. Сегодня поговорим о такой замечательной штуке как Trac. Возможности данной системы — тема для отдельной статьи, поэтому пока ограничимся how-to по установке.

1. Устанавливаем из репозитория

su -c 'yum install trac trac-git-plugin.noarch trac-iniadmin-plugin.noarch trac-mercurial-plugin.noarch trac-privateticketsplugin.noarch trac-ticketdelete-plugin.noarch trac-webadmin.noarch trac-xmlrpc-plugin.noarch mod_python'

2. Создаем инстанс

trac-admin /usr/local/share/trac/MyProject initenv

3. Создаем администратора

touch /usr/local/share/trac/auth-file
trac-admin /usr/local/share/trac/MyProject permission add <username> TRAC_ADMIN

4. Настраиваем Apache

  • Дописываем в httpd.conf «LoadModule python_module modules/mod_python.so»
  • Создаем CNAME запись в DNS, чтобы разместить trac на поддомене (напр. trac.mysite.com)
  • Настраиваем vhost:

    <VirtualHost *:80>
      ServerName trac.myproject.com
      <Location />
        SetHandler mod_python
        PythonHandler trac.web.modpython_frontend
        PythonOption TracEnv /usr/local/share/trac/mytrackproject
        PythonOption TracUriRoot /
      </Location>
      <Location "/login">
        AuthType Basic
        AuthName "trac"
        AuthUserFile /usr/local/share/trac/auth-file
        Require valid-user
      </Location>
      ErrorLog logs/trac.myproject.error.log
      CustomLog logs/trac.myproject.access.log common
    </VirtualHost>
    
  • Перезагружаем Apache
  • Профит!

Symfony no_script_name и Apache mod_rewrite

Июл 20
2011

Намедни компания, в которой я работаю, обзавелась новым сервером. Так как нужно было срочно перебросить на него несколько проектов, а поблизости админами не пахло (ночь на дворе, фигли), полез настраивать сам. Как говорится, долго ли умеючи. Перебросил проекты, базы, поднял Apache, Nginx, MySQL, настроил DNS, запускаю. Работает! Но только главная страница проекта, причем каждого. Так как проекты на Symfony, полез сначала ковырять ее настройки, отключив директиву no_script_name, получил полностью работающий проект. Что бы понять в чем причина потребовалось времени больше, чем было потрачено на настройку. Дьявол прячется в мелочах, для нормальной работы mod_rewrite, при использовании директив RewriteRule и RewriteCondition в файлах .htaccess, кагбе не мешает изменить следующие строки в конфиге Apache с:

<Directory />
    ...
    AllowOverride None
    ...
</Directory>

на

<Directory />
    ...
    AllowOverride All
    ...
</Directory>

Epic Fail! За последние несколько лет общения с Apache впервые упустил этот момент. Вывод: на досуге покуривать мануалы, до просветления. И спать по ночам, а не настраивать боевые сервера.

syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM

Июл 04
2011

Залил сегодня новый сайт на продакшн-сервер. Открываю. Вижу белый экран. Иду курить логи:

PHP Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM

WTF?!!
Погуглив, пришел к выводу, что не понравился интерпретатору статический метод, который я имел наглость вызвать во View, в PHP 5.3.x сей финт ушами сработал на ура, а вот в PHP 5.2.12 — нет. Как оказалось, в переводе с иврита (как подсказывают знатоки, ивритом не владею, так что не ручаюсь), это означает «двойное двоеточие». Так что если где выползет, не пугайтесь :)

Real Time Web Analytics
fortnotes