powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как установить на LINUX второй экземпляр Firebird ?
25 сообщений из 47, страница 1 из 2
Как установить на LINUX второй экземпляр Firebird ?
    #37509311
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сабж.

Вот я скачал снапшот, распаковал его /bin и /udf в /opt/fb25_26387/
Открыл там firebird.conf, поменял RemoteServicePort на 3051.
В папке /etc/xinet.d создал файл `firebird25_26387`, в нём:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
service gds_db
{
        disable = no
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user                    = firebird
# These lines cause problems with Windows XP SP2 clients
# using default firewall configuration (SF#1065511)
#       log_on_success  += USERID
#       log_on_failure  += USERID
        server          = /opt/fb25_26387/bin/fb_inet_server
}

Далее выполняю
Код: plaintext
/etc/init.d/xinetd restart
Затем пытаюсь приконнектиться, получаю по лбу:
Код: plaintext
1.
2.
3.
4.
[root@firebirdG fb25_26387]# /opt/fb25_26387/bin/isql -n -user sysdba -pas ****** localhost/ 3051 :/opt/fb25_26387/employee.fdb
Statement failed, SQLSTATE =  08006 
Unable to complete network request to host "localhost".
-Failed to establish a connection.
Use CONNECT or CREATE DATABASE to specify a database

В логе /var/log/messages мои потуги отразились так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Nov  2 17:19:16 firebirdG xinetd[32497]: Exiting...
Nov  2 17:19:16 firebirdG xinetd[22948]: bind failed (Address already in use (errno = 98)). service = gds_db
Nov  2 17:19:16 firebirdG xinetd[22948]: Service gds_db failed to start and is deactivated.
Nov  2 17:19:16 firebirdG xinetd[22948]: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in.
Nov  2 17:19:16 firebirdG xinetd[22948]: Started working: 1 available service
Nov  2 17:25:30 firebirdG xinetd[22948]: Exiting...
Nov  2 17:25:33 firebirdG xinetd[23041]: bind failed (Address already in use (errno = 98)). service = gds_db
Nov  2 17:25:33 firebirdG xinetd[23041]: Service gds_db failed to start and is deactivated.
Nov  2 17:25:33 firebirdG xinetd[23041]: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in.
Nov  2 17:25:33 firebirdG xinetd[23041]: Started working: 1 available service
Nov  2 17:28:12 firebirdG xinetd[23041]: Exiting...
Nov  2 17:28:12 firebirdG xinetd[23097]: bind failed (Address already in use (errno = 98)). service = gds_db
Nov  2 17:28:12 firebirdG xinetd[23097]: Service gds_db failed to start and is deactivated.
Nov  2 17:28:12 firebirdG xinetd[23097]: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in.

Куда рыть, что подправить ?
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509595
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ясное дело, сделать gds_db на порту 3051. Вообще не люблю я эту экономию. Почему не 3070, 3080?
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509598
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тьфу. сервис gds_db1 например для 3051. не?
bind failed (Address already in use (errno = 98)). service = gds_db
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509640
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvтьфу. сервис gds_db1 например для 3051. не?
bind failed (Address already in use (errno = 98)). service = gds_dbТанцы с бубном чё-то не помогли... :'(
Вот что сейчас в firebird.conf *второго* инстанса:
Код: plaintext
1.
 RemoteServiceName = gds_db1
RemoteServicePort = 3051 

Вот что в конфиге xinet.d:
cat /etc/xinetd.conf
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
#
# This is the master xinetd configuration file. Settings in the
# default section will be inherited by all service configurations
# unless explicitly overridden in the service configuration. See
# xinetd.conf in the man pages for a more detailed explanation of
# these attributes.

defaults
{
# The next two items are intended to be a quick access place to
# temporarily enable or disable services.
#
#       enabled         =
#       disabled        =

# Define general logging characteristics.
        log_type        = SYSLOG daemon info
        log_on_failure  = HOST
        log_on_success  = PID HOST DURATION EXIT

# Define access restriction defaults
#
#       no_access       =
#       only_from       =
#       max_load        = 0
        cps             = 5000 2000
        instances       = UNLIMITED
        per_source      = UNLIMITED

# Address and networking defaults
#
#       bind            =
#       mdns            = yes
        v6only          = no

# setup environmental attributes
#
#       passenv         =
        groups          = yes
        umask           = 002

# Generally, banners are not used. This sets up their global defaults
#
#       banner          =
#       banner_fail     =
#       banner_success  =
}

 includedir /etc/xinetd.d 

