Used to demonstrate and develop library, can be used for template
- Git, Web Server, MySQL, PHP ^8.2, Composer, NodeJS ^20
sudo apt install -y apache2 git mariadb-server unzip
apt -y install php8.2 php8.2-{cli,gd,mysql,pdo,mbstring,tokenizer,bcmath,xml,fpm,curl,zip,intl,bcmath}
# Install composer
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
# Create database
CREATE DATABASE berani_base;
# Create user
CREATE USER 'berani_base'@'localhost' IDENTIFIED BY 'berani_base_passwd';
GRANT ALL PRIVILEGES ON berani_base.* TO 'berani_base'@'localhost';
FLUSH PRIVILEGES;
git clone --recurse-submodules https://github.com/beranidigital/berani-base-architect.git
- Add
-b <branch>
to clone specific branch
- Add
cd berani-learning-web
composer install
cp .env.example .env
- Set up the env
php artisan key:generate
php artisan migrate --seed
npm install && npm run build
npm run dev
for development
php artisan storage:link
to link storage and FilePond to work
git clone --recursive
- Add
.htaccess
with permissions 644 to the root project folder - Upload
vendor
folder - Set
.env
- Set project folder permissions to 755
list of CRON jobs with recommended pattern
php artisan queue:work --once
with the following expression* * * * *
Example in CPanel:
/usr/local/bin/php -q /home/user/public_html/exampel.com/artisan queue:work --once
php artisan make:model --factory --force --migration Model
php artisan make:filament-resource --force -G Model
# Set APP_ENV=production
composer install --no-dev
npm install --production
npm run build
php artisan optimize
git submodule init
git submodule update --remote --merge
git submodule update --init --recursive
composer install
npm install && npm run build
php artisan migrate