kloop.kg

Страница блогов

Регистрация

Регистрация

«««

Обработка субдоменов в Apache

февраля 10, 2010

Сейчас часто можно встретить сайты с множеством поддоменов. Например, вспомните livejournal.com или blogger.com (ну и конечно сам Kloop). Вы же не думаете, что при регистрации нового блога запускается скрипт, который добавляет виртуальные хосты в конфигурацию Apache?

Чтобы получить на своем сайте возможность обрабатывать любые субдомены — нам необходимо выполнить три шага:

1. В настройках своего DNS сервера, в A-запись необходимо вписать *.example.com.

example.com — естесственно Ваше доменное имя.

2. Теперь, в настройках Apache к нашему хосту, который будет обрабатывать субдомены нужно добавить псевдонимы. Это делает ServerAlias.

ServerAlias www.example.com example.com *.example.com

3. А теперь, нам предстоит разобраться с .htaccess файлом. Важно, чтобы был включен модуль mod_rewrite для Apache. В противном случае — ничего работать не будет.
<IfModule mod_rewrite.c>
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !www.example.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).example.com [NC]
RewriteRule (.*) %2/$1 [L]
<
/IfModule>

Разберем то, что мы добавили в .htaccess файл.

IfModule – проверяем, включен ли mod_rewrite. Если не включен, то код, между директивами IfModule выполняться не будет.

Первый RewriteCond заверяет о том, что мы не находимся на главном домене. Второй — обрабатывает субдомен.

RewriteRule выполняет всю магию: При запросе sub.example.com/page.html запрос перенаправится на example.com/sub/page.html.


— (длинное тире) и другие прикольные символы в Ubuntu

февраля 1, 2010

— В моем предыдущем посте меня спросили о том, как ставить длинное тире в Ubuntu Linux. Это просто и не требует больших усилий (Если у Вас Ubuntu :) ).

Идем в System -> Preferences -> Keyboard. Переходим на вкладку Layouts (Раскладки) и жмем на кнопочку Layout Options (Опции Раскладки).

Находим в длинном списке Compose Key Position и выбираем клавишу для композита. Лично я себе настроил ее на клавишу Menu (чаще всего между Правым Win-кеем и контролом). До этого я использовал правый win-key.

Выбирайте то, что Вам угодно и сохраняйте настройки. Теперь можете зажать Compose key и три раза нажать на тире. Вуаля, мы получаем —.

Также можете побаловаться с прочими символами по тому же принципу: åŭ°ß×č¸˙


Про офисные пакеты

января 30, 2010

Источник: http://www.linux.kg/opensource/pravitels…

Вкратце (для тех, кто не желает переходить по ссылке), там говорится о том, что аппарат правительства Дании переходит с Microsoft Office на OpenOffice.org

OpenOffice.org

На эту запись наше сообщество весьма бурно отреагировало не оставило ни одного комментария, поскольку наш брат комментировать не любит. А я бы вот хотел немного порассуждать отдельно на эту тему.

Тот факт, что OOo отсасывает по юзабилити и производительности у MSO имеет место быть и с этим спорить бесполезно. Многие используют OOo только потому что он бесплатен. Если бы и MSO был бесплатен — OOo быстро бы умер. Почему? OOo не обладает теми качествами, которыми должно обладать открытое ПО. Открытое ПО должно быть заведомо лучше своего проприетарного родственника лишь потому, что его разработчики (тысячи их!) должны собирать только лучшее в один проект. Но этого не происходит: при большом объеме открытого документа этот самый OOo тормозит, будто я его запустил на машине 92-го года. Также хромает юзабилити и несколько других раздражающих факторов.

Я пользуюсь OOo, но только потому что мне максимум приходится два-три раза в месяц набрать служебную записку и раз в месяц — отчет. Но всяким секретаршам приходится набирать весьма большие объемы информации и я собственными глазами видел с какими трудностями приходится им иногда справляться.

По моему мнению исправить ситуацию на данный момент может либо а) полная деградация MSO (чего само собой не случится), б) Oracle немного изменит подход к разработке офисного пакета от Sun. Второй вариант весьма вероятен, но до него идти очень долго.

Какими приложениями из офисного пакета пользуетесь Вы? Устраивает ли Вас качество работы OOo? (Вопрос для пользователей OpenOffice.org)

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


Apache: http аутентификация в связке с MySQL

января 17, 2010

http-аутентификация весьма популярная штука и многие прибегают к ее использованию. Если у Вас два-три пользователя, которые будут иметь доступ к запрещенным страницам, то в принципе, Вы можете и не прибегать к дополнительным манипуляциям и настроить все так, как советует документация Apache: http://httpd.apache.org/docs/2.0/howto/a…

