Статьи

Как проверить работоспособность почты на сервере mail.server.ua используя утилиту telnet?

  1. Команда для входа на почтовый сервер:
    telnet mail.server.ua 110
  2. Задать имя пользователя: user user@server.ua
  3. Задать пароль для пользователя: pass PassW0rd
  4. Получить список писем: list
  5. Прочитать письмо retr x (где x - это номер письма)
  6. Для выхода введите команду quit

  7. Статьи на похожую тему (telnet):


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

Для того, чтобы установить сервер subversion (SVN) на FreeBSD необходимо:

  • зайти с правами root
  • выполнить команды:
  • cd /usr/ports/devel/subversion
  • make clean install && make clean
  • подождать пока все что нужно установится
  • отредактировать скрипт запуска системы vi /etc/rc.conf
  • добавить в него строки:
  • svnserve_enable="YES"
  • svnserve_flags="-d --listen-port=3690"
  • svnserve_data="/home/svn/repositories"
  • svnserve_user="svn"
  • svnserve_group="svn"
  • сохранить изменения и выйти из редактора Vi команда :wq
  • создать директории для репозиториев mkdir -p /home/svn/repositories
  • добавить группу SVN pw group add svn
  • и пользователя SVN в одноименную группу pw user add svn -g svn -s /sbin/nologin -d /home/svn/repositories/

Запуск сервера subversion: /usr/local/etc/rc.d/svnserve start

Перезапуск сервера subversion: /usr/local/etc/rc.d/svnserve restart

Создание и базовая настройка репозитория:

  • Для примера создадим репозиторий под названием htdocs, который будет храниться в директории /home/svn/repositories/htdocs/
  • svnadmin create /home/svn/repositories/htdocs/
  • chown -R svn:svn /home/svn/
  • Теперь настроим репозиторий так, чтобы анонимные пользователи не имели к нему доступа, а изменения могли вносить только разегистрированые пользователи
  • cd /home/svn/repositories/htdocs/conf
  • vi svnserve.conf
  • раскомменитруем строки
  • anon-access = none
  • auth-access = write
  • password-db = passwd
  • сохраним изменения и выйдем из редактора командой :wq
  • теперь в файле passwd создаем пользователей, которые могут работать с репозиторием в формате логин = пароль
  • перезапускаем сервер subversion: /usr/local/etc/rc.d/svnserve restart
  • работаем с созданным репозиторием

Статьи на похожую тему (SVN):
Статьи на похожую тему (FreeBSD):

По моему опыту одним из самых лучших бесплатных редакторов для программистов в среде Windows Notepad++. У него очень удобный интерфейс, а так же очень богатый инструментарий по работе с разными языками программирования.

В последнее время в больших проектах все чаще стали использоваться системы контроля версий. В настоящее время одной из самых популярных систем контроля версий можно назвать Subversion.

Для работы с этой системой контроля версий в среде операционной системы Microsoft Windows удобно использовать plugin TortoiseSVN, который встраивается в оболочку системы Explorer.

При постоянной работе в редакторе удобнее вызывать команды по работе с репозиторием прямо из среды разработки. Для этого необходимо создать пользовательские команды, которые будут производить нужные программисту действия:

  • add;
  • commit;
  • update;
  • diff;
  • lock;
  • unlock;
  • revert;
  • и другие…

Чтобы настроить такую среду разработки необходимо:

  • установить редактор Notepad++;
  • установить plugin TortoiseSVN;
  • изменить системную переменную среды Path и добавить путь к папке с исполняемыми файлами TortoiseSVN (например «%programfiles%\TortoiseSVN\bin;»);
  • прописать в файле настроек пользовательских команд (например «%appdata%\Notepad++\shortcuts.xml») команды по работе с репозиторием.

