[SOLVED] Установка веб-приложений

Добрый день, уважаемые!

Который раз воюю с установкой веб-приложений из портажа (примеры - phpmyadmin, cacti, roundcube). Моя проблема в том, что у меня своя структура директорий, и, соответсвенно имею в /etc/vhosts/webapp-config строку "vhost_root="/data/www/${vhost_subdomain_2}.${vhost_subdomain_1}/${vhost_subdomain_3}". На этом и засыпаюсь: при каждой установке или апдейте танцы с бубном, система портажей пытается насильно установить на localhost. Включение USE="vhosts" то помогает, то нет.... утомился.

Уважаемые, поделитесь плиз тайным знанием кто как обходится с такой проблемой. И вообще, дайте линк почитать про этот самый webapp-config. Чет в инете совсем немного про него.

Заранее благодарен.

USE="vhosts" должен помогать

USE="vhosts" должен помогать всегда, просто потому что отключает автоматическую установку приложения. про webapp-config можно почитать в его мане.

Должен, но не помогает

$ sudo emerge -p roundcube
[ebuild R ] mail-client/roundcube-0.2.1 USE="mysql vhosts -ldap -postgres -spell -sqlite -ssl" 0 kB

$ sudo emerge roundcube
[skipped]
*
* ERROR: mail-client/roundcube-0.2.1 failed.
* Call stack:
* ebuild.sh, line 49: Called pkg_setup
* roundcube-0.2.1.ebuild, line 60: Called webapp_pkg_setup
* webapp.eclass, line 378: Called webapp_read_config
* webapp.eclass, line 60: Called die
* The specific snippet of code:
* ENVVAR=$(${WEBAPP_CONFIG} --query ${PN} ${PVR}) || die "Could not read settings from webapp-config!"
* The die message:
* Could not read settings from webapp-config!
*

а откуда ебилд?

а откуда ебилд?

Самый что ни на есть

Самый что ни на есть родной...

$ ls -l /etc/make.profile
lrwxrwxrwx 1 root root 56 Mar 18 20:53 /etc/make.profile -> /usr/portage/profiles/default/linux/amd64/2008.0/server/

Дык проблема не только в нем.

Дык проблема не только в нем. Вот, только что попробовал phpmyadmin:

$ sudo emerge phpmyadmin
[ebuild  N    ] dev-db/phpmyadmin-2.11.9.4  USE="vhosts" 0 kB
...
* Fatal error: 
* Fatal error: There is a problem with your configuration file.
* Fatal error: webapp-config tried to read the variable "vhost_config_dir"
* Fatal error: and received the following error:
* Fatal error: 
* Fatal error: Bad value substitution:
* Fatal error: 	section: [USER]
* Fatal error: 	option : vhost_config_dir
* Fatal error: 	key    : vhost_subdomain_2
* Fatal error: 	rawval : .${vhost_subdomain_1}/${vhost_subdomain_3}
* Fatal error: 
* Fatal error: Please note that webapp-config is not written in bash anymore
* Fatal error: and that you cannot use the bash scripting features.
* Fatal error(s) - aborting
 * 
 * ERROR: dev-db/phpmyadmin-2.11.9.4 failed.
 * Call stack:
 *                    ebuild.sh, line   49:  Called pkg_setup
 *   phpmyadmin-2.11.9.4.ebuild, line   24:  Called webapp_pkg_setup
 *                webapp.eclass, line  378:  Called webapp_read_config
 *                webapp.eclass, line   60:  Called die
 * The specific snippet of code:
 *   		ENVVAR=$(${WEBAPP_CONFIG} --query ${PN} ${PVR}) || die "Could not read settings from webapp-config!"
 *  The die message:
 *   Could not read settings from webapp-config!
 * 
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/dev-db/phpmyadmin-2.11.9.4/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-db/phpmyadmin-2.11.9.4/temp/die.env'.
 * 

забааавно...

>>> Emerging (1 of 1) mail-client/roundcube-0.2.1

 * roundcubemail-0.2.1.tar.gz RMD160 SHA1 SHA256 size ;-) ... [ ok ]
 * checking ebuild checksums ;-) ... [ ok ]
 * checking auxfile checksums ;-) ... [ ok ]
 * checking miscfile checksums ;-) ... [ ok ]
 * 
 * Using dev-lang/php-5.2.8-r2
 * 
 * Checking for required PHP feature(s) ...
 * 
 * Using dev-lang/php-5.2.8-r2
 * 
 * Checking for required PHP feature(s) ...
 *   USE flag mysql is enabled, ok ...
 * 
 * Using dev-lang/php-5.2.8-r2
 * 
 * Checking for required PHP feature(s) ...
 *   USE flag gd is enabled, ok ...
>>> Unpacking source...
>>> Unpacking roundcubemail-0.2.1.tar.gz to /var/tmp/portage/mail-client/roundcube-0.2.1/work
>>> Source unpacked in /var/tmp/portage/mail-client/roundcube-0.2.1/work
>>> Compiling source in /var/tmp/portage/mail-client/roundcube-0.2.1/work/roundcubemail-0.2.1 ...
>>> Source compiled.
>>> Test phase [not enabled]: mail-client/roundcube-0.2.1

