?

Log in

No account? Create an account

Previous Entry | Next Entry

Этот пост написан на замену посту Jail-шаблон с вебсервером и базой данных. Дело в том, что из-за замены менеджера пакетов во FreeBSD по старому работать перестало. И тащить за собой исправления - только забивать вам мозги. Поэтому пишу работающую на сегодня версию. Она пригодится для Torrentmonitor.

А новый менеджер пакетов на голову лучше и гибче старого.

UPD от 31 июля 2015. Поправил для nas4free 10.1.0.2 - Prescience (revision 1731). В основном дал ссылку на новый диалог настройки клетки в п 1 /UPD



1) Создаём джейл через TheBrig, как сделано здесь в п 3. Даём джейлу имя torrentmonitor и IP 192.168.1.54/24. fstab пока НЕ заполняем

2) Запускаем джейл, смотри его номер (пусть будет 4), через putty заходим по ssh, идём в джейл
jexec 4 tcsh

3) Устанавливаем новый пакетный менеджер, соглашаемся - ставим y

root@torrentmonitor:/ # pkg
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y


4) Ставим гумманоидный редактор
pkg install nano

5) Копируем и редактируем конфиг
cp /usr/local/etc/pkg.conf.sample /usr/local/etc/pkg.conf
nano /usr/local/etc/pkg.conf


Здесь находим строку
#ASSUME_ALWAYS_YES = false;
и заменяем её на
ASSUME_ALWAYS_YES = true;
Внимание - # в начале убираем. Можно и не редактировать, но тогда при каждой установке пакета будет назойливо задавать вопросы.

6) Обновляем пакеты и заодно убеждаемся, что всё работает
pkg update -f

root@tm:/usr/ports/ports-mgmt/pkg # pkg update -f
Updating FreeBSD repository catalogue...
[tm.local] Fetching meta.txz: 100% 968 B 1.0k/s 00:01
[tm.local] Fetching digests.txz: 100% 2 MB 2.1M/s 00:01
[tm.local] Fetching packagesite.txz: 100% 5 MB 5.3M/s 00:01
Processing new repository entries: 100%
FreeBSD repository update completed. 23708 packages processed:
0 updated, 0 removed and 23708 added.

ПРИМ. Чтоб 2 раза не вставать - пара полезных на будущее команд сюда же, респект камраду RU_Taurus
pkg audit -F - проверка уязвимостей
pkg info | grep nano - просмотр версии установленного пакета
pkg search [имя_пакета] - ищет заданное примерное имя пакета в локальном репозитарии
pkg search -f [имя_пакета] - посмотреть полную информацию о пакете (точное имя мы нашли первой командой)
pkg version -Rv - посмотреть что из пакетов требует обновления
pkg upgrade [имя_пакета] - обновить пакет до новой версии, можно задать несколько имён в одной команде. /ПРИМ

7) Теперь ставим пакеты
pkg install lighttpd
pkg install php5-ctype
pkg install php5-dom
pkg install php5-fileinfo
pkg install php5-filter
pkg install php5-gd
pkg install php5-hash
pkg install php5-iconv
pkg install php5-json
pkg install php5-mbstring
pkg install php5-pdo
pkg install php5-pdo_sqlite
pkg install php5-session
pkg install php5-simplexml
pkg install php5-sqlite3
pkg install php5-xml
pkg install php5-xmlrpc
pkg install php5-gettext
pkg install php5-mcrypt
pkg install php5-zip
pkg install php5-zlib
pkg install curl


[Этой ошибки уже нет, прячу под спойлер]8) В прошлый раз в curl вылезла ошибка, пришлось пересобирать
Проверяем, что сейчас всё ОК

curl -c '/tmp/cookies' 'http://ya.ru' > null && ls -l /tmp/cookies

если видим в конце строку типа
-rw-r--r-- 1 root wheel 196 Mar 15 16:04 /tmp/cookies
- поздравляю, получилось

Если строку
ls: /tmp/cookies: No such file or directory
- что-то не так и curl у вас без поддержки cookies. Идите по ссылке в чуть выше и собирайте с поддержкой.

Если тест выше удачный - ставим php5-curl

pkg install php5-curl

