Как стать автором
Обновить
37
0
SkyCat @SkyCat

ИТ

Отправить сообщение

WYSIWYG image upload

Время на прочтение1 мин
Количество просмотров2.4K
Возможности:
  • Простой и быстрый интерфейс для загрузки картинок
  • Поддержка редакторов TinyMCE, FCKeditr, YUI (Любой редактор, который поддерживает WYSIWYG модуль)
  • Поддержка ImageCache. Возможность выбрать пресеты.
  • Возможность установка произвольных размеров используя drag&drop
  • Основан на WYSIWYG моделе и его API
  • Возможность установить атрибуты картинки Title, Обтекание текстом, и Styles (Border, Spacing) и Пресеты ImageCache
  • Полностью основан на Drupal FAPI
  • Диалог основан на jquery ui dialog




Страница модуля
Всего голосов 9: ↑5 и ↓4+1
Комментарии9

Создание зеркала репозитория Ubuntu с помощью apt-mirror

Время на прочтение6 мин
Количество просмотров41K
Зачастую при развёртывании сети машин на Ubuntu возникает проблема с организацией доступа в интернет с целью установки новых программ из стандартных репозиториев. Например, когда доступен лишь очень узкий канал в интернет или траффик не является безлимитным. К счастью, принцип организации пакетной системы Ubuntu позволяет очень гибко управлять тем, что и откуда качать с использованием штатных средств управления пакетами. В частности, вы можете создать локальную копию нужных вам интернет-репозиториев Ubuntu и подключить её как основной источник приложений в вашу локальную сеть. Таким образом все компьютеры в вашей сети не будут требовать соединения с интернетом для установки новых программ и обновлений. И при этом, что самое важное, сохранится весь функционал пакетных менеджеров.

В этой статье я расскажу как создать локальную копию репозитория с помощью утилиты apt-mirror. Это простая и удобная утилита для создания локальных копий репозиториев Ubuntu, использующая такой же синтаксис, как и в файле /etc/apt/sources.list, в котором указываются все репозитории для Ubuntu.

Всё, что вам потребуется — это компьютер с установленной Ubuntu и безлимитным доступом к интернету.

Читать дальше →
Всего голосов 56: ↑47 и ↓9+38
Комментарии39

Настройка и оптимизация MySQL сервера

Время на прочтение9 мин
Количество просмотров315K
В этой статье будут описаны различные настройки MySQL, преимущественно те, которые влияют на производительность. Для удобства все переменные разделены по разделам (базовые настройки, ограничения, настройки потоки, кэширование запросов, тайминги, буферы, InnoDB). Сначала уточним имена некоторых переменных, которые изменились в версии 4 MySQL, а в сети продолжают встречаться и старые и новые варианты имен, что вызывает вопросы.
Читать дальше →
Всего голосов 180: ↑171 и ↓9+162
Комментарии19

Как создать вебсайт для мобильных устройств

Время на прочтение3 мин
Количество просмотров64K

Стили


User Agent

Один из способов включения стилей для мобильного устройства — это использование User Agent, которую получает сервер от клиента.
Этому может помочь набор скриптов: code.google.com/p/mobileesp, а также сервис от яндекса api.yandex.ru/detector
При работе с User Agent только одна проблема — это постоянно появляющиеся новые User Agent.
Читать дальше →
Всего голосов 133: ↑128 и ↓5+123
Комментарии43

Ускоряем Drupal: Pressflow + Nginx + Varnish

Время на прочтение7 мин
Количество просмотров21K
Данная статья достаточно подробно показывает, как можно перейти на разработку сайтов Друпал с серьезной стрессоустойчивостью и возможностью обрабатывать большой трафик.

Это мой первый опыт подобной настройки, но как будет далее видно из статистики достаточно удачно справляющийся со своей основной задачей — ускорением работы сайта. Интересно будет услышать и увидеть настройки, дополнительные материалы от всех кто сталкивался с подобными задачами, так как в рунете пока еще мало свободной и качественной информации по этой теме относительно системы Друпал.

Довольно долго для разработки я использовал связку Drupal + Nginx с настройками сервера по умолчанию:

server {
listen 62.xxx.xx.xx:80;
server_name mysite.com www.mysite.com;
rewrite>^(/manager/.*)$>https://$host$1>permanent;
location ~* ^/(webstat/|awstats|webmail/|myadmin/|manimg/) {
proxy_pass 62.xxx.xx.xx:8080;
proxy_redirect mysite.com:8080/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
location / {
proxy_pass mysite.com:8080;
proxy_redirect mysite.com:8080/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
root /home/pathto/drupal613;
access_log /home/httpd-logs/mysite.com.access.log;
error_page 404 = @fallback;
}
location @fallback {
proxy_pass 62.xxx.xx.xx:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}


Читать дальше →
Всего голосов 55: ↑46 и ↓9+37
Комментарии38

Создание локального репозитория Ubuntu 10.04

Время на прочтение4 мин
Количество просмотров14K
Постепенный перевод предприятия на GNU/Linux порождает необходимость соответствующих изменений в инфраструктуре. Сегодня мы решаем проблему глобального обновления клиентских машин путем создания локального репозитория. Процесс изначально документировался как памятка на будущее, потому заранее прошу прощенья за возможные несуразности в тексте. Итак.
Для начала следует определиться, посредством чего лучше сделать это. Интернеты выделяют двух фаворитов rsync и debmirror. Выбрал последний, ввиду его большей гибкости.

1. Получение ключей


Для создания зеркала репозитория необходимо получить ключ «Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>». Для этого в терминале от суперюзера вводим:
gpg --no-default-keyring --keyring trustedkeys.gpg --recv-keys 437D05B5
Читать дальше →
Всего голосов 80: ↑65 и ↓15+50
Комментарии26

Создание ознакомительного поискового движка на Sphinx + php

Время на прочтение5 мин
Количество просмотров104K

Предыстория


Раньше для поиска по сайту мы использовали обычный fulltext поиск. Но в определенный момент он перестал нас устраивать и мы решили опробовать альтернативную технологию поиска: Sphinx. К сожалению, у сфинкса совсем нет русской документации, поэтому эта статья — аналог статьи Build a custom search engine with PHP, только на русском языке и для моего локального окружения (windows 7, mysql/php)
Статья состоит из 4 частей:
  1. Краткий рассказ про подготовку базы для поиска.
  2. Рассказ про первоначальную установку и настройку сфинкса
  3. Индексирование базы и тестовый поиск из командной строки
  4. Тестовый поиск из php

Читать дальше →
Всего голосов 82: ↑73 и ↓9+64
Комментарии59

Подключаем Wikipedia к сайту

Время на прочтение3 мин
Количество просмотров34K
Сейчас практически на каждом сайте есть кнопки для перехода на сайт твитера или добавление странички в закладки. Но почему-то очень мало можно увидеть иконок Wikipedia возле фамилий великих людей или терминов.

Возможно, кому-то покажется лишним нагружать сайт такой функциональностью, но лучше спросить про это пользователей. Так, в одном новом проекте было предложенно давать линки на википедию для авторов книг.



Если учитывать, что только активные пользователи нажмут на кнопку «Оставить свой отзыв» и проголосуют, то наверно 33 голоса можно умножить на 10 – 100.

Разобравшись с api Wikipedia хочется предложить решение как можно немного автоматизировать добавление линков на википедию.
Читать дальше →
Всего голосов 49: ↑42 и ↓7+35
Комментарии26

Несколько других советов для PHP-разработчиков

Время на прочтение3 мин
Количество просмотров9.8K
Навеяно вот этим.

Я решил вспомнить некоторые особенности PHP, связанные с производительностью.

Отмечу, что включил в свой небольшой список лишь то, что обычно вызывает удивление у junior developers, с которыми мне приходилось работать.
О банальных вещах, вроде «одинарные кавычки вместо двойных», думаю, знают все, поэтому постараюсь кого-нибудь удивить.

Результаты и выводы, сделаны на основании нескольких версий PHP, который крутятся на знакомых мне серверах, а именно 5.2.6 из Debian Lenny, 5.3.2 из Ubuntu, и 5.2.14 из dotdeb. Возможно, на других платформах, есть отличия.
Читать дальше →
Всего голосов 173: ↑149 и ↓24+125
Комментарии301

Удалённая переустановка linux на примере Debian

Время на прочтение7 мин
Количество просмотров24K
Существует множество фичей упрощающих жизнь системному администратору. Различные системы удаленного управления позволяют установить ОС на девственно-чистый сервер и сегодня это совсем не проблема. Даже наличие второго винчестера превращает проблему переустановки операционки в банальность. Поэтому в этой статье рассмотрим самый суровый из случаев: пусть на сервере имеется только один полностью разбитый винчестер, а наша задача — удалённо переустановить ОС.

Удивлённо поднимем брови, умиляясь тому, как гибка наша любимая операционка, засучим рукава и приступим к делу.

Читать дальше →
Всего голосов 108: ↑97 и ↓11+86
Комментарии39

Корпоративный Jabber сервер: догнать и перегнать Google

Время на прочтение7 мин
Количество просмотров33K
Я думаю все знают про Google Apps. Это великолепный сервис для организации почты и коллективной работы в рамках компании. Однако у него есть пара маленьких таких недостатков: он предоставляется as is во-первых, и вся ваша корпоративная документация, почта и переписка при использовании Google Apps будут храниться на серверах Google.

В итоге чаще всего серьёзные фирмы выбирают сложный путь — поддерживать все необходимые сервисы на собственных серверах. Этот путь, конечно, даёт массу преимуществ. Системный администратор компании сможет настроить что угодно и как угодно. Однако есть и один существенный недостаток: если у Google всё уже настроено и связано воедино, то вам придётся настраивать всё вручную. Плюс вы вряд ли сможете обеспечить вашу систему таким же красивым и удобным веб-интерфейсом.

Однако, как показывает практика, развернуть гибкую и мощную инфраструктуру для компании можно легко и не прибегая к помощи Google. Под катом я расскажу как интегрировать XMPP сервер с почтовой системой, чтобы получилось в итоге значительно лучше, чем у Google.

Читать дальше →
Всего голосов 102: ↑89 и ↓13+76
Комментарии81

Верстка для мобильных устройств

Время на прочтение4 мин
Количество просмотров84K

Общая информация


Так как мобильных устройств существует великое множество, то одна модель может поддерживать какие-либо возможности HTML/CSS, а другая наоборот — либо не поддерживать, либо поддерживать неправильно.

Но большинство устройств среднего и уж тем более hi-end класса поддерживают HTML/CSS в той или иной степени. Таким образом, язык WML для разработки сайтов под мобильные устройства устарел и практически не используется. На смену ему постепенно приходит общепризнанный стандарт в разработке сайтов — XHTML/CSS. Кодировка — строго UTF-8 (No BOM).

Читать дальше
Всего голосов 68: ↑63 и ↓5+60
Комментарии73

BranchCache в Windows 7

Время на прочтение9 мин
Количество просмотров55K
С момента выхода финальных версий Windows 7 и Windows Server 2008 R2 прошел почти год. Чем не повод еще раз вспомнить об этих ОС. Я хотел бы обратить внимание на две наиболее интересные, с моей точки зрения, возможности новых Windows: BranchCache и DirectAccess. В этой статье речь пойдет о BranchCache.

Что такое BranchCache

BranchCache – технология кэширования, встроенная в Windows 7 и Windows Server 2008 R2, и призванная оптимизировать (сократить) сетевой трафик, передаваемый по WAN-каналам связи. Соответственно, основная сфера применения BranchCache – организации с филиалами и удаленными офисами, которые связаны между собой и центральным офисом сравнительно медленными линиями передачи данных.
BranchCache поддерживает кэширование HTTP- и SMB-трафика. При этом на клиентских компьютерах должна быть установлена Windows 7 (редакции Ultimate или Enterprise, в других редакциях BranchCache не работает), а на серверах – Windows Server 2008 R2. Таким образом, BranchCache работает только в связке Windows 7 + Windows Server 2008 R2. Если с этого места у вас не пропало желание читать дальше, давайте обсудим главные особенности рассматриваемой технологии.
Читать дальше →
Всего голосов 46: ↑31 и ↓15+16
Комментарии64

Проверка включенного кэширования у браузера

Время на прочтение4 мин
Количество просмотров18K
Про то, что клиентское кэширование использовать можно и нужно, за последние несколько лет узнали многие, а вот о том какие проблемы это вызывает — каждый узнает на своем опыте. Поэтому спешу поделиться своим опытом и проблемой, возникшей с пользователями, у которых кэш браузера выключен. Пользователи не знают, что у них выключен кэш и жалуются на медленную скорость загрузки страниц.
Читать дальше →
Всего голосов 67: ↑59 и ↓8+51
Комментарии50

OpenID с человеческим лицом в Drupal

Время на прочтение5 мин
Количество просмотров2.7K
Начиная с 6 версии Drupal, в комплекте с системой идет модуль OpenID, который обеспечивает авторизацию через OpenID протокол. Но у модуля есть довольно серьезные проблемы. В частности, сам модуль реализует антипаттерн, описаный Иваном Сагалаевым в своем блоге. Вторая проблема модуля, с точки зрения юзабилити — это непрозрачная авторизация по OpenID, а если быть точнее, то при первой попытке авторизации через некий OpenID аккаунт, система просит заполнить некоторое количество полей.

В общем, ничего сильно страшного в заполнении небольшого количества полей лично я не вижу (тем более что в некоторых случаях часть полей заполняется автоматически, но об этом чуть ниже) — причиной этому является архитектура Drupal. OpenID аккаунты привязаны к реальным Drupal-акаунтам, т.е. при успешной авторизации у OpenID-провайдера Drupal пытается найти соответствие OpenID-аккаунта Drupal-аккаунту. Если такое соответствие не найдено — система предлагает зарегистрировать новый аккаунт, для чего необходимо заполнить некоторое количство обязательных полей — в общем случае это уникальное имя пользователя в системе и адрес электронной почты. Если же соответствие найдено — пользователь авторизуется. В профиле пользователь может добавить любое количество OpenID-аккаунтов, которые будут ассоциированы с его Drupal-аккаунтом.

Попробуем улучшить юзабили OpenID авторизации
Всего голосов 35: ↑31 и ↓4+27
Комментарии43

Простой и эффективный метод отразить http DDoS от 50мбит с помощью nginx и iptables

Время на прочтение7 мин
Количество просмотров67K
Здравствуй, Хабр!
Предлагаю твоему вниманию простой и в то же время эффективный метод борьбы с http DDoS. На основе сервера Xeon 2.5GHz / 4Gb RAM / SAS можно отражать атаку примерно до 300 Мбит/с (значение получено методом экстраполяции).

Способ реализация

Производится тонкая настройка параметров системы. Так что север будет способен выдерживать больше подключений от ботнета, чем канал до сервера сможет пропустить.

Область применения

Борьба с Http DDoS на выделенном сервере или ВПС. Максимальная возможная мощность сдерживания DDoS атаки ограничивается физическими возможностями сервера и пропускной способностью канала.

SEO под DDoS-ом

Ваш сайт будет правильно индексироваться во время атаки, что позволит сохранить позиции в выдаче поисковых систем. Особенно актуально для сайтов с большими SEO бюджетами.

Стоимость и эффективность

На время атаки придется отказаться от некоторых сервисов вашего сайта. Возможно, придется расширить полосу канала, перенести сайт на более мощный сервер. Эффективность достигается максимизацией коэффициента масштабируемости системы. Обеспечивается быстрое наращивание аппаратных ресурсов при увеличении мощности атаки.
Читать дальше →
Всего голосов 193: ↑179 и ↓14+165
Комментарии78

Munin — мониторинг сети это просто!

Время на прочтение3 мин
Количество просмотров111K

В жизни каждого системного администратора рано или поздно наступает момент, когда глаз и рук уже не хватает уследить за всеми серверами, то там, то там возникают какие-то проблемы, а для решения их очень хочется узнать что же было «до этого». И именно здесь на выручку приходят они — вел
икие и ужасные системы мониторинга. Долгое время я пользовался Nagios, и до сих пор, при всём удобстве, иначе как монстрообразным назвать не могу. В итоге реально использовались лишь 10% возможностей этой прекрасной системы. Всё изменилось, когда я наткнулся на Munin — прекрасное решение для мониторинга небольших сетей.
Обзор системы
Всего голосов 37: ↑33 и ↓4+29
Комментарии42

Munin — рисуем красивые графики

Время на прочтение8 мин
Количество просмотров18K
В данной статье рассматривается такой инструмент мониторинга, как Munin. Странно, но поиск уверяет меня, что статьи о нем на Хабре еще не было. Этот инструмент существует под *NIX (Linux, xBSD, Solaris) и Windows и позволяет централизовано отслеживать и наглядно отображать состояние подшефных систем. Изначально используется для отрисовки графиков, но также его можно использовать как чистое средство для наблюдения. Большой плюс Munin — гибкость (все графики рисуются плагинами, активными на целевых системах, и никто не запрещает использовать только те плагины, которые нужны) и возможность с одного сервера собирать информацию о множестве других. Соответственно, нагрузка на наблюдаемом сервере минимальна. Интересно? Добро пожаловать под кат

Читать дальше →
Всего голосов 24: ↑15 и ↓9+6
Комментарии25

Добавляем свои поисковые системы

Время на прочтение2 мин
Количество просмотров52K
Что мне нравится в Google Chrome, так это возможность очень удобной работы с разными поисковыми системами: ввел ключевое слово, пробел и печатаешь запрос. Однако этой функцией пользуются на 100% далеко не все.

Сегодня я хочу рассказать, как добавлять свои «поисковые системы» (это, на самом деле, могут быть не только поисковые системы) и тем самым повысить производительность работы в Интернете.

4.75 КБ

Где это все настраивается? Смотрим картинку:
Читать дальше →
Всего голосов 141: ↑110 и ↓31+79
Комментарии95

А ты сделал бэкап?

Время на прочтение4 мин
Количество просмотров16K
Доброго времени суток %habrauser%!

Как известно backup — must be! Но просто сделать архив данных — это еще не значит грамотный бэкап. Когда у наших клиентов начали появляться сервера на базе Calculate directory server встал вопрос о выборе средств для создания резервных копий данных. Поиск готовых решений ничего толкового не дал, поэтому пришлось писать самим.
Backup - это легко
Всего голосов 44: ↑33 и ↓11+22
Комментарии73

Информация

В рейтинге
Не участвует
Откуда
Ярославль, Ярославская обл., Россия
Дата рождения
Зарегистрирован
Активность