public/Create database and application user in MariaDB
CREATE DATABASE freedomclassifieds CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'freedomclassifieds'@'127.0.0.1' IDENTIFIED BY 'replace-with-strong-password';
GRANT ALL PRIVILEGES ON freedomclassifieds.* TO 'freedomclassifieds'@'127.0.0.1';
FLUSH PRIVILEGES;
Copy .env.example to .env and set production values for:
APP_NAMEAPP_ENV=productionAPP_DEBUG=falseAPP_URL=https://freedomclassifieds.comDB_CONNECTION=mysqlDB_HOST=127.0.0.1DB_PORT=3306DB_DATABASE=freedomclassifiedsDB_USERNAME=freedomclassifiedsDB_PASSWORDMAIL_*, POSTMARK_API_KEY, POSTMARK_MESSAGE_STREAM_IDGOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_REDIRECT_URICAPTCHA_PROVIDER and whichever provider secrets are selectedInstall dependencies and optimize autoloading
composer install --no-dev --optimize-autoloader
Generate the application key if needed
php artisan key:generate
Run the database bootstrap
php artisan migrate --force
php artisan db:seed --force
Ensure storage/ and bootstrap/cache are writable by the web user
Configure nginx site root to public/
Point PHP requests to PHP-FPM 8.3
Restart nginx and PHP-FPM
freedomclassifieds database and user, and running php artisan migrate:fresh --seed.php artisan route:listphp artisan migrate:statusphp artisan config:clearphp artisan view:clearrobots.txt, and sitemap.xmlstorage/framework, storage/logs, and bootstrap/cacheUse the endpoint staging pattern already used on this machine: create config files under /home/ubuntu/endpoint-fix-confs and then apply them on the endpoint host.