Apache rewrite mod, ломающий apache

Я настраиваю Drupal Open Atrium и на полпути к настройке получаю сообщение об ошибке:

Чистые URL-адреса должны быть доступны и разрешены для используйте OpenAtrium.

https: //www.drupal.org / docs / 7 / configuring-clean-urls / enable-clean-urls говорит мне запустить sudo a2enmod rewrite , что происходит:

Enabling module rewrite.
To activate the new configuration, you need to run:
service apache2 restart

но когда я затем запускаю sudo service apache2 restart Я получаю следующую ошибку:

Job for apache2.service failed because the control process exited with error code. 
See "systemctl status apache2.service" and "journalctl -xe" for details.

systemctl status apache2.service возвращает:

● apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
       └─apache2-systemd.conf
 Active: failed (Result: exit-code) since Mon 2017-04-03 18:21:04 UTC; 7s ago
 Docs: man:systemd-sysv-generator(8)
Process: 11268 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
Process: 11345 ExecStart=/etc/init.d/apache2 start (code=exited, status=1/FAILURE)

Apr 03 18:21:04 ip-172-31-31-251 apache2[11345]:  *
Apr 03 18:21:04 ip-172-31-31-251 apache2[11345]:  * The apache2 configtest failed.
Apr 03 18:21:04 ip-172-31-31-251 apache2[11345]: Output of config test was:
Apr 03 18:21:04 ip-172-31-31-251 apache2[11345]: apache2: Syntax error on line 140 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/rew
Apr 03 18:21:04 ip-172-31-31-251 apache2[11345]: Action 'configtest' failed.
Apr 03 18:21:04 ip-172-31-31-251 apache2[11345]: The Apache error log may have more information.
Apr 03 18:21:04 ip-172-31-31-251 systemd[1]: apache2.service: Control process exited, code=exited status=1
Apr 03 18:21:04 ip-172-31-31-251 systemd[1]: Failed to start LSB: Apache2 web server.
Apr 03 18:21:04 ip-172-31-31-251 systemd[1]: apache2.service: Unit entered failed state.
Apr 03 18:21:04 ip-172-31-31-251 systemd[1]: apache2.service: Failed with result 'exit-code'.

Проблема решается с помощью a2dismod rewrite , но затем я вернулся туда, где Я начал.

Мой /etc/apache2/mods-enabled/rewrite.load выглядит так, если в этом проблема.

LoadModule rewrite_module modules/mod_rewrite.so

Как заставить мод перезаписи работать с apache?

1
задан 3 April 2017 в 21:31
1 ответ

Эта проблема была окончательно решена с помощью sudo apache2ctl graceful и перехода по ссылкам на файлы в сообщениях об ошибках, например:

apache2: Syntax error on line 140 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/rewrite.load: LoadModule takes two arguments, a module name and the name of a shared object file to load it from
Action 'graceful' failed.
The Apache error log may have more information.

В конце концов я удалил AddModule mod_rewrite.c из rewrite.load , который был предложен Drupal , и изменил ссылку с modules / mod_rewrite.so на ] /usr/lib/apache2/modules/mod_rewrite.so , где он был на самом деле (найдено с помощью sudo find / -name mod_rewrite.so )

Затем я перезапустил apache и все сработало!

2
ответ дан 3 December 2019 в 20:25

Теги

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