Пример моего файла:


    
    
        firefox "$(FULL_CURRENT_PATH)"
        iexplore "$(FULL_CURRENT_PATH)"

        http://www.php.net/%20$(CURRENT_WORD)
        http://www.google.com.ua/search?q=$(CURRENT_WORD)
        http://ru.wikipedia.org/wiki/Special:Search?search=$(CURRENT_WORD)
        $(NPP_DIRECTORY)\notepad++.exe $(CURRENT_WORD)

        $(NPP_DIRECTORY)\notepad++.exe $(CURRENT_WORD) -multiInst
		TortoiseProc.exe /command:add /path:"$(FULL_CURRENT_PATH)" /logmsg:"Notepad++ Add log message" /notempfile
        TortoiseProc.exe /command:commit /path:"$(FULL_CURRENT_PATH)" /logmsg:"Notepad++ Commit log message" /notempfile
        TortoiseProc.exe /command:update /path:"$(FULL_CURRENT_PATH)" /logmsg:"Notepad++ Update log message" /notempfile /rev

		TortoiseProc.exe /command:diff /path:"$(FULL_CURRENT_PATH)" /notempfile
        TortoiseProc.exe /command:lock /path:"$(FULL_CURRENT_PATH)" /logmsg:"Notepad++ Lock log message" /notempfile
        TortoiseProc.exe /command:unlock /path:"$(FULL_CURRENT_PATH)" /logmsg:"Notepad++ Unlock log message" /notempfile
        TortoiseProc.exe /command:revert /path:"$(FULL_CURRENT_PATH)" /logmsg:"Notepad++ Revert log message" /notempfile

    
    
        
            
            
            

            
            
            
            
        
        

            
        
    


Статьи на похожую тему (SVN):

Купили новый ноутбук Acer Extensa 6150.

На нем был установлен какой-то обрезанный китайский Live CD Linux.

Поскольку Windows Vista требовательна к ресурсам - решили поставить Windows XP.

Стандартный дистрибутив Windows XP не содержал драйверов SATA контроллера. Пришлось взять драйвера для установки с официального FTP Acer.

Дисковода флоппи дисков в новом ноутбуке не предусмотрено. Скопировал драйвера через дисковод в другом компьютере.

В Интернете нашел много полезной информации про интеграцию недостающих драйверов контрллера SATA в дистрибутив Windows XP.

Решил начать со способа интеграции описанного на сайте OSZone.net

Пошагово выполнил все инструкции, создал образ, записал его, загрузился - драйвера не определяются.

Взял утилиту N-Lite, сделал интеграцию, создал образ, записал его - установка прошла успешно.

В процессе установки драйверов возникли проблемы только с модемом. Исполняемый файл выдавал ошибку: модема нет.

Установил драйвер модема альтернативным способом: обновление драйвера с указанного места (где лежат необходимые драйвера).

Теперь ноутбук нормально работает.

Вывод: не всегда верьте тому, что написано в сети Интернет. Если есть средство, которое качественно автоматизирует сложный и рутинный процесс - лучше воспользоваться им.


Статьи на похожую тему (Windows XP):

Как удалить Windows Messenger и прочие стандартные компоненты Windows XP, которые не нужны для работы?

Последовательность действий:

  1. Открываем блокнот (notepad.exe)
  2. Открываем файл %windir%\inf\sysoc.inf
  3. Выбираем "Правка" - "Заменить" и заменяем слово hide на пустую строку :)
  4. Сохраняем файл
  5. Запускаем "Панель управления" - "Установка/Удаление программ" - "Установка компонентов Windows"

...и видим кучу скрытых ранее компонентов, которые можно смело удалять (если они не нужны). :)

© -= Iton =-


Статьи на похожую тему (Windows XP):

У меня возникла необходимость сделать переадресацию на адреса с www через 301 редирект в PHP. Возможно я это сделал кустарным методом, но главное, что она работает нормально :)

$http_host = getenv('HTTP_HOST');
$t1 = substr($http_host, 0, 4);
$t2 = 'www.';
if($t1 != $t2)
{
	$location = 'http://www.'.getenv('HTTP_HOST').getenv('REQUEST_URI');
	header("HTTP/1.1 301 Moved Permanently");
	header("Location: $location");
	exit;
}

Многооконность в shell (командной строке) в Unix-подобных системах (FreeBSD , Linux и др.) - это не миф. Программа screen (скрин) поможет в этом.

Установка screen (скринов) во FreeBSD:

office-srv$ su

office-srv# cd /usr/ports/*/screen

office-srv# pwd

/usr/ports/sysutils/screen

make install clean

