Skip to content

Server Management (UNIT3D v8.x.x)

EkoNesLeg edited this page Sep 1, 2024 · 6 revisions

Important

The following assumptions are made:

  • You have one root user and one regular user with sudo privileges on the dedicated server.
  • The regular user with sudo privileges is assumed to have the username ubuntu.
  • The project root directory is located at /var/www/html.
  • All commands are run from the project root directory.

1. Elevated Shell

All SSH and SFTP operations should be conducted using the non-root user. Use sudo for any commands that require elevated privileges. Do not use the root user directly.

2. File Permissions

Ensure that everything in /var/www/html is owned by www-data:www-data, except for node_modules, which should be owned by root:root.

Set up these permissions with the following commands:

sudo usermod -a -G www-data ubuntu
sudo chown -R www-data:www-data /var/www/html
sudo find /var/www/html -type f -exec chmod 664 {} \;
sudo find /var/www/html -type d -exec chmod 775 {} \;
sudo chgrp -R www-data storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cache
sudo rm -rf node_modules && sudo bun install && sudo bun run build

3. Handling Code Changes

PHP Changes

If any PHP files are modified, run the following commands to clear the cache, restart the PHP-FPM service, and restart the Laravel queues:

sudo php artisan set:all_cache && sudo systemctl restart php8.3-fpm && sudo php artisan queue:restart

Static Assets (SCSS, JS)

If you make changes to SCSS or JavaScript files, rebuild the static assets using:

bun run build

4. Changing the Domain

  1. Update the Environment Variables:

    Modify the domain in the APP_URL and MIX_ECHO_ADDRESS variables within the .env file:

    sudo nano ./.env
  2. Refresh the TLS Certificate:

    Use certbot to refresh the TLS certificate:

    certbot --redirect --nginx -n --agree-tos [email protected] -d yourdomain.tld -d www.yourdomain.tld --rsa-key-size 2048
  3. Update the WebSocket Configuration:

    Update all domains listed in the WebSocket configuration to reflect the new domain:

    sudo nano ./laravel-echo-server.json
  4. Restart the Chatbox Server:

    Reload the Supervisor configuration to apply changes:

    sudo supervisorctl reload
  5. Compile Static Assets:

    Rebuild the static assets:

    bun run build

5. Meilisearch Maintenance

Refer Meilisearch setup for UNIT3D, specifically the maintenance section, for managing upgrades and syncing indexes.