>>> Install roundcube-0.2.1 into /var/tmp/portage/mail-client/roundcube-0.2.1/image/ category mail-client
 * (server owned) htdocs/logs
 * (server owned) htdocs/temp
 * (config) htdocs/config/db.inc.php
 * (config) htdocs/config/main.inc.php
 * (info) /usr/portage/mail-client/roundcube/files/postinstall-en.txt (lang: en)
 * (info) UPGRADING (lang: en)
>>> Completed installing roundcube-0.2.1 into /var/tmp/portage/mail-client/roundcube-0.2.1/image/


>>> Installing mail-client/roundcube-0.2.1
 * 
 * The 'vhosts' USE flag is switched ON
 * This means that Portage will not automatically run webapp-config to
 * complete the installation.
 * 
 * To install roundcube-0.2.1 into a virtual host, run the following command:
 * 
 *     webapp-config -I -h <host> -d roundcube roundcube 0.2.1
 * 
 * For more details, see the webapp-config(8) man page
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

 * GNU info directory index is up-to-date.

проблема видимо в чём-то другом...
а как с правами на файл

/etc/vhosts/webapp-config

?

С правами все нормально

Да нет, с правами-то все нормально. Проблема собссно говоря в том, что даже имея среди флагов vhosts, конфиг считывается (ну или пытается это сделать)!
На самом деле я проблему уже решил, однако считаю такое поведение недостойным :).

Решил следующей правкой конфига /etc/vhosts/webapp-config: заменил
vhost_hostname="localhost"
на
vhost_hostname="tools.domain.tld"

Спасибо за участие. Если есть более правильные мысли - велкам! :)

PS. ссылка по теме http://bugs.gentoo.org/210168

А можно глянуть ваш

А можно глянуть ваш /etc/vhosts/webapp-config?

Интересно

Только мне по мотивам этого сообщения об ошибке показалось, что неплохо бы задать значение vhost_config_dir где-нибудь в /etc/make.conf?

:wq
--
Live free or die

Боюсь от этого

Боюсь от этого ENVVAR=$(${WEBAPP_CONFIG} --query ${PN} ${PVR}) || die "Could not read settings from webapp-config!" выполняться не станет

Не буду создавать тему,

Не буду создавать тему, отпишусь здесь.

Никто мне не подскажет, webapp-config должен сам создавать конфиги для апача, или все виртуальные хосты нужно ручками прописывать?

/etc/vhosts/webapp-config:

# where should drop-in config files for webservers go?
#
# these files will be called <server>-<app>.conf.  They are quite rare,
# but are needed from time to time by the odd application or two

vhost_config_dir="${vhost_root}/conf"

Сразу оговорюсь, что здесь пусто.

есть необязательная педаль

есть необязательная педаль для установки конфигов веб сервера из этой приблуды . ( пример: ебилд otrs)
A так да, рукаму в обшем случае

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Я так понимаю ты про флаг

Я так понимаю ты про флаг "vhosts"?

не совсем, если посмотреть в

не совсем, если посмотреть в ебилд, то use vhost там не прописан. он соурсится из екласса webapp.
В нем ( еклассе) уже есть функции для "шинкования" кое каких конфигурационных фаиликов, в том числе и
в момент выполнения webapp-config.

Примерно в таком стиле :

 webapp_hook_script "${FILESDIR}"/reconfig-2


!/bin/bash
  # reconfig-2

  PF=${PN}-${PVR}

  die() {
          echo "******"
          echo $1
          echo "******"
          exit 1
  }

  if [ $1 = "install" ]; then
          # edit Apache configs
          cd ${VHOST_ROOT}/${PF}/scripts
          sed -e "s|/opt/otrs/var/httpd/htdocs/|${MY_INSTALLDIR}/|g" -i apache-httpd.include.conf apache2-httpd.include.conf || die "sed failed"
          
          # set $HOME
          grep -lR "/opt" * | xargs sed -i "s|/opt/otrs|${VHOST_ROOT}/${PF}|g" || die "sed failed"
          
          sed -i "s|/opt/otrs|${VHOST_ROOT}/${PF}|g" ${VHOST_ROOT}/${PF}/Kernel/Config.pm || die "sed failed"

          # set permissions
          ${VHOST_ROOT}/${PF}/bin/SetPermissions.sh  ${VHOST_ROOT}/${PF} otrs apache apache apache > /dev/null || die "Could not set permissions"


  elif [ $1 = "clean" ]; then
          echo "Please examine the contents of the following directories"
          echo "and delete anything that is no longer necessary"
          echo
          echo ${VHOST_ROOT}/${PF}
          echo ${MY_INSTALLDIR}
  fi

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Спасибо за более развернутый

Спасибо за более развернутый ответ))

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".