Архив автора: admin

Запуск MoinMoin2.0 под Apache22 на FreeBSD9

Предполагается, что moin2 расположен в /home/ishayahu/moin-2.0
Для начала нам надо установить сам апач и mod_wsgi, чтобы он мог работать с Flask (я использую для этого portmaster (/usr/ports/ports-mgmt/portmaster)):
#portmaster www/apache22 www/mod_wsgi
Далее создаём файл moin-2.0/moinmoin2.wsgi, чтобы апач мог запускать Flask приложение:
#для работы mod_wsgi, так как он блокирует sys.stdout
import sys
sys.stdout=sys.stderr
# Собственно для Flask
from MoinMoin.app import create_app
application = create_app('/home/ishayahu/moin-2.0/wikiconfig.py')

Теперь будем настроивать апач. Создадим конфигурацию виртульного хоста: файл /usr/local/etc/apache22/Includes/wiki.local.conf

    ServerAdmin meoc-it@mail.ru
    DocumentRoot /home/ishayahu/moin-2.0
    ServerName wiki.local
    ServerAlias www.wiki.local
    ErrorLog /home/ishayahu/wiki.local-error_log
    CustomLog /home/ishayahu/wiki.local-access_log combined
    WSGIDaemonProcess moinmoin2 user=ishayahu group=ishayahu threads=5
    WSGIScriptAlias / /home/ishayahu/moin-2.0/moinmoin2.wsgi
   
        WSGIProcessGroup moinmoin2
        WSGIApplicationGroup %{GLOBAL}
        Order deny,allow
        Allow from all
   
Настроиваем запуск вики как сервиса. Создаём файл для запуска апача в виртуальном окружении (нужно виртуальное окнужение для работы moin; не забыть chmod +x /root/start_wiki) /root/start_wiki:
#!/bin/bash
source /home/ishayahu/moin-2.0/env/bin/activate
/usr/local/etc/rc.d/apache22 onestart
Создаём файл для регистрации вики как сервиса /etc/rc.d/wiki (не забыть chmod +x /etc/rc.d/wiki):
#!/bin/sh
#
# PROVIDE: wiki
# REQUIRE: LOGIN
# KEYWORD: shutdown

. /etc/rc.subr

name=»wiki»
start_cmd=»${name}_start»
stop_cmd=»/usr/local/etc/rc.d/apache22 stop»

wiki_start()
{
    /bin/bash /root/start_wiki
}

load_rc_config $name
run_rc_command «$1»
И в /etc/rc.conf:
wiki_enable=»YES»

Автор: Ishayahu Lastov

Цветок на ободок

Атласный цветок для волос

Практически все девочки копируют своих мам во всем, начиная от туфель на каблуках и заканчивая косметикой. Причем, делают это с таким интересом и пристрастием, что порой кажется, перед нами не маленькая красавица, а индеец в боевой раскраске. Прививать чувство меры очень важно уже в раннем возрасте терпеливыми объяснениями, что больше – это не значит лучше. Желательно подбирать образ вместе со своим ребенком. Украшения для причесок – неотделимый атрибут девочек. Это всевозможные бантики, резиночки, заколочки, зажимы, бусинки и много чего такого. Сегодняшний мастер-класс покажет, как обыкновенный кусок ткани может превратиться в оригинальное украшение для волос. Украшение для волос «Атласный цветок» — объект наших сегодняшних трудов.

Украшение "Цветок"

Читать

MoinMoin2. Документация. Введение в настройку MoinMoin

Типы конфигурационных файлов

Для изменения того, как moinmoin себя ведёт и выглядит, Вы можете настроить его, редактируя конфигурационные файлы:
  • Конфигурация движка Wiki
    • файл чаще всего называется wikiconfig.py, но может иметь и другое имя
    • в этом файле находятся классы конфига движка вики
    • он написан на Python
  • Конфигурация фреймворка
    • расположена в том же файле, что и конфигурация движка вики
    • содержит некоторые настройки в ВЕРХНЕМ РЕГИСТРЕ в конце файла. Это конфигурация фреймворка (Flask и его расширений)
    • он написан на Python
  • Конфигурация логирования
    • опциональна; если Вы не хотите настраивать логирование — будут использованы встроенные настройки
    • это отдельный файл, назвается чаще всего logging.conf
    • имеет .ini подобный формат файла