===>  Vulnerability check disabled, database not found
=> screen-4.0.3.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from ftp://ftp.iptelecom.net.ua/pub/FreeBSD/distfiles/.
fetch: ftp://ftp.iptelecom.net.ua/pub/FreeBSD/distfiles/screen-4.0.3.tar.gz: Not logged in
=> Attempting to fetch from ftp://ftp.lucky.net/pub/FreeBSD/ports/distfiles/.
fetch: ftp://ftp.lucky.net/pub/FreeBSD/ports/distfiles/screen-4.0.3.tar.gz: File unavailable (e.g., file not found, no access)
=> Attempting to fetch from ftp://ftp.ukr.net/pub/FreeBSD/ports/distfiles/.
fetch: ftp://ftp.ukr.net/pub/FreeBSD/ports/distfiles/screen-4.0.3.tar.gz: File unavailable (e.g., file not found, no access)
=> Attempting to fetch from ftp://ftp7.ua.freebsd.org/pub/FreeBSD/ports/distfiles/.
fetch: ftp://ftp7.ua.freebsd.org/pub/FreeBSD/ports/distfiles/screen-4.0.3.tar.gz: File unavailable (e.g., file not found, no access)
=> Attempting to fetch from ftp://ftp.uni-erlangen.de/pub/utilities/screen/.
screen-4.0.3.tar.gz                            41% of  820 kB   21 kBps 00m22s
...
/usr/local/bin/screen

      If there are vulnerabilities in these programs there may be a security
      risk to the system. FreeBSD makes no guarantee about the security of
      ports included in the Ports Collection. Please type 'make deinstall'
      to deinstall the port if this is a concern.

      For more information, and contact details about the security
      status of this software, see the following webpage:
http://www.gnu.org/software/screen/
===>  Cleaning for screen-4.0.3

после установки:

office-srv# rehash


А теперь вкратце о том как работать со screen (скринами) во FreeBSD.

Команды для работы со screen (скринами):

- начинаем работу с создания скрина: # screen -a

- создание окон screen_name: # screen -t screen_name

- создание нового окна: [ Ctrl + a + c ]

- удаление окна: [ Ctrl + d ]

- переключение между двумя последними открытыми окнами: [ Ctrl + a ]

- переключение на следующее открытое окно: [ Ctrl + a + n ]

- переключение на предыдующее открытое окно: [ Ctrl + a + p ]

- отключение от окон: [ Ctrl + a + d ]

- подключение к окнам: # screen -dr

- после выхода к сессии можно вернуться при помощи: # screen -r

- после аварийного выхода, отсоединение от скрина не всегда регистрируется, при попытке повторного подключения выдается сообщение о том, что скрин активен, подключиться невозможно. Подключение к такому скрину выполняется при помощи: # screen -x

Выражаю благодарность Евгению Нечипоренко и Ивану Фитенко (sin) за полезную информацию благодаря которой эта заметка появилась.


Недавно подсказали классный способ делать редирект через запрос к поисковой системе. Вот пример такой ссылки с редиректом через поисковую систему Google: портал информации для веб-разарботчика.


  • 200 - OK
  • 201 Created
  • 202 Accepted
  • 203 Provisional Information
  • 204 No Content
  • 300 Multiple Choices
  • 301 Moved Permanently
  • 302 Moved Temporarily
  • 303 Method
  • 304 Not Modified
  • 400 Bad Request - неправильный запрос
  • 401 Authorization Required - ошибка авторизации
  • 402 Payment Required
  • 403 Forbidden - нет доступа
  • 404 Not Found - документ не найден
  • 405 Method Not Allowed
  • 406 None Acceptable
  • 407 Proxy Authentication Required
  • 408 Request Timeout
  • 409 Conflict
  • 410 Gone
  • 500 Internal Server Error - внутренняя ошибка скрипта
  • 501 Not Implemented
  • 502 Bad Gateway
  • 503 Service Unavailable
  • 504 Gateway Timeout

Чтобы заставить систему управления XCMSpro версии 2.1.2 работать с SVN репозиторием необходимо в файле "lib\Loader.lib.php" в функции function getLibFiles($dirPath,$files='') поменять условие отбора файлов. Вместо

elseif($file!='.' && $file!='..' && is_dir($filename))
поставить
elseif($file!='.' && $file!='..' && $file!='.svn' && is_dir($filename))


Статьи на похожую тему (SVN):

Недавно купил ноутбук HP Compaq 6720s без установленной ОС.

По-умолчанию на такого рода ноутбуки устанавливают Windows Vista. Поскольку эта версия ОС более требовательна к ресурсам, то и электропитания она больше потребляет, а для работы на ноутбуке это критично. К тому же не все необходимое мне ПО работает с Windows Vista. Поэтому решил перейти на давно знакомую Windows XP Professional SP2 Russian.

Для установки ОС Windows XP на HP Compaq 6720s необходима интеграция драйверов SATA в дистрибутив программой N-Lite аналогично тому способу, который я описывал ранее.

Закачал все драйвера с официального сайта HP и установил все те, что были мне нужны.