Перезапустил xinet.d - облом (пока - понятный):
Код: plaintext
1.
2.
3.
Nov  2 21:42:44 firebirdG xinetd[25096]: Exiting...
Nov  2 21:42:44 firebirdG xinetd[25121]:  Port not specified and can't find service: gds_db1  with getservbyname
Nov  2 21:42:44 firebirdG xinetd[25121]: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in.
Nov  2 21:42:44 firebirdG xinetd[25121]: Started working: 1 available service

Далее подправил файлик firebird25_26387:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
 cat /etc/xinetd.d/firebird25_26387 
# default: on
# description: FirebirdSQL server
#
# Be careful when commenting out entries in this file. Active key entry should
# be the first as some scripts (CSchangeRunUser.sh in particular) use sed
# scripting to modify it.

service gds_db 1  # это была первая ошибка, тут было 'gds_db'
{
        disable = no
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user                    = firebird
# These lines cause problems with Windows XP SP2 clients
# using default firewall configuration (SF#1065511)
#       log_on_success  += USERID
#       log_on_failure  += USERID
         port = 3051    # это - вторая ошибка, тут не было порта (BTW: правильно ли его указывать именно так ?) 
        server          = /opt/fb25_26387/bin/fb_inet_server
}


Опять перезапустил xinet.d, опять попытался подключиться - облом.
Вижу в /var/log/messages:
Код: plaintext
1.
2.
3.
4.
Nov  2 21:45:36 firebirdG xinetd[25121]: Exiting...
Nov  2 21:45:37 firebirdG xinetd[25241]: service/protocol combination not in /etc/services: gds_db1/tcp
Nov  2 21:45:37 firebirdG xinetd[25241]: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in.
Nov  2 21:45:37 firebirdG xinetd[25241]: Started working: 1 available service

Лезу в /etc/services, добавляю туда строку:
gds_db1 3051/tcp
Перезапускаю xinet.d
Вижу в /var/log/messages:
Код: plaintext
1.
2.
3.
Nov  2 22:06:01 firebirdG xinetd[25241]: Exiting...
Nov  2 22:06:01 firebirdG xinetd[25431]: xinetd Version 2.3.14 started with libwrap loadavg labeled-networking options compiled in.
Nov  2 22:06:01 firebirdG xinetd[25431]: Started working:  2  available services

Пытаюсь подключиться к ФБ через порт 3051 - облом.
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509656
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PS . Возможно, это поможет в поиске истины: сразу после того, как попытался подключиться к ФБ через 3051, в /var/log/messages появилось вот:
Код: plaintext
1.
2.
Nov  2 22:06:49 firebirdG xinetd[25431]: START: gds_db1 pid=25443 from=::ffff:127.0.0.1
Nov  2 22:06:51 firebirdG xinetd[25431]: EXIT: gds_db1  status=0  pid=25443 duration=2(sec)
На каждую последущую попытку подключения в это же логе появляется аналогичное:
Код: plaintext
1.
2.
Nov  2 22:16:05 firebirdG xinetd[25431]: START: gds_db1 pid=25502 from=::ffff:127.0.0.1
Nov  2 22:16:05 firebirdG xinetd[25431]: EXIT: gds_db1  status=0  pid=25502 duration=0(sec)

Что означает статус = 0, когда на консоли ISQL идёт ругань:
Код: plaintext
1.
2.
3.
4.
ISQL Version: LI-V2.5.2.26387 Firebird 2.5
Statement failed, SQLSTATE = 28000
no permission for read-write access to database /opt/fb25_26387/employee.fdb
Use CONNECT or CREATE DATABASE to specify a database

???
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509657
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидВот что сейчас в firebird.conf *второго* инстанса:
Да забей ты на него. Классик не использует эти параметры.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509664
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе для экспериментов или для работы?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509666
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидЧто означает статус = 0, когда на консоли ISQL идёт ругань:

Это означает, что процесс сервера корректно отшил попытку пользователя влезть и так же
корректно завершился.

no permission for read-write access to database /opt/fb25_26387/employee.fdb
Какое слово тебе непонятно?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509673
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамТебе для экспериментов или для работы?для *работы*, в том-то и дело!
У меня вылезло сообщение о невосстановимом бекапе, dimitr еще утром посоветовал проверить на свежем снапшоте.
Делать это на боевом серваке я не могу, ес-сно.
Делать на отладочном - можно, но надо поставить туда второй инстанс, т.к. первый используется как раз для создания бекапов продакшена (gbak запускается именно на отладочном серваке, на нём же создает .fbk и тут же проверяет их - сначала с -m, затем, если предыдущая проверка Ок, ресторит по полной).
Делать на третьем линух-сервере достаточной мощности - а нет его.
Есть еще путь камикадзе - копировать .tgz на локальный диск via WinSCP, там распаковывать и ресторить локальным ФБ. Не прокатит - легко умереть молодым от ожидания.