Если же, у Вас планируется большое количество пользователей, то следует прибегнуть к другим способам. Один из них – аутентификация с пользовательскими данными хранимыми в базе данных MySQL. Для осуществления всего этого, Вам необходимо иметь веб-сервер (Apache в данном случае), базу данных MySQL и модуль для Apache – mod_auth_mysql.
Вот так я сделал это на своей Debian-машине:
1. Устанавливаем модуль mod_auth_mysql
apt-get install libapache2-mod-auth-mysql
2. Прописываем в директивы к нашему хосту следующие строки:

<Directory /path/to/restricted/directory>
AuthType Basic
AuthName "Message for users"
# Хост и порт, на котором крутиться MySQL
Auth_MySQL_Host localhost
Auth_MySQL_Port 3306
# Пользователь базы данных
Auth_MySQL_User db_user
# Пароль к базе данных
Auth_MySQL_Password db_password
# Имя БД, в которой хранятся учетные данные
Auth_MySQL_DB database_name_used_for_authentication
# Название таблицы, в которой хранятся данные о группах пользователей
Auth_MySQL_Group_Table db_group_table
# Таблица, в которой хранятся данные
Auth_Mysql_Password_Table  http_auth
# Имя поля, в котором хранятся логины
Auth_MySQL_Name_Field name_field
# Имя поля, в котором хранятся пароли
Auth_MySQL_Password_Field
# Имя поля, в котором хранятся группы
Auth_MySQL_Group_Field
# Если On, то будут приниматься также и пустые пароли
AuthMySQLNoPasswd Off
# Метод шифрования паролей
# Доступные методы: none, crypt, scrambled (нативное MySQL шифрование),
# md5, aes, sha
AuthMySQLPwEncryption none
# "Соль" :) Ключ, который будет использоваться для шифрования
AuthMySQLSaltField salt
# Если off, то MySQL аутентификация будет пропущена
AuthMySQLEnable on
require valid-user
</Directory>


PHP5 + Oracle (OCI8)

декабря 15, 2009

Для того, чтобы установить разрешение oci8 Вам понадобится:
php5, Oracle Instant Client Basic, Oracle Instant Client SDK, PECL

Порядок действий таков:

1. Идем на сайт Oracle и качаем instantclient. Вам понадобятся пакеты со словами basic и sdk в своих названиях. Важно знать, что для подключения к Oracle 7 – Вам нужен instantclient 9.x, а для подключения к Oracle 8 – 10.x. Для более высших версий используйте соответствующие им обозначения. Создайте каталог в домашней директории и скачайте туда необходимые файлы. После того, как вы скачали файлы – их надо распаковать.

В следующем примере /home/user/oracle следует заменить на путь к каталогу, куда Вы скачали файлы.

