# Server Requirement

The best server requirements for an **Quizly** Laravel-based project that uses MySQL as its database would depend on the specific needs of the node, such as the number of users, the size of the course content, and the number of concurrent connections to the database. However, a general guideline for server requirements for a Laravel-MySQL would be:

1. **Operating System:** A Linux distribution such as Ubuntu 20.0 OR 22.10 is recommended, as Laravel is built on PHP, which is a popular language on Linux servers. You can also use Cloud Linux, Centos.
2. **Web Server**: Apache are the most common web servers used with Laravel.
3. **PHP:** The latest stable version of **PHP 8.2.14** is recommended for optimal performance.&#x20;
4. **Database:** MySQL 5.7 OR Maria db 10.4 is recommended.
5. **Memory:** A minimum of 4 GB of RAM is recommended, but more may be necessary depending on the size of the **Quiz** and the number of concurrent users.
6. **CPU:** A minimum of 2 cores is recommended, but more may be necessary depending on the number of concurrent users and the complexity of the project.
7. **Disk Space:** A minimum of 20 GB of disk space is recommended, but more may be necessary depending on the size of the course content and the number of courses offered by the **Quizly** .
8. **Network:** A minimum of 100 Mbps is recommended, but more may be necessary depending on the number of concurrent users and the amount of data being transferred.

It's worth noting that these are general guidelines and the specific server requirements may vary depending on the specific needs of the **Quizly**. It's important to monitor the **Quizly** performance and adjust the server resources accordingly.

### Requirements <a href="#requirements" id="requirements"></a>

Before installing make sure you have the proper server requirements. Use Apache server for better performance:-

{% hint style="info" %}
PHP 8.2.4, MySql 5.7 OR Maria db 10.4&#x20;

OpenSSL PHP Extension&#x20;

PHP Fileinfo extension&#x20;

PHP Zip Archive&#x20;

Allow furl extension must be enabled&#x20;

JSON PHP Extension&#x20;

Ctype PHP Extension&#x20;

XML PHP Extension&#x20;

Tokenizer PHP Extension&#x20;

Mbstring PHP Extension&#x20;

PDO PHP Extension&#x20;

Intl PHP Extension&#x20;

BCMath PHP Extension&#x20;

Ctype PHP Extension
{% endhint %}

**File and folder permissions for Shared Hosting (Cpanel/Plesk)**

{% hint style="info" %}
public\_html 775 *(public\_html folder is root folder in shared hosting)*

*if using subdomain then*&#x20;

Subdomain folder 775
{% endhint %}

**File and folder permissions for VPS**

{% hint style="info" %}
/bootstrap 777&#x20;

/public 777&#x20;

/storage 777&#x20;

/public/images 777

/public/config.txt 777&#x20;

.env 777
{% endhint %}

### **VPS** <a href="#vps" id="vps"></a>

VPS stands for Virtual Private Server. It is a type of hosting service that allows individuals or organizations to have their own virtual server, which is a software-based version of a physical server.

A VPS provides a user with the ability to have their own dedicated resources such as CPU, RAM, and storage, but still share a physical server with other users. This allows for more flexibility, control and security than shared hosting, but at a lower cost than a dedicated server.

VPS hosting is ideal for websites or applications that have outgrown shared hosting but don't require the resources of a dedicated server. It allows users to install custom software, configure server settings and access the server remotely.

For VPS use **Ubuntu 20.0 OR 22.10 OS**, Also install Apache 2, PHP 8.2.4, MySQL 5.7, Phpmyadmin, Zip, Unzip and all above mentioned extensions.

in apache server root folder: /var/www/html ***OR*** /home/user/quizly