9) Редактируем конфиги
9.1) Открываем для редактирования /usr/local/etc/lighttpd/lighttpd.conf
Сделать это можно многими способами, например через nano
НЕ ИСПОЛЬЗУЙТЕ встроенный редактор nas4free  - он  портит конфиги

nano /usr/local/etc/lighttpd/lighttpd.conf

9.2) Редактируем lighttpd.conf (поиск по файлу - Ctrl W)
server.bind = "192.168.1.54"
server.use-ipv6 = "disable"

и та строка
$SERVER["socket"] == "192.168.1.54:8080" { }
перед которой стоит коммент
# IPv4 listening socket
она - в самом конце.


Прим. Не забываем в начале строки server.bind убрать знак комментария #

9.3) Редактируем /usr/local/etc/lighttpd/modules.conf, удаляя # из строки
#include "conf.d/fastcgi.conf"

9.4) Добавляем в конец файла /usr/local/etc/lighttpd/conf.d/fastcgi.conf следующее
fastcgi.server = ( ".php" =>
((
"socket" => "/tmp/php.socket",
"bin-path" => "/usr/local/bin/php-cgi",
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "16",
"PHP_FCGI_MAX_REQUESTS" => "10000"
),
"min-procs" => 1,
"max-procs" => 1,
"idle-timeout" => 20
))
)

9.5) В список файла (где угодно внутри скобок mimetype.assign = ( ) ) /usr/local/etc/lighttpd/conf.d/mime.conf добавляем
".svg" => "image/svg+xml",
".xht" => "application/xhtml+xml",
".xhtml" => "application/xhtml+xml",
".woff" => "application/x-font-woff",
".svgz" => "image/svg+xml",

10) Проверяем синтаксис lighttpd.conf
lighttpd -t -f /usr/local/etc/lighttpd/lighttpd.conf
Если всё хорошо - он напишет Syntax OK

11) Создаём наш тестовый сайт
11.1) Создаём папку и файл
mkdir -p /usr/local/www/data
echo "XXX" > /usr/local/www/data/index.php


Прим. Вместо XXX внутри кавычек  надо написать то, что на картинке ниже. (Движок ЖЖ не даёт писать php код напрямую, а тегов для инкапсуляции нет :(. )
phpinfo

11.2) Задаём владельца
chown -R www:www /usr/local/www/

12) Проверяем
12.1) Запускаем lighttpd
/usr/local/sbin/lighttpd -f /usr/local/etc/lighttpd/lighttpd.conf

12.2) Идём в браузере по адресу нашего джейла 192.168.1.54
Если всё нормально - видим

50852_original
13) останавливем наш джейл кнопкой через TheBrig

Отправной точкой послужил этот пост

Comments

( 89 comments — Leave a comment )
Page 1 of 2
<<[1] [2] >>
shtapoff
Dec. 5th, 2014 05:24 am (UTC)
Ура! Спасибо большое! буду пробовать вечером
shtapoff
Dec. 5th, 2014 07:11 pm (UTC)
будете смеяться, но...
/usr/ports/databases/rubygem-arel-helpers/
files/8d63329842181b307e6e27c3a30fb10c0448a3e3923a9ca79bae9fc56333a7ae.gz not found -- snapshot corrupt.
ОПЯТЬ!
решил с нуля поставить, так как на ранее созданный jail (с установленными портами) повалились ошибки при установке нового менеджера пакетов. есть жуткое желание снести все к... (не будем матерно) и установить что-то другое. хоть богомерзкую 8 винду, на нее хоть лицензия валяется. хотя пустая винда от пустого nas2free по функционалу не отличается, но вот плюшки freebsd не хотят работать.
2gusia
Dec. 5th, 2014 09:28 pm (UTC)
странно донельзя...
но я вот смотрю на результат - и вижу, что дерево портов вроде и не к чему

сделайте чистый FULL джейл
После (3) сделайте
pkg_add -r pkg

(4) и (5) опускаем

Должно получиться - хотя с вашим счастьем, как говорится, вдруг и свисток от акул не поможет, тк она окажется глухой :)

PS И я бы в бриге перекачал на всякий случай
FreeBSD-amd64-9.2-RELEASE-base.txz
и
FreeBSD-amd64-9.2-RELEASE-lib32.txz


