Виртуальные хосты Apache+Nginx
Виртуальные хосты Apache+Nginx
При создании домена, в папке /home/user/conf/web создаются conf файлы виртуальных хостов из шаблонов для апача и nginx.
В каждом таком файлике есть подхват настроек посредством
Include /home/mod/conf/web/httpd.domain.conf* (у апача например).
проблема в том, что даже имея bash доступ, юзер не может видеть и редактировать эти файлы (что в принципе замечательно) или тут какая то ошибка с правами?
Некоторые скажут, что пользовательские настройки можно подхватить из .htaccess и будут частично правы.
Пример: CMS 1C_Bitrix 14 не установится если mbstring.func_overload =0 (а так оно и есть по умолчанию).
Дело в том, что в PHP 5.4 директива MB_string enable подхватывается через .htaccess, а вот mbstring.func_overload =2 уже нет
Ее уже надо добавлять либо в php.ini (что глобально и плохо) или через php_admin_value в настройках виртуалхоста.
Внимание вопрос: Почему бы не дать юзверю возможность подхватить свои настройки из папки которую он может редактировать?
Например Include /home/mod/web/httpd.local ?
Иначе все будет выливаться в просьбы отредактировать, добавить конфиги владельцу сервера - что есть трата времени и нервов.
Или я не прав и доступ к локальным конфигам его виртуал хоста даст юзверю сделать посредством конфига сделать что то, что он в принципе сделать не имеет права?
В каждом таком файлике есть подхват настроек посредством
Include /home/mod/conf/web/httpd.domain.conf* (у апача например).
проблема в том, что даже имея bash доступ, юзер не может видеть и редактировать эти файлы (что в принципе замечательно) или тут какая то ошибка с правами?
Некоторые скажут, что пользовательские настройки можно подхватить из .htaccess и будут частично правы.
Пример: CMS 1C_Bitrix 14 не установится если mbstring.func_overload =0 (а так оно и есть по умолчанию).
Дело в том, что в PHP 5.4 директива MB_string enable подхватывается через .htaccess, а вот mbstring.func_overload =2 уже нет
Ее уже надо добавлять либо в php.ini (что глобально и плохо) или через php_admin_value в настройках виртуалхоста.
Внимание вопрос: Почему бы не дать юзверю возможность подхватить свои настройки из папки которую он может редактировать?
Например Include /home/mod/web/httpd.local ?
Иначе все будет выливаться в просьбы отредактировать, добавить конфиги владельцу сервера - что есть трата времени и нервов.
Или я не прав и доступ к локальным конфигам его виртуал хоста даст юзверю сделать посредством конфига сделать что то, что он в принципе сделать не имеет права?
Re: Виртуальные хосты Apache+Nginx
а если так?.htaccess, а вот mbstring.func_overload =2 уже нет
Code: Select all
php_admin_value mbstring.func_overload 2
Re: Виртуальные хосты Apache+Nginx
так только из виртуалхоста, из .htaccess не подхватывает (дело не в синтаксисе)
а конфиг виртуал хоста как бе для юзверя не доступен, вот.
а конфиг виртуал хоста как бе для юзверя не доступен, вот.
Re: Виртуальные хосты Apache+Nginx
Попробуйте так
По поводу индивидуального php.ini
подумаем. Добавьте пожелание в багтрекер
не поможет, тогда настройте через глобальный php.iniphp_admin_value mbstring.func_overload 2
php_admin_value mbstring.internal_encoding UTF-8
По поводу индивидуального php.ini
подумаем. Добавьте пожелание в багтрекер
Re: Виртуальные хосты Apache+Nginx
Это точно сработает если я внесу правки в виртуалхост или php.ini.
Дайте ссылку на багтрекер, где просить? :)
Дайте ссылку на багтрекер, где просить? :)
Re: Виртуальные хосты Apache+Nginx
в php.ini раскомментируйте строку
вместо 0 выстави 2
и рестартани апач
Багтрекер
Code: Select all
mbstring.func_overload = 0
и рестартани апач
Code: Select all
etc/init.d/httpd restart
Re: Виртуальные хосты Apache+Nginx
Imperio, поймите, я про это знаю и описал уже это выше. Я к тому, что есть
1C Bitrix который требует func_overload 2, а есть Kohana framework и другие, что требуют
func_overload 0, и править php.ini не вариант.
Я веду речь именно о подхвате настроек юзера в конфиге виртуального хоста.
1C Bitrix который требует func_overload 2, а есть Kohana framework и другие, что требуют
func_overload 0, и править php.ini не вариант.
Я веду речь именно о подхвате настроек юзера в конфиге виртуального хоста.
Re: Виртуальные хосты Apache+Nginx
Code: Select all
# cat /usr/local/vesta/data/templates/web/httpd/bitrix.tpl
<VirtualHost %ip%:%web_port%>
ServerName %domain_idn%
%alias_string%
ServerAdmin %email%
DocumentRoot %docroot%
ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
Alias /vstats/ %home%/%user%/web/%domain%/stats/
Alias /error/ %home%/%user%/web/%domain%/document_errors/
SuexecUserGroup %user% %group%
CustomLog /var/log/httpd/domains/%domain%.bytes bytes
CustomLog /var/log/httpd/domains/%domain%.log combined
ErrorLog /var/log/httpd/domains/%domain%.error.log
<Directory %docroot%>
AllowOverride All
Options +Includes -Indexes +ExecCGI
php_admin_value upload_tmp_dir %home%/%user%/tmp
php_admin_value upload_max_filesize 100M
php_admin_value max_execution_time 600
php_admin_value post_max_size 100M
php_admin_value memory_limit 128M
php_admin_flag mysql.allow_persistent off
php_admin_flag safe_mode off
php_admin_value session.save_path %home%/%user%/tmp
php_admin_value mbstring.func_overload 7
</Directory>
<Directory %home%/%user%/web/%domain%/stats>
AllowOverride All
</Directory>
<IfModule mod_ruid2.c>
RMode config
RUidGid %user% %group%
RGroups apache
</IfModule>
<IfModule itk.c>
AssignUserID %user% %group%
</IfModule>
Include %home%/%user%/conf/web/httpd.%domain%.conf*
</VirtualHost>
Code: Select all
# cat /usr/local/vesta/data/templates/web/httpd/bitrix.stpl
<VirtualHost %ip%:%web_ssl_port%>
ServerName %domain_idn%
%alias_string%
ServerAdmin %email%
DocumentRoot %sdocroot%
ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/
Alias /vstats/ %home%/%user%/web/%domain%/stats/
Alias /error/ %home%/%user%/web/%domain%/document_errors/
SuexecUserGroup %user% %group%
CustomLog /var/log/httpd/domains/%domain%.bytes bytes
CustomLog /var/log/httpd/domains/%domain%.log combined
ErrorLog /var/log/httpd/domains/%domain%.error.log
<Directory %sdocroot%>
AllowOverride All
SSLRequireSSL
Options +Includes -Indexes +ExecCGI
php_admin_value mbstring.func_overload 7
php_admin_value upload_tmp_dir %home%/%user%/tmp
php_admin_value upload_max_filesize 100M
php_admin_value max_execution_time 600
php_admin_value post_max_size 100M
php_admin_value memory_limit 128M
php_admin_flag mysql.allow_persistent off
php_admin_flag safe_mode off
php_admin_value session.save_path %home%/%user%/tmp
</Directory>
<Directory %home%/%user%/web/%domain%/stats>
AllowOverride All
</Directory>
SSLEngine on
SSLVerifyClient none
SSLCertificateFile %ssl_crt%
SSLCertificateKeyFile %ssl_key%
%ssl_ca_str%SSLCertificateChainFile %ssl_ca%
<IfModule mod_ruid2.c>
RMode config
RUidGid %user% %group%
RGroups apache
</IfModule>
<IfModule itk.c>
AssignUserID %user% %group%
</IfModule>
Include %home%/%user%/conf/web/shttpd.%domain%.conf*
</VirtualHost>
Re: Виртуальные хосты Apache+Nginx
Блин, это все понятно что можно сделать шаблон. Хотелось бы все таки это реализовать подхватом пользовательских настроек PHP.
Re: Виртуальные хосты Apache+Nginx
mbstring.func_overload является admin value с версии 5.4 часть подобные настройки могут быть изменены только из php.ini
mbstring.func_overload не может быть переопределена в коде или в .htaccess
уточнять в документации
mbstring.func_overload не может быть переопределена в коде или в .htaccess
уточнять в документации