• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

Problem with path in apache.

E

Egenius

Guest
My virtual host is here - /home/www/vhosts
When a try to mount directory /home/www/ to /var/www/, I have error whith someone sites.
Error like ...
"PHP Fatal error: Can't load /home/www/vhosts/domain.tld/httpdocs/administrator/components/com_joomfish/config.joomfish.php, open_basedir restriction. in /home/www/vhosts/domain.tld/httpdocs/administrator/components/com_joomfish/joomfish.class.php on line 81"

In /home/www/vhosts/domain.tld/httpdocs/administrator/components/com_joomfish/joomfish.class.php line 81:
" require( "$this->_adminPath/config.joomfish.php" );"

Why sites go to the "/home" directory ? Configurations of sites is not have paths to /home or /var

Please HELP !!!

Sorry for my english.
 
Hello

The path where virtual directories are located is also set in Plesk configuration file
/etc/psa/psa.conf.
Are you trying to change virtual hosts location? In this case you can use
/usr/local/psa/bin/transvhosts.pl
utility.
It will change virtual hosts location, correct configuration files.
 
In my psa.conf I don't change anything
# Plesk tree
PRODUCT_ROOT_D /usr/local/psa

# Directory of SysV-like Plesk initscripts
PRODUCT_RC_D /etc/init.d

# Directory for config files
PRODUCT_ETC_D /usr/local/psa/etc

# Virtual hosts directory
HTTPD_VHOSTS_D /var/www/vhosts

# Apache configuration files directory
HTTPD_CONF_D /etc/httpd/conf

# Apache include files directory
HTTPD_INCLUDE_D /etc/httpd/conf.d

# Apache binary files directory
HTTPD_BIN_D /usr/bin

#Apache log files directory
HTTPD_LOG_D /var/log/httpd

#apache startup script
HTTPD_SERVICE httpd

# Qmail directory
QMAIL_ROOT_D /var/qmail

# Location of qmail maildirs
QMAIL_MAILNAMES_D /var/qmail/mailnames

# Path to rblsmtpd
RBLSMTPD /usr/sbin/rblsmtpd

# Courier-IMAP
COURIER_IMAP_ROOT_D /

# Proftpd
FTPD_CONF /etc/proftpd.conf
FTPD_CONF_INC /etc/proftpd.include
FTPD_BIN_D /usr/bin
FTPD_VAR_D /var/run/proftpd
FTPD_SCOREBOARD /var/run/proftpd/scoreboard

# Bind
NAMED_RUN_ROOT_D /var/named/run-root



# Webalizer
WEB_STAT /usr/bin/webalizer

# Logrotate
LOGROTATE /usr/local/psa/logrotate/sbin/logrotate

# MySQL
MYSQL_VAR_D /var/lib/mysql
MYSQL_BIN_D /usr/bin

# PostgreSQL
PGSQL_DATA_D /var/lib/pgsql/data
PGSQL_BIN_D /usr/bin

# Backups directory
DUMP_D /var/lib/psa/dumps

# Mailman directories
MAILMAN_ROOT_D /usr/lib/mailman
MAILMAN_VAR_D /var/lib/mailman

# Python binary
PYTHON_BIN /usr/bin/python2.4

# Tomcat root directory
CATALINA_HOME /usr/share/tomcat5

# DrWeb
DRWEB_ROOT_D /opt/drweb
DRWEB_ETC_D /etc/drweb

# GnuPG binary
GPG_BIN /usr/bin/gpg

# Tar binary
TAR_BIN /bin/tar

# Curl certificates
CURL_CA_BUNDLE_FILE /usr/share/curl/curl-ca-bundle.crt

# AWStats
AWSTATS_ETC_D /etc/awstats
AWSTATS_BIN_D /var/www/cgi-bin/awstats
AWSTATS_TOOLS_D /usr/share/awstats
AWSTATS_DOC_D /var/www/html/awstats

# openssl binary
OPENSSL_BIN /usr/bin/openssl

LIB_SSL_PATH /lib/libssl.so.6
LIB_CRYPTO_PATH /lib/libcrypto.so.6

CLIENT_PHP_BIN /usr/local/psa/bin/php-cli

My hosts work whith this configuration, but hosts is in /home/www whith simlink to /var/www
I need mount /home/www directory to /var/www and run /usr/local/psa/bin/transvhosts.pl ?
 
You do not need to have a symlink. Moreover, we advise you not to use symlinks, Plesk somtimes cannot process symlinks correctly. For example the current location of virtual hosts is /var/www/vhosts (according the config you had sent). If you want to move all to
/home/www. You just need to have this folder created, then use /usr/local/psa/bin/transvhosts.pl (without any symlinks). If
/home/www is on another device - then the device should be mounted to /home/www directory.
For more info about utility usage run it with --help option.
 
Юлия !
Могу я обратиться к Вам по-русски ?
В том то и дело что я не знал что плеск некорректно работает с символическими ссылками. Поэтому поместил все сайты в директорию /home/www на отдельном разделе и сделал симлинк в /var/www, как делал это на остальных своих серверах без панелей управления, и все мои пользователи, если указывают в конфигурациях сайтов пути, то они указывают именно /var/www Так что мне нужно сохранить путь именно /var/www, но сделать так чтобы он не являлся симлинком. Простое монтирование директории /home/www к /var/www приводит к проблемам даже на тех сайтах, где пути жёстко не прописаны.
Что случится если я примонтирую всё-таки /home/www к /var/www и запущу скрипт "/usr/local/psa/bin/transvhosts.pl" ? Ведь получится что обе директории содержат одну и ту же информацию и если скрипт при своей работе копирует файлы, то результат его действий может быть неутешительным или данный скрипт может просто подправить конфигурацию, не перемещая никаких файлов?
По идее мне нужно чтобы все конфигурационные файлы указывали на директории, лежащие в /var/www, и на сколько я мог изучить все эти файлы, все они именно на эти директории и ссылаются, но вот при обращении к сайту, apache упорно пытается получить доступ к /home/www/...
Как я понимаю, дело в неких скрытых или динамически обновляемых конфигурационных файлах, найти которые я не могу. Именно эту, казалось бы простую проблему я и хочу решить. Важно чтобы путь /var/www сохранился, т.к. все сайты ссылаются именно на него.
Заранее благодарю за любую помощь!
 
Back
Top