Из неприятных сюрпризов:

  1. драйверов для встроенного модема VEN_11С1&DEV_1040 (полный код экземпляра устройства:
    HDAUDIO\FUNC_02&VEN_11С1&DEV_1040&SUBSYS_103C1378&REV_1002\4&1ADBBA33&0&0101
    ) там не нашел;
  2. драйверов на еще одно неизвестное устройство ACPI\HPQ0006\2&DABA3FF&0 тоже не было;
  3. сеть не работает.

Лекарство на первые 2 проблемы нашел на форуме forum.ru-board.com нашел ссылки на драйвера таких устройств как: модем VEN_11С1&DEV_1040 и HP Quick Launch Buttons.

С последней проблемой мне помог справиться форум на сайте http://noutbukov.net/. Обновил BIOS утилитой HP под Windows и после перезагрузки системы сеть сразу же заработала.

Вывод из этой истории такой: если для вашего нового ноутбука нету каких-то драйверов поищите решение в сети Интернет на специализированных форумах. Наверняка кто-то уже сталкивался с подобной проблемой и подскажет как ее проще решать.


Статьи на похожую тему (Windows XP):

Иногда возникает задача добавить пользователя на сервер с FreeBSD и разрешить ему доступ по SSH.

Для работы с учетными записями во FreeBSD удобно использовать набор утилит pw

Пример добавления пользователя podlom выглядит так:
pw useradd podlom -G wheel -s /bin/tcsh -m -d /home/podlom

Опции:

  • -G - добавить полнителя в группу wheel (нужно, чтобы можно было по SSH заходить)
  • -s - оболочка (список доступных вариантов можно посмотреть more /etc/shells)
  • -m - создать домашнюю директорию пользователю
  • -d - путь к домашней директории пользователя

Другие опции утилиты pw можно посмотреть на странице справки man pw

После добавления меняем пароль пользователю: passwd podlom

Но это еще не все. Если пользователь не может зайти после всех ранее проделанных действий необходимо проверить файл конфигурации демона sshd vi /etc/ssh/sshd_config

Если в конфигурационном файле есть строки в AllowUsers userok , то под ними добавляем AllowUsers podlom


У меня недавно возникла задача. Необходимо было сделать переадресацию всех страниц с одного домена на другой (с сохранением структуры всех URL-ов).

Решается эта задача с помощью .htaccess так:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain.ua [NC]
RewriteRule ^(.*)  http://domain.ua/$1 [L,R=301]

Теперь все страницы будут переадресованы на другой домен: domain.ua с сохранением структуры и поисковые системы проиндексируют изменение старого домена на новый.


Недавно бродил по просторам Wikipedia и забрел на страницу про PHP.

В разделе пасхальные яйца написано, что если обратиться к любому скрипту в PHP со специальными параметрами, то можно получить картинку или список разработчиков PHP4

Естественно, что в PHP5 этих пасхальных яиц нет.

Теперь можно легко определить если на сервере установлен PHP4. Просто запросить любой сценарий с волшебным параметром.

И еще один побочный еффект: теперь любой знающий эти свойства PHP4 программист или хакер может определить есть ли на сервере файл с каким-то именем. Если да - получит содержимое пасхальных яиц PHP4. Если нет 404-ю ошибку. Можно конечно поменять структуру хранения файлов. Еще как вариант: убрать или поменять расширения, что не всегда удобно или возможно.

Одним словом есть над чем подумать.


Часто возникают вопросы:

  • как посмотреть проиндексирован ли сайт в поисковой системе?
  • сколько страниц сайта и как проиндексированы в поисковой системе?

Для ответа на эти вопросы необходимо составить специальный запрос.

Вот примеры такого запроса для поисковых систем Google и Yandex.

Посмотреть как проиндексирован этот сайт в поисковой системе Google

Посмотреть как проиндексирован этот сайт в поисковой системе Yandex

Жаль что у каждой поисковой системы разный синтаксис таких команд.


Как проверить работоспособность отправки почты на сервере mail.server.ua используя утилиту telnet?

  1. Команда для входа на почтовый сервер:
    telnet mail.server.ua 25
    Trying aaa.bbb.ccc.ddd...
    Connected to mail.server.ua (aaa.bbb.ccc.ddd).
    Escape character is '^]'.
    220 mail.server.ua ESMTP Sendmail x.y.z/x.y.z; Fri, 7 Mar 2008 10:09:22 +0200
  2. Введите команду приветствия: helo eee.fff.ggg.hhh
    (где eee.fff.ggg.hhh ваш IP-адрес с которого вы запустили telnet)
    250 mail.server.ua Hello mail.server.ua [aaa.bbb.ccc.ddd] pleased to meet you
  3. Укажите адрес отправителя (должен быть в том же домене, что и почтовый сервер: server.ua)
    mail from: taras@server.ua
    250 2.1.0 taras@server.ua... Sender ok
  4. Укажите адресата (mailto@mail.kiev.ua):
    rcpt to: mailto@mail.kiev.ua
    250 2.1.5 taras... Recipient ok
  5. Введите команду data
    354 Enter mail, end with "." on a line by itself
  6. Subject: тема тестового письма
  7. Текст письма,
    а в конце письма одну точку в строке, чтобы закончить
    .
  8. 250 2.0.0 x2789MjQ008048 Message accepted for delivery
  9. Введите для выхода
    quit
  10. 221 2.0.0 mail.server.ua closing connection
    Connection closed by foreign host.

