HSDN Mirroring Cacher, Скрипт зеркалирования сайтов |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
HSDN Mirroring Cacher, Скрипт зеркалирования сайтов |
![]()
Сообщение
#1
|
|
![]() Администратор ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 277 Регистрация: 18.12.2007 Из: Саратов Пользователь №: 1 ![]() |
Данный класс позволяет создать зеркало любого удаленного ресурса на локальном сервере. Созданное зеркало по сути является прокси сервером, который будет непосредственно взаимодействовать с удаленным хостом. Благодаря системе встроенного кэширования страниц и картинок, нет нужды многократно загружать одну и ту же страницу с сервера.
Скачать: https://git.dev.hsdn.org/pub/mcacher/src/ma...acher.class.php -------------------- |
|
|
![]()
Сообщение
#2
|
|
Новичок ![]() Группа: Пользователи Сообщений: 6 Регистрация: 16.6.2009 Пользователь №: 353 ![]() |
А этот скрипт что, картинки не может показывать??? Я вот сделал все как там написано... вот что получилось.... qipstatus.vfose.ru
и что там за ошибки?? получилось убрать эти ошибки только удалением функции в этой строчке ((( |
|
|
![]()
Сообщение
#3
|
|
![]() Администратор ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 277 Регистрация: 18.12.2007 Из: Саратов Пользователь №: 1 ![]() |
А этот скрипт что, картинки не может показывать??? Я вот сделал все как там написано... вот что получилось.... qipstatus.vfose.ru и что там за ошибки?? получилось убрать эти ошибки только удалением функции в этой строчке ((( Установите error_reporting(0); в начале скрипта. -------------------- |
|
|
![]()
Сообщение
#4
|
|
Новичок ![]() Группа: Пользователи Сообщений: 6 Регистрация: 16.6.2009 Пользователь №: 353 ![]() |
Хороший вариант, сделал!
![]() ![]() |
|
|
![]()
Сообщение
#5
|
|
![]() HSDN Team ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 55 Регистрация: 18.2.2008 Пользователь №: 75 ![]() |
Хороший вариант, сделал! ![]() ![]() Смотрите папку с кешем...в большинстве случаев проблема заключается в ней. -------------------- |
|
|
![]()
Сообщение
#6
|
|
Новичок ![]() Группа: Пользователи Сообщений: 6 Регистрация: 16.6.2009 Пользователь №: 353 ![]() |
Смотрите папку с кешем...в большинстве случаев проблема заключается в ней. Значит всетаки скрипт картинки поддерживает? Тогда как сделать чтобы они отображались? Ь((((( а че смотреть в этом кеше? вроде файлы записываются, даже если удалить эту папку, она сама создается... права полные, ибо это все на WIN... размер 140кб... |
|
|
![]()
Сообщение
#7
|
|
Новичок ![]() Группа: Пользователи Сообщений: 8 Регистрация: 5.5.2009 Пользователь №: 298 ![]() |
что то не получается
![]() Цитата Server error! The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there was an error in a CGI script. If you think this is a server error, please contact the webmaster. Код root@saikov archlinux.org.ru]# ls -la итого 56 drwxr-xr-x 3 root root 4096 Окт 5 23:14 . drwxrwxrwx 14 root root 4096 Окт 5 22:58 .. -rw-r--r-- 1 root root 141 Окт 5 23:07 .htaccess drwxrwxr-x 2 root root 4096 Окт 5 23:00 cache -rwxrwxr-x 1 root root 1770 Окт 5 23:13 cacher.php -rwxrwxr-x 1 root root 35166 Окт 5 22:59 mcacher.class.php Код <?php include 'mcacher.class.php'; // Подключение класса $mcp = new Cacher; // Определение класса $mcp->cache_dir = 'cache'; // Директория хранения файлов кэша $mcp->cache_time = 24; // Период хранения кэша в часах (0 -- не кэшировать) // Пути, для которых следует применить индивидуальный период хранения кэша $mcp->custom_cache = array ( "^/news" => 0, // Не кэшировать страницу /news ".dhtml$" => 4 // Обновлять кэш для файлов .dhtml раз в 4 часа ); // Ограничение доступа к различным ресурсам, страницам или файлам $mcp->forbidden = array ( "^/badpage.php", // Закрыть доступ к странице /badpage.php ".mp3$" // Закрыть доступ ко всем файлам .mp3 ); $mcp->connect = 'http://www.hsdn.org'; // Адрес подключения // Автозамена реального имени сайта на имя сайта зеркала в заголовках HTTP $mcp->head_replace = array ( '[b]http://www.archlinux.org.ru[/b]' => $_SERVER['SERVER_NAME'] // Для заголовков, пр. Location ); // Автозамена реального имени сайта на имя сайта зеркала в теле страницы, // а также в ссылках на страницах $mcp->body_replace = array ( '[b]http://www.archlinux.org.ru[/b]' => '' // Заменяем ссылки вида: // href="http://www.hsdn.org/link" на href="/link" ); $mcp->run_cache(); // Запуск класса Что не верно? Надо зазеркалить archlinux.org.ru Лог пишет вот что. [Mon Oct 05 23:30:17 2009] [alert] [client 88.147.239.57] /srv/http/archlinux.org.ru/.htaccess: Options not allowed here А IP в логе пишет ФОСовский а не инетовский |
|
|
![]()
Сообщение
#8
|
|
![]() Администратор ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 277 Регистрация: 18.12.2007 Из: Саратов Пользователь №: 1 ![]() |
Цитата Что не верно? Надо зазеркалить archlinux.org.ru Лог пишет вот что. [Mon Oct 05 23:30:17 2009] [alert] [client 88.147.239.57] /srv/http/archlinux.org.ru/.htaccess: Options not allowed here А IP в логе пишет ФОСовский а не инетовский Скорее всего это ошибка в конфигурации апача. Установите директиву AllowOverride All в файле httpd.conf. Эта директива отвечает за доступность настроек сервера через файлы .htaccess. Также стоит проверить, поддерживается ли mod_rewrite вашим сервером. -------------------- |
|
|
![]()
Сообщение
#9
|
|
Новичок ![]() Группа: Пользователи Сообщений: 8 Регистрация: 5.5.2009 Пользователь №: 298 ![]() |
Я пытаюсь это дела привязать к виртуал хосту.
Код /etc/httpd/conf/extra/httpd-vhosts.conf Код <VirtualHost *:80> ServerAdmin admin@saikov.org.ru DocumentRoot "/srv/http/archlinux.org.ru" ServerName archlinux.vfose.ru ErrorLog "/var/log/httpd/test_log" CustomLog "/var/log/httpd/test_log_custom" common </VirtualHost> Код /etc/httpd/conf/httpd.conf Код <Directory /> Options FollowSymLinks AllowOverride All Order deny,allow Deny from all </Directory> <Directory "/srv/http"> Options FollowSymLinks AllowOverride All Order deny,allow Deny from all </Directory> <FilesMatch "^\.ht"> Order allow,deny Deny from all Satisfy All </FilesMatch> Цитата Также стоит проверить, поддерживается ли mod_rewrite вашим сервером. Как это проверить? Вот так у меня... не пойму в чем дело? |
|
|
![]()
Сообщение
#10
|
|
Новичок ![]() Группа: Пользователи Сообщений: 8 Регистрация: 5.5.2009 Пользователь №: 298 ![]() |
Проблема решилась добавлением в httpd.conf
<Directory "/srv/http/archlinux.org.ru"> Options FollowSymLinks AllowOverride All </Directory> Вроде работает теперь, но есть вопрос.. Если на сайте есть авторизация, то зеркало уже не будетпрксироваться? только вот картинки не грузятся |
|
|
![]()
Сообщение
#11
|
|
![]() Администратор ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 277 Регистрация: 18.12.2007 Из: Саратов Пользователь №: 1 ![]() |
Вроде работает теперь, но есть вопрос.. Если на сайте есть авторизация, то зеркало уже не будетпрксироваться? только вот картинки не грузятся Авторизация будет работать, но только с отключенным кешированием страниц, т.к. в текущей версии класса кукисы тоже кешируются. Картинки можно кешировать отдельно, отдельным экземпляром класса. И картинки у вас не грузятся возможно из-за того, что вы допустили ошибку в описании класса и/или скрипта его запуска. Скорее всего имеются некоторые символы перед <?php и после ?>, или же какие-то echo/print в скрипте запуска класса. -------------------- |
|
|
![]()
Сообщение
#12
|
|
Новичок ![]() Группа: Пользователи Сообщений: 8 Регистрация: 5.5.2009 Пользователь №: 298 ![]() |
Авторизация будет работать, но только с отключенным кешированием страниц, т.к. в текущей версии класса кукисы тоже кешируются. Картинки можно кешировать отдельно, отдельным экземпляром класса. И картинки у вас не грузятся возможно из-за того, что вы допустили ошибку в описании класса и/или скрипта его запуска. Скорее всего имеются некоторые символы перед <?php и после ?>, или же какие-то echo/print в скрипте запуска класса. Спасибо за помоь, оказывается после ?> присутствовал символ пробела. |
|
|
![]()
Сообщение
#13
|
|
Новичок ![]() Группа: Пользователи Сообщений: 8 Регистрация: 5.5.2009 Пользователь №: 298 ![]() |
Возник вопрос по скрипту. Прошу пояснить. В настройках зеркалится сайт archlinux.org.ru. В прмере который у вас приводится я его прописал. Поставил не кешировать
Код $mcp->cache_time = 0; так же на всякий случай сделал Код $mcp->custom_cache = array ( "^/forum" => 0, // Не кэшировать страницу "^/arch_forum" => 0, ".dhtml$" => 4 // Обновлять кэш для файлов .dhtml раз в 4 часа ); И настроил автозамену и запуск Код $mcp->connect = 'http://archlinux.org.ru'; // Адрес подключения // Автозамена реального имени сайта на имя сайта зеркала в заголовках HTTP $mcp->head_replace = array ( 'archlinux.org.ru' => $_SERVER['SERVER_NAME'] // Для заголовков, пр. Location ); // Автозамена реального имени сайта на имя сайта зеркала в теле страницы, // а также в ссылках на страницах $mcp->body_replace = array ( 'http://archlinux.org.ru' => '' // Заменяем ссылки вида: // href="http://www.hsdn.org/link" на href="/link" ); $mcp->run_cache(); // Запуск класса После этих манипуляций я вижу либо пустую страницу, либо загруженную ее полностью без стилей (( Что надо сделать для исправления? Посмотрите archlinux.vfose.ru Если перейти на сылку в форум, то он тоже как то криво открывается, картинки на половну загружены, как бы не все. Из-за этого он кривой ![]() Другие зеркала работают вроде нормально. wiki-archlinux.vfose.ru и lissyara.vfose.ru |
|
|
![]()
Сообщение
#14
|
|
![]() Администратор ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 277 Регистрация: 18.12.2007 Из: Саратов Пользователь №: 1 ![]() |
Попробуйте для начала удалить папку с кешем.
-------------------- |
|
|
![]()
Сообщение
#15
|
|
Новичок ![]() Группа: Пользователи Сообщений: 8 Регистрация: 5.5.2009 Пользователь №: 298 ![]() |
удалял много раз.... толку нет. И лезет ошибка, которой не должно быть
Код Can't open cache/6666cd76f96956469e7be39d750cc7d9 Cache File for write. Или подскажите как тогда перенаправитьна archlinux.vfose.ru/furum Не понятно.... |
|
|
![]()
Сообщение
#16
|
|
![]() Администратор ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 277 Регистрация: 18.12.2007 Из: Саратов Пользователь №: 1 ![]() |
Скорее всего нет прав на запись файла или создание директории. Также возможно имеются ошибки в пути.
-------------------- |
|
|
![]()
Сообщение
#17
|
|
Новичок ![]() Группа: Пользователи Сообщений: 1 Регистрация: 19.10.2009 Пользователь №: 481 ![]() |
Пожалуйста, выложите уже изменённый скрипт зеркалирования... (Пример)
|
|
|
![]()
Сообщение
#18
|
|
![]() Администратор ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 277 Регистрация: 18.12.2007 Из: Саратов Пользователь №: 1 ![]() |
Пожалуйста, выложите уже изменённый скрипт зеркалирования... (Пример) Примеры использования доступны в комментариях в начале скрипта. -------------------- |
|
|
![]()
Сообщение
#19
|
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 5 Регистрация: 17.6.2009 Пользователь №: 354 ![]() |
mod_proxy_http.so
mod_proxy_ftp.soТеперь плиз объясните мне плюсы и минусы.А т оя думаю зачем с этим скриптом париться когда есть такое дополнение для апач -------------------- ![]() ![]() |
|
|
![]()
Сообщение
#20
|
|
![]() Администратор ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 277 Регистрация: 18.12.2007 Из: Саратов Пользователь №: 1 ![]() |
mod_proxy_http.so mod_proxy_ftp.soТеперь плиз объясните мне плюсы и минусы.А т оя думаю зачем с этим скриптом париться когда есть такое дополнение для апач Не на всех хостингах можно такой модуль подключить. Также этот модуль не позволяет производить манипуляции по замене данных в зеркалируемом сайте (что очень важно, особенно если картинки на сайте ссылаются на другой хост, который тоже зеркалировать надо) или например тупо вырезать рекламу из сайта. Еще минус mod_proxy - он не кеширует контент, поэтому получается простой прокси (трафик не экономится). Наш же скрипт работает на любом хостинге с mod_rewrite (кстати и без него может, если кое-что изменить), может заменять текст на сайте, вырезать рекламу, кешировать полностью или выборочно данные. А на тему mod_proxy - лучше использовать вообще nginx или oops. Апач тут вообще не рулит. -------------------- |
|
|
![]() ![]() |
Текстовая версия | Сейчас: 6.12.2023, 17:01 |