Skip to content
Menu
DevSecOps Now!!!
  • About
  • Certifications
  • Contact
  • Courses
  • DevSecOps Consulting
  • DevSecOps Tools
  • Training
  • Tutorials
DevSecOps Now!!!

Laravel Posts Installation Guide

Posted on June 6, 2026

Limited Time Offer!

For Less Than the Cost of a Starbucks Coffee, Access All DevOpsSchool Videos on YouTube Unlimitedly.
Master DevOps, SRE, DevSecOps Skills!

Enroll Now

This document explains how to install and run the Laravel Posts application on a server or local machine.

The application is built with Laravel 12 and requires PHP 8.2 or higher, MySQL or MariaDB, Node.js, and npm.


1. Installation Method

This guide uses the release tarball installation method.

Use this method when you want to install the application directly from a GitHub release package.


2. System Requirements

SoftwareMinimum VersionNotes
PHP8.2 or higherRequired by composer.json using "php": "^8.2"
Composer2.xPHP dependency manager. Not required if vendor files are already bundled
MySQL or MariaDBMySQL 5.7+/8.0 or MariaDB 10.3+Required. SQLite is not supported for this application
Node.js20.19+ or 22.12+Required for npm install and npm run build because the project uses Vite 7
npm10+Usually installed with Node.js
Web ServerApache or PHP built-in serverApache mod_rewrite must be enabled
GitAny recent versionOptional, only needed if cloning from repository

3. Tech Stack

The application uses the following technologies:

AreaTechnology
BackendLaravel 12
Frontend BuildVite 7
StylingTailwind CSS 4
HTTP ClientAxios
CSS ToolsPostCSS, Autoprefixer
TestingPHPUnit 11
Development ToolsPint, Pail, Sail, Tinker, Mockery, Faker, Collision

4. Required PHP Extensions

Make sure the following PHP extensions are enabled:

pdo_mysql
mbstring
openssl
tokenizer
xml
ctype
json
bcmath
fileinfo
curl
gd

Important extensions:

ExtensionPurpose
pdo_mysqlRequired for MySQL or MariaDB database connection
fileinfoRequired for file and image uploads
gdRecommended for image handling, avatars, and post media
curlRequired for HTTP requests
mbstringRequired by Laravel
opensslRequired for encryption and secure operations

Check your PHP version and enabled extensions:

php -v
php -m

5. Windows XAMPP Notes

For Windows users, XAMPP 8.2 or higher is recommended.

XAMPP includes:

Apache
MariaDB/MySQL
PHP 8.2+

However, XAMPP does not include Composer and Node.js.

You need to install separately:

Composer
Node.js
npm

In XAMPP, PHP extensions can be enabled from:

C:\xampp\php\php.ini

Make sure these lines are not commented:

extension=pdo_mysql
extension=fileinfo
extension=mbstring
extension=gd
extension=curl

After changing php.ini, restart Apache from XAMPP Control Panel.


6. Database Requirement

This application requires MySQL or MariaDB.

SQLite is not supported for this application because:

The installer uses the mysql driver
The application requires MySQL/MariaDB FULLTEXT index support

Create a database before running the installer.

Example:

CREATE DATABASE laravel_posts_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

You also need a database username and password.

Example:

CREATE USER 'laravel_posts_user'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON laravel_posts_db.* TO 'laravel_posts_user'@'localhost';
FLUSH PRIVILEGES;

7. Full Installation Procedure

Run the following commands step by step.

# 1. Create a working folder and enter it
mkdir -p stories && cd stories

# 2. Download the release tarball
https://github.com/AdarshAshwani/Laravel-Posts/archive/refs/tags/v1.00.011.tar.gz

# 3. Extract the tarball
tar -xvzf v1.00.011.tar.gz

# 4. Enter the extracted folder
cd Laravel-Posts-1.00.010

# 5. Move visible files to the parent folder
mv * ..

# 6. Move tracked dotfiles to the parent folder
mv .editorconfig .env .env.example .gitattributes .gitignore .htaccess .version ..

# 7. Go back to the main installation folder
cd ..

# 8. Remove extracted folder and tarball
rm -rf Laravel-Posts-1.00.011 v1.00.011.tar.gz

# 9. Generate Laravel application key
php artisan key:generate

# 10. Create storage symlink
php artisan storage:link

# 11. Set permissions 
chmod -R 755 .

# 12. Build frontend assets
npm run build

# 13. Install frontend dependencies
npm install

# 14. Protect .env file
chmod 600 .env

# 15. Set ownership to web server user
chown -R daemon:daemon .

8. Important Note About Web Server User

The command below sets the project owner to daemon:daemon:

chown -R daemon:daemon .

This is commonly used in XAMPP/LAMPP environments.

