[comment]: # ({cde02b58-9cceae9f})
# 6 Web interface installation

This section provides step-by-step instructions for installing Zabbix web interface.
Zabbix frontend is written in PHP, so to run it a PHP supported webserver is needed.

[comment]: # ({/cde02b58-9cceae9f})

[comment]: # ({2fdfdee5-0c649c0e})
:::notetip
You can find out more about setting up SSL for Zabbix frontend by referring to these [best practices](/manual/best_practices/security/cryptography#setting-up-ssl-for-zabbix-frontend).
:::

[comment]: # ({/2fdfdee5-0c649c0e})

[comment]: # ({52b4af5e-6b173526})
#### Welcome screen

Open Zabbix frontend URL in the browser.
If you have installed Zabbix from packages, the URL is:

-   for Apache: *http://<server\_ip\_or\_name>/zabbix*
-   for Nginx: *http://<server\_ip\_or\_name>*

You should see the first screen of the frontend installation wizard.

Use the *Default language* drop-down menu to change system default language and continue the installation process in the selected language (optional).
For more information, see [Installation of additional frontend languages](/manual/appendix/install/locales).

Note that setting the language to *English (en_US)* will also enable the US time/date format in the frontend.

![](../../../assets/en/manual/installation/install_1.png){width="600"}

[comment]: # ({/52b4af5e-6b173526})

[comment]: # ({5bb496b3-2458c643})
#### Check of pre-requisites

Make sure that all Zabbix frontend mandatory pre-requisites are met.

![](../../../assets/en/manual/installation/install_2.png){width="600"}

|Pre-requisite|Minimum value|Description|
|---|--|-----|
|*PHP version*|8.0.0| |
|*PHP option "memory\_limit"*|128MB|In php.ini: memory\_limit = 128M|
|*PHP option "post\_max\_size"*|16MB|In php.ini: post\_max\_size = 16M|
|*PHP option "upload\_max\_filesize"*|2MB|In php.ini: upload\_max\_filesize = 2M|
|*PHP option "max\_execution\_time"*|300 seconds|In php.ini: max\_execution\_time = 300 (values 0 and -1 are also allowed)|
|*PHP option "max\_input\_time"*|300 seconds|In php.ini: max\_input\_time = 300 (values 0 and -1 are also allowed)|
|*PHP databases support*|One of: MySQL, PostgreSQL, Oracle|See [Requirements](/manual/installation/requirements#frontend) for the list of all mandatory and optional PHP extensions. Note that failed optional pre-requisites are displayed with a red *Warning* status, and the setup process can proceed even if they are not met.|
|*PHP bcmath*|must be enabled|^|
|*PHP mbstring*|must be enabled|^|
|*PHP option "mbstring.func\_overload"*|must be disabled|In php.ini: mbstring.func\_overload = 0|
|*PHP option "session.auto\_start"*|must be disabled|In php.ini: session.auto\_start = 0|
|*PHP option "arg\_separator.output"*|&|In php.ini: arg\_separator.output = "&" (value "&amp;amp;" is also allowed)|

::: noteimportant
If the Apache user or user group needs to be changed, verify the permissions to the session folder; otherwise, Zabbix setup may be unable to continue.
:::

[comment]: # ({/5bb496b3-2458c643})

[comment]: # ({3b20199f-879dc06f})
#### Configure DB connection

Enter details for connecting to the database.
Zabbix database must already be created.

For MySQL, entering `localhost` or leaving the *Database host* field empty results in connecting via the default Unix socket.
The setup form does not provide a separate *Database socket* field, so to use a custom socket, configure it in the Zabbix server settings (for example, with [`DBSocket=`](/manual/appendix/config/zabbix_server#dbsocket) in zabbix_server.conf). This keeps the frontend aligned with server-to-database connection settings.

For PostgreSQL, if the *Database host* field is left empty, the default Unix-domain socket is used.
If a socket path is entered (for example, `/var/run/pgbouncer`), that Unix-domain socket will be used instead. 

![](../../../assets/en/manual/installation/install_3a.png){width="600"}

If the *Database TLS encryption* option is checked, then additional fields for [configuring the TLS connection](/manual/appendix/install/db_encrypt) to the database appear in the form (MySQL or PostgreSQL only).

If *Store credentials in* is set to HashiCorp Vault or CyberArk Vault, additional parameters will become available:

- for [HashiCorp Vault](/manual/config/secrets/hashicorp): Vault API endpoint, vault prefix, secret path, and authentication token;

- for [CyberArk Vault](/manual/config/secrets/cyberark): Vault API endpoint, vault prefix, secret query string, and certificates.
Upon marking *Vault certificates* checkbox, two new fields for specifying paths to SSL certificate file and SSL key file will appear.

![](../../../assets/en/manual/installation/install_3b.png){width="600"}

[comment]: # ({/3b20199f-879dc06f})

[comment]: # ({e717a950-98277238})
#### Settings

Entering a name for Zabbix server is optional, however, if submitted, it will be displayed in the menu bar and page titles.

Set the default [time zone](/manual/web_interface/time_zone#overview) and theme for the frontend.

![](../../../assets/en/manual/installation/install_4.png){width="600"}

[comment]: # ({/e717a950-98277238})

[comment]: # ({948c59fc-42398398})
#### Pre-installation summary

Review a summary of settings.

![](../../../assets/en/manual/installation/install_5.png){width="600"}

[comment]: # ({/948c59fc-42398398})

[comment]: # ({2ec8b9b5-1124dd9e})
#### Install

If installing Zabbix from sources, download the configuration file and place it under conf/ in the webserver HTML documents subdirectory where you copied Zabbix PHP files to.

![](../../../assets/en/manual/installation/install_6.png){width="600"}

![](../../../assets/en/manual/installation/saving_zabbix_conf.png){width="350"}

::: notetip
Providing the webserver user has write access to conf/directory the configuration file would be saved automatically and it would be possible to proceed to the next step right away.
:::

Finish the installation.

![](../../../assets/en/manual/installation/install_7.png){width="600"}

[comment]: # ({/2ec8b9b5-1124dd9e})

[comment]: # ({dcb133ef-d59dc4b9})
#### Log in

Zabbix frontend is ready! The default user name is **Admin**, password **zabbix**.

![](../../../assets/en/manual/quickstart/login.png){width="350"}

Proceed to [getting started with Zabbix](/manual/quickstart/basic_config/login).

[comment]: # ({/dcb133ef-d59dc4b9})
