Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Формат хранения инфы о сайтах на сервере в db под управлением апача. |

24.08.2009, 17:38
|
|
Познающий
Регистрация: 09.08.2007
Сообщений: 58
Провел на форуме: 389103
Репутация:
15
|
|
Формат хранения инфы о сайтах на сервере в db под управлением апача.
Здравствуйте, есть вопрос на который ни где не могу найти ответ. Получил доступ к хостеру. Пути к сайтам на сервере храняться в файле /etc/httpd/conf/vhost.db. Если открыть блокнотом, то там структура такова:
Сначала идут какие то бракозябры
б?¦?”?b?<??ь>А>µ>Љ>[>2>>к=Ч=«=w=B==х<в<¶<‰<[<J<$<<а;·;‰;c;8;ь:ї:Њ:_:.:ш9е9І9‡9W9( 9я8н8В8’8]8388Ы7*7s7877к6ѕ6Ќ6_6066г5ё5“5Ѓ5V55Э4Н4 ќ4^4%44г3Є3w3^3)33б2*22k2722Я1Н1*1k151 1е0У0ґ0ѓ0M0$0ц/З/“/f/4/!/ь.Я.є.?.\.0..Щ-®-…-^-<-ю,И,‘,_,(,ъ+З+”+`+.+ы*К*”*i*=**а)¬) Ќ)])())г(Т(Ў(Џ(a(T('(ы'Х'—'Z''Э&І&‹&[&,&&д%І%Ѓ%M%%и$ѕ$’$c$0$ю#Х#°#y#C##л" ѕ"Ћ"`"3"ю!С!ќ!f!3!!Щ І T # пГ˜nAВ„G3 тЕ®{kBЫЁv7щЗ’b/ьКџqCйДЌWK&чИ№ЊX$ бРЈ“j8Ю°›j…Q(ЯЎk4Лќj7р Ѕ‹X'сЖљn=&уї*‹Z,щгґ ЁѓS ЩИ—…W=ЦЙњrN1ыЦі‡ a4 ЪЇ‚]вҐe:г ґ „ U / ЫЄvCз»ЊZ%у ѕ и У ў ’ b Е • d . $ ъ й ё ‰ \ 3 ЮІҐxf?+ызєЃGбОў“hR пЅ°ЉyL8ыТ®…m7+ФЎo
А потом длинная строчка вида
.../mnt/target03/352302/www.site.net/web/content/site.net.php5-7.webtest.com/mnt/Target01/336159/338721/www.site2.uswww.site2.us.php5-5.webtest.com...
Потом опять иероглифы и снова строчка описанного вида. После таких чередований файл заканчиваеться опять же строчкой из путей к сайтам.
Вопрос в том чем такую бд можно корректно открыть, пробовал различные программы - выдавали ошибку об отсутсвии индекса, повреждение чего то там... Начал копаться выяснил инофрмацию о формате db
# Хэш файл
MapType: dbm[=type], MapSource: Путь к существующему файлу в файловой системе Unix
Здесь, источник это двоичный файл DBM формата содержащий то же самое содержимое что и простой текстовый файл, однако в специальном виде, оптимизированном
для действительно быстрого поиска. Этот тип может быть sdbm, gdbm, ndbm, или db в зависимости от настроек при компиляции. Если тип опущен, выбирается тип
установленный по умолчанию при компиляции. Вы можете создавать такой файл любой утилитой DBM или следующим Perl скриптом. Убедитесь что он настроен для создания
требуемого типа DBM файла. Этот пример создает файл NDBM.
#!/path/to/bin/perl
##
## txt2dbm -- convert txt map to dbm format
##
use NDBM_File;
use Fcntl;
($txtmap, $dbmmap) = @ARGV;
open(TXT, "<$txtmap") or die "Couldn't open $txtmap!\n";
tie (%DB, 'NDBM_File', $dbmmap,O_RDWR|O_TRUNC|O_CREAT, 0644)
or die "Couldn't create $dbmmap!\n";
while (<TXT>) {
next if (/^\s*#/ or /^\s*$/);
$DB{$1} = $2 if (/^\s*(\S+)\s+(\S+)/);
}
untie %DB;
close(TXT);
$ txt2dbm map.txt map.db
В файле /etc/httpd/conf.d/vhost.conf такое содержимое:
# THIS FILE IS MANAGED BY PUPPET -- DO NOT CHANGE
# FOR CHANGES, PLEASE CONTACT SYSTEMS
#
<Directory /mnt/Target01>
Options +Includes SymLinksIfOwnerMatch
AllowOverride All
XBitHack On
</Directory>
<Directory /mnt/target02>
Options +Includes SymLinksIfOwnerMatch
AllowOverride All
XBitHack On
</Directory>
<Directory /mnt/target03>
Options +Includes SymLinksIfOwnerMatch
AllowOverride All
XBitHack On
</Directory>
<Directory /mnt/target04>
Options +Includes SymLinksIfOwnerMatch
AllowOverride All
XBitHack On
</Directory>
UseCanonicalName Off
LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
LogFormat "%V %{X-Cluster-Client-ip}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" ZXTM
CustomLog /var/log/httpd/mass_access_log ZXTM
RewriteEngine on
RewriteMap lowercase int:tolower
# define the map file
RewriteMap vhost dbm=DB:conf/vhost
# deal with aliases as above
RewriteCond %{REQUEST_URI} !^/cgi-bin/
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
# this does the file-based remap
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/web/content/$1
RewriteCond %{REQUEST_URI} ^/cgi-bin/
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/web/cgi-bin/$1
Сам файл большого размера. Проблему решаю уже около 2 месяцев. Решил искать помощи на форуме.
Одно из решений это написать парсер, что я усердно делал на php. Получилось криво, но все же получилось так как ни о какой оптимизации в моем ньбовских начинания и речи быть не может. Так что если есть кодер который сможеть написать скрипт, который еще и пр прочекает и в mysql все дело красиво запишет, ОТПИШИСЬ скину ТЗ.
Второе уже дело принципа, как то же должен открываться такой файл, простыми средствами (пока писал пост обратил внимание на запись MANAGED BY PUPPET - возможно с этим что то связано.)
P.S. В любом случае заплачу wmz за решение проблемы или за любые конструктивные предложения. ICQ 357-815-один3шесть. Также заранее спасибо тому кто кодера подскажет!
P.P.S. Есть такие вот вспомагательные материалы:
http://httpd.apache.org/docs/2.0/programs/dbmmanage.html
И якобы это тоже поможет
C:\Documents and Settings\M@rtein>cd C:\Program Files\Motiw\software\Apach
e2\bin
C:\Program Files\Motiw\software\Apache2\bin>htdbm.exe
htdbm -- program for manipulating DBM password databases.
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|