Меняйте понемногу и храните резервные копии

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

Редактирование файлов Python

Когда Вы редактируете файлы Python, будьте осторожны с отступами, используйте лишь отступы, кратные 4 пробелам и не используйте табуляцию.
Кроме того, будьте внимательны к синтаксису вообще; это должен быть корректный код на Python, иначе Вы получите ошибку при попытке загрузки конфигурации. В таком случае прочитайте внимательно сообщение об ошибке, в нём скорее всего будет содержаться номер строки и описание проблемы. Если у Вас не получается решить проблему — восстановите из резервной копии последний рабочий конфиг.

Зачем использовать Python для конфигурации?

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

wikiconfig.py

wikiconf.py выглядит таким образом:
# -*- coding: utf-8 -*-
from MoinMoin.config.default import DefaultConfig

class Config(DefaultConfig):
    # некоторый комментарий
    sometext = u'your value'
    somelist = [1, 2, 3]

MOINCFG = Config # Flask любит только верхний регистр
SOMETHING_FLASKY = 'foobar'
Давайте разберём это строка за строкой:
  1.  Мы объявляем кодировку конфигурационного файла; убедитесь, что ваш редактор использует ту же самую кодировку, особенно, если Вы используете не ASCII символы
  2. импортируем класс DefaultConfig из кода moin; в нём содержатся значения по умолчанию для всех настроек, что экономит ваш труд, так как Вы должны указать тут только те параметры, которые Вы хотите переопределить
  3. пустая строка для лучшего восприятия
  4. определяем новый класс Config, дочерний классу DefaultConfig. Это и есть настройки движка вики и он переопределяет значения из DefaultConfig.
  5. знак # указывает на комментарий в вашем конфиге. Эта строка, как и последующие строки в пределах Config имет отступ в 4 пробела, так как Python определяет блоки по отступам
  6. определяем атрибует Config'a c именем sometext и значением u'your value', где «u» указывает на то, что это строка юникода
  7. определяем атрибует Config'a c именем somelist и значением [1, 2, 3], это список с эементами 1, 2 и 3
  8. пустая строка для лучшего восприятия
  9. специальная строка «MOINCFG = Config» должна иметь именно такой вид по техническим причинам
  10. код в верхнем регистре находится в конце файла, вне класса Config и является настройкой фреймворка; обычно это что-то для Flask'a или его расшире

Исправляем ошибку "sorry, you must have a tty to run sudo"

Внезапно столкнулся с тем,  что из крона не отрабатывал скрипт, который прекрасно отрабатывал из консоли. Выдавал в STDERR указанную ошибку-  sorry, you must have a tty to run sudo.
Проблема решается изменением файла /etc/sudoers. Для его изменения рекомендую использовать утилиту visudo, а не править редактором напрямую. Находим строку:

Defaults    requiretty

И закомментируем её:

#Defaults    requiretty

И всё, sudo отлично работает из под cron.

Примечание: на самом деле, лучше переписать скрипты без использования sudo, поскольку эта закомментирование этой директивы наносит некоторый ущерб безопасности сервера:

# Disable «ssh hostname sudo «, because it will show the password in clear.
#         You have to run «ssh -t hostname sudo «.

Автор: AlexWinner

Грузовик из фетра

Грузовик из фетра — украшаем детскую

Когда я натолкнулась на настоящий мастер класс, просто не смогла  удержать свой восторг. Ведь этот грузовичок из фетра может стать лучшим другом для вашего малыша. Зачастую мальчики уже в сознательном возрасте стесняются играть и «дружить» с куклами и плюшевыми медведями. Но это совершенно не значит, что мальчишки не нуждаются в мягком глазастом друге. Именно такой незаменимой игрушкой для вашего ребенка может стать результат нашей сегодняшней работы. Так давайте же хорошенько потрудимся!

Грузовик из фетра

Грузовик из фетра

Читать

Что делать перед сном, чтобы проснуться красивой?

