Apache Виртуальные Хосты и субдомены

/tmp папка является заполнителем по умолчанию для файлов сессии. Лучше используйте свою собственную папку сессии

Если Ваш хост позволил .htaccess разрешение переопределений, можно поместить следующую директиву в Ваш .htaccess под public_html или httpdocs папка

php_value session.save_path '/yourpath/sessionfolder'

Если Вы НЕ работаете php в suphp режим, Удостоверьтесь, что папка перезаписываема другими (777)

1
задан 17 May 2012 в 04:06
5 ответов

теперь он работал, когда я дал домашнему каталогу в / home / userx разрешение o + x, это безопасно, зачем ему разрешение на выполнение для всех

Мне нужно убедитесь, что я изменил информацию о владельце и группе в папках, с помощью следующей команды: chown apache2 / home / project1 / public -R и chgrp apache2 / home / project1 / public -R, если команды говорят, что пользователь apache2 этого не делает. t существует, замените его на httpd. Это причина, по которой он не работает в домашнем каталоге (принадлежащем вашему пользователю) и не работает в каталоге / var / www (принадлежит apache2). Я бы рекомендовал создать символическую ссылку в / var / www /, указывающую на ваш домашний каталог. Это стандартное дело. (другим легче понять, что происходит)

0
ответ дан 3 December 2019 в 21:48

Просто быстрый снимок в темноте, но это может быть SELinux вопрос. Когда вы переходите на сайт, который вы настроили в качестве ServerName, отображается ли что-нибудь в журналах конкретного сайта? Что-нибудь отображается в /var/log/http/error.log?

1
ответ дан 3 December 2019 в 21:48

-Убедитесь, что вы выполнили перезагрузку или перезагрузку с apache2 / httpd после ЛЮБЫХ изменений в конфигурации

-Убедитесь, что / home / project1 / web / public существует и разрешение 664 (выполните это рекурсивно с -R)

-Убедитесь, что владельцем и группой файлов является apache2 / httpd (в зависимости от дистрибутива), обычно идентификатор пользователя 33

-Убедитесь, что IP-адрес project1.cairocubicles.com указывает на правильный

- Я обычно избегаю www. поддомен с существующим поддоменом (не по техническим причинам, он просто выглядит беспорядочно)

-Для тестирования создайте файл с именем phpinfo.php, и пусть он содержит только следующие

 <?php
     phpinfo();
 ?>

и загрузит только его (так http://project1.cairocubicles.com/phpinfo.php)

- Вам необходимо убедиться, что вы изменили информацию о владельце и группе в папках. Попробуйте выполнить следующую команду (расширяя пункт 3 выше):

sudo chown apache2 /home/project1/public -R 

и

sudo chgrp apache2 /home/project1/public -R 

, если команды говорят, что пользователь apache2 не существует, замените его на httpd. Если процесс apache2 (запущенный как пользователь apache2) не может читать / выполнять файлы, могут возникнуть ошибки (например, 403 запрещено).

Другой способ обойти это - добавить вашего пользователя в группу apache2. Однако это немного сложнее правильно настроить

1
ответ дан 3 December 2019 в 21:48

Попробуйте:

ServerName project1.cairocubicles.com
ServerAlias www.project1.cariocubicles.com

Убедитесь, что пользователь, от имени которого запущен apache, имеет доступ для чтения к каталогу / home / project1 / web / public

0
ответ дан 3 December 2019 в 21:48

Если домен не указан как ServerName или ServerAlias, он будет загружаться с первого определенного VirtualHost. Поэтому в первом случае вы оказались не на том сайте.

После изменения ServerName вы, вероятно, загружали правильный веб-сайт, но теперь у вас возникла проблема с разрешениями или контентом. Проверьте журналы ошибок, журналы доступа, разрешения файловой системы. Кроме того, предыдущий плакат упоминал SELinux как возможную проблему.

0
ответ дан 3 December 2019 в 21:48

Теги

Похожие вопросы