Apache required modules
Adobe Commerce requires the following Apache modules to be installed:
Verify the Apache version
To verify the Apache version that you’re currently running, enter:
apache2 -v
The result displays similar to the following:
Server version: Apache/2.4.04 (Ubuntu)
Server built: Jul 22 2020 14:35:32
-
If Apache is not installed, see:
Installing or upgrading Apache on Ubuntu
The following sections discuss how to install or upgrade Apache:
- Install Apache
- Upgrade to Apache 2.4 on Ubuntu to use PHP 7.4.
Installing Apache on Ubuntu
To install the default version of Apache:
-
Install Apache
apt-get -y install apache2
-
Verify the installation.
apache2 -v
The result displays similar to the following:
Server version: Apache/2.4.18 (Ubuntu) Server built: 2020-04-15T18:00:57
-
Enable rewrites and
.htaccess
.
Upgrading Apache on Ubuntu
To upgrade to Apache 2.4:
-
Add the
ppa:ondrej
repository, which has Apache 2.4:apt-get -y update
apt-add-repository ppa:ondrej/apache2
apt-get -y update
-
Install Apache 2.4:
apt-get install -y apache2
NOTE
If the ‘apt-get install’ command fails because of unmet dependencies, consult a resource like https://askubuntu.com/. -
Verify the installation.
apache2 -v
Messages similar to the following should display:
Server version: Apache/2.4.10 (Ubuntu) Server built: Jul 22 2020 22:46:25
-
Enable rewrites and
.htaccess
.
Installing Apache on CentOS
Adobe Commerce requires Apache server rewrites. You must also specify the type of directives that can be used in .htaccess
, which the application uses to specify rewrite rules.
Installing and configuring Apache is basically a three-step process: install the software, enable rewrites, and specify .htaccess
directives.
Installing Apache
-
Install Apache 2.4 if you have not already done so.
yum -y install httpd
-
Verify the installation:
httpd -v
Messages similar to the following display to confirm that the installation was successful:
Server version: Apache/2.4.40 (Unix) Server built: Oct 16 2020 14:48:21
-
Continue with the next section.
NOTE
Even if Apache 2.4 is provided by default with CentOS, see the following section to configure it.
Enable rewrites and .htaccess for CentOS
-
Open
/etc/httpd/conf/httpd.conf
file for editing:vim /etc/httpd/conf/httpd.conf`
-
Locate the block that starts with:
<Directory "/var/www/html">
-
Change the value of
AllowOverride
toAll
.For example,
<Directory "/var/www/"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory>
NOTE
The preceding values forOrder
might not work in all cases. For more information, see the Apache documentation (2.4). -
Save the file and exit the text editor.
-
To apply Apache settings, restart Apache.
service apache2 restart
Enable rewrites and .htaccess for Ubuntu
-
Open
/etc/apache2/sites-available/default
file for editing:vim /etc/apache2/sites-available/default
-
Locate the block that starts with:
<Directory "/var/www/html">
-
Change the value of
AllowOverride
toAll
.For example:
<Directory "/var/www/html"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from all </Directory>
-
Save the file and exit the text editor.
-
Configure Apache to use the
mod_rewrite
module:cd /etc/apache2/mods-enabled
ln -s ../mods-available/rewrite.load
-
Restart Apache to apply changes:
service apache2 restart
Solving 403 (Forbidden) errors
If you encounter 403 Forbidden errors when trying to access the site, you can update your Apache configuration or your virtual host configuration to enable visitors to the site:
Solving 403 Forbidden errors for Apache 2.4
To enable website visitors to access your site, use one of the Require directives.
For example:
<Directory "/var/www/">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Require all granted
</Directory>
Order
might not work in all cases. For more information, see the Apache documentation.