Ночной уход за кожей лица Страстно желаете стать красавицей за ночь? Такое предположение похоже на сказку, но это действительно возможно! Новые ночные средства по уходу творят чудеса. Эти поистине волшебные кремы подготавливают и лелеют наш завтрашний день. Но вначале задумайтесь над несколькими вопросами. «Как выглядит с утра ваше лицо? Что вы делаете накануне вечером? Вы предпочитаете лечь спать пораньше или засиживаетесь допоздна?» Зачем я задала эти вопросы?! Сейчас поймете. Ответ – в тексте ниже. Главное, что вы должны твёрдо знать, что время сна может стать ключом к нашему хорошему самочувствию и красоте. Ночь будет длинной Во время фазы «глубокого сна», которая длится в основном в первой половине ночи, организм запускает восстановительные процессы, снимая усталость: тело расслабляется, мозговая активность становится минимальной. Эта фаза абсолютного расслабления позволяет организму восстановиться и набраться сил. Во время «быстрого сна» (его еще называют парадоксальным) мышцы практически неподвижны и полностью расслаблены, а вот мозговая активность достигает своего максимума. Это фаза, во время которой заряжаются клетки мозга, полное расслабление тела — с одной стороны, и восстановление нервов — с другой. То есть ночь — это своеобразная «подзарядка батареек», от которой зависит наше самочувствие, внешний вид и настроение в течение всего дня. Поэтому ничем, что могло бы улучшить ночной отдых, пренебрегать нельзя. В том числе обязательно надо позаботиться о своей красоте. Чем мазать лицо на ночь? Перед сном Очищаем организм с помощью расслабляющего и улучшающего пищеварение отвара из липы, ромашки или валерьяны. Тщательно снимаем макияж Не экономьте на средствах для демакияжа и количестве используемых ватных дисков. Последний должен быть абсолютно чистым. Завершающий штрих — распыляем на кожу термальную воду. Ухаживаем за ногтями: наносим крем на руки и кутикулу, а ногти подкрашиваем или делаем новый маникюр. За ночь лак застынет, и будет держаться дольше. Расслабляем уставшие ноги. Наносим питательный крем или миндальное масло и долго массируем ступни ног и пальцы. Лежа в кровати, приподнимаем ноги, положив их на возвышенность, чтобы усилить отток крови и приготовить их к легкой походке. Во время сна Восстанавливаем кожу. Чтобы кожа была более упругой и сохраняла природный тонус, наносим питательный крем. Около 3-4 часов утра наступает период интенсивного клеточного восстановления, возрастает метаболическая активность клеток, активизируется выработка протеинов (особенно коллагена и эластина). Очень важно за время сна наполнить кожу питательными веществами, которые она потеряла в течение дня. Худеем Определенно, биологические часы творят чудеса. Некоторые средства, принимаемые в определенное время вовнутрь или для внешнего использования, улучшают выведение из организма лишнего жира. Это факт! Получаем удовольствие Нежная подушка, пуховое одеяло, льняное постельное белье. Но сон будет еще слаще, если вы распылите в воздухе немного ночных ноток: иланг-иланга или лаванды. Приводим в порядок брови Перед увеличивающим зеркалом внимательно проверяем свои брови, при необходимости — выщипываем и придаем им красивую, аккуратную форму. Освежаем свой взгляд Чтобы кожа вокруг глаз была сияющей и гладкой, на несколько минут наносим разглаживающую маску. Результат гарантирован: темные круги и мешки под глазами исчезают, морщинки разглаживаются, а кожа сияет. Стимулируем энергию слегка теплой ванной с эфирными тонизирующими маслами цитрусовых или под практически холодным душем. Надеваем каблучки. День у наших ног! Ночь будет короткой Три или четыре часа сна — этого явно недостаточно, чтобы восстановить силы. Утренний подъем не будет радостью даже для жаворонков, уже после обеда вы почувствуете ужасную усталость. А что уж говорить про сов! Но если вы не хотите выглядеть ужасно на следующий день, то даже если уже 3 часа утра и скоро вставать, придется в рекордном темпе заняться своим лицом. Перед сном Быстро, но тщательно снимаем макияж. Без этого обязательного ритуала утренний подъем будет еще тяжелее. Оптимальный выбор: масло для демакияжа, которое смягчает кожу и глубоко очищает ее, или салфетки для снятия макияжа. Затем распылите на лицо термальную воду или увлажняющий тоник. Предупреждаем утреннюю слабость Проветрите помещение перед сном, даже если он будет коротким. Не ложитесь спать в душном помещении, к утру у вас может разболеться голова. Если совер