-6.88
Рейтинг
0.00
Сила

Настраиваем сервер для LiveStreet. Часть IV. MySQL.

Предыдущие части:

Сначала генерируем и запоминаем пароль для MySQL-аккаунта root, который попросят во время установки:
pwgen -c -n 10 1


И запускаем установку:
apt-get install percona-server-server-5.5 percona-server-client-5.5


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

Настраиваем сервер для LiveStreet. Часть III. Некоторые настройки ядра, репозитории и базовые утилиты.

Предыдущие части:

Сначала мы сделаем некоторые настройки ядра, за этот совет благодарность уходит господину ewden .

Редактируем файл /etc/sysctl.conf:
vim /etc/sysctl.conf

Я привожу конфигурацию от ewden целиком:
# Допустим случись у нас какой-то косяк с системой или ядром.
# Может произойти паника ядра (Kernel Panic)
# На сий случай есть настройка, указывающая, что система должна будет перезагрузится в течении 10 сек в примере:
kernel.panic = 12
# включение проверки маршрута от источника. Может быть полезно против некоторых видов спуфинг-атак.
net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.all.rp_filter=1

# След. опция разрешает/запрещает передачу так называемых syncookies вызывающему хосту
# в случае переполнения очереди SYN-пакетов для заданного сокета. Когда в
# систему поступает слишком много запросов на соединение, то очередь может
# переполниться и тогда запускается передача syncookies в ответ на каждый
# SYN-запрос. Эта переменная используется для предотвращения syn-flood атак. 
net.ipv4.tcp_syncookies=1

# Устанавливает параметры приёма icmp-сообщений о переодресации
# Которые используются для уведомления (обычно маршрутизаторов)
# О существовании лучшего маршрута передачи пакетов целевому хосту.
# Включение параметра может справоцировать атаку человек по середине (Man In The Middle) 
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
# Разрешает или запрещает нашему хосту передачу выще упомянутых сообщений переадресации.
net.ipv4.conf.all.send_redirects = 0

# Позволяет отправителю определить путь, по которому должен следовать пакет по сети.
# Может позволить посторонним произвести подмену адресов. 
net.ipv4.conf.all.accept_source_route = 0

# Игнорироваться ICMP сообщения, отправленные на
# широковещательный или групповой адрес. Вполне очевидно, почему полезно
# включить этот параметр  - защита от smurf атак.
net.ipv4.icmp_echo_ignore_broadcasts = 1

# Контролирует процент свободной памяти, при которой начнется активный сброс страниц в раздел swap. 
vm.swappiness=10


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

Настраиваем сервер для LiveStreet. Часть II. Vim, файловая система, hostname.

Предыдущие части:

Итак, мы успешно зашли в консоль сервера. Первое что нужно сделать — перезагрузить его командой:
reboot

Замечание: Я буду стараться каждую отдельную команду оборачивать с блок как вот тут. Т.е. в этих инструкция — одна команад = один блок. Любая команда запускается на выполнение, набиранием оной в консоли и нажимаем клавиши ENTER после этого. Можно скопировать в буфер, сбросить в консоль правой кнопкой мыши и, опять же, ENTER.

Зачем перезагружать? — Нужно убедиться что сервер без проблем рестартует. Я лично сталкивался с проблемой (у очень именитого немецкого хостера, кстати), когда из-за изначально неправильно настроенного загрузчика, сервер самостоятельно к жизни не возвращался. Такие проблемы никому и за даром не нужны, поэтому это стоит проверить и если что-то не так, решать с помощью поддержки хостера, до начала установки.

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

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

Настраиваем сервер для LiveStreet. Часть I. Введение, хостинг и PuTTY.

Учитывая, что сообщество проявило вот тут livestreet.ru/blog/questions/14593.html#comment233221 не нулевую активность. И точно есть, хотя бы, несколько человек которым эта тема интересна. Начинаю цикл заметок про «что и как устанавливать и настраивать».

Вступительное замечание:

Есть целый ряд людей, в этом сообществе, которые помогали мне в освоение этой темы. Заметками, общением в личке, комментариями в моих старых топах. Поэтому многие идеи конфигурации и вариации в конфигурационных файлах которые я буду описываться по ходу дела, мне не принадлежат. По возможности буду упоминать кто именно был источником.

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


