Автор Тема: Как вы ставили bugzilla (https://bugzilla.altlinux.org)?  (Прочитано 2994 раз)

Оффлайн Meatcoins

  • Участник
  • *
  • Сообщений: 320
Здравствуйте!
Пытаюсь сейчас установить bugzilla как сервер.
Качал вот это:
http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-4.4.1.tar.gz
Документацию читал вот эту:
http://www.bugzilla.org/docs/4.4/en/pdf/Bugzilla-Guide.pdf

У вас версия 3.2.4-ru-1.0.
А я пытаюсь поставить 4.4.1. И кое-каких пакетов впринципе нет.
Это касается perl-модулей.
Ставил некоторые скриптом ./install-module.pl
В частности perl DBD::Oracle.

Хочется прикрутить к bugzilla Oracle и Apache2.
При конфигурации (/var/www/html/checksetup.pl)  схема в Oracle создаётся.
Но работать не хочет пишет вот это в окне браузера при заходе на URL bugzilla-сервера:
Server error!

The server encountered an internal error and was unable to complete your request.

Error message:
'Oracle' is not a valid choice for $db_driver in localconfig: Can't load '/var/www/html/lib/x86_64-linux-thread-multi/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: libclntsh.so.11.1: cannot open shared object file: No such file or directory at /usr/lib64/perl5/DynaLoader.pm line 200. at /var/www/html/Bugzilla/DB/Oracle.pm line 26 Compilation failed in require at /var/www/html/Bugzilla/DB/Oracle.pm line 26. BEGIN failed--compilation aborted at /var/www/html/Bugzilla/DB/Oracle.pm line 26. Compilation failed in require at (eval 251) line 2. ,

If you think this is a server error, please contact the webmaster.
В ALT Linux'е bugzilla какую СУБД использует?

Оффлайн Meatcoins

  • Участник
  • *
  • Сообщений: 320
uname -a
Linux java-develop.localdomain 2.6.32-el-smp-alt31 #1 SMP Tue Jan 24 07:38:30 UTC 2012 x86_64 GNU/Linux

Оффлайн Meatcoins

  • Участник
  • *
  • Сообщений: 320
tail localconfig -n 5000
# If you are using Apache as your web server, Bugzilla can create .htaccess
# files for you, which will keep this file (localconfig) and other
# confidential files from being read over the web.
#
# If this is set to 1, checksetup.pl will create .htaccess files if
# they don't exist.
#
# If this is set to 0, checksetup.pl will not create .htaccess files.
$create_htaccess = 1;

# The name of the group that your web server runs as. On Red Hat
# distributions, this is usually "apache". On Debian/Ubuntu, it is
# usually "www-data".
#
# If you have use_suexec turned on below, then this is instead the name
# of the group that your web server switches to to run cgi files.
#
# If this is a Windows machine, ignore this setting, as it does nothing.
#
# If you do not have access to the group your scripts will run under,
# set this to "". If you do set this to "", then your Bugzilla installation
# will be _VERY_ insecure, because some files will be world readable/writable,
# and so anyone who can get local access to your machine can do whatever they
# want. You should only have this set to "" if this is a testing installation
# and you cannot set this up any other way. YOU HAVE BEEN WARNED!
#
# If you set this to anything other than "", you will need to run checksetup.pl
# as root or as a user who is a member of the specified group.
$webservergroup = 'user';

# Set this to 1 if Bugzilla runs in an Apache SuexecUserGroup environment.
#
# If your web server runs control panel software (cPanel, Plesk or similar),
# or if your Bugzilla is to run in a shared hosting environment, then you are
# almost certainly in an Apache SuexecUserGroup environment.
#
# If this is a Windows box, ignore this setting, as it does nothing.
#
# If set to 0, checksetup.pl will set file permissions appropriately for
# a normal webserver environment.
#
# If set to 1, checksetup.pl will set file permissions so that Bugzilla
# works in a SuexecUserGroup environment.
$use_suexec = 0;

# What SQL database to use. Default is mysql. List of supported databases
# can be obtained by listing Bugzilla/DB directory - every module corresponds
# to one supported database and the name of the module (before ".pm")
# corresponds to a valid value for this variable.
$db_driver = 'Oracle';

# The DNS name or IP address of the host that the database server runs on.
$db_host = 'localhost';

# The name of the database. For Oracle, this is the database's SID. For
# SQLite, this is a name (or path) for the DB file.
$db_name = 'ORCL';

# Who we connect to the database as.
$db_user = 'bugs';

# Enter your database password here. It's normally advisable to specify
# a password for your bugzilla database user.
# If you use apostrophe (') or a backslash (\) in your password, you'll
# need to escape it by preceding it with a '\' character. (\') or (\)
# (It is far simpler to just not use those characters.)
$db_pass = 'bugs';

# Sometimes the database server is running on a non-standard port. If that's
# the case for your database server, set this to the port number that your
# database server is running on. Setting this to 0 means "use the default
# port for my database server."
$db_port = 1521;

# MySQL Only: Enter a path to the unix socket for MySQL. If this is
# blank, then MySQL's compiled-in default will be used. You probably
# want that.
$db_sock = '';

# Should checksetup.pl try to verify that your database setup is correct?
# With some combinations of database servers/Perl modules/moonphase this
# doesn't work, and so you can try setting this to 0 to make checksetup.pl
# run.
$db_check = 1;

# Most web servers will allow you to use index.cgi as a directory
# index, and many come preconfigured that way, but if yours doesn't
# then you'll need an index.html file that provides redirection
# to index.cgi. Setting $index_html to 1 below will allow
# checksetup.pl to create an index.html for you if it doesn't exist.
# NOTE: checksetup.pl will not replace an existing file, so if you
#       wish to have checksetup.pl create one for you, you must
#       make sure that index.html doesn't already exist.
$index_html = 0;

# If you want to use the CVS integration of the Patch Viewer, please specify
# the full path to the "cvs" executable here.
$cvsbin = '';

# If you want to use the "Difference Between Two Patches" feature of the
# Patch Viewer, please specify the full path to the "interdiff" executable
# here.
$interdiffbin = '';

# For the "Difference Between Two Patches" feature to work, we need to know
# what directory the "diff" bin is in. (You only need to set this if you
# are using that feature of the Patch Viewer.)
$diffpath = '/usr/bin';

# This secret key is used by your installation for the creation and
# validation of encrypted tokens. These tokens are used to implement
# security features in Bugzilla, to protect against certain types of attacks.
# A random string is generated by default. It's very important that this key
# is kept secret. It also must be very long.
$site_wide_secret = 'rsar9ia1TMPFL1wgHlOqUGKnjNJLveNwNp9GFli2eK7pnwwfOqoym2JURGeHgGb3';

Оффлайн Meatcoins

  • Участник
  • *
  • Сообщений: 320
В инструкции, вроде, всё просто написано. А что-то не получается почему-то....
« Последнее редактирование: 16.12.2013 11:54:53 от Meatcoins »

Оффлайн ksa

  • Модератор глобальный
  • *****
  • Сообщений: 9 049
В ALT Linux'е bugzilla какую СУБД использует?
Рискну предположить, что это mysql (mariadb).

Оффлайн Meatcoins

  • Участник
  • *
  • Сообщений: 320
По документации bugzilla может работать с PostgreSQL, с MySQL и с Oracle.
Мне хотелось бы с Oracle, так как зачем ставить ещё какую-то СУБД только ради Bugzilla, если там и так уже стоит Oracle Standart Edition?

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 160
    • Домашняя страница
В ALT Linux'е bugzilla какую СУБД использует?
MySQL. Хватает за глаза для багзиллы.
Андрей Черепанов (cas@)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 160
    • Домашняя страница
Мне хотелось бы с Oracle, так как зачем ставить ещё какую-то СУБД только ради Bugzilla, если там и так уже стоит Oracle Standart Edition?
Можно, конечно, класть все яйца в одну корзину. Но практика показывает, что это не самая лучшее и надёжное решение. :)
Андрей Черепанов (cas@)

