Проблемы с установкой php5 на ubuntu

L
На сайте с 13.10.2010
Offline
27
953

Установил себе лампу на VDS, все нормально установилось но вот php5 отказываетяс работать, причем непонятно с чего. Сам php установился нормально, все модули тоже. По идее все должно работать, но не работает. В логах апача вот такая ошибка:

PHP Fatal error: Unknown: Failed opening required '/var/www/index.php' (include_path='.:/usr/share/php:/usr/share/pear') in Unknown on line 0

Кто-то с таким сталкивался? Сайт в папке var/www, права на папку 755.

M
На сайте с 01.12.2009
Offline
235
#1

Наверное надо смотреть, просто так не скажешь.

Администратор Linux,Freebsd. построения крупных проектов.
L
На сайте с 13.10.2010
Offline
27
#2
madoff:
Наверное надо смотреть, просто так не скажешь.

На западных форумах читал что это может быть проблема путей, только путей к чему и как их править пока неясно

Den73
На сайте с 26.06.2010
Offline
523
#3

ls -l /var/www

L
На сайте с 13.10.2010
Offline
27
#4
Den73:
ls -l /var/www

-rw------- 1 user user 107 May 11 10:32 infophp.php

у меня получается 1 файл, изначальный индекс(it works который) был root, а остальные от имени юзера исполняются, а как дать всем файлам в папке root?

forest25
На сайте с 12.09.2009
Offline
67
#5

Предлагаю запилить структуру схожую со структурой которую создает ISPmanager, ведь сайтов может быть несколько, так пусть они исполняются от разных пользователей.

1. sudo apt-get install php5-cli

2. Включаем модули suexec и fcgid и отключаем модуль php у Apache

3. Создаем пользователя для сайта siteuser: sudo useradd -m -d /var/www/siteuser siteuser

4. В /var/www/siteuser делаем mkdir data/www

5. В /var/www/siteuser/data/php-bin создаем файлик php с содержимым


#!/usr/bin/php5-cgi

и делаем chmod +x php

6. Настраиваем виртуальный хост в /etc/apache2/sites-available/

siteuser.ru

Пример конфига: http://pastebin.com/1ULFv5pT

7. Кидаем тестовый php-файл: /var/www/siteuser/data/www/siteuser.ru/info.php


<?
phpinfo();
?>

8. Сделаем пользователя владельцем этих директорий сhown -R siteuser:siteuser /var/www/siteuser

9. Включаем конфиг:

sudo a2ensite siteuser.ru

sudo service apache2 reload

10. Заходим на http://siteuser.ru/info.php и видим похожую картину:

Все же лучше отделять сайты по разным пользователям.

VPS 512MB 20GB SSD KVM - 5$ (http://u.hmdw.me/digitalocean) | ИМХО о хостингах (http://u.hmdw.me/hosting)
L
На сайте с 13.10.2010
Offline
27
#6
forest25:

Все же лучше отделять сайты по разным пользователям.

Спасибо, инфа полезная, но в данном случае работадатель просит в папке var/www и говорит что будет 1 сайт. Объяснять про надлежащую структуру каталогов нет ни времени ни желания.

Вобщем мало-мало разобрался, ошибка возникала из-за того что запускалось не от надлежащего пользователя. Изменил на своего с помощью sudo chown -R, а затем дал папке права 777.

Вроде работает но есть один неприятный момент - когда создаешь файл или папку у нее ограничены права и приходится каждый раз выполнять sudo chmod -R g+rw /var/www. Как сделать так чтобы файлы создавались уже со всеми правами?

forest25
На сайте с 12.09.2009
Offline
67
#7

А нафига 777 то делать? У вас php от какого пользователя работает?

Про создание файлов имеется ввиду когда вы вручную файлы в /var/www создаете то у них не те права что нужно и владелец не тот? Тогда можно создавать их от имени владельца /var/www, того пользователя под которым работает php

L
На сайте с 13.10.2010
Offline
27
#8

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

Возможно туплю где-то, просто я нуб пока в этом...

forest25
На сайте с 12.09.2009
Offline
67
#9
Loken:
Владельца я поменял на своего юзера (иначе вообще не запускалось). И файлы создаются от имени моего юзера. Но без права даже на чтение. Приходится менять права вручную. Не знаю почему, ведь владелец папки по идее мой юзер.
Возможно туплю где-то, просто я нуб пока в этом...

У вас php скорее всего работает под www-data, попробуйте создать файлик в /var/www и поменять ему владельца на www-data, права выставить 644 и накидайте простенький скриптик который будет в этот файл что-то писать.

Оптимизайка
На сайте с 11.03.2012
Offline
396
#10
Loken:
Вроде работает но есть один неприятный момент - когда создаешь файл или папку у нее ограничены права и приходится каждый раз выполнять sudo chmod -R g+rw /var/www. Как сделать так чтобы файлы создавались уже со всеми правами?


chgrp www-data -R /var/www
chmod g+s /var/www
⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий