взял с сайта 2start.ru Ромкину сборку интранет-сайта.
скачал дамп и саму установку, распаковал в директорию, которая у меня для веб-файлов. (у меня Убунту-Линукс, поэтому путь там /var/www
после чего создал БД "intranet" импортировал в нее заготовленный дамп ( с сайта)
Прописал в settings.php мои логины-пароли для Sql-базы.
Запустил http://localhost - все ОК - увидел титульную страницу, как на сайте 2start.ru - ура.
Но далее обнаружил, что ни одна другая страница сайта не доступна - "404 The requested URL /main was not found on this server". Проверил установки разрешений для скриптов - везде 755,
подскажите чего может быть не так?
Спасибо
Комментарии
включи mod_rewrite в httpd.conf
спасибо за совет,
попробую сегодня
А у меня путь /home/%username%/public_html и что?
Всё зависит от того, как вы отнеслись к настройке сервера.
Могу посоветовать вот что для Ubuntu:
http://habrahabr.ru/blogs/ubuntu/20525/
http://habrahabr.ru/blogs/ubuntu/21397/
Вы уверены, что настроен он правильно?
Друпал установленный до этого с нуля из инсталляцонного пакета и работал без дополнительных танцев.
Django тоже работает без вопросов,
php-скрипты исполняются без проблем.
Я просто не понял что значит в этой ситуации "правильно"?
Я понял, что Ромкина сборка изначально настроена на "чистые ссылки". На предыдущей установке Друпала я чистыми ссылками не заморачивался (то есть для меня это был не принципиальный вопрос потому этим и не интересовался).
Почитал здесь http://drupal.ru/node/23652
Проверил - mod_rewrite установлен - phpinfo(); это подтверждает
Проверил в .htaccess - чистые ссылки установлены, на всякий случай вначале аксесса поставил RewriteEngine on
Добавил в settings.php в конец файла
$conf = array(
'clean_url' => 1
);
Вроде все это должно включить поддержку чистых ссылок?
после чего запустил вручную mod_rewrite, и перестартанул Апач.
Не помогло
При переходе на ссылку "/forum" видим окно 404
"""
Not Found
The requested URL /forum was not found on this server.
"""
Подскажите, что я могу делать не так?
файлы .htaccess есть?
можете ещё посмотреть протокол ошибок сервера apache - куда он обращается, точнее на какие запросы выдает ошибку 404
Зря.
Напишите вашу конфигурацию. Я так понимаю, что вы не пользуетесь виртуальными хостами, а просто используете предоставляемую директорию /var/www по умолчанию.
Постойте, что значит не пользуюсь виртуальными хостами?
В сетевой конфигурации прописан localhost который есть 127.0.1.1, в Апаче он настроен на /var/www
для локальных нужд это вполне приемлемо. Я перенастройкой хостов могу заняться после того, как пойму, что я сделал неправильно и как запустить Ромкину сборку Друпала с чистыми ссылками. Для начала мне нужно найти в чем косяк.
Если проекты на Django запускаются без проблем, это означает что ошибок в настройках нет? Думаю да.
выполнил по указанной ссылке настройку
конфигурации /etc/apache2/sites-available/default
поменял
AllowOverride None на AllowOverride All, вот так:
Options FollowSymLinks
AllowOverride All
-- все равно никакого результата
реврайт запущен, htaccess отредактирован, конфигурация обновлена...
но пока на работает - при уходе на любую страницу кроме корневой выдает ошибку 404
Ваше право
В mod_rewrite или в не правильной настройке.
Смотрите путь /usr/lib/apache2/, там должна лежать библиотека mod_rewrite.so
Смотрите путь /etc/apache2/mods_enabled/, там должен лежать файл rewrite.load, в нём путь к библиотеке mod_rewrite.so
Насколько я помню в дефолтном файле /etc/apache2/sites-available/default свалка директив, можно сократить до
ServerAdmin webmaster@localhost
DocumentRoot /var/www
ServerName localhost
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
<Directory /var/www>
Order Deny,Allow
Allow from 127.0.0.1
Deny from all
</Directory>
</VirtualHost>
P.S. Сделайте по нормальному хосты и у вас не будет проблем. Все неприятности из-за подхода.
Спасибо за помощь, решено.
В настройке /etc/apache2/sites-available/default до этого исправил только одну директиву
AllowOverride None на AllowOverride All
С чисткой конфига понеслись предупреждения о траблах, поэтому вернул все взад, но исправил все остальные директивы внутри
AllowOverride None на соотвественно AllowOverride All
Если я правильно понял обсуждения на форуме до этого файл .htaccess не обрабатывался.
Таким образом
1) Проверяем наличие mod_rewrite через вывод функции phpinfo()
2) Редактируем .htaccess, добавляем, если нету
- добавляем в начале:
RewriteEngine on
- В конце:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
3) Добавляем в settings.php установку параметра clean_url во включенное состояние
$conf = array(
'clean_url' => 1
);
4) в настройке апача /etc/apache2/sites-available/default меняем директивы
AllowOverride None на соотвественно AllowOverride All
После чего все начинает работать.
По крайней мере с Ubuntu 8.10
Спасибо!
Самое главное. Но подход у вас не верный-)
P.S. В заголовок темы добавьте "Решено:"
Такой у меня психотип
использую средства которые работают.
Я же не хостинг домашний поднимаю на ноутбуке, мне нужно чтобы работало демо - остальным загружу сисадмина когда перенесем сайт на корпоративный сервак. Сисадмину за это деньги платят