Блог Александра Башкирова

ИТ и бизнес, компьютеры и ПО, фото, программирование и просто мысли…
Этот сайт в основном посвящен тому, что мне интересно вне работы. Ведется в порядке хобби.
Все изложенное на сайте - мое частное оценочное мнение и не может быть истолковано иначе.
Со всеми вытекающими из этого последствиями.

пост для памяти

Подписаться на эту метку по RSS

Debian - запись на USB диски с NTFS

Просмотров: 2826Комментарии: 0
Linux

Хороший знакомый обратился, попросил помочь решить проблему: не записывает внешний USB диск из-под Debian. Диск NTFS.

Мозговой штурм с коллегами выдал решение: надо поставить ntfs-3g - это вариант ntfs драйвера с поддержкой записи.

Все заработало =)

Linux: Заглушка Sendmail для php-mail

Просмотров: 4638Комментарии: 0
Linux

Блин, у меня что-то накопилось много материалов по Linux. В общем, прорвало - пока они не кончатся, буду писать. Тактм образом, на некое число постов это будет блог про Linux=) Но ничего, уже подбирается материла на альтернативвные темы...

Итак, родилась задача - нужно для отладки скриптов сделать заглушку, которая бы принимала почту, которая отправляется php функцией mail() и складывала бы ее в отдельную директорию. Почему заглушка? Ставить и настраивать ради такого полноценный почтовый сервер ну никак не хотелось. Тем более, что в том же Денвере под винду все решено - значит, и под Linux решение есть.

Итак, погуглив, нашел решение на Хабре: http://habrahabr.ru/post/49665/

А погуглив еще - нашел дополение на форуме php http://php.ru/forum/viewtopic.php?t=12140

А теперь по шагам, для памяти:

1) Создаем скрипт, который будем эмулировать sendmail:

sudo nano /usr/bin/sendmail-www.sh

содержание:

#!/bin/sh 
prefix="/home/alexander/WWW-mail/new"
numPath="/home/alexander/WWW-mail"
if [ ! -f $numPath/num ]; then 
echo "0" > $numPath/num 
fi 
num=`cat $numPath/num` 
num=$(($num + 1)) 
echo $num > $numPath/num 
name="$prefix/letter_$num.txt"
cat >> $name 
chmod 777 $name
/bin/true
[pre]
примечание: содержание взято с форума php - как более кошерное, по моему мнению.
примечание 2: смысл скрипта очень прост, на самом деле - перенаправление стандартного потока вывода
2) делаем скрипт исполнимым:
[pre]
sudo chmod +x /usr/bin/sendmail-www.sh

3) в скрипте есть две перемменных - prefix и numPath. Надо выставить на эти папки права 777 (ну, строго говоря, дать права на запись в них всем, но я не парился, тк. локальная машина, то и 777 сойдет):

sudo chmod 777 /home/alexander/WWW-mail
sudo chmod 777 /home/alexander/WWW-mail/new

4) ну вроде все хорошо, приступаем ко второй части марлезонского балета. Настраиваем php, чтобы он использовал наашу заглушку для работы

открываем на редактирование php.ini:

sudo nano /etc/php5/apache2/php.ini

(путь для Mint - ну и соответственно для Убунты)

Находим секцию [mail function]

там раскоментируем и изменяем строку с sendmail_path:

sendmail_path = /usr/bin/sendmail-www.sh

и заодно включаем логирование отправки почты из php:

mail.log = /home/alexander/WWW-mail/mail.log

5) перезагружаем apache:

sudo /etc/init.d/apache2 reload

