Monday, 19 Jul 2010
Продолжая разборки с CentOS пришел к тому что возникла необходимость засунуть движок сервис-деска в автозагрузку, чтобы он поднимался автоматом при старте системы.
Собственно в CentOS процесс загрузки работает по принципу System V и расписан в файле /etc/inittab, точнее расписано то как процесс INIT отрабатывает уровни загрузки. В системе фалы загрузки находятся в каталоге /etc/rc.d и носят названия rc0.d, rc1.d, rc2.d, rc3.d, rc4.d, rc5.d, и rc6.d. Пользователи могут размещать файлы в этих каталогах которые будут контролировать запуск сервисов в системе.В свою очередь эти фалы линкуются на каталог /etc/rc.d/init.d и содержащиеся в них скрипты запуска процессов. В этой связи для запуска сервиса необходимо создать полноценный файл запуска сервиса в /etc/init.d, после чего задать символический линк на него из папки соответствующей тому уровню запуска, на котором необходимо стартовать данный сервис. Файлик запуска сервиса будет выглядеть следующим образом, хотя можно расписать все пару строк просто строкой запуска сервиса:
#!/bin/bash
#
# chkconfig: 35 90 12
# description: Foo server
#
# Get function from functions library
. /etc/init.d/functions
# Start the service FOO
start() {
initlog -c “echo -n Starting FOO server: ”
/path/to/FOO &
### Create the lock file ###
touch /var/lock/subsys/FOO
success $”FOO server startup”
echo
}
# Restart the service FOO
stop() {
initlog -c “echo -n Stopping FOO server: ”
killproc FOO
### Now, delete the lock file ###
rm -f /var/lock/subsys/FOO
echo
}
### main logic ###
case “$1″ in
start)
start
;;
stop)
stop
;;
status)
status FOO
;;
restart|reload|condrestart)
stop
start
;;
*)
echo $”Usage: $0 {start|stop|restart|reload|status}”
exit 1
esac
exit 0
Если нет желания заморачиваться с написанием скрипта, то можно добавить строку инициализации запуска сервиса в файл /etc/rc.local. Это файл будет отработан в самом конце загрузки системы, но перед выдачей меню логина.
Для добавления сервисов находящихся в попдапках rc0.d – rc6.d в автозагрузку в системе есть специальная утилита chkconfig, с помощью которой можно добавлять или исключать сервисы.
# chkconfig -l service_name # просмотреть уровни автозагрузки сервиса
# chkconfig –level 34 service_name on|off|reset # вкключить или выключить сервис на 3 и 4 уровнях
# chkconfig –del service_ name # удалить службу
# chkconfig service_name on|off # включить или выключить службу на всех уровнях
ну и есессно главная команда:
# man chkconfig
Помимо этого можно воспользоваться утилитой ntsysv , для редактирования всех уровней или задач редактирования для определенного уровня:
# ntsysv –level 34
VN:F [1.9.21_1169]
Rating: 9.2/10 (9 votes cast)
VN:F [1.9.21_1169]
Rating: +3 (from 3 votes)
Рубрика: Linux | Отзывов: 3 »
Friday, 16 Jul 2010
Разбираясь, накануне, с настройкой IP адреса в CentOS обнаружил интересную фичу по объединению нескольких интерфейсов в один виртуальный, тем самым повышая скорость передачи данных и создавая функционал отказоустойчивости, с помощью модуля ядра bonding.
Для этого необходимо создать bonding интерфейс, путем создания файла /etc/sysconfig/network-scripts/ifcfg-bond<N> , где N номер объединяемого интерфейса. Содержимое файла аналогично содержимому файла описания настроек обычно интерфейса, с той разницей что директива DEVICE= должна содержать поле bond<N>, где N номер интерфейса.
Пример файла выглядит следующим образом:
DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
NETWORK=10.0.1.0
NETMASK=255.255.255.0
IPADDR=10.0.1.27
USERCTL=no
После того как файлы будут созданы, можно объединять интерфейсы путем добавления директив MASTER= и SLAVE= , так что за исключением этих полей оба файла должны выглядеть идентично. Например для интерфейсов eth0 и eth1файлы конфигурации будут выглядеть следующим образом:
DEVICE=eth<N>
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
Для того чтобы слияние интерфейсов работало, необходимо чтобы модуль bonding был загружен в ядро, для чего необходимо проверить, чтобы в файле /etc/modules.conf присутствовала строка:
alias bond<N> bonding
где N номер интерфейса, и для каждого сконфигурированного интерфейса должна присутствовать своя запись.
VN:F [1.9.21_1169]
Rating: 8.5/10 (2 votes cast)
VN:F [1.9.21_1169]
Рубрика: Linux | Ваш отзыв »
Monday, 07 Jun 2010
Возникла необходимость делегировать управление доменной зоной третьего уровня (то есть например newdomain.odminblog.ru) серверам доменных имен хостера. Первое что пришло в голову, это создать зону в named.conf где указать что данный сервер является вторичным и первичным обозначить доменный сервер хостинг провайдера.
Согласуясь с вышесказанным запись в named.conf приобретает следующий вид:
############################################
zone “newdomain.odminblog.ru” {
type slave;
file “slave/newdomain.odminblog.ru”;
masters {
DNS-провайдера;
};
############################################
Но данный вариант по мне не корректен, так что пришлось пойти в изысканиях дальше. Поковырявшись в доках, мануалах и описаниях на сайте RU-CENTER пришел к тому, что управление зоной можно делегировать в файле описания зоны, подобно тому как это делает провайдер при делегировании PTR записи. Для этого необходимо описать DNS сервера отвечающие за данный субдомен, в разделе определения серверов доменных имен, причем их имена должны принадлежать к субдомену.
newdomain IN NS ns1.newdomain.odminblog.ru
newdomain IN NS ns2.newdomain.odminblog.ru
После чего, через канонический тип имени CNAME определяем доменные сервера провайдера
ns1.newdomain CNAME ns1.DNC-провайдера.
ns2.newdomain CNAME ns2.DNC-провайдера.
В таком варианте все должно нормально работать. При тестировании попробовал описать DNS сервера провайдера сразу в описании NS для субдомена, используя их хостнеймы, но после такого финта, по непонятной причине отвалились MX-записи для корневого домена, что было довольно неожиданно, ибо вся остальная зона отдавалась замечательно.
VN:F [1.9.21_1169]
Rating: 7.5/10 (2 votes cast)
VN:F [1.9.21_1169]
Рубрика: Интернет, Сайты и их проблемы | Ваш отзыв »
Wednesday, 17 Mar 2010
Итак немного о Joomla. В самом начале ковыряния с CMS я забубенил на ней несколько сайтов, но ввиду неких необъяснимых глюков, я почти полностью перешел на использование WordPress. Но, спустя полгода, после того как обновил все сайты на последний, имеющийся движок 1.5.15 все имевшиеся глюки прошли сами собой, так что теперь я снова оборотился в сторону этой системы, именно для создания полноценных и функциональных сайтов. Вступать в полемику на счет того что например Drupal или HostCMS лучше, я не буду, ибо перепробовав некоторое количество CMS, поимел серьезное имхо о том, что Joomla наиболее оптимальна исходя из необходимых качеств для хорошей CMS- удобство, простота, наличие свободных плагинов и красивых тем.
Итак на “Завалинку” прикрутил Поиск, который у меня по каким то причинам не работал. Собственно по-началу не мог понять чем это вызвано, поскольку поиск не искал ничего, и любой запрос получал 0 результатов. Проковырявшись какое то время в сторону того что поиск не ищет по utf-8 я допетрил, что в Joomla все крайне взаимосвязано, и включив модуль в разделе модулей, также необходимо активировать соответствующие ему плагины. Так что собственно после включения плагина Search – Content все начало нормально искаться.
Туда же я прикрутил отличный модуль RokAjaxSearch, позволяющий осуществлять поиск как по содержимому сайта, так и по Google. Причем найденные страницы он выводит сразу же по мере набивания текста, в ниспадающем меню, что крайне удобно и позволяет не прибегать к каким нибудь сторонним поисковым формам. Модуль абсолютно бесплатный и крайне удобный в настройке и использовании. Единственное что, надо его заставить говорить по русски, а то слово Search среди русских букв слишком бросается в глаза. Для этого берем файл language/en-GB/en-GB.mod_rokajaxsearch.ini (для другого модуля файло будет называться соответственно), в котором меняем правую часть выражений на русские варианты. Далее файл сохраняем в кодировке UTF-8, иначе все будет козякозябрами. Для этого в блокноте, при сохранении, в нижнем выпадающем меню кодировка выбираем UTF-8. Сохраняем- заливаем обратно на сайт- и все работает.
После этого я подключил страницу о 404 ошибке, которая не смотря на мои пылкие терзания файла .htaccess не возымела никакого действия. Довольно странно, ибо получается что отработка движка joomla каким то образом превалирует над правилами файла управления .htaccess
Собственно пути для получения страницы ошибки два:
1. Через файл .htaccess в который мы добавляем строчки:
ErrorDocument 401 /error401.php
ErrorDocument 403 /error401.php
ErrorDocument 404 /error401.php
ErrorDocument 500 /error401.php
2. Через движок Joomla
Изменяем вид стандартного документа об ошибке, который выдает CMS Joomla. Файлец находится по маршруту templates/system/error.php
Открываем его и заменяем его содержимое на следующий код:
######################################
<?php ($error->code == ’404′) ;
{header (‘Location: http://odminblog.ru/error404.html’);
exit;
} ?>
######################################
где адрес http://odminblog.ru/error404.html путь к сконфигурированной до этого странице ошибки.
VN:F [1.9.21_1169]
Rating: 10.0/10 (7 votes cast)
VN:F [1.9.21_1169]
Rating: +4 (from 4 votes)
Рубрика: Сайты и их проблемы | Отзывов: 4 »
Thursday, 25 Feb 2010
Интересный момент открылся при использовании правого клика мышь на объекте при использовании клавиши Shift, что дает дополнительный функционал открытия файла в виде пункта Открыть с помощью. Как оказалось эта связка в виде правого клика и Shift действует также на такой пункт меню, как Отправить.
(more…)
VN:F [1.9.21_1169]
Rating: 8.3/10 (3 votes cast)
VN:F [1.9.21_1169]
Рубрика: Windows | Ваш отзыв »
Tuesday, 16 Feb 2010
Из Windows Vista в Windows 7 пришла одна из наиболее раздражающих фич, так называемый контроль учетных записей или проще говоря UAC (User Account Control). Наша основная задача сразу же отключить его, иначе стандартная установка нужных программ на наш компьютер грозит сразу же превратиться в головняк, хотя для остальный юзверей эта вещь более чем необходима, чтобы пользователь успел дважды подумать, так ли ему нужна эта программа, а поскольку стандартный пользователь выскакивающие меню не читает, то вполне вероятно, что уже на этой стадии у него возникнут проблемы.
Итак UAC отключается двумя способами, из командной строки и используя панель управления, так что каждый выбирает для себя более простой способ.
(more…)
VN:F [1.9.21_1169]
Rating: 5.2/10 (146 votes cast)
VN:F [1.9.21_1169]
Rating: +8 (from 20 votes)
Рубрика: Windows, Подсказки | Отзывов: 17 »
Wednesday, 10 Feb 2010
В конечном итоге заразу выходного дня мне победить удалось, путем установки ESET Smart Security 4, перестановкой Firefox, и долгим сканом в safe mode. Но все равно после этой процедуры машинка продолжала несколько тупить, хотя и не стучалась уже по всем адресам. На самом деле онтивири не нашли ничего критичного, так что я полагаю это в большей мере был глюк бродилки, нежели действительно какой то троян. Но вообщем после того как я понял, что “старушка уже не та” я вспомнил о том, что давно уже собирался поставить себе Win XP SP3, но все не хватало времени, рук, желания и прочее многое. Поэтому я решил не тратить время зря на попытки реанимировать систему, которая у меня простояла как минимум 4 года, а переставить её на Windows 7, которой я разжился пару месяцев назад, но до этого мне довелось её пользовать только в виртуальном окружении.
Итак, что я могу сказать по %subject%. Приятный интерфейс установки, явно видно, что создатели постарались над базой драйверов, которая без лишних вопросов увидала мой SCSI винт, хотя я и скачал с офф.сайта все возможные драйвера для него, но довольно долгая загрузка системы и задумчивость в процессе. Установка упрощена до максимума, так что от пользователя, в данном варианте, требуется только жать на next, тем более что других кнопок там и нет. И вот тут то, база драйвером сыграла со мной злую шутку: система на окончании установки стала просто безвозвратно залипать, то есть пишется Completing installation, система минут 5 шуршит винтом, определяет видео карточку, снова шуршит, а потом наглухо виснет. После перезагрузки, система говорит, что раз установка завершилась некорректно, то начните её снова, то есть таким образом, тем более если учитывать, что сама установка от и до идет порядка 40 минут (на виртуалке все ставилось само собой в разы быстрее), я просто потерял 2 часа, пока не скумекал отключить все что можно и только после этого загрузка завершилась удачно.
Сама система конечно крайне зализана, интерфейс крайне приятно выглядит, но- пока я еще не настроил систему и не подключился к инету, чтобы скачать все возможные обновления, так что дрова от мелкомягких работают несколько криво- система определила видюху, монитор, чем меня порадовала, поскольку про LaCie мало кто знает вообще, не то чтобы определять монитор. Но, при этом устройства, подключаемые к usb на морде, не определяются и поэтому приходится довольствоваться только имеющимися локальными дисками. Куча настроек в которых я пока особо не разбирался, ибо не хватило времени, так как и без этого провозился с установкой до трех ночи.
Вобщем, ощущения пока на слабенькую четверочку и завтра продолжу свои изыскания на ниве исследования операционки Windows 7.
VN:F [1.9.21_1169]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.21_1169]
Рубрика: Windows | Ваш отзыв »