Отсюда и горячее желание поднять второй ФБ (в виде last build) на тестовом линухе.
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509677
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovКакое слово тебе непонятно?Ты сам знаешь ответ :-)
Почему, запустив в командной строке ФБ в режиме SuperClassic'a:
Код: plaintext
/opt/fb25_26387/bin/fb_smp_server -e /opt/fb25_26387 &
- я могу далее совершенно спокойно подключиться:
Код: plaintext
/opt/fb25_26387/bin/isql -n localhost/ 3051 :/u01/db/firebird/employee.fdb
- а с попыткой делать это всё через конфиг xinet.d такие траблы ?
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509680
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovДа забей ты на него. Классик не использует эти параметры.Весело. А кто тогда использует, только SS и SC ?
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509683
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид> для *работы*, в том-то и дело!

По твоему описанию - как раз для экспериментов, ибо временно.
Соответственно, забей на RemoteServicePort и по порту, а сервер
(второй инстанс) стартуй с указанием порта через параметр.

Попробуй, проверь. Собсно, работоспособность и без коннекта
будет видна - посмотри запущен ли процесс и какой порт он держит.

> Делать на отладочном - можно, но надо поставить туда второй инстанс,
> т.к. первый используется как раз для создания бекапов продакшена
> (gbak запускается именно на отладочном серваке, на нём же создает .fbk

Вынесло мозг. Это хоть кто придумал/подсказал?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509696
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамТаблоид> для *работы*, в том-то и дело!

По твоему описанию - как раз для экспериментов, ибо временно.
Соответственно, забей на RemoteServicePort и по порту, а сервер
(второй инстанс) стартуй с указанием порта через параметр .

Попробуй, проверь. Собсно, работоспособность и без коннекта
будет видна - посмотри запущен ли процесс и какой порт он держит.Как это записать ? не могу найти примера, подскажи плз!
Вот что сейчас в конфиге (порт отдельно от строки запуска; как его "внедрить" в неё :)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 cat /etc/xinetd.d/firebird25_26387 

service gds_db1
{
...
         port = 3051
        server          = /opt/fb25_26387/bin/fb_inet_server 
}



Гаджимурадов Рустам> Делать на отладочном - можно, но надо поставить туда второй инстанс,
> т.к. первый используется как раз для создания бекапов продакшена
> (gbak запускается именно на отладочном серваке, на нём же создает .fbk

Вынесло мозг. Это хоть кто придумал/подсказал? А вот кто-то тут, на форуме, и подсказал эту "светлую идею" .
Сразу после резкого роста числа усеров в 2010(?) мы заметили, что как только стартует бекап, всё начинает безбожно тупить. Как только перебросили его на другой сервак - полегчало. После меняли много чего: и запросы переделывали, и клиентскую часть переписывали, и тот слабый сервак выкинули.
А бекап так и оставили, как был
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509701
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидПочему, запустив в командной строке ФБ
Потому что ты, обормот, имеешь права root-а. А xinetd заставляешь сервер запускать с
правами пользователя firebird.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509705
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид> Как это записать ? не могу найти примера, подскажи плз!

Вроде бы bin -i адрес:порт -nux (TCP/UDP/XNET).
Где-то в доке это должно быть описано, не помню.

И вообще зачем тебе именно CS для этого? Ставь SS.

> А вот кто-то тут, на форуме, и подсказал эту "светлую идею" .

Рестор на тестовом подсказали правильно, если продакшен
загружен 24/7. Но вот зачем (и как?!) на тестовом делается
бэкап продакшен_БД - лично мне непонятно.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509747
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

Я что-то не понял: после того, как были внесены изменения в /etc/services - какие проблемы, кроме прав доступа на запись в базу /opt/fb25_26387/employee.fdb еще остались?

А проблемы на запись, по идее, должны решиться с помощью chown firebird /opt/fb25_26387/employee.fdb
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509751
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя, судя по этому , тема уже не актуальна :)
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509757
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovТаблоидПочему, запустив в командной строке ФБ
Потому что ты, обормот, имеешь права root-а. А xinetd заставляешь сервер запускать с
правами пользователя firebird. Тогда почему к *первому* инстансу (который на 3050) коннекты идут ? Чем он лучше второго ?
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509767
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидDimitry Sibiryakovпропущено...

Потому что ты, обормот, имеешь права root-а. А xinetd заставляешь сервер запускать с
правами пользователя firebird. Тогда почему к *первому* инстансу (который на 3050) коннекты идут ? Чем он лучше второго ?

Тем, что запущен с правильного конфига xinetd от правильного юзера?
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509769
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miwaonlineЯ что-то не понял: после того, как были внесены изменения в /etc/services - какие проблемы, кроме прав доступа на запись в базу /opt/fb25_26387/employee.fdb еще остались?"Всего лишь" она одна и осталась
Что рутом захожу, что firebird'ом:
Код: plaintext
1.
2.
3.
4.
[firebird@firebirdG fb25_26387]$ isql -n -user sysdba -pas ******* localhost/3051:/opt/fb25_26387/employee.fdb
Statement failed, SQLSTATE = 28000
no permission for read-write access to database /opt/fb25_26387/employee.fdb
Use CONNECT or CREATE DATABASE to specify a database

Код: plaintext
1.
2.
3.
tail -2 /var/log/messages
Nov  3 00:00:27 firebirdG xinetd[25431]: START: gds_db1 pid=26092 from=::ffff:127.0.0.1
Nov  3 00:00:28 firebirdG xinetd[25431]: EXIT: gds_db1 status=0 pid=26092 duration=1(sec)

miwaonlineА проблемы на запись, по идее, должны решиться с помощью chown firebird /opt/fb25_26387/employee.fdb Эта база и так принадлежит юзеру firebird:
Код: plaintext
1.
ls -la employee.fdb
-r--r--r-- 1 firebird firebird 1105920 Nov  2 19:44 employee.fdb
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509771
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miwaonlineХотя, судя по этому , тема уже не актуальна :) Актуальна. Если прокатит, то обязательно сюда пошаговую шпаргалку выложу. На память себе и окружающим.
miwaonlineТем, что запущен с правильного конфига xinetd от правильного юзера? Ну так рестартитьто его кто имеет право ? только один юзер, кажись...
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509779
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидmiwaonlineТем, что запущен с правильного конфига xinetd от правильного юзера? Ну так рестартитьто его кто имеет право ? только один юзер, кажись...
Имел в виду, что первый инстанс ФБ запускается штатно (из xinetd, который в свою очередь запускает его от имени пользователя firebird), а второй (из командной строки) - от рута. Что может выдавать весьма неожиданные последствия.