(не забываем про Sudo, а то можно налететь на ошибки вида

 * Starting web server apache2                                                  /usr/sbin/apache2ctl: 87: ulimit: error setting limit (Operation not permitted)

(13)Permission denied: make_sock: could not bind to address [::]:80

(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80

что естественно - прав-то не хватает)

Профит, все работает как надо.

Как выглядит сайт в Internet Explorer

Просмотров: 7826Комментарии: 0
Windows

Пост для памяти. Посмотреть, как выглядит сайт в разных версиях Internet Explorer, можно на этом сайте: http://netrenderer.com/index.php

Доступен рендеринг на движках от 5.5 до 10 (на момент написания поста).

Linux Mint 15: настройка

Просмотров: 8411Комментарии: 0
Linux

Итак, пройден еще один этап из вечной пьесы «я и Linux» - на смену Open SuSe 12.3 пришел Linux Mint 15. Почему я это сделал? Да очень просто — заменил винчествер в ноутбуке на SSD, перенес туда при помощи CloneZilla все имеющееся хозяйство... вроде бы все было хорошо, но — чего-то не хватало. В общем, я пришел к тому, что поменять ОС — это правильное решенеи, тем более, что как раз вышел 15ый Mint.

14ый, кстати, не содержал в себе драйверов для моей Intel GMA X3600 — соответственно, был отправлен при тестировании в отбраковку. 15Ый уже имел драйвера для этой ОС. Кроме того, на работе не десктопе у меня Ubuntu (deb) — а Suse rpm, кроме того, Mint — наследник Ubuntu, в смысле, что я его рассматриваю как Ubuntu + много мелких полезных фишек (драйверов, софта — тот же скайп, например, изначально в репоозитории Mint'a есть, а на SuSe он скачивался отдельно)... В общем, Mint'у — быть!

Заодно я рассматривал дистрибутив на Xfce — SuSe же у меня была на LXDE. Почему XFCE? Увидел у коллеги :) - маленький, легкй, классный в плане настройки — в штатный набор входит довольно много элементов. А если поискать по репозиториям — то можно найти несколько интересных апплетов (то есть, пардон — плагинов), типа того же прогноза погоды. В общем, решено было попробовать Xfce. Заодно решил настроить дистр с нуля — так как старый вполне мог оказаться несовместимым, и (с моей точки зрения) проще было сконфигурировать «с нуля», чем пытаться перетаскивать конфиги из одного дистрибутива в другой.

За этими мыслями приступил к установке.

[CUT Читать далее...]

Что сказать? Сам процесс установки прошел штатно и быстро — в итоге я получил нормальный рабочий Linux, который надо было «чуть настроить». Об этом — чуть подробнее.

Первое, что я сделал — настроил lock screen по Ctrl-Alt-L. Делается это просто: Меню - Настройки — Клавиатура, там добавляем комбинацию клавиш (Ctrl-Alt-L), вводим в Action команду xflock4, сохранямся и вуаля - «золотой ключик» наш! Потом поставил xfce4-taskmanager из пакета goodies (вообще, этот пакет ставит еще несколько интересных вещей под Xfce) и повесил вызов xfce4-taskmanager на Ctr0-Alt-Del (Хотя, надо сказать — я им почти не пользуюсь, как-то привычнее терминал и ps & kill).

Затем настраиваю двойной клик: чтобы он нормально работал (например, на на окне — то есть на заголовке), надо увеличить время двойного клика до 500 мс (штатно 250). Делается это тут: настройки - Мышь и тачпад.

Дальше попробовал заменить вечный thunderbird на claws — но увы и ах, при приеме multipart message claws, как не бился — не показывает html часть (в части писем). Так что остался на thunderbird — несмотря на то, что вещь сия довольно прожорлива до ресурсов.

Дальше поставил wine... и задумался, а зачем я это сделал? :) Реально давно уже не использую нативных Windows-приложений (нашел даже три аналога Notepad++ - JuffEd, SciTe и Geany. Последняя вообще позиционируется как мини IDE). Но в общем — пусть будет, хуже-то никому от этого не будет. Вдруг когда-то понадобится :)

Кстати, специально для любителей Np++: его наиболее полный аналог, это JuffEd (и более удобный, кстати). Единственное, что бесит «нипадеццки» - это то, что он порой кривовато работает с кодировками файлов. В Geany, кстати, очень удобно работать с большими проектами: она умеет строить список функций, ну и вообще, плюшек в ней побольше, консоль встроенная, например :)

Раз уж речь зашла о софте, то приведу список того, чем пользуюсь «каждый день»:

  •     xfce терминал — легкий терминал (хотя держу про запас gnome-trminal - но именно про заапас, xfce-овский заметно легче)
  •     Chromium, Opera, Firefox, Chrome — штатный набор браузеров. Остальные не исппользую. По дефолту работаю в Chromium — самый легкий (с моей точки зрения).
  •     LibreOffice + Dia. Офисный пакет. Без комментариев.
  •     Skype (кстати, есть в репозитории) и Pidgin.
  •     Liferea — читалка RSS.
  •     Aqualang и SMplayer — соответственно, аудио и видео-плеер.
  •     RadioTray — слушать радио через Интернет.
  •     Thunderbird — почта, куда же без нее.
  •     Modem Mandger — средство для управления GPRS модемом (об этом чуть ниже).
  •     Virtual Box — потому что иногда охота постаить что-то этакое, типа ReactOS или kolibriOS.
  •     Связку Php-MySql-Apache (я ее давно уже считаю частью ОС).

И все, по большому счету мне особо и не надо больше ничего.

Теперь подробности, «для памяти».

Установка GSM модема. У меня это Hyawei E155. Собственно, особо ничего не пришлось делать — вставил, и все.

Lsusb показала, что модем видится:

alexander@alexander-1225C ~ $ lsusb
Bus 002 Device 009: ID 12d1:14ac Huawei Technologies Co., Ltd.
alexander@alexander-1225C ~ $ ls -l /dev/ttyUSB*
crw-rw---- 1 
root dialout 188, 0 авг.  24 11:54 /dev/ttyUSB0
crw-rw---- 1 
root dialout 188, 1 авг.  24 12:04 /dev/ttyUSB1
crw-rw---- 1 
root dialout 188, 2 авг.  24 11:54 /dev/ttyUSB2

Доставил я единственное Modem Manager GUI (морда управления модемом):

sudo add-apt-repository ppa:linuxonly/modem+manager+gui
sudo apt-get update
sudo apt-get install modem-manager-gui

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

alexander@alexander-1225C ~ $ sudo gpasswd -a alexander dialout
Adding user alexander to group dialout

Все. Все работает.

Далее настройка VPN.

Тут все не так просто — VPN сервер L2TP, соответственно штатный NetworkManager с ним не работает. Спасает специальный плагин к нему: http://seriyps.ru/blog/2012/01/31/plagin-l2tp-dlya-networkmanager/

С ним все чудесно заводится и авторизуется.

Настройка SSH-клиента.

Со старой системы скопировал весь /home — так что мне не пришлось перегенерировать ключи. Просто использовал старые, что лежат в ~/.ssh

Для начала попробовал подконнектиться к ssh со соим старым ключем:

alexander@alexander-desktop ~ $ ssh -i "~/.ssh/mkey" alexander@fhost
Warning: Identity file ~/.ssh/mkey not accessible: No such file or directory.
Permission denied (publickey).

Прикол ssh в том, что он жестко требует выставленных 600 прав на приватный фал ключа для того пользователя, от имени которого запускается ssh. Ну ok, пробуем:

alexander@alexander-desktop ~ $ chmod 600 "/home/alexander/.ssh/mkey"

И переподключаемся:

alexander@alexander-desktop ~ $ ssh -i "/home/alexander/.ssh/mkey" alexander@fhost
Enter passphrase for key '/home/alexander/.ssh/mkey':
Last login: (тут неинтересно)
alexander@fhost:

Удовольствие каждый раз вводить эту команду невеликое, так что пропишем алиас:

alexander@alexander-desktop ~ $ alias ssh-g='ssh -i "/home/alexander/.ssh/mkey" alexander@fhost'

Все это хорошо, но чтобы каждый раз при вызове консоли не вводить алиас заново, пропишем его в ~/.bashrc:

alias ssh-g='ssh -i "/home/alexander/.ssh/mkey" alexander@fhost'

Что еще? Крайне редко, но использую tor:

sudo add-apt-repository ppa:upubuntu-com/tor
sudo apt-get update && sudo apt-get install tor-browser
sudo chown alexander -R /usr/bin/tor-browser/

Теперь настраиваем вечную связку LAMP - apache/php/mysql

Ставим их через синоптик (он же - «Управление пакетами»).

Настройку расскажу на примере одного хоста (http://a-cms/), остальные аналогичны

Прописываем хост в hosts:

alexander@alexander-1225C ~ $ sudo nano /etc/hosts
(добавляем сюда строку 127.0.0.1 a-cms ), проверяем, что все хорошо:

alexander@alexander-1225C ~ $ cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 alexander-1225C
127.0.0.1 a-cms
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Важный момент

в файл /etc/apache2/conf.d/vhosts.conf прописываем

ServerName localhost

Домашний каталог для всего этого безобразия у меня ~/WWW, соответственно, сайты располагаются в нем. Создаем этот каталог, в нем — каталог корня сайта (~/WWW/a-cms)

Создаем /etc/apache2/sites-available/a-cms (логика апача «1 сайт == 1 конфиг в директории /etc/apache2/sites-available/)

<virtualhost *:80>
  ServerAlias a-cms
  
ServerAdmin webmaster@localhost
  
DocumentRoot /home/alexander/WWW/a-cms/www
  
<directory /home/alexander/www/a-cms>
    AllowOverride All
  </directory>
  
ErrorLog /home/alexander/WWW/a-cms/error.log
  
# Possible values include: debug, info, notice, warn, error, crit,
  
# alert, emerg.
  
LogLevel warn
  
CustomLog /home/alexander/WWW/a-cms/access.log combined
</virtualhost>

«Включаем» только что созданный сайт, создав жесткую ссылку на него:

sudo ln /etc/apache2/sites-available/a-cms /etc/apache2/sites-enabled/a-cms

(Логика апача в том, что 1 ссылка в каталоге /etc/apache2/sites-enabled/ - это один работающий сайт. В принципе, логично с позиции управления).

Перезапускаем апач

alexander@alexander-1225C ~ $ sudo /etc/init.d/apache2 reload
 
* Reloading web server config

По идее, все после этого должно заработать.

Проверяем: идем по адресу http://a-cms, и смотрим что все работает (можно туда положить, например, файл index.php с phpinfo() для проверки).

Замечание — следим за опечатками - особенно в конфигах апача! :)

