his documentation will teach all the steps necessary for the installation of the PHP 7.0, Apache 2.4 and the Scriptcase using the manual installation in the Linux environment. Doing this kind of installation you will be responsible for configuring all your environment settings and the database extensions as well.

Listed below are the operational systems approved for the Scriptcase usage. Only these distributions below and their derivatives are approved for the Scriptcase installation.

Check the list of the supported operating systems:

- RedHat\CentOS
- Debian\Ubuntu
- Suse\OpenSuse

> NOTE: In case you need to make a manual installation of the Scriptcase using PHP 7.0 in Linux, access the documentation in our [knowledge base](https://help.scriptcase.net/portal/en/kb/articles/installing-php-7-0-linux).

## Prerequisites

> WARNING: If you already have a Web Server with Apache and PHP 7.3 configured, just go to the [IonCube](https://www.scriptcase.net/docs/en_us/v9/manual/02-scriptcase-installation/06-linux_php/#id-04) configuration and proceed to manual installation.

To proceed with the installation, you will need to download some files.

Necessaries Files:

- IonCube Loader for Linux (x86 ou x64): [Click Here](https://www.ioncube.com/loaders.php)
- Scriptcase (.zip): [Click Here](https://www.scriptcase.net/download/)

> NOTE: Before continue with the installation is recommended that you do not have any other web environment (as XAMP, Zend Server, etc) installed in your operational system. It is recommended to know Linux/Unix environment to use the terminal.

## Configuring the PHP - Ubuntu 19.10\Debian 10

Listed below are the necessaries commands for the manual installation of the PHP 7.3 in the Ubuntu 19.10 or Debian 10. Check correctly the name of the packages in your terminal.

1 - Before run any other command, update your operating system with the following commands:

`sudo apt-get update`  
`sudo apt-get upgrade`

2 - Run the command `sudo apt-get install php7.3` to install the PHP 7.3. After that, accept the dependencies installation.

If you are using any Ubuntu version before 19.10, it’s necessary to add a repository in your operating system to access the PHP 7.3 packages. See how you can do it below:

`sudo add-apt-repository ppa:ondrej/php`  
`sudo apt-get update`

If you are using any Debian version before Debian 10, it’s necessary to add a repository in your operating system to access the PHP 7.3 packages. See how you can do it below:

`sudo apt -y install lsb-release apt-transport-https ca-certificates`

`sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg`  
`echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php7.3.list`

`sudo apt-get update`

|  |
| --- |
| `sudo apt-get install php7.3` |

Example:

![Installing the PHP](https://www.scriptcase.net/docs/en_us/v9/assets/images/docs/install/linux/install_php_new.png)

3 - Check the PHP version running the command: `php -v`

Example:

![PHP Version](https://www.scriptcase.net/docs/en_us/v9/assets/images/docs/install/linux/php_version.png)

4 - Now, install all the extensions below that are required by Scriptcase:

Default Extensions:

- `sudo apt-get install php7.3-curl`
- `sudo apt-get install php7.3-gd`
- `sudo apt-get install php7.3-bcmath`
- `sudo apt-get install php7.3-cgi`
- `sudo apt-get install php7.3-ldap`
- `sudo apt-get install php7.3-mbstring`
- `sudo apt-get install php7.3-xml`
- `sudo apt-get install php7.3-soap`
- `sudo apt-get install php7.3-xsl`
- `sudo apt-get install php7.3-zip`

Database Extensions:

| Extension | Driver enabled in Scriptcase |
| --- | --- |
| `sudo apt-get install php7.3-pgsql` | PostgreSQL PDO, PostgreSQL 6.3 or below, PostgreSQL 6.4 or above, PostgreSQL 7 or above |
| `sudo apt-get install php7.3-mysql` | MySQLi, MySQL PDO |
| `sudo apt-get install php7.3-sqlite3` | SQLite PDO |
| `sudo apt-get install php7.3-interbase` | Firebird, Interbase 6, Interbase 6.5, Firebird PDO |
| `sudo apt-get install php7.3-odbc` | DB2 ODBC GENERIC, DB2 ODBC GENERIC 6, Generic ODBC, MS Access ODBC, Oracle ODBC, Progress, DB2 PDO ODBC, Progress PDO ODBC, Sybase PDO ODBC |
| `sudo apt-get install php7.3-sybase` | DBLIB, Sybase PDO DBLIB |

> NOTE: Some database extensions will depend on third party drivers to be enabled. Click [here](https://www.scriptcase.net/docs/en_us/v9/manual/05-scriptcase-connections/01-general-view-db) to access the setup instructions for your database.

5 - Access the php.ini file in the directory `/etc/php/7.3/apache2/` and set the recommended values for the PHP directives listed below required by the Scriptcase.

Search for theses directives and set the values as the example:

- `max_execution_time = 3600`
- `max_input_time = 3600`
- `max_input_vars = 10000`
- `memory_limit = 1024M`
- `post_max_size = 1024M`
- `upload_max_filesize = 1024M`
- `max_file_uploads = 200`
- `short_open_tag = On`

6 - By default, the PHP disable some functions that are required by the Scriptcase. Click [here](https://help.scriptcase.net/portal/en/kb/articles/php-functions-necessary-for-scriptcase) to access the list of these functions.

- Change the line disable\_functions as the example below:

`disable_functions =`

Example:

![Configuring the disable_functions](https://www.scriptcase.net/docs/en_us/v9/assets/images/docs/install/linux/disbaleFunctions_php.png)

7 - Set up the PHP TimeZone according your region. Must use the values available in the PHP [documentation](https://www.php.net/manual/en/timezones.php). Search for the line date.timezone in your php.ini, uncomment and edit according with the TimeZone selected.

Example:

`date.timezone = America/Recife`

8 - Set up the folders that will store the temporary files. Search for the line `;session.save_path`, uncomment and set the path to your temporary folder.

Example:

`session.save_path = "/tmp"`

9 - Save all the changes made and restart the Apache service using the following command:

`sudo service apache2 restart`

10 - Check if the changes were made using the file info.php. You will need to create this file and place it in the `/var/www/html/` path with the following content.

`php</code`

`phpinfo();`

`?>`

After that, check using your browser the page generated accessing the URL `127.0.0.1/info.php`.

![Check PHP](https://www.scriptcase.net/docs/en_us/v9/assets/images/docs/install/linux/check_php.png)

> NOTE: For more information about the phpinfo(), check the PHP [documentation](https://www.php.net/manual/en/function.phpinfo.php).

## Setting up the PHP - CentOS 8

Listed below are the necessaries commands for the manual installation of the PHP 7.3 in the CentOS 8. Check correctly the name of the packages in your terminal.

1 - Before run any other command, update your operating system with the following commands:

`sudo yum update`  
`sudo yum upgrade`

> NOTE: In the default CentOS 7/8 repository, the PHP 7.3 is not installed by default. It will need to add the repository to continue the installation.

2 - Add the repository below to download the PHP 7.3 packages and after that update your system:

`sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm`  
`sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm`  
`sudo yum update`

If you use any CentOS version below the 8, it’s necessary to add another repository in your operating system to access the PHP 7.3 packages. See how to do it below:

| CentOS 6 | CentOS 7 |
| --- | --- |
| `sudo yum install epel-release` | `sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm` |
| `sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm` | `sudo yum -y install epel-release yum-utils` |

- In the CentOS 6, it is needed to enable the PHP 7.3 module using the command below:

`sudo yum --enablerepo=remi-php73 install php`

3 - Run the commands below to install the PHP 7.3 and Apache 2.4 modules and accept their dependencies:

`sudo dnf module install php:remi-7.3`  
`sudo yum install httpd`

Example:

![Installing the PHP](https://www.scriptcase.net/docs/en_us/v9/assets/images/docs/install/linux/install_php_new_cent.png)

4 - Check the PHP version running the command: `php -v`

Example:

![PHP version](https://www.scriptcase.net/docs/en_us/v9/assets/images/docs/install/linux/php_version_cent.png)

5 - Now, install the extensions below required by the Scriptcase:

- To search for packages in versions below CentOS8, you will need to use the command: `yum search php73`

Default Extensions:

- `sudo yum install php-bcmath`
- `sudo yum install php-common`
- `sudo yum install php-cli`
- `sudo yum install php-gd`
- `sudo yum install php-json`
- `sudo yum install php-ldap`
- `sudo yum install php-mbstring`
- `sudo yum install php-soap`
- `sudo yum install php-xml`
- `sudo yum install php-zip`

Database Extensions:

| Extension | Driver enabled in the Scriptcase |
| --- | --- |
| `sudo yum install php-pgsql` | PostgreSQL PDO, PostgreSQL 6.3 or below, PostgreSQL 6.4 or above, PostgreSQL 7 or above |
| `sudo yum install php-mysql` | MySQLi, MySQL PDO |
| `sudo yum install php-sqlite3` | SQLite PDO |
| `sudo yum install php-odbc` | DB2 ODBC GENERIC, DB2 ODBC GENERIC 6, Generic ODBC, MS Access ODBC, Oracle ODBC, Progress, DB2 PDO ODBC, Progress PDO ODBC, Sybase PDO ODBC |
| `sudo yum install php-pdo-dblib` | DBLIB, Sybase PDO DBLIB |

> NOTE: Some database extensions will depend on third party drivers to be enabled. Click [here](https://www.scriptcase.net/docs/en_us/v9/manual/05-scriptcase-connections/01-general-view-db) to access the setup instructions for your database.

6 - Access the php.ini file in the directory `/etc/` and set the recommended values for the PHP directives listed below required by the Scriptcase.

Search for theses directives and set the values as the example:

- `max_execution_time = 3600`
- `max_input_time = 3600`
- `max_input_vars = 10000`
- `memory_limit = 1024M`
- `post_max_size = 1024M`
- `upload_max_filesize = 1024M`
- `max_file_uploads = 200`
- `short_open_tag = On`

7 - By default, the PHP disable some functions that are required by the Scriptcase. Click [here](https://help.scriptcase.net/portal/en/kb/articles/php-functions-necessary-for-scriptcase) to access the list of these functions.

- Change the line disable\_functions as the example below:

`disable_functions =`

Example:

![Configuring the disable_functions](https://www.scriptcase.net/docs/en_us/v9/assets/images/docs/install/linux/disbaleFunctions_php.png)

8 - Set up the PHP TimeZone according your region. Must use the values available in the PHP [documentation](https://www.php.net/manual/en/timezones.php). Search for the line date.timezone in your php.ini, uncomment and edit according with the TimeZone selected.

Example:

`date.timezone = America/Recife`

8 - Set up the folders that will store the temporary files. Search for the line `;session.save_path`, uncomment and set the path to your temporary folder.

Example:

`session.save_path = "/tmp"`

9 - Save all the changes made and restart the Apache service using the following command:

`sudo systemctl restart httpd`

10 - Check if the changes were made using the file info.php. You will need to create this file and place it in the `/var/www/html/` path with the following content.

`php</code`

`phpinfo();`

`?>`

After that, check using your browser the page generated accessing the URL `127.0.0.1/info.php`.

![Check PHP](https://www.scriptcase.net/docs/en_us/v9/assets/images/docs/install/linux/check_php_cent.png)

> NOTE: For more information about the phpinfo(), check the PHP [documentation](https://www.php.net/manual/en/function.phpinfo.php).

## Enabling the IonCube Loader

Before starting the Scriptcase installation, you need to enable the loader used for the Scriptcase encryption in your PHP. Follow the steps below showing how to dot it.

1 - Access the Downloads folder and extract the file downloaded referent to the IonCube Loader at the [beggining](https://www.scriptcase.net/docs/en_us/v9/manual/02-scriptcase-installation/06-linux_php/#id-01) of this documentation.

Example:

`cd /home/User/Downloads`

`sudo chmod 777 ioncube_loaders_lin_x86-64.zip && unzip ioncube_loaders_lin_x86-64.zip`

2 - Copy the file ioncube\_loader\_lin\_7.3.so and past in the extension\_dir directory of your PHP. We will use the path `/usr/lib/php/20180731` for this example.

Example:

| Ubuntu 19.10\Debian 8 | CentOS 7/8 |
| --- | --- |
| `/usr/lib/php/20180731` | `/usr/lib64/php/modules` |

`sudo cp ioncube_loader_lin_7.3.so /usr/lib/php/20180731`

3 - Edit the php.ini file and below the last line set the path to the extension in the `zend_extension` parameter:

Example:

| Ubuntu 19.10\Debian 8 | CentOS 7/8 |
| --- | --- |
| `/etc/php/7.3/apache2/` | `/etc/` |

`sudo nano /etc/php/7.3/apache2/php.ini`

`zend_extension = "/usr/lib/php/20180731/ioncube_loader_lin_7.3.so"`

4 - Restart the Apache service using the following command:

| Ubuntu 19.10\Debian 8 | CentOS 7/8 |
| --- | --- |
| `sudo service apache2 restart` | `sudo systemctl restart httpd` |

> IMPORTANT: To enable the IonCube in the CentOS, the SELinux service must be disabled. Check the service status using the command: `sestatus`.  
> To disabled the service, access the file settings using the command `sudo nano /etc/selinux/config` and change the SELINUX and SELINUXTYPE directives as this: `SELINUX=disabled` e `SELINUXTYPE=minimum`. After that, save the file and restart your Centos to apply the changes and enable the IonCube.

## Scriptcase Manual Installation

Listed below are the steps needed to do a Scriptcase manual installation. To do the steps, it is needed that you have a web server configured in your machine.

1 - Download the Scriptcase (.zip) directly from the [download page](https://www.scriptcase.net/download/) from our website.

2 - Extract the .zip file and rename the extracted folder to `scriptcase`.

3 - Move the scriptcase to your server root. Depending of your operating system and the installation the path can be different from the example. However, by default the paths are:

| Windows | Server |
| --- | --- |
| `C:\Apache24\htdocs\` | Apache |
| `C:\inetpub\wwwroot\` | IIS |

| Linux | Server |
| --- | --- |
| `/var/www/html/` | Linux Local |
| `/home/$(whoami)/public_html/` | Linux Server |

| macOS | Server |
| --- | --- |
| `/Library/WebServer/Documents` | Apache |

4 - Access the Scriptcase using your browser:

`127.0.0.1/scriptcase`

- By default the selected language is English.

![Setup Screen](https://www.scriptcase.net/docs/en_us/v9/assets/images/docs/install/manual_sc/tela_inicial.png)

5 - Check the extensions required for Scriptcase to function and database connection modules that are enabled.

![Screen with list of active extensions](https://www.scriptcase.net/docs/en_us/v9/assets/images/docs/install/manual_sc/tela_extensoes_php.png)

## Typical Installation

Check the steps below to complete the manual installation of Scriptcase in a typical way.

> NOTE: By selecting this installation, Scriptcase will set your environment by default. Defining the installation database and the login user in Scriptcase.

![Installation Type Selection Screen](https://www.scriptcase.net/docs/en_us/v9/assets/images/docs/install/manual_sc/linux/tela_tipo_instalacao.png)

After clicking proceed, you will be redirected to the Scriptcase Login page.

![Scriptcase access screen](https://www.scriptcase.net/docs/en_us/v9/assets/images/docs/install/sc_screen_install.png)

**User**

In this field, it is necessary to inform the user to login to Scriptcase. By default, the user is admin.

**Password**

In this field, you must enter the password to login to Scriptcase. By default, the password is admin.

**Keep me connected**

This option keeps the user logged in until they log out through the Scriptcase interface.

**Forgot your password?**

By clicking this option, it is possible to recover the password of the informed user. An email will be sent to the user in question so they can access the recovery steps.

> Important: You can only perform password recovery if you have configured your SMTP information. To access our documentation showing how to perform this configuration click [here](https://help.scriptcase.net/portal/en/kb/articles/setting-password-recovery-in-scriptcase).

## Customized Installation

Check the steps below to complete the manual installation of Scriptcase in a custom manner.

> NOTE: By selecting this installation, you will be responsible for setting up your environment. Defining the installation database and the login user for Scriptcase.

![Screen of choice of installation type](https://www.scriptcase.net/docs/en_us/v9/assets/images/docs/install/manual_sc/linux/tela_tipo_instalacao_avancada.png)

1- Verify that the directories required by Scriptcase have the correct permissions. If any directory listed does not have the active check icon ![Active_icon](https://www.scriptcase.net/docs/en_us/v9/assets/images/docs/install/manual_sc/ativo_icon.png), correct permission for this directory.

![System Directories Display Screen](https://www.scriptcase.net/docs/en_us/v9/assets/images/docs/install/manual_sc/linux/tela_avancada_diretorios_lin.png)

Click proceed to proceed with the installation process .

2- Choose the database where the Scriptcase database will be installed. By default, Scriptcase recommends that it be installed with the SQLite database.

![Installation Database Choice Screen](https://www.scriptcase.net/docs/en_us/v9/assets/images/docs/install/manual_sc/tela_avancada_banco.png)

- You can change the default database by clicking the Change Database button. By clicking this option you will need to set the following options:

![Default database change](https://www.scriptcase.net/docs/en_us/v9/assets/images/docs/install/manual_sc/alterar_base.png)

**DBMS**

In this option, you will select the Driver to connect to your database.

**Server**

In this option, you will inform the server to connect to the desired database.

**User**

You need to inform a user who has access to the database you want Scriptcase to be installed on.

**Password**

You must enter the authentication password corresponding to the entered user.

**Database**

You must enter the name of the database where Scriptcase will be installed.

Example:

`scriptcase`

Clique em prosseguir para avançar no processo de instalação.

3 - Verifique se a criação das tabelas da base de dados do Scriptcase ocorreu com sucesso. As tabelas serão marcadas com o ícone de sucesso ![ativo_icon](https://www.scriptcase.net/docs/en_us/v9/assets/images/docs/install/manual_sc/ativo_icon.png) na lateral.

![Tela de exibição das tabelas do sistema](https://www.scriptcase.net/docs/en_us/v9/assets/images/docs/install/manual_sc/tela_avancada_tabelas.png)

Click proceed to proceed with the installation process.

**4 -** Set the default user who will have access to Scriptcase.

![User setup screen](https://www.scriptcase.net/docs/en_us/v9/assets/images/docs/install/manual_sc/tela_avancada_usuario.png)

**Login**

In this option, you will enter the default Scriptcase User Login.

**Password**

In this option, you must enter the password that will correspond to the user informed.

**Confirmation**

You must repeat the previously entered password for successful user creation.

Click proceed to proceed with the installation process.

5 - Complete Scriptcase custom installation on your web server.

![Finish screen of installation](https://www.scriptcase.net/docs/en_us/v9/assets/images/docs/install/manual_sc/tela_avancada_final.png)

After clicking proceed, you will be redirected to the Scriptcase Login page.

![Scriptcase access screen](https://www.scriptcase.net/docs/en_us/v9/assets/images/docs/install/sc_screen_install.png)

---

*Conteúdo truncado na migração (limite do Chatwoot: 20.000 caracteres).*