Edited at 2014-12-05 09:30 pm (UTC)
(no subject) - Alexey Kruglov - Dec. 6th, 2014 12:21 pm (UTC) - Expand
(no subject) - 2gusia - Dec. 6th, 2014 01:06 pm (UTC) - Expand
(no subject) - Alexey Kruglov - Dec. 6th, 2014 06:17 pm (UTC) - Expand
ext_2105885
Dec. 6th, 2014 02:46 pm (UTC)
Не сочтите за агитацию, но должен отметить что в openmediavault все это на порядок проще и логичнее делается, причем прямо в web-gui.
2gusia
Dec. 6th, 2014 04:09 pm (UTC)
OMV за годы к версии 1 вызрел в неплохой продукт. И дебиановское многообразие пакетов и приложений - его ещё один плюс. Минусом, когда я выбирал себе NAS было отсутствие ZFS - но за годы уже много сделали и докрутят, надеюсь.

Но сама по себе идея embedded установки, развёртывающая диск в памяти? с конфигом в одном текстовом файле - она мне больше нравится, чем установка на диск. Хотя ставить на диск - проще, но если что-то кардинально идёт не так, то скорее всего - полная перестановка. Я почитываю форум OMV...
(no subject) - ext_2105885 - Dec. 6th, 2014 04:48 pm (UTC) - Expand
(no subject) - 2gusia - Dec. 6th, 2014 08:06 pm (UTC) - Expand
ext_2105885
Dec. 6th, 2014 08:48 pm (UTC)
С этим я согласен, тут каждый выбирает для себя, что ему важнее - быстрое восстановление после того как накосячил (хотя если оно настроено и работает как тебе нужно - чего туда лезть?) или удобство использования и возможности модификации "под себя" малой кровью, современным, удобным софтом, который работает в большинстве случаев не хуже, а зачастую лучше конкурентов. Как Вы думаете когда nas4free перейдет на nginx? или будет доступен нормальный интерфейс для возможности подключения плагинов? или сколько времени (и возможно нервов) Вы потратите при переходе на версию 10? Я не говорю, что OMV идеален, но определенно выбор OMV оказывается логичнее когда основной функционал требует дополнений. Если OMV позволяет почти все сделать из web-gui, nas4free требуется консоль в большинстве случаев. nas4free по моему мнению - это вещь в себе и его модификация большей частью сродни костылям.


Edited at 2014-12-06 08:49 pm (UTC)
2gusia
Dec. 6th, 2014 10:53 pm (UTC)
>nginx?
Вау... ни разу в голову не приходило - а зачем?

>плагинов
Думаю, очень нескоро (если вообще будет). Но расширения люди пишут вполне успешно... С другой стороны - есть FreeNAS с вполне себе плагинами.

>на версию 10
У меня на живом железе уже крутится - вполне в целом рабочая, хоть и альфа. Так что немного.

>nas4free по моему мнению - это вещь в себе и его модификация большей частью сродни костылям.

Просто nas4free (положа руку на сердце) исходно не предназначен для расширения. И коробки хватает вобщем-то...
Но у меня есть пунктик, ср :)
Но я люблю стихи
Предельно непереводимые
Ни на какие языки.
Вот их, во славу переводчества,
Переводить мне очень хочется.


Edited at 2014-12-06 10:57 pm (UTC)
Андрій Ліщук
Dec. 7th, 2014 02:47 pm (UTC)
Ошибка
Здравствуйте!
Делал все по инструкции и на этапе 16.1) столкнулся с такой проблемой: при вводе команды выдает ошибку: 2014-12-07 16:45:16: (network.c.409) can't bind to port: 0.0.0.0 80 Address already in use
Насколько я понимаю, 80 порт уже занят (я же правильно понял?). Вопрос: как можно решить данную проблему?
Заранее спасибо!
2gusia
Dec. 7th, 2014 05:05 pm (UTC)
Re: Ошибка
скорее всего причина в том, что вы при настройке (или стартовой командой джейла в бриге) уже запустили lighttpd

Проверьте также, что IP джейла уникальный и не совпадает с IP nas4free.