Но тем не менее, больше причин отсутствия read-write access для employee.fdb придумать не могу. Если еще - что пользователь, от которого запускается второй инстанс, не имеет права на запись в /opt/fb25_26387/ или во временной каталог. Но, по идее, там другое сообщение об ошибке выдается - не помню, так как сталкивался один раз и то давно.
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509782
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоидno permission for read-write access to database /opt/fb25_26387/employee.fdb

- r -- r -- r -- 1 firebird firebird 1105920 Nov 2 19:44 employee.fdb

Ты бы эта... спал по ночам побольше что-ли...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509787
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovТаблоидno permission for read-write access to database /opt/fb25_26387/employee.fdb

- r -- r -- r -- 1 firebird firebird 1105920 Nov 2 19:44 employee.fdb

Ты бы эта... спал по ночам побольше что-ли...


Твоюжмать.

Хотя адресовалось и не мне, но я, пожалуй, тоже пойду лягу.
...
Рейтинг: 0 / 0
Как установить на LINUX второй экземпляр Firebird ?
    #37509806
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovТаблоидno permission for read-write access to database /opt/fb25_26387/employee.fdb

- r -- r -- r -- 1 firebird firebird 1105920 Nov 2 19:44 employee.fdb

Ты бы эта... спал по ночам побольше что-ли...Пфф... #&*!@%&$%&. Завтра у мехикана будет пасмурный день. Он мне будет долго объяснять, как мог получиться employee.fdb с правами "-r -r".
Всем спасибо, особливо DS'у.
Шпаргалка - за мной.

PS. 2 DS : а что ты спрашивал удивлённо, как мы делаем бекап с другого сервака ?
Вот фрагмент скрипта, запускаемого кроном на тестовом серваке 192.168.0. 2 , в нём нет ничего особенного:
Код: plaintext
1.
2.
3.
4.
ibbindir=/opt/firebird/bin
dbfile="192.168.0.1:our_poor_prod"
<... skipped ...>
$ibbindir/gbak -v  -user $username -password $password -b -g -y ${logfile}  ${dbfile} ${bkfile}  || SendMessage "fbkCreatingError"   
...
Рейтинг: 0 / 0
25 сообщений из 47, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как установить на LINUX второй экземпляр Firebird ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]