However, your web server user may be different depending on your server.

Common web server users:

Server TypeCommon User
XAMPP/LAMPPdaemon
Ubuntu Apachewww-data
CentOS Apacheapache
cPanelYour cPanel username

Examples:

For Ubuntu Apache:

chown -R www-data:www-data .

For CentOS Apache:

chown -R apache:apache .

For cPanel:

chown -R yourcpaneluser:yourcpaneluser .

9. Apache VirtualHost Example

Point your Apache VirtualHost to the Laravel public directory.

Example:

<VirtualHost *:80>
    ServerName your-domain.com
    DocumentRoot /path/to/stories/

    <Directory /path/to/stories/>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/your-domain-error.log
    CustomLog ${APACHE_LOG_DIR}/your-domain-access.log combined
</VirtualHost>

Enable Apache rewrite module:

a2enmod rewrite
systemctl restart apache2

For XAMPP/LAMPP, make sure mod_rewrite is enabled in Apache configuration.


10. Complete Web Installer

After completing the command-line setup, open the application in your browser.

Visit:

https://your-domain.com/install

Then complete the web installer.

During installation, enter:

Database host
Database name
Database username
Database password
Admin user details
Website settings

After installation, verify that the home page and admin panel are working properly.


11. Frontend Build Notes

This application uses Vite 7.

Node.js must be:

20.19+

or

22.12+

Check your Node.js and npm versions:

node -v
npm -v

If Node.js is older, upgrade Node.js before running:

npm install
npm run build

Older Node.js versions may fail during the Vite build process.


13. Storage Permission Notes

Laravel needs write permission for these folders:

storage
bootstrap/cache

Recommended permission:

chmod -R 775 storage bootstrap/cache

If required, set ownership again:

chown -R daemon:daemon storage bootstrap/cache

For Ubuntu Apache:

chown -R www-data:www-data storage bootstrap/cache

14. Useful Laravel Commands

Clear cache:

php artisan cache:clear

Clear config cache:

php artisan config:clear

Clear route cache:

php artisan route:clear

Clear view cache:

php artisan view:clear

Generate app key:

php artisan key:generate

Create storage link:

php artisan storage:link

Check routes:

php artisan route:list

15. Troubleshooting

Problem: Page shows 500 server error

Run:

php artisan config:clear
php artisan cache:clear
php artisan view:clear

Also check:

storage/logs/laravel.log

Problem: CSS or JS not loading

Run:

npm install
npm run build

Make sure the public/build folder exists.


Problem: Database connection failed

Check .env database values:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database
DB_USERNAME=your_username
DB_PASSWORD=your_password

Then run:

php artisan config:clear

Problem: Uploads not working

Make sure fileinfo extension is enabled.

Check:

php -m | grep fileinfo

Also make sure storage link exists:

php artisan storage:link

Problem: Permission denied error

Run:

chmod -R 775 storage bootstrap/cache
chown -R daemon:daemon storage bootstrap/cache

Use the correct web server user for your server.


16. Final Checklist

Before going live, confirm the following:

PHP version is 8.2 or higher
Required PHP extensions are enabled
MySQL or MariaDB database is created
.env file has correct database details
APP_KEY is generated
storage:link command is completed
npm install is completed
npm run build is completed
Web server points to the public folder
/install page is accessible
File and folder permissions are correct
APP_DEBUG is false in production

Production .env should contain:

APP_ENV=production
APP_DEBUG=false

17. Recommended Production Commands

After installation is complete, run:

php artisan config:clear
php artisan cache:clear
php artisan view:clear
php artisan route:clear

Then rebuild frontend assets if needed:

npm install
npm run build

Finally, secure the .env file:

chmod 600 .env

Installation Completed

The Laravel Posts application should now be ready.

Open your domain in the browser and complete the installer from:

/install
Post Views: 15
Subscribe
Login
Notify of
guest
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
  • Laravel Posts Installation Guide
  • Strategies to Align DevSecOps With Agile and DevOps Practices
  • How to Fix Laravel Migration Error: Field โ€˜idโ€™ Doesnโ€™t Have a Default Value in the Migrations Table
  • A Practical Guide to Proving DevSecOps Business Value for Engineering Leaders
  • Mastering Secure Software Delivery by Solving DevSecOps Adoption Challenges
  • Operationalizing Security for Faster and Safer Software Deployments
  • DevSecOps Server Security Checklist 2026: 50 Must-Check Points Before Going Live
  • The Complete DevOps Salary Overview for IT Professionals
  • The Modern DevOps Certification Guide: Roadmaps for Every Engineering Role
  • Security Champions in DevSecOps: Responsibilities and Best Practices
  • The DevSecOps Handbook for Shift-Left Security
  • Top DevSecOps Principles for Effective Secure Software Delivery
  • Guide to DevSecOps Maturity Levels for Platform and Security Teams
  • Canada PR CRS Calculator: Express Entry Points System Explained
  • Austria PR Points Calculator: Ultimate Guide to Navigating the Red-White-Red Card System
  • The Essential Guide to Enterprise DevSecOps Implementation
  • How to Set Up Claude Code Agent on a Local Windows Laptop and Use claude Command from Anywhere
  • DevOps and DevSecOps Explained: Bridging the Gap Between Speed and Security
  • Comprehensive Manual on DevOps Methodologies and Cloud Native Engineering
  • The Master Guide to Immigration Points: Calculating Your Path to Canada, Australia, and Beyond
  • How to Skip the Activation Email and Password Reset After Google Login in Keycloak Auto-Link Existing Users in First Broker Login
  • Free SSL Certificate Generation Tutorial for Any Website Using Certbot and Apache
  • The Ultimate Guide to Certified FinOps Professional: Skills, Levels, and Career Impact
  • Certified FinOps Manager: Essential Skills for Modern Cloud Operations
  • How to Use Claude AI for Programming: Complete Guide for Developers to Boost Productivity
  • The Definitive Guide to Certified FinOps Engineer: Master Cloud Value Engineering
  • A Comprehensive Guide to the Certified FinOps Architect Certification and Training
  • Linux Server Diagnostic Commands: Complete Guide for Performance, Network & System Troubleshooting
  • The Ultimate Guide to CDOM โ€“ Certified DataOps Manager Certification
  • The Practical Path to AI Reliability: A Guide to the Certified MLOps Manager

Recent Comments

  1. emmy day on SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘provider’ in ‘field list’
  2. digital banking on Complete Tutorial: Setting Up Laravel Telescope Correctly (Windows + XAMPP + Custom Domain)
  3. SAHIL DHINGRA on How to Uninstall Xampp from your machine when it is not visible in Control panel programs & Feature ?
  4. Abhishek on MySQL: List of Comprehensive List of approach to secure MySQL servers.
  5. Kristina on Best practices to followed in .httacess to avoid DDOS attack?

Archives

  • June 2026
  • May 2026
  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • December 2025
  • November 2025
  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • May 2023
  • April 2023
  • March 2023
  • February 2023
  • January 2023
  • December 2022

Categories

  • Ai
  • AI Blogging
  • AiOps
  • ajax
  • Android Studio
  • Antimalware
  • Antivirus
  • Apache
  • Api
  • API Security
  • Api Testing
  • APK
  • Aws
  • Bike Rental Services
  • ChatGPT
  • Code Linting
  • Composer
  • cPanel
  • Cyber Threat Intelligence
  • Cybersecurity
  • Data Loss Prevention
  • Database
  • dataops
  • Deception Technology
  • DeepSeek
  • Devops
  • DevSecOps
  • DevTools
  • Digital Asset Management
  • Digital Certificates
  • Docker
  • Drupal
  • emulator
  • Encryption Tools
  • Endpoint Security Tools
  • Error
  • facebook
  • Firewalls
  • Flutter
  • git
  • GITHUB
  • Google Antigravity
  • Google play console
  • Google reCAPTCHA
  • Gradle
  • Guest posting
  • health and fitness
  • IDE
  • Identity and Access Management
  • Incident Response
  • Instagram
  • Intrusion Detection and Prevention Systems
  • jobs
  • Joomla
  • Keycloak
  • Laravel
  • Law News
  • Lawyer Discussion
  • Legal Advice
  • Linkedin
  • Linkedin Api
  • Linux
  • Livewire
  • Mautic
  • Medical Tourism
  • MlOps
  • MobaXterm
  • Mobile Device Management
  • Multi-Factor Authentication
  • MySql
  • Network Traffic Analysis tools
  • Paytm
  • Penetration Testing
  • php
  • PHPMyAdmin
  • Pinterest Api
  • postify
  • Quora
  • SAST
  • SecOps
  • Secure File Transfer Protocol
  • Security Analytics Tools
  • Security Auditing Tools
  • Security Information and Event Management
  • Seo
  • Server Management Tools
  • Single Sign-On
  • Site Reliability Engineering
  • soft 404
  • software
  • SSL
  • SuiteCRM
  • SysOps
  • Threat Model
  • Twitter
  • Twitter Api
  • ubuntu
  • Uncategorized
  • Virtual Host
  • Virtual Private Networks
  • VPNs
  • Vulnerability Assessment Tools
  • Web Application Firewalls
  • Windows Processor
  • Wordpress
  • WSL (Windows Subsystem for Linux)
  • X.com
  • Xampp
  • Youtube
©2026 DevSecOps Now!!! | WordPress Theme: EcoCoded
wpDiscuz