Зайдите на ip джейла и расскажите что там.
Re: Ошибка - Андрій Ліщук - Dec. 7th, 2014 05:14 pm (UTC) - Expand
Re: Ошибка - 2gusia - Dec. 7th, 2014 05:58 pm (UTC) - Expand
Re: Ошибка - Андрій Ліщук - Dec. 7th, 2014 06:43 pm (UTC) - Expand
Re: Ошибка - 2gusia - Dec. 7th, 2014 08:52 pm (UTC) - Expand
Re: Ошибка - Андрій Ліщук - Dec. 7th, 2014 08:58 pm (UTC) - Expand
Re: Ошибка - Fox_1911 - Feb. 8th, 2015 07:55 pm (UTC) - Expand
Re: Ошибка - 2gusia - Feb. 8th, 2015 08:08 pm (UTC) - Expand
Aleksey Star
Dec. 10th, 2014 06:44 pm (UTC)
Ошибка 403
Всё делал как написано но после того как я перешёл на IP джэйла пишет ошибку 403 - Forbidden.В чём проблема?
2gusia
Dec. 10th, 2014 07:43 pm (UTC)
Re: Ошибка 403
стоит внимательно перепроверить, особенно пп 13-15
чудес не бывает, комп - штука детерминированная. Если в точности повторить мои действия - получите тот же результат.
koolru
Jan. 2nd, 2015 12:51 pm (UTC)
У меня вот как-то со второго раза полуилось, первый раз не стартовал вебсервер, ругался на что-то про iconv...
Я вот заметил, что nano тянет libiconv-1.14_1, а после pkg update nano там уже libiconv-1.14_6

И еще момент, у вас в $SERVER["socket"] == "192.168.1.54:8080" { } порт 8080, а вебсервер на 80м порту живет... это так и должно быть?
2gusia
Jan. 2nd, 2015 02:15 pm (UTC)
80 и 8080 порт - почти что одно и то же, ЕМНИП оба стандартные, оба опрашиваются
iva2019
Jan. 28th, 2015 12:23 pm (UTC)
Подскажите, пожалуйста, где собака порылась?
Установил 1310 версию НАС, TheBrig, создал Jail TorrentMonitor в датасете /mnt/Pool/Ext/Jails/TorrentMonitor. Запускаю jail, его id=1, даю в Putty команду
jexec 1 $SHELL
Её результат
jexec: execvp(): /usr/local/bin/bash: No such file or directory
2gusia
Jan. 28th, 2015 04:47 pm (UTC)
проверил - так и есть

дайте
jexec 1 tcsh

Причина - установленный finch, shell по умолчанию стал bash. А он ине хочет так подставлять...

Edited at 2015-01-28 04:52 pm (UTC)
(no subject) - iva2019 - Jan. 28th, 2015 04:54 pm (UTC) - Expand
iva2019
Jan. 28th, 2015 05:50 pm (UTC)
Следующая засада - пункт 13.1) nano /usr/local/etc/lighttpd/lighttpd.conf

Shared object "libiconv.so.2" not found, required by "libintl.so.9"
Подставить на время установки
ln -s /usr/local/lib/libiconv.so.3 /usr/local/lib/libiconv.so.2 ,
или добавить как PostInit скрипт для ТМ ?

Edited at 2015-01-28 06:01 pm (UTC)
2gusia
Jan. 28th, 2015 07:40 pm (UTC)
я так понимаю, вы всё это в jail делаете?

тогда однократного ln будет в самый раз.

