Cannot enable mod_rewrite on centos7

December 24, 2015 12.4k views
Apache

I just fired up a CentOS7 Droplet. Then installed LAMP stack by following these instructions:

https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-centos-7

I see the "Testing 1,2,3..." page when I visit my server's IP address, so I assume everything to be working fine. However, when I try to enable mod_rewrite, I see the following error:

[user@server conf]$ sudo a2enmod rewrite
[sudo] password for user:
sudo: a2enmod: command not found

What am I doing wrong? After much searching I found this Apache help document but it's just way over the top for me to understand: http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html

Any help offered would be greatly appreciated.

1 Answer

Hey there,

a2enmod is a Debian/Ubuntu command. You'll need to edit the Apache config file for a CentOS LAMP server.

What you'd want to do is edit the /etc/httpd/conf/httpd.conf file and make sure that the AllowOverride flag for the <Directory "/var/www/html"> block is changed from None to All.

Basically it should be something like this:
(Note: there are many comment lines in the default httpd.conf file)

<Directory "/var/www/html">
Options .....
AllowOverride All
</Directory>

Happy coding,

Jon Schwenn
Platform Support Specialist
DigitalOcean

Have another answer? Share your knowledge.