Apache重写mod打破apache

我正在设置Drupal Open Atrium,并在configuration中途收到一个错误:

Clean 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 

我怎样才能得到重写MOD与Apache的工作?

这终于通过使用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. 

最后,我从Drupalbuild议的rewrite.load中删除了AddModule mod_rewrite.c ,并将链接从modules/mod_rewrite.so更改为/usr/lib/apache2/modules/mod_rewrite.so , (用sudo find / -name mod_rewrite.so

然后我重新启动apache,一切正常!