PostInit скрипт будет делать в хост системе.
(no subject) - iva2019 - Jan. 28th, 2015 07:53 pm (UTC) - Expand
(no subject) - 2gusia - Jan. 28th, 2015 08:06 pm (UTC) - Expand
(no subject) - iva2019 - Jan. 28th, 2015 08:12 pm (UTC) - Expand
(no subject) - iva2019 - Feb. 9th, 2015 06:15 pm (UTC) - Expand
(no subject) - 2gusia - Feb. 9th, 2015 06:36 pm (UTC) - Expand
(no subject) - iva2019 - Feb. 9th, 2015 06:42 pm (UTC) - Expand
Сергей Наумкин
Feb. 10th, 2015 09:08 pm (UTC)
No such file or directory.
Подскажите пожалуйста
почему выдает ошибку No such file or directory.
login as: root
root@192.168.0.101's password:
Last login: Tue Feb 10 23:32:56 2015 from 192.168.0.15
Welcome to cNas!
cnas: ~ # jexec 3 tcsh
root@torrentmonitor:/ # pkg_add -r nano
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-9-stable/Latest/nano.tbz... Done.
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-9-stable/All/libiconv-1.14_1.tbz... Done.
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-9-stable/All/gettext-0.18.3.1.tbz... Done.
root@torrentmonitor:/ # portsnap fetch extract
Looking up portsnap.FreeBSD.org mirrors... none found.
Fetching public key from portsnap.FreeBSD.org... done.
Fetching snapshot tag from portsnap.FreeBSD.org... done.
Fetching snapshot metadata... done.
Fetching snapshot generated at Tue Feb 10 04:01:06 MSK 2015:
9528fd262c49a418579faa6f58bfc3c4040fe96c58d92d100% of 56 MB 547 kBps 01m45s
Extracting snapshot... snap/8bd2f2d1e85bb98a760022703eac8ff47d51700559cfedcb0b158e4eca2fc992.gz: (Empty error message)
tar: Error exit delayed from previous errors.
root@torrentmonitor:/ # cd /usr/ports/ports-mgmt/pkg
/usr/ports/ports-mgmt/pkg: No such file or directory.
root@torrentmonitor:/ #
root@torrentmonitor:/ #
2gusia
Feb. 11th, 2015 06:36 am (UTC)
Re: No such file or directory.
Дерево портов не помтроено, выше было сообщение о пустой ошибке. Соотв нет папки куда идти.

за прошедшее время порты подтянули, можно проще, я поправлю пост вечерком
Re: No such file or directory. - 2gusia - Feb. 11th, 2015 07:50 pm (UTC) - Expand
Сергей Наумкин
Feb. 14th, 2015 02:50 pm (UTC)
Ошибка
С портами разобрался, дошел до конца, запускаю 192.168.0.103 все пусто
хотя вроде все установилось
root@torrentmonitor:/ # lighttpd -t -f /usr/local/etc/lighttpd/lighttpd.conf
Syntax OK
root@torrentmonitor:/ # echo "" > /usr/local/www/data/index.php
root@torrentmonitor:/ # chown -R www:www /usr/local/www/
root@torrentmonitor:/ # /usr/local/sbin/lighttpd -f /usr/local/etc/lighttpd/lighttpd.conf
2015-02-14 21:48:14: (network.c.409) can't bind to port: 0.0.0.0 80 Address already in use
root@torrentmonitor:/ #
Сергей Наумкин
Feb. 14th, 2015 02:58 pm (UTC)
Re: Ошибка
Разобрался $SERVER["socket"] == "192.168.1.54:8080" { } поменял в IPV6 а надо было в IPV4

Edited at 2015-02-14 02:59 pm (UTC)
Re: Ошибка - 2gusia - Feb. 23rd, 2015 12:42 pm (UTC) - Expand
Максим Чернов
Mar. 24th, 2015 08:10 am (UTC)
Важное обновление ТМ
Вернулся в строй lostfilm.tv с автоматическим получение кук и прописыванием их куда нужно при первом запуске движка. С единственной оговоркой, для пользователей Nas4Free в версиях FreeBSD 9.2-RELEASE и 9.3-RELEASE найдена проблема с подключением к https://www.lostfilm.tv. Проверить можно следующим образом:

curl -v https://www.lostfilm.tv/rssdd.xml

Если страничка прогрузилась - все ОК, если увидели сообщение об ошибке:

curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

то проблема во встроенном OpenSSL 0.9.8. Проблема решается установкой из портов актуальной версии 1.0.2 и пересборкой CURL'а.
2gusia
Mar. 24th, 2015 09:04 am (UTC)
Re: Важное обновление ТМ
О как! Спасибо! Подробности, видимо, в блоге разработчика?

