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

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

Linux

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

Вышел Linux Mint 17

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

Вышел Linux Mint 17. Ссылки:

http://blog.linuxmint.com/?p=2627

http://blog.linuxmint.com/?p=2626

http://www.linux.org.ru/news/ubuntu/10538811

Как обычно, новая версия дистрибутива - это новые версии пакетов. Про них ничего не пишу - детально разобрано и в анонсах, и в Linux.org. А вот об одной "фишке" имеет смысл написать. Речь идет о том, что Mint переходит на новую схем формирования релизов - в частности, релизы теперь будут строиться на основе LTS выпусков Ubuntu. Онибудут обозначаться целой цифрой (например, 17). А полугодовые релизы будут обозначаться вторйо цифрой (например, 17.1, 17.2, ...), и иметь в составе downgrade software. Профит :)

Почему? Да потому, что тот же 17ый минт можно будет использовать с нормальной поддержкой аж до 2019 года. (Особенно актуально мне - счастливому владельцу 15ого минта, который не обновлем).

NB. Правда, обновление для меня так... не особо критично, но все-таки, все-таки - как-то приятно, когда есть волшебная "поддержка".

Ну и - выпущены выпуски для Chinnamon и Mate. А я живу на xfce - соответственно, жду месяцок... и обновляться, обновляться, обновляться! (Заодно перейду на 64bit систему - пора уже).

PS. В описании заявлено "There is some important info in the Release Notes: Issues with Skype". Вот мне правда интересно, что и как они нарешали? Так как имхо - по дефолту мы имеем следующее: skype 4.2 под Linux, который работает как чат, более-менее работает как звонилка - и крайне криво и мерзко работает в режиме группового чата.

Для памяти: как лечить Apache2 Negotiation: discovered file(s) matching request

Просмотров: 5625Комментарии: 2
Linux

В общем, на новом проекте попытался открыть http://%SITE%/ и http://%SITE%/test

http://%SITE%/ - открывался отлично, при запросе же http://%SITE%/test выдает Premission Denided'.

cat ~/WWW/%SITE%/error.log | tail -20 дал следующее:

[error] [client 127.0.0.1] Negotiation: discovered file(s) matching request: /home/alexander/WWW/%SITE%/www/test (None could be negotiated)., referer: http://SITE/

Как оказалось, не один я такой. В частности, здесь решают похожую проблему (на английском):

http://uommo.blogspot.ru/2013/02/apache2-negotiation-discovered-files.html

Ну а если коротко, и по-русски, то действуем так:

sudo nano -w /etc/apache2/sites-available/%SITE%

Там ищем Options Indexes FollowSymLinks MultiViews

Удаляем MultiViews, то есть строка должна стать Options Indexes FollowSymLinks

Выходим, сохраняемся.

Перегружаем апач: sudo /etc/init.d/apache2 reload

Все. В смысле, заработало :)

Для памяти. Как лечить pcfg_openfile: unable to check htaccess file, ensure it is readable, referer:

Просмотров: 8822Комментарии: 3
Linux

В общем, создавая новый проект, налетел на такую ошибку: pcfg_openfile: unable to check htaccess file, ensure it is readable, referer: http://site

Причем, не подгружались картинки из /themes/%THEME%/images - то есть выглядело это так: `все работает`, но изображения на странице - отсутствуют.

Лечится достаточно просто.

1) Смотрим лог:

cat ~/WWW/%SITENAME%/error.log | tail -20

Видим в нем следующее безобразие:

[crit] [client 127.0.0.1] (13)Permission denied: /home/alexander/WWW/%SITENAME%/www/themes/ap/images/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable, referer: http://site/

2) Проверяем, что за права на папку

ls -li ~/WWW/%SITENAME%/www/themes/ap/

Получаем что-то типа:

6966642 drwx------ 2 alexander alexander  4096 мая   19 20:40 images

3408302 -rw-r--r-- 1 alexander alexander 15709 мая   19 20:36 index.php

Внимательно рассматривая сию картину, понимаем: читать папку images `никому низя`

3) Меням картин мира

chmod +rx ~/WWW/ap-pavel/www/themes/ap/images/

ls -li ~/WWW/%SITENAME%/www/themes/ap/

Получаем:

6966642 drwxr-xr-x 2 alexander alexander  4096 мая   19 20:40 images

3408302 -rw-r--r-- 1 alexander alexander 15709 мая   19 20:36 index.php

Большой ПС.

Я не разбирался конкретно с тем, нужно ли давать всем +rx, просто сделал - так как локальная машина, доступ к локальным сайтам закрыт на уровне IPTables, сайты повешены на нестандартные порты... и по большому счету - думать, действительно ли нужно запускать скрипты в папке всем, просто не хотелось. На реальном хостинге - скорее всего добавлял бы +rx для группы, и +r для всех.

Переход от php::mysql к php::mysqli

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

Я писал, что при переходе на php > 5.5 вылезает рдостная ошибка "Deprecated: mysql_pconnect(): The mysql extension is deprecated and will

be removed in the future: use mysqli or PDO instead in %file_name%" (при условии, что работа с БД была реализована через расширение php::mysql). В общем, я не мудрствуя лукаво, переписал класс для работы c БД на функции рекомендованного расширения php::mysqli.

В принципе все просто, минут 10 - и вуаля, готов новый класс. Под него - обертка, и все. Все работает. Но! Вылезла одна проблема: при работе с mysqli кодировка слетает напрочь. В общем, как показала практика, лечится это несложно. Для лечения надо помнить, что:

1) под root коннкт будет идти в latin1. Соответственно - если коннект на домашней машине (как у меня) был под root - заводим "правильного" пользователя, даем ему нужные привелегии - и прописываем его.

