Archive of August 2008
Создаем свой Mozilla Weave сервер
Перевод статьи написанной Ремко Брессерсом (Remco Bressers) о том, как быстро и безболезненно создать свой сервер для синхронизации через расширение Wave для Firefox3 на основе WebDAV сервера. Оригинал статьи всегда можно найти в блоге Ремко
Mozilla Weave это отличное и очень нужное расширение для отличного и очень нужного Firefox 3 браузера. Это расширение может синхронизировать ваши закладки, cookie, сохраненные пароли, историю и данные форм с удаленным WebDAV сервером от Mozilla. Так как Weave только на версии 0.2.2 (на момент написания) и проект в стадии разработки, то WebDAV сервер очень медленный и вообще умирает час от часу. Самое приятное в бесплатных сервисах от Mozilla это то, что все возможно, даже сделать свой собственный WebDAV сервер. Я хочу не только WebDAV сервер, а точно такой же сервер как использует Weave, включая аутентификацию пользователей и защищенный канал. Единственное, что меня беспокоит, так это отсутствие хорошей реализации квоты для WebDAV, кроме использования пропатченного mod_dav и Apache. Как базовая система, будет использоватся CentOS 5.2
Apache
Для начала, установим Apache, и сконфигурируем его
# yum install httpd # vi /etc/httpd/conf/httpd.conf
Удостоверьтесь, что mod_dav и mod_dav_fs модули загружаются в конфигурационном фале LoadModule dav_module modules/mod_dav.so LoadModule dav_fs_module modules/mod_dav_fs.so
<IfModule mod_dav_fs.c> DAVLockDB /var/lib/dav/lockdb </IfModule>
Последняя секция здесь по умолчанию потому, что я описываю только то, что действительно нужно для реализации. Теперь, мы создадим VirtualHost
<VirtualHost *:80> ServerName
weave.yourdomain.com DocumentRoot
/home/www/weave.yourdomain.com/www ErrorLog
/var/log/httpd/weave_yourdomain_com-error.log CustomLog
/var/log/httpd/weave_yourdomain_com-access.log combined
<Directory “/home/www/weave.yourdomain.com/www”>
Options Indexes FollowSymLinks AllowOverride AuthConfig Limit Order allow,deny Allow from all AuthType Basic AuthName “WebDAV Restricted”
AuthUserFile /home/www/weave.yourdomain.com/passwords require valid-user
</Directory>
<Location /> DAV On </Location>
</VirtualHost>
Как вы видите, используем директорию /home/www/weave.yourdomain.com/www как DocumentRoot. Зарегистрированные пользователи из /home/www/weave.yourdomain.com/passwords могут просматривать DocumentRoot. Запретим посторонним просматривать этот каталог с помощью .htaccess. Объявление в секции <Location /> включит DAV для DocumentRoot. Теперь, все это проделаем:
cd /home/www mkdir -p weave.yourdomain.com/www/user/homolibere chown -R apache:apache weave.yourdomain.com
Для каждого пользователя, мы создадим свой .htaccess в их собственных директориях:
cd /home/www/weave.yourdomain.com/www/user/homolibere vi .htaccess require user homolibere chown apache:apache .htaccess
Наканец-то, создадим файл с паролями:
htpasswd -c /home/www/weave.yourdomain.com/passwords remco New password: Re-type new password:
Вот и вся установка сервера. Следующий шаг: Weave!
Weave
Я использую Weave 0.2.2, скачанный с <http://people.mozilla.com/~cbeard/weave/dist/> Если вы никогда не использовали Weave ранее, то необходимо создать профиль на Mozilla. После того, как Weave будет настроен и произведет синхронизацию с сервером Mozilla, можно менять настройки расширения. Если вы сконфигурировали Weave, нажмите на Weave логотип в нижнем правом углу и выберите ‘Preferences’. После этого, выйдете из текущей учетной записи Weave. Нажмите на закладку Advanced и измените сервер на ваш. Логинимся заново, но уже на ваш сервер.
Вот и все! Вы подключены к вашему собственному Weave WebDAV серверу. Если у вас появились какие-то проблемы, всегда можно глянуть в лог активности. Если у вас ВСЕ ЕЩЕ остались какие-то проблемы, попробуйте обнулить серверные параметры.
Weave через HTTPS / SSL
Если надо защищенное соединение, то понадобится SSL для этого. Установка закончилась когда поставили Apache на CentOS 5. Если есть сомнения, проверь установлены ли mod_ssl и openssl с помощью Yum или того, что привычнее использовать. Для использования SSL, надо создать еще один VirtualHost рядом с VirtualHost, который создали на порт 80. Конечно, вы можете полностью отключить VirtualHost на порте 80, если действительно не нужно не защищенное соединение. Добавить в новый VirtualHost надо приблизительно такой конфиг:
<VirtualHost *:443> ServerName
weave.yourcomain.com DocumentRoot
/home/www/weave.yourdomain.com/www ErrorLog
/var/log/httpd/weave_yourdomain_com-error.log CustomLog
/var/log/httpd/weave_yourdomain_com-access.log combined
<Directory “/home/www/weave.yourdomain.com/www”>
SSLRequireSSL Options Indexes FollowSymLinks AllowOverride AuthConfig Limit Order allow,deny Allow from all AuthType Basic AuthName “WebDAV Restricted”
AuthUserFile /home/www/weave.yourdomain.com/passwords require valid-user
</Directory>
<Location /> DAV On </Location>
SSLEngine on SSLProtocol all -SSLv2 SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
<Files ~ “.(cgi|shtml|phtml|php3?)$”> SSLOptions +StdEnvVars </Files>
<Directory “/var/www/cgi-bin”> SSLOptions +StdEnvVars </Directory>
SetEnvIf User-Agent “.*MSIE.*” \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0
</VirtualHost>
Примечание
Заметьте, что если использовать «самоподписанный» сертификат (проще всего), надо перейти https://weave.yourdomain.com/ и принять его, перед тем как начнете работать с Weave. Если этого не сделать, Weave выдаст ошибку “Username / password incorrect”.
Примечание #2
Если вы используете Weave 0.2.5 и заметили высокое использование памяти и CPU, отключите синхронизацию вкладок. Это известный баг версии 0.2.5 который потребляет вашу память и CPU. Скачать Weave можно по ссылке: http://people.mozilla.com/~cbeard/weave/dist/latest-weave.xpi Перевод (с) Homolibere
Создание зеркала Website с помощью Wget
GNU wget очень популярная качалка, и совсем не беспочвенно. Вы можете ее использовать просто для скачивания файлов с удаленных серверов, но программа намного мощнее и позволяет делать огромное количество разнообразных “полезностей”.
Одна из самых примечательных функций wget - это зеркалирование сайтов. Это позволяет создать вам полную локальную копию сайта, включая стили, картинки и прочее. Все (внутренние) ссылки будут скачаны и переадресованы на локальную копию (и все ресурсы).Read More »
Стартап за 7 дней. Выбор и формирование ключевой идеи сервиса.
Чистый копи-паст с хабра. Запостил себе, чтоб потом не искать. Ну, вообще-то, может каму и полезно будет. Вот и пролетели те самые 7 дней, которые мы сами себе назначили в качестве срока для запуска проекта. Можно делать выводы и делиться ими с окружающими. Начнем, пожалуй, с самого главного — формирования идеи для стартапа.
Много раз написано на Хабре о том, что в любом стартапе необходимо реализовывать ключевую идею сервиса, и только после полной и успешной реализации можно думать о дополнительных возможностях сайта.
Отлично. Теперь вопрос: как выбрать то, самое ключевое, чего у многих нет, и при этом всем позарез необходимо? Здесь мы постараемся рассказать об одном из самых сложных этапов проекта — выборе ключевой идеи сервиса.Read More »
И снова, снова в строю…
Вот приключилась одна оказия и пришлось продолжительное время сидеть и не постить в блог. Основная причина конечно лень, но еще и то, что у провайдера какие-то непонятные глюки с доступом в UA-IX.
Но, нет худа без добра. В процессе “испытания воли” и отречения от активной блоггерской жизни моим другом было найдено любопытное средство решения проблемы. В общем у него провайдер нормальный и по Украине ходит легко, в отличие от моего, ну в общем было принято решение пустить трафик через него. Как? Прокси ставить? Геморроится? Зачем… все намного проще, однако об этом совсем в другой статье.
В процессе отлучения от блога мое внимание все же не могли обойти забавные вещи. В скором времени хлынет информация в битах по просторам сети, найденная моим пытливым мозгом.
Спасибо, что ждали. Надеюсь, все же, ждали. :-)

