DEV Community

Seong Bae
Seong Bae

Posted on

Website Maintenance

I have a client who needs quarterly maintenance of their website built with Laravel. It is running on Ubuntu server hosted by Digital Ocean.

Below is what I do as part of the maintenance. Please feel free to provide feedback if you have any.

  1. Create backups
  2. Update server
  3. Review server stats
  4. Update Laravel framework and packages
  5. Review firewall settings
  6. Review logs

Details

1. Create backups

During the maintenance, I make a number of backups.

First backup is backup of the server. Since the site is hosted with Digital Ocean, I create a snapshot of the server. This allows me to safely revert should anything go wrong during the maintenance process.

Second backup is user-generated files on the website. This includes user profile photos, PDF documents uploaded, etc. On a Laravel website, these are usually stored on the /storage/app folder. So I create a backup of the entire app folder and send this to client.

tar -czf app.tar.gz app
Enter fullscreen mode Exit fullscreen mode

Third backup is database. I also send this to client after backup is made

mysqldump -u username -p database > database.sql
Enter fullscreen mode Exit fullscreen mode

The website codebase is hosted with github so there is no backup needed.

2. Update server

The client's website is running on a Ubuntu server. I update the server with following commands:

sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo do-release-upgrade
Enter fullscreen mode Exit fullscreen mode

The last command is only if I'm updating the OS to the latest major release.

3. Review server stats

After updating the server, I do a quick review of server performances from Digital Ocean's server dashboard. In particular, I'm looking at CPU%, Load, Memory, Disk I/O, Disk Usage, and Bandwidth for the last 14 days and see if there are any anomalies or if the server needs to be upgraded.

4. Update Laravel framework and packages

Next, I update Laravel framework and any third party packages used within the application.

For upgrading Laravel, I always reference the release schedule that shows when the security fixes will be available. Following is schedule taken from Laravel website.

As of today, 15 March 2026, Laravel 11 is supported through 11 March 2026. So if my application is running 11, I'd do a major upgrade to 12. If not, I just run "composer update" to bring all packages to latest.

5. Review firewall settings

Run following commands to see ufw status and what ports are open:

sudo ufw status verbose
Enter fullscreen mode Exit fullscreen mode

6. Review logs

Lastly, I review logs for any anomalies or any attempts by unauthorized users to access the server. The logs include:

  • Laravel logs
  • Web server logs (access.log, error.log)
  • Activity logs within the app

That about sums up what I normally do for website/server maintenance. What do you guys think?

Seong

Top comments (0)