2) сразу же после коннекта устанавливаем кодировку:

$db_id = mysqli_connect($db_host,$db_user,$db_pass,$db_name);

mysqli_set_charset($db_id, $set_names);

Для памяти:

Как в mysql создать пользователя с правами на базу

CREATE USER 'user'@'localhost' IDENTIFIED BY 'pass';

GRANT ALL PRIVILEGES ON databasename.* TO 'user'@'localhost' WITH GRANT OPTION;

Хотя все должно подхватываться на лету, "чисто по привычке" рестартую mysql (ну вот такой я извращенец):

$ mysqld restart;

Skype, Ekiga, Viber

Просмотров: 3759Комментарии: 0
androidLinux

Начну, наверное с заявления: меня достал скайп на мобильном. Я не знаю, умеют ли программисты Microsoft оптимизировать свои Android-приложения, но скайп под андроид  на текущий момент просто чудовищен: медленный, тупой, периодически вешает систему. Не, понимаю, что 4 ядра и 2 гига оперативки могут решить проблему... но у меня нет ни того, ни другого. Кроме того - под Linux клиент не обновлялся не рискну предположить сколько времени (из-за чего - проблемы со связью: в режиме чата все гуд, а в режиме звонка... ну, через раз, скажем так, особенно плохо ему от конференций). Так что начал смотреть в сторону альтернатив.

Первое, что нашел - Ekiga (http://www.ekiga.net). Программный телефон + SIP адрес. Плюсы - живет и работает под Linux, есть клиент под Windows. Тестирование показало, что все удобно.... если звонить и говорить. А если в режиме чата, то у меня не получалось :) Это раз. Два - не нашел клиента под Android. Три - коллеги, с которыми приходится общаться в командировках, не очень в курсе, что это за зверь такой.

Второе, что смотрел - чат Фейсбук. Тут ситуация обратная - чат-то есть... да вот звонить и говорить как-то "не получается". Нету такой функциональности. Хотя в ФБ есть вроде как все, кто нужен. (Хотя )

В общем, коллеги же подсказали классную вещь - Viber (http://www.viber.com). Это фактически Скайп-2, а скорее "убийца скайпа", с несколькими плюшками и особенностями. Во-первых, клиенты есть под все ОС (под Linux - только 64bit, об этом чуть позже). Во-вторых, он легкий (не жрет ресурсов телефона и с точки рения трафика). В зоне уверенного приема реально говорить по 3G интернет. В-третьих, он привязывается к номеру телефона - архиудобно (с моей точки зрения) - особенно, в рабочих моментах: добавил коллегу в телефонную книгу, у него есть Viber - звони! Как и в скайп, звонки внутри сети - бесплатны. С точки зрения мобильного трафика - очень даже, трфика жрет мало.

Определенной ложкой дегтя было то, что клиента Viber под Linux 32bit нет (только под 64bit и только в виде .deb пакета, без исходников). Скачанный по прямой ссылке "типа 32-bit клиент" не завелся. В итоге - скачл дистрибутив для Windows, поставил его под Wine - и вуаля, все очень чудесно работает. Кроме разве что того, что кнопки "выход" нет, как класса. Так что пришлось "выходить" из приложения остановкой Вайна. В остальном - полный восторг и без каких-либо нареканий.

Для памяти:

остановить Wine: /usr/bin/wineserver --kill

Linux Mint 16 vs Linux Mint 15

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

Поставил Linux Mint 16 (Petra) на домашний неттоп.

И все бы хорошо, но есть несколько "но":

1) Файлы локальных сайтов у меня лежат в домашней директории. Apache 2.4.6 с какого-то перепугу не смог их прочесть (не было доступа для пользователя www-data в директорию пользователя alexander).

Вообще говоря, есть несколько способов решения этой проблемы. Первый, ввести www-data в группу alexander и запускать apache из-под этой группы. Вторй, запускать apache под пользователем alexander, входящего в группу alexander. По идее, так как сайты локальный, и iptables начисто блокирует возможность работы с этими сайтами по локальной сети, то для ленивых второй способ предпочтительнее (минус одно действие).

Итого в файле /etc/apache2/envvars из-под рута вносим правки:

export APACHE_RUN_USER=alexander
export APACHE_RUN_GROUP=alexander

2) От ошибки

PHP Warning: getdate() function.getdate]: It is not safe to rely on the system’s timezone settings. You are required to use the date.timezone setting or the date_default_timezone_set() function спасает явно прописать в /etc/php5/apache2/php.ini (из-под рута), в секции [Date]

date.timezone = Europe/Moscow

И да, не забыть рестартовать апапч:

sudo /etc/init.d/apache2 restart

3) А вот ошибка Deprecated: mysql_pconnect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in %file_name% так просто не лечится. Дело в том, что начиная с php 5.5 поддержка базового расширения mysql из php "начинает убираться" - сначала предупреждающими сообщениями, а затем - и полностью.

В принципе, ничего страшного - переписать класс для работы с БД и все.

Для памяти:

/etc/init.d/apache2 -v - версия апача

Во всем остальном - особых отличий не заметил. Все настройки (пользователя и системы) штатно перенеслись (скрипт - архив - облако - скачивание - разархивация) и заработали.

Отдельный вопрос - синхронизация, но про нее как-нибудь позже.

Проверка орфографии в LibreOffice, Fbreader для Linux. Пост для памяти.

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

Пост для памяти. Но полезный :)

Fbreader для Linux: http://fbreader.org/content/fbreader-beta-linux-desktop

Проверка орфографии в ЛибреОфис: http://www.informatic.ru/libre-lite

И раньше я писал про конвертацию в fb2 через LibreOffice.