Начальные предположения:
1. У вас есть «домашний» компьютер с Windows и доступом в сеть.
2. У вас есть желание заполучить свой выделенный(Dedicated) или виртуальный(VPS) сервер для того, чтобы запустить на нём сайт основанный на LiveStreet
3. У вас есть доменное имя для вашего сайта и доступ к настройкам DNS у вашего регистратора домена.

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

Что сделать с AceAdminPanel для того, чтобы она отключалась в мобильном шаблоне

Поскольку адаптация плагинов к мобильному шаблону, вернее их отключение, вызывает большие проблемы у очень многих (в том числе и у меня), публикую способ отключения админки, за что отдельное спасибо rsmike , объяснил, подсказал.

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

Как изменит иконку в шаблоне window_write.tpl ? РЕШЕНО

Там картинка одна, как сделать чтоб была для фотосета другая?


код такой
<li class="write-item-type-draft">
				<a href="{router page='topic'}saved/" class="write-item-image"></a>
				<a href="{router page='topic'}saved/" class="write-item-link">{$iUserCurrentCountTopicDraft} {$iUserCurrentCountTopicDraft|declension:$aLang.draft_declension:'russian'}</a>
			</li>
			{/if}
			<li class="write-item-type-topic">
				<a href="{router page='topic'}add" class="write-item-image"></a>
				<a href="{router page='topic'}add" class="write-item-link">{$aLang.block_create_topic_topic}</a>
			</li>
		<strong>	<li class="write-item-type-photoset">
				<a href="{router page='photoset'}add" class="write-item-image"></a>
				<a href="{router page='photoset'}add" class="write-item-link">{$aLang.block_create_topic_photoset}</a></strong>
				
			<li class="write-item-type-message">
				<a href="{router page='talk'}add" class="write-item-image"></a>
				<a href="{router page='talk'}add" class="write-item-link">{$aLang.block_create_talk}</a>
			</li>


Решение

добавить в modals.css
.modal.modal-write .write-list li.write-item-type-photoset .write-item-image 		{ background-position: -460px 0; }
.modal.modal-write .write-list li.write-item-type-photoset:hover  .write-item-image 		{ background-position: -460px -115px; }

Плагин "Magic Rule"


Плагин позволяет определить правила для голосования и добавления контента.
Есть возможность создавать правила для блокировки голосования на определенное время, например, тех, кто часто голосует в минус.

GitHubgithub.com/livestreet/lsplugin-magicrule

Пример стандартной конфигурации:
Читать дальше →

Плагины DAO: Компании (и еще 4 конфигурации линейки).

Рад анонсировать новую конфигурацию плагина из линейки DAO — Компании.
Позволяет создать на сайте каталог компаний.
Функционал:
  • ведение блога компании,
  • брендирование профилей компаний,
  • опциональное платное размещение,
  • блок соцсетей компании с возможностью подписки,
  • раздел отзывов,
  • отображение компаний на карте
  • и многое другое(полный функционал можно увидеть в сравнении версий и на демо).

Разумеется, плагин интегрирован с другими разделами линейки — при наличии каталога товаров или услуг, возможно связать компании с их товарами, вакансиями. Выглядит, это, например так.


Также в каталоге появилась возможность приобрести 4 конфигурации из линейки (каталог, календарь событий, аудио, видео) для отдельного использования. Версия-сборка DAO 4в1 стоит по прежнему $99

Подробнее о новых плагинах линейки и таблице сравнения функционала, скидки внутри

Интересное решение на неявном преобразовании типов

Задача, собственно, проста: ненавязчиво напоминать пользователю когда он последний раз читал топик надписью в заголовке о количестве дней, прошедших с момента последнего его прочтения. Делается так:
{$numberOfDays = ($smarty.now|date_format:"%Y%m%d"-0)-($oTopic->getDateRead()|replace:"-":""-0)}
{if ($numberOfDays != 0) }
    <div style="font-size: 10px; display: inline; color: #d3d3d3;">
        (Прочитано {$numberOfDays} дней назад)
    </div>
{/if}

Комментировать дальше не буду, но на вопросы отвечу).