Статьи на похожую тему (telnet):

Столкнулся с проблемой. Установил Subversion на свою рабочую станцию с Windows XP и пытался получить доступ к репозиторию на удаленном сервере через svn+ssh.
Получил такое сообщение об ошибке:
svn: Can't create tunnel: Не удается найти указанный файл.
В поисковике нашел ответ на мой вопрос в статье: How to use svn+ssh Subversion access protocol on Windows, но после того как я написал в файле %AppData%\Subversion\config строку
ssh = C:/Program Files/putty/PLINK.EXE
(у меня там находится нужный для создания тунеля файл PLINK.EXE) при попытке запустить на выполнение любую команду subversion (например, svn up) получаю мигающий курсор и ничего не происходит :(

Проблема решилась только добавлением ключа -pw и пароля. Только после этого команда svn up отработала отлично.


Статьи на похожую тему (SVN):

Вопрос казалось-бы очень простой. Есть специальный мета тег &temp_lt;meta name="Robots" content="..."&temp_gt;, который должен быть размещен в шапке документа (между тегами &temp_lt;head&temp_gt;). Он указывает роботам поисковых систем как нужно индексировать сайт.
Значения поля content могут быть такими:

  • NOINDEX - запрещает индексирование документа;
  • NOFOLLOW - запрещает проход по ссылкам, имеющимся в документе;
  • INDEX - разрешает индексирование документа;
  • FOLLOW - разрешает проход по ссылкам.
  • ALL - равносильно INDEX, FOLLOW
  • NONE - равносильно NOINDEX, NOFOLLOW

Теперь ситуация из моей личной практики: пока сайт был на тестовом субдомене в шаблон был добавлен такой вариант тега: &temp_lt;meta name="robots" content="noindex,nofollow"&temp_gt;
После переноса на реальный домен этот тег не убрали. В результате поисковые системы сайт не индексируют. Заказчик сайта сильно огорчен.
Вывод такой: или вообще не добавлять такие теги даже на тестовый сервер или удалять их, а лучше это делать автоматически, чтобы не забыть.
Необходимо проверять имя домена и если оно не равно тестовому - не выводить потенциально опасный тег.
Один раз написал такой код, проверил, что тег пропадает если имя домена не равно тестовому и спокойно живешь, и все довольны твоей работой.
Например, на PHP, это будет выглядеть так:

if(getenv('HTTP_HOST') != 'test.domain.kiev.ua') {
// выводить тег запрета индексации
// только на тестовом сервере test.domain.kiev.ua
	echo '&temp_lt;meta name="Robots" content="noindex,nofollow"&temp_gt;'."n";
} else {
// в остальных случаях индексировать все
	echo '&temp_lt;meta name="Robots" content="all"&temp_gt;'."n";
}

Недавно наткнулся на интересную команду chcp, которая меняет кодировку командного интерпретатора Windows NT cmd.exe

Очень часто нужно, чтобы вместо кодовой страницы cp866 (заданной по-умолчанию) данные были в cp1251 (команда chcp 1251) или в utf8 (chcp 65001).


Иногда бывает необходимость найти группу файлов или папок определенного и сразу же что-то с ними сделать. Для этих целей можно воспользоваться командами find, grep и xargs

Например:

  • find . -type d | grep -i _c | xargs chmod 777 - найти все папки, имена которых заканчиваются на _c, начиная с текущей директории и во всех вложенных директориях, и выполнить для них команду chmod 777 (это полезно для работы Smarty, если шаблоны, которые компилируются, хранятся в разных местах)
  • find . | xargs chown user:group - изменить права владения всех вложенных файлов и папок начиная с текущей
  • find . -type f | grep -i .txt | xargs chmod 666 - найти все файлы с расширением .txt, начиная с текущей директории и во всех вложенных директориях, и выполнить для них команду chmod 666