{"id":38465671,"url":"https://github.com/foundeo/ubuntu-nginx-lucee","last_synced_at":"2026-01-17T05:01:52.499Z","repository":{"id":47431856,"uuid":"26504838","full_name":"foundeo/ubuntu-nginx-lucee","owner":"foundeo","description":"Script for standing up a Lucee server using nginx and Tomcat on Ubuntu","archived":false,"fork":false,"pushed_at":"2024-04-18T20:15:07.000Z","size":145,"stargazers_count":86,"open_issues_count":3,"forks_count":44,"subscribers_count":16,"default_branch":"master","last_synced_at":"2026-01-15T05:33:33.844Z","etag":null,"topics":["cfml","lucee","nginx","tomcat","ubuntu"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/foundeo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-11-11T21:16:04.000Z","updated_at":"2025-01-30T17:38:44.000Z","dependencies_parsed_at":"2022-08-23T13:21:48.436Z","dependency_job_id":null,"html_url":"https://github.com/foundeo/ubuntu-nginx-lucee","commit_stats":null,"previous_names":["foundeo/ubuntu-nginx-railo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/foundeo/ubuntu-nginx-lucee","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foundeo%2Fubuntu-nginx-lucee","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foundeo%2Fubuntu-nginx-lucee/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foundeo%2Fubuntu-nginx-lucee/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foundeo%2Fubuntu-nginx-lucee/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/foundeo","download_url":"https://codeload.github.com/foundeo/ubuntu-nginx-lucee/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foundeo%2Fubuntu-nginx-lucee/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28497959,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T04:31:57.058Z","status":"ssl_error","status_checked_at":"2026-01-17T04:31:45.816Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cfml","lucee","nginx","tomcat","ubuntu"],"created_at":"2026-01-17T05:01:52.385Z","updated_at":"2026-01-17T05:01:52.473Z","avatar_url":"https://github.com/foundeo.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"ubuntu-nginx-lucee\n==================\n\n[![CI](https://github.com/foundeo/ubuntu-nginx-lucee/actions/workflows/ci.yml/badge.svg)](https://github.com/foundeo/ubuntu-nginx-lucee/actions/workflows/ci.yml)\n\nA set of bash scripts for standing up a Lucee server using nginx and Tomcat on Ubuntu. Uses the\nTomcat from the Ubuntu distribution so you can update Tomcat using `apt-get update tomcat9`\n\n## Important Note\n\n\u003eThe master branch is now using Ubuntu 20.04 (and is currently a bit unstable). For Lucee 5 on Ubuntu 16.04 or 18.04 see the branch [lucee5-ubuntu18](https://github.com/foundeo/ubuntu-nginx-lucee/tree/lucee5-ubuntu18), for Lucee 4.5 see the [lucee45-ubuntu14](https://github.com/foundeo/ubuntu-nginx-lucee/tree/lucee45-ubuntu14) branch.\n\nWhy would I use this instead of the offical Lucee installers?\n-------------------------------------------------------------\n\n* You want to run nginx as your web server\n* You want to update Tomcat via `apt-get`\n\n\u003e Note: when this script was first created Tomcat was part of the `main` repository on Ubuntu, it is now part of `universal` which means it is community updated. I've noticed that it is not getting updated with security patches frequently like it did when it was part of `main`. This means you will still want to keep an eye on [Tomcat Security](https://tomcat.apache.org/security-9.html). You can use [HackMyCF](https://hackmycf.com/) (made by [foundeo](https://foundeo.com/)) to help you monitor when your server needs to be updated. Even if you use the default lucee installer, you will still need to keep an eye on the version of Tomcat you are running.\n\nWhat does it do?\n----------------\n\n1. **Updates Ubuntu** - simply runs `apt-get update` and `apt-get upgrade`\n2. **Downloads Lucee** - uses curl to download lucee jars from BitBucket places jars in `/opt/lucee/current/`\n3. **Installs \u0026 Configures Tomcat 8** - runs `apt-get install tomcat9` updates the `web.xml` `server.xml` and `catalina.properties` to configure Lucee servlets and mod_cfml Valve.  (Tomcat/Lucee run on port 8080 by default).\n4. **JVM** - in previous versions this step installed an Oracle JVM, but now we just use OpenJDK.\n5. **Installs \u0026 Configures nginx** - runs `apt-get install nginx` to install nginx. Creates a web root directory. Creates a `lucee.config` file so you can just `include lucee.config` for any site that uses CFML\n6. **Set Default Lucee Admin Password** - uses cfconfig to set the Lucee server context password and default web context password. If environment variable ADMIN_PASSWORD exists that is used, otherwise a random password is set.  \n\nTake a look in the `scripts/` subfolder to see the script for each step.\n\nHow do I run it?\n----------------\n\n1. **Download this repository** - `curl -Lo /root/ubuntu-nginx-lucee.tar.gz https://api.github.com/repos/foundeo/ubuntu-nginx-lucee/tarball/master`\n2. **Extract repository** - `tar -xzvf /root/ubuntu-nginx-lucee.tar.gz`\n3. **Configuration** - You can either Edit the `install.sh` and change any configuration options such as the Lucee Version or JVM version - or you can use environment variables (see below).\n4. **Run install.sh** - make sure you are root or sudo and run `./install.sh` you may need to `chmod u+x install.sh` to give execute permissions to the script.\n\n\nLimitations / Known Issues\n--------------------------\n\n* The servlet definitions and mappings (located in `/etc/tomcat9/web.xml`) are slimmed down, so if you need things like REST web services, flash/flex remoting support see the [Railo docs for web.xml config](https://github.com/getrailo/railo/wiki/Configuration:web.xml)\n* The `/lucee/` uri is blocked in `/etc/nginx/lucee.conf` you must add in your ip address and restart nginx.\n* There is no uninstall option\n* This version of the script has been tested on Ubuntu 20.04 LTS only. See the branches of this repository for older versions of Ubuntu / Lucee.\n\nEnvironment Variables\n--------------------------\n\nThe script can be configured with the following environment variables:\n\n* `LUCEE_VERSION` - sets the version of Lucee that it will attempt to install (eg 5.2.4.37).\n* `JVM_MAX_HEAP_SIZE` - sets the amount of memory that java / tomcat can use (eg 512m).\n* `ADMIN_PASSWORD` - sets the Lucee server context password and default web context password. If variable is not defined a random password is generated and set.\n* `WHITELIST_IP` - if specified this IP will be whitelisted to allow access to /lucee/\n* `LUCEE_JAR_SHA256` - if specified checks the sha256sum of the the downloaded lucee.jar\n\nSetting up a Virtual Host\n-------------------------\n\nBy default nginx on Ubuntu looks in the folder `/etc/nginx/sites-enabled/` for configuration nginx files. To setup a site create a file in that folder (another technique you can use is to create the file in `/etc/nginx/sites-available/` and then create a symbolic link in sites-enabled to enable the site), for example `/etc/nginx/sites-enabled/me.example.com.conf` at a minimum it will look like this:\n\n\tserver {\n\t\tlisten 80;\n\t\tserver_name me.example.com;\n\t\troot /web/me.example.com/wwwroot/;\n\t\tinclude lucee.conf;\n\t}\n\nYou may also want to break logging for this site out into its own file, like this:\n\n\tserver {\n\t\tlisten 80;\n\t\tserver_name me.example.com;\n\t\troot /web/me.example.com/wwwroot/;\n\t\taccess_log /var/log/nginx/me.example.com.access.log;\n\t\terror_log /var/log/nginx/me.example.com.error.log;\n\t\tinclude lucee.conf;\n\t}\n\nIf you don't need Lucee/CFML for a given site, simply omit the `include lucee.conf;` line, like this:\n\n\tserver {\n\t\tlisten 80;\n\t\tserver_name img.example.com;\n\t\troot /web/img.example.com/wwwroot/;\n\t}\n\nCreate the symbolic link in sites-enabled to enable the site:\n\n\tsudo ln -s /etc/nginx/sites-available/me.example.com.conf /etc/nginx/sites-enabled/\n\nAfter making changes you need to restart or reload nginx:\n\n\tsudo service nginx restart\n\nFor more information on configuring nginx see the [nginx Wiki](http://wiki.nginx.org/Configuration)\n\n\nThanks go to [Booking Boss](http://www.bookingboss.com/) for funding the initial work on this script.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoundeo%2Fubuntu-nginx-lucee","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffoundeo%2Fubuntu-nginx-lucee","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoundeo%2Fubuntu-nginx-lucee/lists"}