Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: [РЕШЕНО] Проблема с LAMP, mod_rewrite не работает.  (Прочитано 17780 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Henryh

  • Автор темы
  • Активист
  • *
  • Сообщений: 428
    • Просмотр профиля
    • henrydev.ru
Хочу подробно описать свой первый опыт установки LAMP.
Дело было так. Поставил я Ubuntu 10.10 (Maverick Meerkat). Настроил как надо, пришло время ставить Apache. Командная строка и поехали. Все приложения скопом:
sudo apt-get install mysql-server mysql-client libmysqlclient15-dev apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 libapache2-mod-ruby php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl phpmyadminПока курил маны и настраивал virtualhosts забыл проверить как собственно все установилось, строка:
http://localhost/tools/phpmyadmin/index.phpвернула 404, при том что http://llocalchost/ , торжественно утверждает "it's works".
А я хорошо помню что во время утсановки вводил пароль для mysql потом и для самого phpmyadmin. И apt-get ни на что не матерился. По скольку с настройкой lamp на linux я ранее не сталкивался (както все denwer+windows знаетели), соответственно и где проверять тоже не знал. Поэтому открыл консоль и попробовал старым добрым методом (в windows всегда срабатывало...), перестановку:
sudo apt-get remove phpmyadmin
sudo apt-get install phpmyadmin
Строчка в браузере, аля:
http://localhost/tools/phpmyadmin/index.phpопять же is dead.
Потом пробую вместо remove использовать purge, результат тот же.

Тогда сношу весь LAMP и все установленные модули:
sudo apt-get purge mysql-server mysql-client libmysqlclient15-dev apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 libapache2-mod-ruby php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl phpmyadminapt-get Матерится что не все может удалить (о боже какой дурак удалил aptitude, там все было понятно!!!), доудаляю эти пакеты позже.

Открываю статью типа "Ставим linux+apache+mysql+php" и проверяю заново, что же я мог не правильно сделать.
В частности смотрел по этой: http://www.yaap.info/page/ustanovka-i-nastrojka-lamp-linuxapachemysqlphp-v-ubuntu, но там ни чего такого чего не было бы в десятке других таких статей предложенных google search. (К сожалению подобная инструкция на этом форуме оказалась устаревшая и слишком замудренная для начинающего, хотя сейчас уже не выглядит такой страшной) ).

Там был предложен к установке более короткий вариант модулей, чем тот что я ставил раньше, ну да ладно, мне лишь бы работало. Все поставил проверил, даже сверился с другими манами и .. не судьба.

В конце концов мне это надоело и я поставил phpmyadmin вручную, выделив под это отдельный хост http://phpmyadmin/. Проигнорировав навязчивое ощущение, что что то не так (ой как зря).

Копирую свои сайты, которые когда то ваял под виндой. Делаю все нужные настройки, начинаю потихоньку запускать проверять как кто работает. Добрался до одного из сайтов, который активно использует mod_rewrite, и обнаружил что инструкции .htaccess не выполняются. Поставил собственно сам mod_rewrite (в mods-enabled, симлинк на модуль появился) , потратил еще час на поиск файла httpd.conf, который оказывается уже называется по другому (apache2.conf) да и в принципе бесполезен, так как включение mod_rewrite происходит теперь иначе и чтобы задействовать его на сайте достаточно установить:
sudo a2enmod rewrite и включить в конфигах конкретного сайта
allowoverride allЧтож после этого у меня явно появились изменения в отображении сайта но тем не менее все работать нормально не стало (нет доступа/forbidden, 500 итд). Поплясав немного с бубном над ним я ни чего не добился. Стал грешить на htaccess (признаюсь - я довольно поверхностно владею его синтаксисом) и создал простейший сайт c такой структурой:

.htaccess
/index.php (<?php echo "modrewrite no"; ?>)
/site/index.php (<?php echo "modrewrite yes"; ?>)


В .htaccess написал следующее:
RewriteEngine on
RewriteRule /index.php /site/index.php [QSA]

При выключении morewrite (в конфиге "AllowOverride none") возвращает "modrewrite no" при включении тоже "modrewrite no" либо (ковырял все подряд уже и не вспомню что) error:500 либо forbidden.

В log'ах проверочного сайта:
[Tue Oct 19 04:07:26 2010] [error] [client 127.0.0.1] (13)Permission denied: file permissions deny server access: /home/user/webservers/example/favicon.ico
[Thu Oct 21 19:09:51 2010] [error] [client 127.0.0.1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
Нашел только это, и видимо ошибка была только раз, когда я что то менял, в остальное время система думала что она в порядке.

Внимание вопросы:
- Что же я все таки сделал не так?
- Почему Apache мог криво встать и как это теперь исправить?
- Возможно ли что я накосячил где то с установщиком ?
- Да и дело ли этот в самом Apache? Может модуль, или руки  :uglystupid2:

У меня теперь работа встала. Помогите пожалуйста. :'(

ps
Еще я помню тот короткий день, когда я из спортивного интереса поставил lamp на 10.04, и все сразу заработало само, но позже система слетела. apt-get раньше не использовал так как всегда был aptitude который я так понял более безопасен, может в этом дело, пока буду ждать ответов поставлю его попробую им.
« Последнее редактирование: 22 Октября 2010, 05:29:39 от keysi_ »
Автоматизируй это

Оффлайн BashOrgRu

  • Участник
  • *
  • Сообщений: 123
  • Maverick Meerkat 10.10
    • Просмотр профиля
Re: Проблема с LAMP, mod_rewrite не работает.
« Ответ #1 : 22 Октября 2010, 03:38:56 »
Делал все так, многократно - проблем небыло неарзу, пробуйте, там кстати как удалять правельно тож статья есть, надеюсь поможет.
http://tuxtweaks.com/2010/04/installing-lamp-on-ubuntu-10-04-lucid-lynx/
http://tuxtweaks.com/2009/07/how-to-configure-apache-linux/

Оффлайн Henryh

  • Автор темы
  • Активист
  • *
  • Сообщений: 428
    • Просмотр профиля
    • henrydev.ru
Re: Проблема с LAMP, mod_rewrite не работает.
« Ответ #2 : 22 Октября 2010, 05:29:04 »
Спасибо. Жалко больше ни кто не ответил, всегда интересно почитать разносторонние мнение, даже догадки. Но ладно.
Итак проблема решена: на самом деле у меня не удалялись ни apache ни php ни mysql, хотя apt-get постоянно меня убеждал в обратном. Славо богу синаптик, был более компетентен в этом вопросе, и когда он с первых попыток тоже не удалял все, хотя бы показывал что приложение еще установлено. Но видимо эта программа любит чтобы ее упрашивали и со второго раза все удалилось.
Скорей всего то что я делал и с какими трудностями столкнулся, может помочь другим перешедшим недавно с Windows+Denwer, поэтому выкладываю свой алгоритм действий. Не претендую на гениальность но как есть.
По скольку я уже несколько раз ставил lamp, я меня все начнется с его удаления.
Сохраняем все что создано непосильным трудом:
- файлы конфигураций сайтов
- записываем для себя кратко как настраивали virtualhosts (а лучше пишем под это дело скриптик чтобы сам все настраивал во время запуска и перезагрузки апача, аля Denwer)
- сами сайты и их бд (/var/lib/mysql) коли такие уже имеются.
Заходим в сенаптик нажимаем "найти" и ищем сначала "php" потом "apache" потом "phpmyadmin" потом "mysql".
Находится немного больше чем надо, проходим по этим пакетам, если есть подозрение что это компонент lamp, отмечаем для полного удаления.
Другие запросы нам не понадобятся, так как sinaptik зацепит все что не нужно с собой автоматом.

Ставим aptitude (с ним будет проще).
sudo apt-get install aptitude
:MySQL:
sudo aptitude install mysql-server mysql-client libmysqlclient-dev
:Apache:
sudo aptitude install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5
:PHP:
sudo aptitude install php5 php5-common php5-mysql php5-curl php5-dev php5-gd php5-sqlite php5-xmlrpc php5-xsl php5-memcache
:Oser:
sudo aptitude install phpmyadmin

Пакеты которые я поставил практически соответствуют тем пакетам которые включены в утилиту Denwer. Судя по всему это все что нужно для тестирования сайтов на локальном компьютере. Боюсь об заклад что большинство нубов линукса как я ставит lamp, для той же цели, и ни какие лишние библиотеки и модули им не требуются.
Во время установки пакетов следим чтобы не было ошибок, и вообще внимательно относимся к тому о чем нам сообщает aptitude.
Теперь возвращаем на место наши конфиги (или создаем если надо), настраиваем виртуал хост и в путь.

После всего.
На всякий случай проверяем настройки .htacess, его кодировку и права доступа и внимательно вчитываемся в логи, как отдельных сайтах (в конфигах /etc/apache2/sites-available) так и всего apache (/var/log/apache2/error.log). Правим если что есть, и все должно работать. У меня заработало, хотя конечно погоняю еще, если что опишусь.
« Последнее редактирование: 22 Октября 2010, 05:49:13 от keysi_ »
Автоматизируй это

Оффлайн censor

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: [РЕШЕНО] Проблема с LAMP, mod_rewrite не работает.
« Ответ #3 : 22 Октября 2010, 05:45:02 »
 :2funny:
все ставится командой
apt-get install phpmyadmin
апач, мускуль и пыхпых пойдут зависимостями к этому пакету, модреврайт если не ошибаюсь идет в дефолтной поставке, но по умолчанию выключен. как его включить вы уже знаете.

Оффлайн Henryh

  • Автор темы
  • Активист
  • *
  • Сообщений: 428
    • Просмотр профиля
    • henrydev.ru
Re: [РЕШЕНО] Проблема с LAMP, mod_rewrite не работает.
« Ответ #4 : 22 Октября 2010, 05:51:37 »
К чему смех? Нелюблю когда люди глупо ставят смайлы.
Сомневаюсь что такой модуль как например php5-gd пойдет по зависимости.
« Последнее редактирование: 03 Ноября 2010, 01:44:46 от keysi_ »
Автоматизируй это

Оффлайн NowhereMan

  • Новичок
  • *
  • Сообщений: 29
    • Просмотр профиля
NowhereMan@jabnet.org
http://linuxdoc.pp.ru

Оффлайн dj--alex

  • Старожил
  • *
  • Сообщений: 3237
  • Понимаешь, я какбы беру в руки лопату и говорю...
    • Просмотр профиля
    • все мои творения и занятия
Re: [РЕШЕНО] Проблема с LAMP, mod_rewrite не работает.
« Ответ #6 : 13 Октября 2011, 20:09:24 »
сделал..
http://linuxdoc.pp.ru/content/%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-modrewrite-%D0%BA-apache2-%D0%B2-ubuntu


НЕ РАБОТАЕТ!!!!!!!!!!!!!

даже долбаный вордпресс не ставится нормально (
http://195.88.240.251/testsites/wordpress/

ser@user-desktop:~$ sudo nano /etc/apache2/sites-available/default
[sudo] password for user:
user@user-desktop:~$ sudo invoke-rc.d apache2 restart
 * Restarting web server apache2                                                 ... waiting                                                             [ OK ]
user@user-desktop:~$

надо завтра уже сайт показывать а у меня

чтоб их подняло и перевернуло !!!!

Not Found

The requested URL /testsites/wordpress/members/dj-alex/messages/inbox/ was not found on this server.
Apache/2.2.16 (Ubuntu) Server at 195.88.240.251 Port 80

Пользователь решил продолжить мысль 13 Октября 2011, 20:50:54:
упд  дело не в мод-реврите
хотя очень похоже,

тупой скрипт просит что то непонятное отконвертировать
« Последнее редактирование: 13 Октября 2011, 20:50:54 от dj--alex »
Ubuntu 18.04 MATE x64, 19.3 x64 Mate, MX-Linux 19 Mate Mate Mate Mate. PC:B450\Ryzen3200G\16Gb\6TB\1060gtx\512Gb-Netac
https://forum.ubuntu.ru/index.php?topic=199897.0

Оффлайн Henryh

  • Автор темы
  • Активист
  • *
  • Сообщений: 428
    • Просмотр профиля
    • henrydev.ru
Re: [РЕШЕНО] Проблема с LAMP, mod_rewrite не работает.
« Ответ #7 : 14 Октября 2011, 12:09:12 »
Установка модуля rewrite:
sudo a2enmod rewrite
Я когда себе настраивал, накидал тестовый сайти для простейшей проверки что модуль стоит и настроен правильно, как то так примерно:
файл example.ru/.htaccess
  RewriteEngine On
  RewriteBase /

# проверка на rewrite
  RewriteRule ^.*$ rewr/index.php [NC,L]
файл example.ru/index.php:
<?php echo "mod_rewrite disabled!"?>файл example.ru/rewr/index.php:
<?php echo "mod_rewrite enabled!"?>
ps: ip-адрес лучше из сообщения убери от греха подальше
« Последнее редактирование: 14 Октября 2011, 12:11:02 от keysi_ »
Автоматизируй это

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: [РЕШЕНО] Проблема с LAMP, mod_rewrite не работает.
« Ответ #8 : 14 Октября 2011, 16:58:29 »
Цитировать
The requested URL /testsites/wordpress/members/dj-alex/messages/inbox/ was not found on this server.
Apache/2.2.16 (Ubuntu) Server at 195.88.240.251 Port 80
Пользователь решил продолжить мысль 13 Октябрь 2011, 20:50:54:упд  дело не в мод-реврите
хотя очень похоже,

тупой скрипт просит что то непонятное отконвертировать
если каталогов members/dj-alex/messages/inbox/ физически не существует - тогда ты глупости говоришь. дело только в mod_rewrite,  а именно в правилах преобразования

Оффлайн dj--alex

  • Старожил
  • *
  • Сообщений: 3237
  • Понимаешь, я какбы беру в руки лопату и говорю...
    • Просмотр профиля
    • все мои творения и занятия
Re: [РЕШЕНО] Проблема с LAMP, mod_rewrite не работает.
« Ответ #9 : 15 Октября 2011, 10:25:16 »
для этого создал отдельную тему

mod-rewrite включен
если только его не требуется включать в каждую папку и что то ещё указывать для нег
мы-с.рф же норм рабтает. почему для вп нужны особые привилегии?

https://forum.ubuntu.ru/index.php?topic=170431.0
Ubuntu 18.04 MATE x64, 19.3 x64 Mate, MX-Linux 19 Mate Mate Mate Mate. PC:B450\Ryzen3200G\16Gb\6TB\1060gtx\512Gb-Netac
https://forum.ubuntu.ru/index.php?topic=199897.0

 

Страница сгенерирована за 0.023 секунд. Запросов: 22.