Posts tagged with “software” and “programming”
Основные виды программного обеспечения
Узрел я интересную статейку, повествующую о видах программного обеспечения (открытом, закрытом, платном, бесплатном…) и решил ее перепостить к себе. Себе, все себе… все в семью… А что? Полезная информация как-ни-как.
Read More »Создаем свой 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