Оффлайн Meatcoins

  • Участник
  • *
  • Сообщений: 320
Цитировать
Можно, конечно, класть все яйца в одну корзину. Но практика показывает, что это не самая лучшее и надёжное решение.
Не... какие яйца?
Это ж СУБД. Сколько яиц туда не положи - всё надёжно будет.
Есть же такие вещи как dump'ы и резервное копирование. С этим нет проблем.
А вот идея ставить на сервер дополнительную СУБД мне не нравится при условии, что там уже есть другая СУБД.
Ну, я попробую, конечно, с MySQL поупражняться.

Просто пакет perl-mod_Oracle вы не собирали, как я понял.
Он как бы ставится скриптом, но это не через менеджер пакетов, поэтому можно отгрести глюки, что, по всей видимости, и происходит.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 160
    • Домашняя страница
Просто пакет perl-mod_Oracle вы не собирали, как я понял.
Он как бы ставится скриптом, но это не через менеджер пакетов, поэтому можно отгрести глюки, что, по всей видимости, и происходит.
И не только. Установка самого Oracle это ещё та песня. После этого любые костыли не кажутся страшными и костылеобразными. :)
Андрей Черепанов (cas@)

Оффлайн Meatcoins

  • Участник
  • *
  • Сообщений: 320
Цитировать
И не только. Установка самого Oracle это ещё та песня. После этого любые костыли не кажутся страшными и костылеобразными.
Хвала тому, кто додумался вот до этого!!!
Цитировать
Исправление проблем сборки

В процессе установки у вас обязательно возникнет ошибка линковки. Не пугайтесь, к сожалению, это нормально. Данная ошибка связана с тем, что Oracle не обеспечивает правильный порядок линковки, что по умолчанию запрещено в дистрибутивах ALT Linux начиная с v4.0.

Мы не будем исправлять ошибки Oracle а просто обойдём их, разрешив сборку в неправильной последовательности. Для этого нам необходимо передать линковщику параметр --no-as-needed. Очевидно было бы использовать для этого переменную $LDFLAGS. Однако тут проявляется ещё одна особенность Oracle. Во всех make-файлах переменная $LDFLAGS переопределяется без учёта предыдущего значения. Таким образом, этой переменной воспользоваться не получится.

Когда появится сообщение об ошибке сборки, выполните под пользователем, под которым была запущена программа установки:

. /etc/sysconfig/oracle
export ORACLE_HOME
subst 's/^LD="gcc/LD="gcc -Wl,--no-as-needed/' $ORACLE_HOME/bin/genorasdksh
subst 's/^LDFLAGS=-o/LDFLAGS=-Wl,--no-as-needed -o/g' $(find $ORACLE_HOME -name env_\*.mk)

Я пока это отложу. Попробую потом поковыряюсь с MySQL для начала, чтоб хоть на чём-то эта BugZilla у меня стартанула.