sudo -i
mkdir /opt/oracle
cd /opt/oracle
mv /home/user/oracle/*.zip .
unzip *.zip

2. Появился каталог с длинным названием. В моем случае – это instantclient_10_1. Давайте для удобства сократим путь:
mv instantclient_10_1 instantclient

3. Теперь нам нужно кое-что исправить! При установке PECL будет просить систему о файлах libclntsh.so и libocci.so, но ls -l покажет, что таких файлов у нас нет, но есть такие же, с окончанием версии на конце: libclntsh.so.10.1 и libocci.so.10.1. Просто создадим ссылки
ln -s /opt/oracle/instantclient/libclntsh.so.10.1 /opt/oracle/instantclient/libclntsh.so
ln -s /opt/oracle/instantclient/libocci.so.10.1 /opt/oracle/instantclient/libocci.so
ln -s /opt/oracle/instantclient/lib /opt/oracle/instantclient

4. Теперь, самое интересное: качаем oci8 и указываем ему, где расологается instantclient
pecl install oci8
На вопрос о расположении клиента пишем ему путь в таком виде:
instantclient,/opr/oracle/instantclient/lib
Первая запись (до запятой) не меняется ни в коем случае. После запятой – может меняться в зависимости от того, как Вы называли каталоги проходя пункт 1.

Теперь, единственное, что осталось сделать – это сказать PHP, что у нас есть oci8.
Для этого в файлы /etc/php5/apache2/php.ini и /etc/php5/cli/php.ini вносим строки
extension=oci8.so

5. Перезапускаем apache
/etc/init.d/apache2 restart
Выполняем в файле phpinfo(); и видим, что у нас появился модуль oci8

Внимание!
Если apache не перезапустился, а в /var/log/apache2/error.log виднеется что-то вроде

PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib/php5/20060613+lfs/oci8.so’ – libaio.so.1: cannot open shared object file: No such fil e or directory in Unknown on line 0

то незамедлительно выполняем
apt-get install libaio1
и возвращаемся к пункту 5


Установка сервера Bazaar

декабря 11, 2009

Компания Launchpad предоставляет бесплатную услугу по размещению Ваших проектов с открытым исходным кодом используя систему управления версиями – Bazaar. Они же активно продвигают эту систему в массы и далеко не безоснавательно. Но эта статья не о плюсах/минусах Bazaar по сравнению с другими системами контроля версий (хотя я почти полностью мигрировал с Subversion на Bazaar), а о том, как установить сервер Bazaar, если Вы хотите вести совместный проект.

Этот туториал расчитан на пользователей GNU/Linux (проверено на Ubuntu, Debian, Gentoo), умеющих пользоваться командной строкой. Вам понадобится непосредственно Bazaar (Bzr), который можно достать на официальном сайте.

Первым делом необходимо создать пользователя. Я выбрал имя bzrsrv
sudo useradd -m bzrsrv

Теперь необходимо от имени этого пользователя создать структуру каталогов
sudo su bzrsrv
mkdir -p /home/bzrsrv/rep/prj/trunk
Вы вольны использовать любые названия для каталогов. Я решил использовать rep для всего репозитория и prj для нашего экспериментального проекта.

Теперь необходимо инициализировать trunk как одну из ветвей и запустить сервер:
cd /home/bzrsrv/rep/prj/trunk
bzr init
bzr server --directory=/home/bzrsrv/rep --port=4155
Обратите внимание, что Вы можете указать желаемый порт.

Теперь можете вернуться в своего пользователя и выполнить чек:
bzr check bzr://localhost/prj/trunk


GNU/Linux и реалии его возможностей.

ноября 17, 2009

Может ли Linux заменить ОС Windows офисному работнику? Ребенку-игроману? Веб-дизайнеру? Программисту?
Сменив свою пресловутую “винду” на “линух” (Б-же, накажи того, кто придумал это каверканье) многие видят то, чего не ожидали (при первом взгляде конечно). Весьма крутой интерфейс со всякими свистоперделками, на настройку которых и уходит первые два-три дня: подобрать темку, обои на рабочий стол, настроить compiz и прочие вкусности. А что делать дальше?

Кто-то ставит Linux целенаправленно – с целью изучить что-то новое, а кого-то вынудили – пришел почетный носитель свитера, бороды и очков и наглым образом установил сие чудо. А что получается в итоге? Кто доволен больше, а кто меньше?

Я хочу разобраться в том, насколько Linux адаптирован для разных нужд пользователей.
Read the rest of this entry »


Ошибка OpenOffice.org 3.1 в Ubuntu 9.10

ноября 16, 2009

В новом релизе ОС Ubuntu 9.10 неприятным моментом оказалось то, что при открытии некоторых документов (содержащих графики, активные элементы с веб-страниц и кое-какие еще элементы) программа просто вылетает в тот момент, когда Вы пролистываете экран и эти элементы должны отобразится. Программа закрывается и все. Решить проблему можно пока-что только переустановкой OpenOffice.org вручную.

Для этого необходимо удалить старую версию OpenOffice.org. Зайдите в Synaptic и снимите все галочки напротив пакетов OOo. Вместе с ними удалятся кое-какие мета-пакеты.
Запомните, что если Вы захотите произвести обновление всей системы (dist-upgrade) Вам придется вернуть галочки к OpenOffice.org, установить его заново целиком и все мета-пакеты относящиеся к нему (это произойдет автоматически после того, как Вы запустите установку OpenOffice.org из Synaptic).
Далее пошагово расскажу как исправить проблему с пакетом:
1. Скачайте DEB-пакет со страницы http://download.openoffice.org/other.htm…
2. Распакуйте содержимое пакета

tar -vxzf OOo_3.1.1_LinuxIntel_install_en-US_deb.tar.gz

Как результат – появится папка OOo_inst_folder/DEBS
3. Перейдите в этот каталог и запустите установку всех пакетов

cd OOo_inst_folder/DEBS
sudo dpkg -i *.deb

4. Обновите меню

cd desktop-integration
sudo dpkg -i *.deb

На этом все. Ваш OpenOffice.org должен работать корректно. Причин по которым возникает проблема я пока не выяснил.


DELL – хитровысушен!

ноября 10, 2009

У нас в конторе стоят два одинаковых DELL-овских сервера. Настолько одинаковых, что прямо точь-в-точь! На них крутились Red Hat Enterprise Linux и Oracle. На обоих. Потому что они были точной копией друг друга, и каждые пять минут проходила репликация между серверами.
Сервера проработали ни много, ни мало – пять лет. И вот, в один прекрасный день, придя на работу – мы обнаружили, что один из серверов не работал…

Симптомы были простыми – он пищал. Изображение на экран не выводилось. Разобрав сервер, мы добрались до оперативной памяти. Не долго мешкая мы выяснили, что вышел из строя первый слот для ОЗУ. И что Вы думаете? Второй слот не будет работать, если первый не работает. Из-за этого нужно менять материнку (у нас в городе никто DELL чинить не будет).
То, как мы подкидывали корзину со сказевыми дисками к другой машине и плясали с бубном вокруг RHEL – это другая история. Вся соль этой истории в том, что на следующий день вышел из строя с точно такими же симптомами второй сервер. Что за волшебство? Такое вообще возможно? Почему-то появилось мнение, что DELL устанавливает счетчик где-то, который отсчитывает пять лет и сжигает первый слот ОЗУ ^__^

Самый сырный момент в этой истории – RHEL отлично переносится на другие машины.

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


Плавный переход : Избавляемся от мифов

октября 23, 2009

Мне кажется, что для самого первого шага в плавном отказе от того, к чему привыкли, и в адаптации к инновациям – самое важное – это уничтожение мифов и слухов, и заведомая расстановка всех точек над i. А мифов вокруг операционной системы GNU/Linux существует достаточное множество. Причем некоторые из них вовсе и не мифы, а самые настоящие «фичи», просто надо посмотреть на них с нужной стороны. Итак, начнем…

Командная строка в операционной системе GNU/Linux – это важный, а порой и незаменимый инструмент в управлении Вашей операционной системой. Это действительно так и я расскажу почему. Когда-то давно и привычная нам Windows была надстройкой над командами в командной строке MS-DOS, т.е. иными словами, открывая какую-то программу, на самом деле в невидимую (для пользователя) командную строку отправлялась команда о запуске. Тоже самое сейчас происходит и с GNU/Linux, просто не для всех программ есть адекватная графическая замена. Запомните, основой операционной системы GNU/Linux является именно командная строка без всяких окон, интерфейсов, рабочих столов и иконок. Графический интерфейс – это уже надстройка для операционной системы и их есть несколько видов, а пользователь решает для себя сам – какую из них использовать. Вообще, отойдя от темы, хочу заметить, что пользователь в операционных системах GNU/Linux реально сам решает что и зачем использовать и никто из разработчиков своего мнения навязывать им не будет.

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

Теперь давайте поговорим о вирусах. Все наверняка наслышаны о том, что в GNU/Linux компьютерных вирусов и это почти так! Только ситуация с этим утверждением – спорная. Во-первых, фактом является то, что в мире существует больше антивирусов, чем работающих вирусов в GNU/Linux. Но многие говорят, что причиной этой является непопулярность этой операционной системы. Действительно, на момент написания этих строк, количество пользователей операционной системы GNU/Linux чуть превышало 1% во всем мире. Но значит ли, что когда этот процент возрастет в разы – появится и большее количество вирусов? Тут на защиту операционной системы приходит несколько стойких факторов:

• Архитектура операционной системы, а особенно система управления доступа к файлам (атрибуты файла) устроена таким образом, что вредоносная программа не сможет проникнуть вглубь системы;
• Обновления для Вашей системы и установленного на ней программного обеспечения выходят чрезвычайно быстро. Иногда, даже бывает так, что обновление с закрытием какой-то маломальской уязвимости выходит раньше, чем кто-либо успел этой уязвимостью воспользоваться;

Поэтому вероятность того, что на Вашем компьютере с установленной операционной системой GNU/Linux будет обнаружена вирусная активность – стремится к нулю. Многим интересно, а что если съемный носитель информации зараженный вирусом для ОС Windows вставить в компьютер с GNU/Linux? Неужели она чудесным образом излечится? Нет, не излечится, но вирусы с диска не будут работать, потому что ПО написанное для операционной системы MS Windows (а вирусы по сути – это тоже программное обеспечение) не работает в GNU/Linux системах и об этом мы еще поговорим. На этом считаю вопрос о вирусах закрытым.

Теперь об установке. Установка операционной системы GNU/Linux может привести к потере всех файлов хранимых на Вашем компьютере! Но только в том случае, если Вы совершенно не понимая смысла своих действий нажали восемь раз «Далее» в окне диалога установки. Если же Вы хотя бы удосужились обратить внимание на программу установки своего дистрибутива, то Вы увидите, что каждый шаг полностью описан в сопутствующем справочном руководстве. Но это справочной руководство может помочь тем, кто хотя бы мало-мальски соображает в устройстве компьютера и операционных систем. Если это не так, то лучше попросить помощи у тех, кто более опытен в области информационных технологий или обратиться за справкой на сайты сообществ Вашего дистрибутива. В любом случае рекомендуется создать резервную копию всех Ваших данных на съемном носителе.

В целом же, установка самых популярных дистрибутивов GNU/Linux – это гораздо более легкий процесс, нежели установка операционных систем от Microsoft.