Ошибку эту выдаёт. Но, думаю, побороть справлюсь
Re: Важное обновление ТМ - 2gusia - Mar. 24th, 2015 04:24 pm (UTC) - Expand
Re: Важное обновление ТМ - 2gusia - Mar. 24th, 2015 05:33 pm (UTC) - Expand
Re: Важное обновление ТМ - 2gusia - Mar. 24th, 2015 05:39 pm (UTC) - Expand
Re: Важное обновление ТМ - 2gusia - Mar. 24th, 2015 06:10 pm (UTC) - Expand
Нестор Иванович
Dec. 19th, 2015 12:37 pm (UTC)
Установка в Finch
Приветствую, подскажите что изменить в конфигах при установке в финч чтобы не выходила ошибка о используемом порте 80, через него видать конфликт с N4F и еще не могу остановить lighttpd как это сделать? Спасибо
Вопрос снят сменил 80 порт, но как сделать стоп lighttpd не понял.

Edited at 2015-12-19 12:50 pm (UTC)
2gusia
Dec. 19th, 2015 02:03 pm (UTC)
Re: Установка в Finch
то есть вы торрентмонитор решили ставить непосредственно в chroot?

я так не делал. Но попытался бы пробежаться по тексту настроек и везде, где даётся IP:port заменил бы порт на что-то свободное,типа 3567
Re: Установка в Finch - 2gusia - Dec. 19th, 2015 04:44 pm (UTC) - Expand
Re: Установка в Finch - 2gusia - Dec. 19th, 2015 08:13 pm (UTC) - Expand
german_s61
Feb. 11th, 2016 08:46 pm (UTC)
Проблема с curl
Все установлено по данному руководству.
Проверка ошибки с curl, как здесь описано, все корректно.

Но не происходит авторизация torrentmonitor на всех сайтах с авторизацией. KorP написал, что проблема с версией curl и Нужно откатываться на более раннюю. Установлена php-curl 7.47

Возможно помочь заставить работать torrntmonitor корректно?
2gusia
Feb. 12th, 2016 08:29 am (UTC)
Re: Проблема с curl
Хм... сам пользую только лост-через-зеркало - всё устраивает. Но если есть описание проблемы у разраба - киньте ссылку, посмотрю как вкрячить. И приведите пример трекера, который после процедуры лечения должен начать работать - чтоб мог проверить
Re: Проблема с curl - german_s61 - Feb. 12th, 2016 12:10 pm (UTC) - Expand
Re: Проблема с curl - 2gusia - Feb. 12th, 2016 01:21 pm (UTC) - Expand
Re: Проблема с curl - german_s61 - Feb. 12th, 2016 02:39 pm (UTC) - Expand
Re: Проблема с curl - 2gusia - Feb. 12th, 2016 07:13 pm (UTC) - Expand
Re: Проблема с curl - 2gusia - Feb. 12th, 2016 07:15 pm (UTC) - Expand
Re: Проблема с curl - german_s61 - Feb. 23rd, 2016 07:19 pm (UTC) - Expand
Re: Проблема с curl - 2gusia - Feb. 23rd, 2016 09:12 pm (UTC) - Expand
Re: Проблема с curl - german_s61 - Feb. 23rd, 2016 09:42 pm (UTC) - Expand
Re: Проблема с curl - 2gusia - Feb. 23rd, 2016 10:14 pm (UTC) - Expand
Re: Проблема с curl - german_s61 - Feb. 23rd, 2016 10:19 pm (UTC) - Expand
Jmz Dgrz
Mar. 5th, 2016 11:09 am (UTC)
ассоциации MIME
При текущей версии lighthttp ругается на п.9.5.

Эти ассоциации есть по дефолту:
".svg" => "image/svg+xml",
".xht" => "application/xhtml+xml",
".xhtml" => "application/xhtml+xml",
".svgz" => "image/svg+xml",

Этого нет, вписал: ".woff" => "application/x-font-woff",
Есть так, закомментил: ".woff" => "application/font-woff",

После этого Syntax OK

UPD:
установку пакетов, имхо лучше сделать в виде
cd /tmp
nano packs
добавить #/bin/sh
скопипастить список пакетов
chmod 777 packs
./packs

а то копипастить по строчке скучно :)


Edited at 2016-03-05 01:01 pm (UTC)
Page 1 of 2
<<[1] [2] >>
( 89 comments — Leave a comment )

Latest Month

September 2018
S M T W T F S
      1
2345678
9101112131415
16171819202122
23242526272829
30      

Tags

Powered by LiveJournal.com