Дальше, чтобы все было совсем хорошо - включаем в апаче mod_rewrite (по умолчанию он выключен):

sudo a2enmod rewrite
sudo nano /etc/apache2/sites-enabled/000-default

и меняем AllowOverride None на AllowOverride All

Перезапускаем апач еще раз:

alexander@alexander-1225C ~ $ sudo /etc/init.d/apache2 reload

Теперь действительно все! (Php и mysql в такой комбинации трогать не надо — работают «из коробки»).

Теперь немного полезностей:

Калькулятор. Я ставлю два всегда:

sudo apt-get install apcalc - консольный C-style калькулятор

sudo apt-get install gnome-calculator - модный гномовский калькулятор

По умолчанию xfce выставляет размер значков 48 px. На небольшом экране (11,6") это крупно. Чтобы сменить размер значков, правой кнопкой на рабочем столе, там "настройка рабочего стола", там вкладка "значки", и исправляем значение на нужное (я себе поставил 24, стало сильно лучше).

Ну и финальным штрихом: печать.

У меня роутер Dlink 2750 и принтер Brother 2140. Роутер по идее обладает встроенным принт-сервером, но блин — принетр и роутер не хотят работать в связке с Linux (локально все прелестно, на старом Dlinke тоже все работало) — в итоге решено отдельным принт-сервером Tp-Link PS110U, повешенном на отдельный порт роутера. Да, и опусканием встроенного порта принт-сервера на роутере :)

В общем, это первая часть большой саги про Linux Mint. Писалась отчасти как «пост для памяти». Вторая часть будет... позже :) и, наверное, меньше — там уже частности и мелочи.

ПС. Писал все это естественно, не за раз, а по ходу настройки и после свел в один текст.

Клонирование диска. Clonezilla.

Просмотров: 3977Комментарии: 0
LinuxWindows

В общем, менял диск в ноутбуке на SSD. Перенастраивать ОС ну очень не хотелось, в итоге решил поискать. Поискал. и нашел :)

Называется это чудо Clonezilla, живет по адресу http://www.clonezilla.org/ - и умеет... умеет почти все. Например, умеет склонировать раздел с одного диска на другой. Иди клонировать дис целиком. Умеет работать с USB дисками (под старый диск был куплен внешний usb-box). В общем, вещь, в хозяйстве однозначно полезная. 

Более того, выяснилось, что Clonezilla входит в последнюю сборку Parted Magic (http://www.alib.spb.ru/blog/page/razbivka-diska-besplatno-parted-magic) - то есть, достаточно просто скачать  Parted Magic, развернуть образ на флешку, загрузиться с него... и делай, что хочешь :)

В общем, вещь.

Да, компик после переезда на SSD стал заметно резвее и более экономным по отношению к батарее. И если первое - вполне планируемо, то второе - очнеь даже приятно.

 

Gnome Classic - как добавить удалить кнопки

Просмотров: 2982Комментарии: 0
Linux

Пост для памяти.

Чтобы добавить кнопку на панель в Gnome Classic, надо ее или мышой перетащить с меню, или Win+Alt+Правая-Кнопка-Мыша на панели.
Чтобы удалить кнопку с панели - Win+Alt+Правая-Кнопка-Мыша на значке, и там бывбрать соответствующий пункт, типа "Удалить" :)

Аналог YandexDisk под Andriod

В общем, раз пошла такая пьянка, решил посмотреть, а что есть в мире из андроидных WebDav клиентов. Как оказалось - есть, много и интересно. Не буду утомлять описанием процесса, скажу лишь, что конкурс со значительным отрывом выиграл незамысловатый такой клиент, с говорящим названием WebDav File Manager. Как следует из названия, назначение этого шедевра программистской мысли одно - работать с чем-угодно по протоколу WebDav. С чем он и справляется на "отлично". Попробую описать, чем же меня купила эта вещь:

  • Легкий. Меньше мегабайта против 5 Мб Яндекс.Диск;
  • Быстрый. Работает на глаз гораздо быстрее Ядекс.Диск;
  • Легкий-2. Памяти жрет меньше примерно в 3 раза по отношению к Яндекс.Диск;
  • Умеет цеплять не только Яндекс.Диск, но и другие сервисы, у которых есть WebDav. 
  • Бесплатный.
Теперь о ложке дегтя. Несмотря на моё большое и искреннее желание, мне так и не удалось настроить автоматическую синхронизацию Яндекс.Диска и андроидного телефона, хотя такая фича там присутствует. С моей точки зрения - баг в чистом виде. Как итог - жду обновления :)
И традиционная ссылка на приложение.