Веб-разработка Почтовая заглушка в Ubuntu

Как известно, в Ubuntu по умолчанию не установлены пакеты для отправки email. Таким образом при использовании Ubuntu в качестве системы для веб-разработки возникает проблема, что стандартная функция mail() в PHP работать не будет (будет всегда возвращать false). Кроме того при веб-разработке было бы полезным не просто отправлять почту с компьютера разработчика, а иметь почтовую заглушку по аналогии с той заглушкой, которая есть в пакете Denwer в Windows. Другими словами сейчас мы будем настраивать возможность отправки писем функцией mail() в локальный каталог на компьютере веб-разработчика в виде текстовых файлов в формате eml. Особенно удобной будет такая почтовая заглушка при верстке почтовых рассылок.

Читать дальше →

 

Веб-разработка Internet Explorer скачивает DOCX как ZIP. И что делать?

Именно с такой ситуацией пришлось столкнуться вчера на одном из сайтов, поддержкой которого я занимаюсь по долгу службы. На одной из страниц этого сайта были размещены ссылки на скачивание файлов с расширением .docx — текстового документа из пакета MS Office 2007. Как и гласит заголовок статьи — при скачивании таких файлов с помощью браузера Internet Explorer мы получим файл, у которого волшебным образом расширение поменялось на «zip». При этом другие браузеры не подменяют расширение файла и скачивают файл с расширением .docx как нужно.

Читать дальше →

 

Системное администрирование Устанавливаем Redmine на Ubuntu Server 10.04

Redmine — это довольно неплохой свободный баг-трекер, который позволяет управлять проектами и отслеживать выполнение задач. Redmine написан на Ruby, поэтому для его запуска нам понадобится mod_passenger для веб-сервера Apache или Nginx. Баг-трекер может работать с различными базами данных (например, с MySQL и sqlite), со многими популярными системами управления версиями (например, с svn и git). Но сегодня я рассмотрю вариант запуска Redmine на связке Apache + mod_passenger + MySQL.

Читать дальше →

 

Веб-разработка Оптимальный способ создания кроссбраузерных CSS

При верстке веб-сайтов очень часто возникает ситуация, когда невозможно написать набор css-свойств, который будут одинаково хорошо понимать все основные браузеры. И если с браузерами Firefox, Google Chrome, Opera и Safari такая проблема чаще всего не возникает, то в случае с различными версиями Internet Explorer добиться кроссбраузерной верстки очень сложно. Поэтому для решения этой проблемы нужно написать часть css-свойств специально для некоторых версий IE (чаще всего это IE6 и IE7). Сделать это можно двумя способами: первый — использование условных комментариев Internet Explorer (Conditional comments), второй — применение css-хаков (например, *margin-left:10px или _margin-left:10px). Оба способа имеют ряд недостатков, но, к счастью, есть еще одно решение, которое я считаю самым оптимальным для создания кроссбраузерных css-файлов.

Читать дальше →

 

Системное администрирование Пять простых шагов для защиты ssh в Ubuntu. Часть II — Port knocking

В одной из предыдущих статей по защите ssh я обещал рассказать про технологию port knocking. Ее суть заключается в том, что на сервере запускается специальная служба knockd, которая «слушает» подключения по всем портам, и при получении некоей ожидаемой последовательности подключений выполняет заранее заданную администратором команду. Такая технология дает дополнительную возможность по удаленному управлению сервером. Остается только закрыть порт ssh и задать службе knockd такую команду, которая заставит файерволл открыть порт ssh при получении определенной последовательности подключения к портам сервера. Далее я опишу как максимально просто и быстро сделать это в Ubuntu.

Читать дальше →