LINUX.ORG.RU

PHPmotion + OpenBSD + Apache +PHP5


0

1

Хочу поставить PHPmotion 3.5 на OpenBSD 4.8.

На OpenBSD стоит Apache 1.3, PHP5, другие требующиеся для PHPmotion пакеты (http://phpmotion.com/content/view/16/32/)

Servers - Linux/Unix server    

- PHP 4.3 and above (including support of CLI)

- MySQL database server

- LAME MP3 Encoder

- Libogg + Libvorbis

- Mencoder and also Mplayer

- FFMpeg-PHP

- GD Library 2 or higher

- CGI-BIN

- Be able to run background processes

-----------------------------------------

(не нашел только GD Library, Mencoder и CGI-BIN. CGI-BIN - думаю по умолчанию в системе есть, во всяком случае папка есть /var/www/cgi-bin/).

Кроме того сделаны настройки php.ini по мануалу PHPmotion (за исключением - open_basedir = (no value) - тут закомментировал)

PHP Settings    

- upload_max_filesize = 100M

- post_max_size = 100M

- max_execution_time = 1500

- session.gc_maxlifetime = 14000

- safe_mode = off

- Thread saftery = disabled

- open_basedir = (no value)

- enable_dl = On

--------------------------------

Скопировал инсталлятор PHPmotion в папку /var/www/htdocs/ (пробовал копировать шелом через Far с winSCP и на samba-ресурс сервера - это к слову о том, что некоторые файлы требуется перенести в бинарном режиме)

Всем файлам и папкам в /var/www/htdocs/ рекурсивно даны права 0777

При попытке зайти на страницу браузер пишет ошибку 500, в логе апача error_log следующие 3 сообщения:

[Tue Mar 1 17:31:49 2011] [error] PHP Warning: Unknown: open_basedir restriction in effect. File(/htdocs/index.php) is not within the allowed path(s): (no value) in Unknown on line 0

[Tue Mar 1 17:31:49 2011] [error] PHP Warning: Unknown: failed to open stream: Operation not permitted in Unknown on line 0

[Tue Mar 1 17:31:49 2011] [error] PHP Fatal error: Unknown: Failed opening required '/htdocs/index.php' (include_path='.:/pear/lib:/var/www/pear/lib') in Unknown on line 0

--------------------------------------

Закомментировал строку - «open_basedir = (no value)» в php.ini ошибка ушла, но появилась другая:

[Wed Mar 2 11:39:29 2011] [error] PHP Notice: Undefined index: HTTPS in /htdocs/index.php on line 17

Привожу эту строку из index.php :

----------------------------------------

if($_SERVER[«HTTPS»] == «on») {

----------------------------------------

- На форуме PHPmotion о такой ошибке ничего не сказано.

- Пробовал перезакачивать и переустанавливать пакеты, требующиеся для PHPHmotion, в том числе поставил все php пакеты:

php5-bz2-5.2.13p0.tgz php5-curl-5.2.13p0.tgz php5-dba-5.2.13p0.tgz php5-dbase-5.2.13p0.tgz php5-extensions-5.2.13p0.tgz php5-fastcgi-5.2.13p0.tgz php5-gd-5.2.13p0.tgz php5-gd-5.2.13p0-no_x11.tgz php5-gmp-5.2.13p0.tgz php5-imap-5.2.13p0.tgz php5-ldap-5.2.13p0.tgz php5-mapscript-5.6.5.tgz php5-mbstring-5.2.13p0.tgz php5-mcrypt-5.2.13p0.tgz php5-mhash-5.2.13p0.tgz php5-mssql-5.2.13p0.tgz php5-mysql-5.2.13p0.tgz php5-mysqli-5.2.13p0.tgz php5-ncurses-5.2.13p0.tgz php5-odbc-5.2.13p0.tgz php5-pdo_dblib-5.2.13p0.tgz php5-pdo_mysql-5.2.13p0.tgz php5-pdo_pgsql-5.2.13p0.tgz php5-pdo_sqlite-5.2.13p0.tgz php5-pgsql-5.2.13p0.tgz php5-pspell-5.2.13p0.tgz php5-shmop-5.2.13p0.tgz php5-snmp-5.2.13p0.tgz php5-soap-5.2.13p0.tgz php5-sqlite-5.2.13p0.tgz php5-sybase_ct-5.2.13p0.tgz php5-tidy-5.2.13p0.tgz php5-xmlrpc-5.2.13p1.tgz php5-xsl-5.2.13p0.tgz

Читал отзывы, что PHPmotion устанавливает в лёт и без проблем - видно не про меня(((. Установка joomla запустилась без проблем.

Что за ошибка «Undefined index:» как от неё избавиться.



Последнее исправление: slav83 (всего исправлений: 1)

> [error] PHP Warning: Unknown: open_basedir restriction in effect. File(/htdocs/index.php) is not within the allowed path(s):

[error] PHP Notice: Undefined index: HTTPS in /htdocs/index.php on line 17


У тебя же не в /htdocs/ лежит корень апача, а в /var/www/htdocs/
Так что чини. И ещё права 777 это очень плохая идея.

Lumi ★★★★★
()
Ответ на: комментарий от Donnie_Darko

0777 - это чтобы исключить проблему прав. Начнет работать (если начнет) то права постепенно выставлю..

slav83
() автор топика
Ответ на: комментарий от slav83

> Где данный параметр задаётся?

Undefined index: HTTPS in /htdocs/index.php on line 17


Видимо в строке 17 файла /var/www/htdocs/index.php
Ищи там рядом какой-нибудь конфигурационник и исправляй в нём абсолютные пути.
Ищи где-то там:
grep -R htdocs /var/www/htdocs

Lumi ★★★★★
()
Ответ на: комментарий от Lumi

Нашел 1 файл

/var/www/htdocs/fckeditor/editor/filemanager/connectors/py/htaccess.txt

со следующим содержимым:

------------------------------------------------------

# replace the name of this file to .htaccess (if using apache),

# and set the proper options and paths according your enviroment

Allow from all

# If using mod_python uncomment this:

PythonPath «[r'C:\Archivos de programa\Apache Software Foundation

\Apache2.2\htdocs\fckeditor\editor\filemanager\connectors\py'] +

sys.path»

# Recomended: WSGI application running with mod_python and modpython_gateway

SetHandler python-program

PythonHandler modpython_gateway::handler

PythonOption wsgi.application wsgi::App

# Emulated CGI with mod_python and cgihandler

#AddHandler mod_python .py

#PythonHandler mod_python.cgihandler

------------------------------------------------------

# Plain old CGI #Options +ExecCGI #AddHandler cgi-script py

Помогите понять что тут написано..

slav83
() автор топика
Ответ на: комментарий от slav83

Ничего интересного, кроме конечно PythonPath
Тогда погрепай так:
grep -R htdocs /var/www/

Я не хочу качать PHPmotion и смотреть где там и что в пых-коде, может кто ставивший этого зверя сюда заглянет.

Lumi ★★★★★
()
Ответ на: комментарий от Lumi

Lumi вот учатки /var/www/conf/httpd.conf в которых втречатеся слово htaccess . Может тут путь не указан или разрешение не дано..?

# This controls which options the .htaccess files in directories can

# override. Can also be «All», or any combination of «Options», «FileInfo»,

# «AuthConfig», and «Limit»

#

AllowOverride None

---------------------------------------------

# AccessFileName: The name of the file to look for in each directory

# for access control information.

#

#AccessFileName .htaccess

---------------------------------------

# The following lines prevent .htaccess files from being viewed by

# Web clients. Since .htaccess files often contain authorization

# information, access is disallowed for security reasons. Comment

# these lines out if you want Web visitors to see the contents of

# .htaccess files. If you change the AccessFileName directive above,

# be sure to make the corresponding changes here.

#

<Files .htaccess>

Order allow,deny

Deny from all

</Files>

-------------------------------------------------

htdocs встречается в двух файлах:

/var/www/conf/magic

-----------------------

# Magic data for mod_mime_magic Apache module (originally for file(1) command)

# The module is described in htdocs/manual/mod/mod_mime_magic.html

#

-----------------------

и в всё том же /var/www/htdocs/fckeditor/editor/filemanager/connectors/py/htaccess.txt

slav83
() автор топика
Ответ на: комментарий от slav83

> В /var/www/htdocs/

А у тебя сервер за каким-то макаром лезет в /htdocs/
Наверняка где-то в конфигурационнике этой балалайки вбиты неверные параметры с абсолютными путями.
Чини.

Lumi ★★★★★
()
Ответ на: комментарий от slav83

Снеси нафиг всё и сделай по пунктам так, как здесь написано:
http://wiki.phpmotion.com/InstallingV3

После увиденного в phpmotion/classes/config.php руками искать и исправлять что-либо бессмысленно.

Lumi ★★★★★
()
Ответ на: комментарий от slav83

Закинул содержимое в /var/www/localhost/htdocs/
Зашёл на http://127.0.0.1/phpmotion
Меня сразу перебросило на http://127.0.0.1/phpmotion/setup/
Всё работает. В логах без ругани.
Подозреваю к хроническому 777 ещё и феерию в конфиге апача.

Lumi ★★★★★
()
Ответ на: комментарий от Lumi

Lumi, я так понимаю он просто пишет путь ошибки: путь к файлу и строку. Т.е. это /htdocs/index.php line 17 . Я думал в строке 17 проблема? какого-то модуля к ней нет для распознания идентификатора..

Может то что написано в «htdocs/fckeditor/editor/filemanager/connectors/py/htaccess.txt»

«# replace the name of this file to .htaccess (if using apache)»

нужно как-то указать в httpd.conf ? Или указать путь к файлам в папке с htaccess.txt (там лежат: config.py connector.py fckcommands.py fckconnector.py fckoutput.py fckutil.py htaccess.txt upload.py wsgi.py zope.py) ??

slav83
() автор топика
Ответ на: комментарий от Lumi

>Всё работает. В логах без ругани.

У кого-то работет - уже радует ! :)

А от оси зависить не может? Какая версия Apache?

Подозреваю к хроническому 777 ещё и феерию в конфиге апача.

- поянсни пожалуйста, не совсем понял.

slav83
() автор топика
Ответ на: комментарий от slav83

> А от оси зависить не может?
Может зависеть, а может и не зависеть.

Какая версия Apache?

Второй. Пых пятый.

- поянсни пожалуйста, не совсем понял.

Я подозреваю ещё и кривой конфиг у апача.

Lumi ★★★★★
()
Ответ на: комментарий от Lumi

Да. /var/www/htdocs/ - папка куда сайт класть в OpenBSD. Туда кладешь index.html с надписью простой и апачь её отображает. (надеюсь я про то). Соответсвенно и установочную часть я туда кладу чтобы апач к index.php в данном случае обратился из phpmotion.zip. В архиве А в www лежат:

bin

cgi-bin

conf

dev

etc

htdocs

icons

lib

logs

pear

tmp

users

slav83
() автор топика
Ответ на: комментарий от Lumi

Т.е. директория для сата это /var/www/htdocs

slav83
() автор топика
Ответ на: комментарий от slav83

У тебя есть шелл на веб-сервере? Затяни туда архив, и распакуй его на месте.
Возможно дело в кривом апаче.

Lumi ★★★★★
()
Ответ на: комментарий от Lumi

Распаковал. Удалил старые файл из /var/www/htdocs/ залил туда новые. Сделал рестарт апача

Но логе апача всё тоже: [Wed Mar 2 17:15:37 2011] [error] PHP Notice: Undefined index: HTTPS in /htdocs/index.php on line 17

slav83
() автор топика
Ответ на: комментарий от Lumi

chmod 0777 не сделал. Сейчас исправлю, проверю.

slav83
() автор топика
Ответ на: комментарий от Lumi

Нет. Та же ошибка ((

Вот кусок лога от старта до ошибки:

[Wed Mar 2 17:24:21 2011] [notice] caught SIGTERM, shutting down

[Wed Mar 2 17:24:28 2011] [notice] Initializing etag from /var/www/logs/etag-state

[Wed Mar 2 17:24:28 2011] [notice] chrooted in /var/www

[Wed Mar 2 17:24:28 2011] [notice] changed to uid 67, gid 67

[Wed Mar 2 17:24:28 2011] [notice] Apache configured — resuming normal operations

[Wed Mar 2 17:24:28 2011] [notice] Accept mutex: sysvsem (Default: sysvsem)

[Wed Mar 2 17:24:36 2011] [error] PHP Notice: Undefined index: HTTPS in /htdocs/index.php on line 17

slav83
() автор топика
Ответ на: комментарий от slav83

РЕШЕНИЕ ПРОБЛЕМЫ СЛЕДУЮЩЕЕ:

заменить строку

if($_SERVER[«HTTPS»] == «on») {

на строку

if (isset($_SERVER[«HTTPS»]) && $_SERVER[«HTTPS»] == «on») {

( написано тут http://www.webmasterworld.com/php/4055179.htm)

И обращать внимание на то, что после запуска index.php, php скрипт обращается по доменному имени машины - оно должно разрешаться!!

slav83
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.