Is AgileTech a pure React + Laravel Theme?
AgileTech is a dynamic web development theme that combines the strengths of React for the frontend and Laravel for the backend. It provides a powerful foundation for building real-time applications with ease. React ensures a responsive and interactive user interface, while Laravel handles data management, business logic, and server-side operations. The theme's standout feature is its seamless integration with a Laravel API, enabling efficient data exchange between the frontend and backend. With comprehensive documentation, AgileTech is an ideal choice for developers looking to create feature-rich web applications with a strong emphasis on real-time functionality.
If you're having problems while using our theme, please make sure to read the documentation carefully. It will help you quickly resolve your issues. If you can't find the answers you need in the documentation, don't worry! You can request help by submitting a support ticket at wowtheme7@gmail.com.
This guide will help you understand everything about the theme and hopefully provide answers to all your questions. In this documentation, you will find the following topics explained in an easy-to-understand way.
You can make various page designs by using the different customization choices. It all depends on your creativity and how you apply these options to your website. To help you get started, we've already created a few different layouts using all the customization features. You can use them as they are or get inspired by them for your own website.
A XAMPP/MAMP/LAMP server is necessary for running PHP Laravel on a local server, If XAMPP/MAMP/LAMP server not installed on your computer, refer to the following links for installation guides on various operating systems.
To run application you need to download web server.
MAMPP Server you can download it from https://www.mamp.info/en/mamp/ for Windows/Mac.
XAMPP Server you can download it from https://www.apachefriends.org/download.html for Windows/Linux/Mac
PHP Version >= 8.2
To Verify the php version on server installed or not, enter the following command into your terminal or command line.
php -v
If you haven't installed it, make sure to install it first.
Composer is essential for Laravel applications, If Composer is not installed on your computer, refer to the following links for installation guides on various operating systems.
To run application you need to download web server.
MAMPP Server you can download it from https://www.mamp.info/en/mamp/ for Windows/Mac, For Mac OS installation steps are here and For Windows installation steps are here
XAMPP Server you can download it from https://www.apachefriends.org/download.html for Windows/Linux/Mac
Note: For demonstration we are using here XAMPP Server configuration for Mac/Window and for Linux we are using here LAMP Server. In all the servers have MySQL extensions. No need to download third party MySQL.
/etc/php/8.2/fpm/php.ini
.
sudo systemctl restart apache2
node-v
npm-v
- Unzip the file which you got from CodeCanyon and to see the directories.
- After extracting the file, you'll see that AgileTech is a three primary parts: backend, frontend, and admin. You need to run each part separately and in a specific order.
To run the application, make sure you install all three parts of AgileTech. Following this simple step-by-step installation guide.
Open the backend directory that you downloaded from CodeCanyon.
Configure Environment Variables and open the .env file.
Update the following keys with your database credentials and appropriate URL.
Use localhost:port (http://localhost:8000) if you're running on your local machine.
Use your live server's API URL (http://api.your-domain.com) for APP_URL if deploying to a live environment.
APP_URL=http://localhost
APP_BACKEND_URL=http://localhost:5173
APP_FRONTEND_URL=http://localhost:3000
DB_DATABASE=database_name
DB_USERNAME=database_username
DB_PASSWORD=database_password
- In the backend folder, run following command in the terminal to install the required dependencies.
composer install
- After installing dependencies, generate a unique application key with:
php artisan key:generate
- Ensure images are stored and displayed correctly with:
php artisan storage:link
- Run this command to for complete database migratoin:
php artisan migrate --seed
- Or, you can upload databae.sql
from folder backend > db >
databae.sql for completing database migration
-Finally, launch the AgileTech API by running:
php artisan serve
- Access your AgileTech API at http://localhost:8000 (default port) in your web browser.
Congratulations, AgileTech has been successfully installed and configured in your system!🎉
For Postman API Documentation Click Here.
Once you've finished installing the AgileTech API, the next step is to set up the AgileTech React frontend. You can easily do this by following the instructions provided in the following link: Link to AgileTech React Frontend Installation Guide.
- In the frontend folder, run following command in the terminal to install the required dependencies.
npm install
.env
config :
-
Open the .env file in your code editor and adjust the URL based on the reference image.
- Once the necessary dependencies are successfully installed, initiate your project by executing below command in the Terminal.
npm start
When you start your application, it usually uses the default port, so you can access it by opening http://localhost:3000/
Once you've finished installing the React AgileTech Frontend, the next step is to set up the React AgileTech Admin. You can easily do this by following the instructions provided in the following link: Link to React AgileTech Admin Installation Guide.
- In the admin folder, run following command in the terminal to install the required dependencies.
npm install
.env
config :
-
Open the .env file in your code editor and adjust the URL based on the reference image.
- Once the necessary dependencies are successfully installed, initiate your project by executing below command in the Terminal.
npm run dev
Congratulations on the successful installation of AgileTech! After configuring the theme, you can proceed by using the default credentials.
Here are some common solutions if your project isn't running successfully:
- Url: http://localhost:5173
- Email: admin@gmail.com
- Password: 123456
- Unzip the file which you got from CodeCanyon and to see the directories.
- After extracting the file, you'll see that AgileTech is a three primary parts: backend, frontend, and admin. You need to run each part separately and in a specific order.
For deploying AgileTech on various servers, please make sure you've installed all three necessary parts and configured all the required prerequisites. You can follow this step-by-step deployment guide for different servers:
- For deploy on cPanel Server, click here.
- For deploy on a Virtual Private Server (VPS), click here.
- For deploy on Vercel, click here.
- Zip all files and folders in the backend folder and upload it to your cPanel server.
- Login to your cPanel server and click on domains in the domains section.
- Create separate subdomains for Laravel API, React frontend, and React backend.
api.your-domain.com -> laravel API.
- Upload the agiletech-laravel zip file in the laravel's subdomain (api.your-domain.com).
- Click on the Go Back link after the file is 100% uploaded.
- Now move to cpanel manager and go to > MySQL Database Wizard
- Create database in MySQL Database Wizard
- Create database users and remember their passwords for the installation process.
- Add a user to the database, give them all the necessary permissions, and then click 'Make Changes.' After that, click 'Next Step.
- Make a note of the database user, database name, and database password after creating the database.
- After creating the MySQL database, go to agiletech-laravel folder from your cPanel file manager and edit .env file.
- Add Laravel base url in APP_URL key.
- Also, change local to production in APP_ENV.
- Add MySQL database credentials.
Add you laravel API primary domain url like a APP_URL=http://api.your-domain.com
APP_URL=https://api.your-domain.com
APP_BACKEND_URL=http://api.your-domain.com
APP_FRONTEND_URL=https://your-domain.com
DB_DATABASE=your_db_name
DB_USERNAME=your_db_username
DB_PASSWORD=your_db_password
- Enter terminal in cPanel search bar and select terminal.
- If you can't find the terminal, please log in to your local computer terminal or use Putty for Windows via SSH.
- Once you've opened the terminal, navigate to the root folder of laravel project.
- In the laravel subdomain folder (api.your-domain.com), run this command to install the required dependencies.
composer install
- After installing required dependencies, run this command to generate laravel app key.
php artisan key:generate
- Run this command to for complete database migratoin:
php artisan migrate --seed
- Or, you can upload databae.sql
from folder backend > db >
databae.sql for completing database migration to phpmyadmin
- Run this command to for complete database migratoin:
php artisan migrate --seed
- To store and display images correctly, then run this command.
php artisan storage:link
Congratulations, AgileTech has been successfully installed and configured in your system!🎉
- Visit your website in a web browser to ensure everything is working correctly.
- Here are some references that can guide you through deploying a Laravel project on a cPanel server:
Laravel Official Documentation: It includes sections on deploying Laravel applications and provides insights into best practices.
cPanel's Documentation: Check for information related to hosting, databases, and other cPanel features.
Host-Specific Guides: Your hosting provider might have specific guides or documentation related to Laravel deployment.
Deploying the Laravel API on Vercel isn't possible due to compatibility issues. Instead, it's recommended to host the API on a separate server. We recommend using a VPS (Virtual Private Server)
To accomplish this, please follow the step-by-step instructions in the documentation starting from the beginning up to the API installation.
After successfully hosting the API, proceed with the next steps:
Note: The deployment steps on Vercel remain the same for both the frontend and admin projects. For demonstration purposes, we will specifically showcase the deployment process for the frontend.
Afterward, on your computer, install the Vercel CLI by running the provided command.
npm install -g vercel
Following the installation, proceed to log in to Vercel by using the provided command.
vercel login
Afterward, In the frontend folder, run following command in the terminal to deploy.
vercel
- Log in to your server using SSH and Terminal. Use the provided credentials based on your server type, like Ubuntu or AWS.
- Following that, you can choose to install either NGINX or Apache. However, for the purpose of this demonstration, we'll proceed with NGINX, you can install it using the following command.
sudo apt install nginx
After accepting the procedure, apt will install Nginx and any required dependencies to your server.
- Before testing Nginx, the firewall software needs to be adjusted to allow access to the service. Nginx registers itself as a service with ufw upon installation, making it straightforward to allow Nginx access.
- List the application configurations that ufw knows how to work with by typing:
sudo ufw app list
- You should get a listing of the application profiles:
- As demonstrated by the output, there are three profiles available for Nginx:
- It is recommended that you enable the most restrictive profile that will still allow the traffic you’ve configured. Right now, we will only need to allow traffic on port 80.
- You can enable this by typing:
sudo ufw allow 'Nginx HTTP'
- Verify the change by typing:
sudo ufw status
- The output will indicated which HTTP traffic is allowed:
- At the end of the installation process, Ubuntu 20.04 starts Nginx. The web server should already be up and running.
- The systemd init system to make sure the service is running by typing:
systemctl status nginx
- As confirmed by this out, the service has started successfully. However, the best way to test this is to actually request a page from Nginx.
- To install php package, run the following command:
sudo apt install php8.2-mbstring php8.2-xml php8.2-bcmath php8.2-simplexml php8.2-intl php8.2-gd php8.2-curl php8.2-zip php8.2-gmp
- Once the installation is finished, you can run the following command to confirm your PHP version:
php -v
- Update the local repository lists by entering the following in a command line.
sudo apt update
- The following curl command to have the latest Composer version.
curl -sS https://getcomposer.org/installer | php
- This will download and execute an installer script that will download the latest version of Composer and install it in your current working directory.
- You’ll need to move the composer to use Composer globally and run the Composer commands from anywhere.phar file from your current directory to a location included in your PATH environment variable.
- The most common location is the /usr/local/bin directory. So use the following command to initiate the move:
sudo mv composer.phar /usr/local/bin/composer
- To test composer installation, run:
composer
- Now that you have a web server up and running, you need to install the database system to be able to store and manage data for your site. MySQL is a popular database management system used within PHP environments.
sudo apt install mysql-server
- When prompted, confirm installation by typing Y, and then ENTER.
- Start the interactive script by running:
sudo mysql_secure_installation
- When you’re finished, test whether you’re able to log in to the MySQL console by typing:
sudo mysql
- This will connect to the MySQL server as the administrative database user root, which is inferred by the use of sudo when running this command. Below is an example output:
- Create MySQL database and assign all privileges by using following commands:
CREATE DATABASE agiletech_laravel;
CREATE USER 'AgileTech'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
GRANT ALL ON agiletech_laravel.* TO 'AgileTech'@'%';
FLUSH PRIVILEGES;
sudo chown -R $USER:$USER /var/www;
- To make a new directory on your website, just type this command:
mkdir /var/www/agiletech
- To begin, configure server and establish a Reverse Proxy to host multiple sites on the same server. Start by disabling the default settings.
sudo rm /etc/nginx/sites-enabled/default
sudo touch /etc/nginx/sites-available/agiletech
sudo nano /etc/nginx/sites-available/agiletech
- Include the following Nginx configuration in your edited file:
server {
listen 80;
server_name your-domain.com;
client_max_body_size 256M;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
index index.html index.htm;
charset utf-8;
# For Frontend
location / {
root /var/www/agiletech; # Adjust the path to your React app's build output
try_files $uri $uri/ /index.html;
}
# For Admin
location /admin {
root /var/www/agiletech/admin; # Adjust the path to your git admin app's build output
try_files $uri $uri/ /admin/index.html;
}
# For API
location /api {
alias /var/www/agiletech/backend/public;
try_files $uri $uri/ @api;
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
}
location @api {
rewrite /api/(.*)$ /index.php?/$1 last;
}
error_page 404 /index.html;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
Ensure to replace "your-domain.com" with the actual domain name you are using.
- After making your changes, press CTRL and X, then confirm by pressing Y and ENTER to save and close the file.
- To enable the configuration, enable it with an easy command.
sudo ln -s /etc/nginx/sites-available/agiletech /etc/nginx/sites-enabled/
Please make sure there are no mistakes in the configuration by typing:
sudo nginx -t
Then restart Nginx server.
sudo systemctl restart nginx
sudo apt install certbot python3-certbot-nginx
You need to modify its settings to permit HTTPS traffic. Fortunately, Nginx creates specific profiles in ufw during installation.
sudo ufw status
sudo ufw allow 'Nginx Full'
sudo ufw delete allow 'Nginx HTTP'
sudo certbot --nginx -d your-domain
cd /var/www/agiletech/backend
- Add values to the below keys in the .env file using nano command
nano .env
cp .env.example .env
If you're running your Laravel project on your own computer (localhost), make sure to use localhost with current running port and put in APP_URL. as a given example below
If you want to install on live server, you need to add your live server api url like a APP_URL=http://api.your-domain.com.
APP_URL=https://api.your-domain.com
APP_BACKEND_URL=http://api.your-domain.com
APP_FRONTEND_URL=https://your-domain.com
DB_DATABASE=database_name
DB_USERNAME=database_username
DB_PASSWORD=database_password
- In the backend folder, run following command in the terminal to install the required dependencies.
composer install
- Once the necessary dependencies are successfully installed, run following command to generate laravel app key.
php artisan key:generate
- Run this command to for complete database migratoin:
php artisan migrate --seed
- Then, run following command to store and display images correctly.
php artisan storage:link
- Once you've finished all the previous steps, you can run the Laravel API by adding following command.
php artisan serve
- When you start your Laravel API project, it typically runs on the default port, you can access it by opening 127.0.0.1:5173 in your web browser.
Congratulations, AgileTech has been successfully installed and configured in your system!🎉
For Postman API Documentation Click Here.
Once you've finished installing the AgileTech API, the next step is to set up the AgileTech React frontend.
Open the .env file in your code editor and adjust the URL based on the reference image.
Open the .env file in your code editor and adjust the URL based on the reference image.
Note: Now, the below steps will be the same for frontend and admin project.
This will create a "dist" directory in your project with optimized files.
- Take the contents of the "dist" folder and upload them to your website's
respective folder.
Note: For demostraction purposes, we are displaying a reference image of the AgileTech frontend.
- Zip the Frontend project and upload it to the /var/www/agiletech/ and
extract it.
- Zip the Admin project and upload it to the /var/www/agiletech/admin and
extract it.
Next, open the index.html file using the command nano
/var/www/agiletech/admin/index.html and modify the base href path to
<base
href="/admin/">. This adjustment is necessary due to the presence of a
subfolder, hence the need
to update the base href path.
- After making your changes, press CTRL and X, then confirm by pressing Y and ENTER to save and close the file.
Congratulations on completing the AgileTech installation! Now, navigate to the admin panel at your-domain.com/admin. For the frontend, visit your-domain.com. Enjoy using AgileTech!
A "LAMP" stack is a bundle of open-source software commonly used to host dynamic websites and web apps written in PHP. It includes Linux for the operating system, Apache for the web server, MySQL for the database, and PHP for processing dynamic content.
- Start by updating the package manager cache. If this is the first time you’re using sudo within this session, you’ll be prompted to provide your user’s password to confirm you have the right privileges to manage system packages with apt:
sudo apt update
- Then, install Apache with:
sudo apt install apache2
- You’ll be prompted to confirm Apache’s installation. Confirm by pressing Y, then ENTER.
- Select unnattended-upgrades options by pressing space-bar, and then press Tab button to select OK button, please Enter button.
- Once the installation is finished, you’ll need to adjust your firewall settings to allow HTTP traffic.
- Ubuntu’s default firewall configuration tool is called Uncomplicated Firewall (UFW). It has different application profiles that you can leverage.
- To list all currently available UFW application profiles, execute this command:
sudo ufw app list
- To only allow traffic on port 80, use the Apache profile
sudo ufw allow in "Apache"
- Enable firewall and verify the change with:
sudo ufw enable
- After execute this command it will ask proceed this operation with existing ssh connection? Enter "y" and continue it.
sudo ufw status
- If you do not know what your server’s public IP address is, there are a number of ways to find it. You can following this command to find your public server ip address.
ip addr show ens3 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
- Open this IP address in your browser, If you can view this page, your web server is correctly installed and accessible through your firewall.
- To install php and mysql, run the following command:
sudo apt install php libapache2-mod-php php-mysql
- Press "Y | y" tp continue this process and Once the installation is finished, run the following command to confirm your PHP version:
- To install php extensions, run the following command:
sudo apt install php-mbstring php-xml php-bcmath php-simplexml php-intl php-gd php-curl php-zip php-gmp
- Once the installation is finished, you can run the following command to confirm your PHP version:
php -v
- Update the local repository lists by entering the following in a command line.
sudo apt update
- The following curl command to have the latest Composer version.
curl -sS https://getcomposer.org/installer | php
- This will download and execute an installer script that will download the latest version of Composer and install it in your current working directory.
- You’ll need to move the composer to use Composer globally and run the Composer commands from anywhere.phar file from your current directory to a location included in your PATH environment variable.
- The most common location is the /usr/local/bin directory. So use the following command to initiate the move:
sudo mv composer.phar /usr/local/bin/composer
- To test composer installation, run:
composer
- Now that you have a web server up and running, you need to install the database system to be able to store and manage data for your site. MySQL is a popular database management system used within PHP environments.
sudo apt install mysql-server
- When prompted, confirm installation by typing Y, and then ENTER.
- Start the interactive script by running:
sudo mysql_secure_installation
- When prompted, confirm installation by typing Y, and then ENTER.
- If you answer “yes”, you’ll be asked to select a level of password validation.
If you choose the strongest level as 2, you'll encounter errors when trying to set a password that doesn't include numbers, uppercase and lowercase letters, and special characters.
- We have choose the medium level as 1, after choose password validation level. It will ask some confirmation you can choose as your need.
- When you’re finished, test whether you’re able to log in to the MySQL console by typing:
sudo mysql
- Once you are entering mysql panel, following some command for create database and database user to store data.
CREATE DATABASE agiletech_laravel;
CREATE USER 'AgileTech'@'%' IDENTIFIED WITH mysql_native_password BY 'Password@123';
GRANT ALL ON agiletech_laravel.* TO 'AgileTech'@'%';
FLUSH PRIVILEGES;
- To exit the MySQL console, type:
exit
sudo chown -R $USER:$USER /var/www;
- To make a new directory on your website, just type this command:
mkdir /var/www/agiletech
- following this command to install zip and extract it.
sudo apt install zip unzip
nano /etc/apache2/sites-available/your_domain.conf
- Add Following Code in Virtual Host File
<VirtualHost *:80>
ServerName www.your-domain.com
ServerAdmin contact@your-domain.com
DocumentRoot /var/www/backend/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/backend/public/>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
- Include the following Nginx configuration in your edited file:
- Restart Apache2
service apache2 restart
cd /var/www/agiletech/backend
- Add values to the below keys in the .env file using nano command
nano .env
cp .env.example .env
If you're running your Laravel project on your own computer (localhost), make sure to use localhost with current running port and put in APP_URL. as a given example below
If you want to install on live server, you need to add your live server api url like a APP_URL=http://api.your-domain.com.
APP_URL=http://localhost
APP_BACKEND_URL=http://api.your-domain.com
APP_FRONTEND_URL=https://your-domain.com
DB_DATABASE=database_name
DB_USERNAME=database_username
DB_PASSWORD=database_password
- In the backend folder, run following command in the terminal to install the required dependencies.
composer install
- Once the necessary dependencies are successfully installed, run following command to generate laravel app key.
php artisan key:generate
- Run this command to for complete database migratoin:
php artisan migrate --seed
- Then, run following command to store and display images correctly.
php artisan storage:link
- Once you've finished all the previous steps, you can run the Laravel API by adding following command.
php artisan serve
- When you start your Laravel API project, it typically runs on the default port, you can access it by opening 127.0.0.1:8000 in your web browser.
Congratulations, AgileTech has been successfully installed and configured in your system!🎉
For Postman API Documentation Click Here.
Once you've finished installing the AgileTech API, the next step is to set up the AgileTech React frontend.
Open the .env file in your code editor and adjust the URL based on the reference image.
Open the .env file in your code editor and adjust the URL based on the reference image.
- In the frontend folder, run following command in the terminal to install the required dependencies.
npm install
For building your React application, utilize the following commands separately for both the frontend and admin
npm run build
This will create a ".next" directory in your project with optimized files.
- Take the contents of the ".next" folder and upload them to your website's
respective folder.
Note: For demostraction purposes, we are displaying a reference image of the AgileTech frontend.
- Zip the Frontend project and upload it to the /var/www/html/agiletech/ and
extract it.
- Zip the Admin project and upload it to the /var/www/html/agiletech/admin
and extract it.
Next, open the index.html file using the command nano
/var/www/html/agiletech/admin/index.html
and modify the base href path to <base href="/admin/">. This adjustment
is necessary due to
the presence of a subfolder, hence the need to update the base href path.
- After making your changes, press CTRL and X, then confirm by pressing Y and ENTER to save and close the file.
Congratulations on completing the AgileTech installation! Now, navigate to the admin panel at your-domain.com/admin. For the frontend, visit your-domain.com. Enjoy using AgileTech!
- Url: http://localhost:5173
- Email: admin@gmail.com
- Password: 123456
- Log in to your server using SSH and Terminal. Use the provided credentials based on your server type, like Ubuntu or AWS.
- Following that, you can choose to install either NGINX or Apache. However, for the purpose of this demonstration, we'll proceed with NGINX, you can install it using the following command.
sudo apt install nginx
After accepting the procedure, apt will install Nginx and any required dependencies to your server.
- Before testing Nginx, the firewall software needs to be adjusted to allow access to the service. Nginx registers itself as a service with ufw upon installation, making it straightforward to allow Nginx access.
- List the application configurations that ufw knows how to work with by typing:
sudo ufw app list
- You should get a listing of the application profiles:
- As demonstrated by the output, there are three profiles available for Nginx:
- It is recommended that you enable the most restrictive profile that will still allow the traffic you’ve configured. Right now, we will only need to allow traffic on port 80.
- You can enable this by typing:
sudo ufw allow 'Nginx HTTP'
- Verify the change by typing:
sudo ufw status
- The output will indicated which HTTP traffic is allowed:
- At the end of the installation process, Ubuntu 20.04 starts Nginx. The web server should already be up and running.
- The systemd init system to make sure the service is running by typing:
systemctl status nginx
- As confirmed by this out, the service has started successfully. However, the best way to test this is to actually request a page from Nginx.
- To install php package, run the following command:
sudo apt install php8.2-mbstring php8.2-xml php8.2-bcmath php8.2-simplexml php8.2-intl php8.2-gd php8.2-curl php8.2-zip php8.2-gmp
- Once the installation is finished, you can run the following command to confirm your PHP version:
php -v
- Update the local repository lists by entering the following in a command line.
sudo apt update
- The following curl command to have the latest Composer version.
curl -sS https://getcomposer.org/installer | php
- This will download and execute an installer script that will download the latest version of Composer and install it in your current working directory.
- You’ll need to move the composer to use Composer globally and run the Composer commands from anywhere.phar file from your current directory to a location included in your PATH environment variable.
- The most common location is the /usr/local/bin directory. So use the following command to initiate the move:
sudo mv composer.phar /usr/local/bin/composer
- To test composer installation, run:
composer
- Now that you have a web server up and running, you need to install the database system to be able to store and manage data for your site. MySQL is a popular database management system used within PHP environments.
sudo apt install mysql-server
- When prompted, confirm installation by typing Y, and then ENTER.
- Start the interactive script by running:
sudo mysql_secure_installation
- When you’re finished, test whether you’re able to log in to the MySQL console by typing:
sudo mysql
- This will connect to the MySQL server as the administrative database user root, which is inferred by the use of sudo when running this command. Below is an example output:
- Create MySQL database and assign all privileges by using following commands:
CREATE DATABASE agiletech_laravel;
CREATE USER 'AgileTech'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
GRANT ALL ON agiletech_laravel.* TO 'AgileTech'@'%';
FLUSH PRIVILEGES;
sudo chown -R $USER:$USER /var/www;
- To make a new directory on your website, just type this command:
mkdir /var/www/agiletech
- To begin, configure server and establish a Reverse Proxy to host multiple sites on the same server. Start by disabling the default settings.
sudo rm /etc/nginx/sites-enabled/default
sudo touch /etc/nginx/sites-available/agiletech
sudo nano /etc/nginx/sites-available/agiletech
- Include the following Nginx configuration in your edited file:
server {
listen 80;
server_name your-domain.com;
client_max_body_size 256M;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
index index.html index.htm;
charset utf-8;
# For Frontend
location / {
root /var/www/agiletech; # Adjust the path to your React app's build output
try_files $uri $uri/ /index.html;
}
# For Admin
location /admin {
root /var/www/agiletech/admin; # Adjust the path to your React admin app's build output
try_files $uri $uri/ /admin/index.html;
}
# For API
location /api {
alias /var/www/agiletech/backend/public;
try_files $uri $uri/ @api;
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
}
location @api {
rewrite /api/(.*)$ /index.php?/$1 last;
}
error_page 404 /index.html;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
Ensure to replace "your-domain.com" with the actual domain name you are using.
- After making your changes, press CTRL and X, then confirm by pressing Y and ENTER to save and close the file.
- To enable the configuration, enable it with an easy command.
sudo ln -s /etc/nginx/sites-available/agiletech /etc/nginx/sites-enabled/
Please make sure there are no mistakes in the configuration by typing:
sudo nginx -t
Then restart Nginx server.
sudo systemctl restart nginx
sudo apt install certbot python3-certbot-nginx
You need to modify its settings to permit HTTPS traffic. Fortunately, Nginx creates specific profiles in ufw during installation.
sudo ufw status
sudo ufw allow 'Nginx Full'
sudo ufw delete allow 'Nginx HTTP'
sudo certbot --nginx -d your-domain
cd /var/www/agiletech/backend
- Add values to the below keys in the .env file using nano command
nano .env
cp .env.example .env
If you're running your Laravel project on your own computer (localhost), make sure to use localhost with current running port and put in APP_URL. as a given example below
If you want to install on live server, you need to add your live server api url like a APP_URL=http://api.your-domain.com.
APP_URL=http://localhost:8000
APP_BACKEND_URL=http://api.your-domain.com
APP_FRONTEND_URL=https://your-domain.com
DB_DATABASE=database_name
DB_USERNAME=database_username
DB_PASSWORD=database_password
- In the backend folder, run following command in the terminal to install the required dependencies.
composer install
- Once the necessary dependencies are successfully installed, run following command to generate laravel app key.
php artisan key:generate
- Run this command to for complete database migratoin:
php artisan migrate --seed
- Then, run following command to store and display images correctly.
php artisan storage:link
- Once you've finished all the previous steps, you can run the Laravel API by adding following command.
php artisan serve
- When you start your Laravel API project, it typically runs on the default port, you can access it by opening 127.0.0.1:8000 in your web browser.
Congratulations, AgileTech has been successfully installed and configured in your system!🎉
For Postman API Documentation Click Here.
Once you've finished installing the AgileTech API, the next step is to set up the agiletech react frontend.
The Admin Dashboard provides an overview of your system, including user statistics, system health, and quick actions to manage your platform efficiently.
Manage and define the services offered through your platform.
Create services offered through your platform.
Edit services offered through your platform.
Provide detailed descriptions and specifications for each service.
Create detailed descriptions and specifications for each service.
Edit detailed descriptions and specifications for each service.
Define subscription plans or packages available to your users.
Create subscription plans or packages available to your users.
Edit subscription plans or packages available to your users.
Configure payment gateways for secure transactions.
Create payment gateways for secure transactions.
Edit payment gateways for secure transactions.
Organize
Create your blog content by creating and managing categories.
Edit your blog content by creating and managing categories.
Manage blog categories and articles to keep your users informed.
Create blog categories and articles to keep your users informed.
Edit blog categories and articles to keep your users informed.
Display image galleries to showcase visual content.
Create galleries and articles to keep your users informed.
Edit galleries and articles to keep your users informed.
Manage detailed information for each gallery item, including images, descriptions, and metadata.
Create new gallery items with detailed descriptions and images.
Edit existing gallery items to update their details.
Organize and manage product listings, including product details, pricing, and availability.
Create new product listings with detailed descriptions and images.
Edit existing product listings to update their details.
Manage product categories to organize your products effectively.
Create new product categories for better organization.
Edit existing product categories to update their details.
View and manage customer orders, including order status and details.
View order Invoice.
Edit existing orders to update their status or details.
Manage customer information, including contact details and order history.
Edit existing customer accounts to update their details.
Configure general settings for your application.
Upload and manage your website logo.
Manage email configuration settings.
Select and customize website templates.
Manage brand information and logos.
Define 'About Us' content for your website.
Create and manage Frequently Asked Questions.
Display team member profiles and roles.
Manage counter statistics displayed on the homepage.
Manage contact information displayed on the website.
Define steps or processes displayed in a step-by-step guide.
Add and manage extra pages for additional content.
Manage subscriber lists and newsletters. You can send mail to the subscriber from here.
Thank you so much for purchasing our React & Laravel Theme!🎉
If you have any questions or need assistance, please do not hesitate to reach out to us wowtheme7@gmail.com.
We're here to help you at every step of the way and make your experience as smooth as possible.
We hope this documentation serves you well!🙌
Enjoy your coding journey!✨
Social
Manage social media links and icons.