A shell script that handles all the pre-setup work for an esoBB forum and takes you to the web installer. From there, you may proceed to run the installer and (hopefully) start using your forum!
To run the setup script, you will need:
- A Debian or Ubuntu (apt-based) server setup with root level (sudo) access;
- A fully qualified domain name pointed at the server's public IP address (or simply an IP address or
hostnameif using--skip-sslflag); and - The forum software, either in the form of a local directory containing
index.php(e.g./path/to/esoBB) or a directhttp(s)://URL pointing to a.tar.gz,.tgzor.zip(usingunzip) file extension.
The nice thing about this setup script is that it's completely agnostic towards the install source: whether you want to setup your forum using a copy of the forum software already located somewhere on your server, or a URL address directly pointing to the archive file (regardless of hostname). First, you should navigate to the setup script if you have not done so already:
git clone https://github.com/geteso/Bootstrap.git
cd BootstrapUsually, in most cases, it makes the greatest sense to supply a URL address for the source. Doing so allows for the script to be executed without any foreplay. For example, the following command will set up a forum 1. downloaded from the URL source https://geteso.org/assets/packages/esoBB/esoBB-1.0.0d3.tar.gz; 2. served at the FQDN myforum.example.com; and, 3. physically located in the directory /var/www/myforum/.
sudo ./setup.sh \
--source https://geteso.org/assets/packages/esoBB/esoBB-1.0.0d3.tar.gz \
--domain myforum.example.com \
--forum-root /var/www/myforum \
--admin-email me@example.comTo preview the actions without actually writing to any files or installing packages, you may simply append the --dry-run flag.
If the script is successful then it will print an installer URL which you should be able to visit in your browser and click through. The esoBB web installer should contain pre-supplied values for the forum name, domain name, database name/user/password, administrator account user/email and so forth, as derived from their respective flags.
The web installer creates config/config.php and the database tables. The installer "seed" file, which holds the password generated for the database user, should self-delete once installation is completed.
| Flag | Default value | Description |
|---|---|---|
--config <file> |
— | Load settings from a setup config file. |
--source <path-or-url> |
(required) | Path to local directory or http(s):// archive URL. |
--refresh-source |
off | Re-download even if the source cache is populated (for URLs). |
--domain <fqdn> |
(required) | The domain name of your forum. |
--web-server <nginx|apache> |
nginx |
|
--skip-ssl |
off | Serve plain HTTP (no certbot); this allows you to supply --domain with a private hostname such as localhost. |
--le-staging |
off | Tells certbot to use Let's Encrypt's staging environment, which has higher rate limits but produces an untrusted cert; useful for test environments. |
--forum-root <path> |
(required) | Local directory where your forum is located (e.g. /var/www/eso). |
--forum-title <text> |
— | |
--admin-email <email> |
— | The e-mail address of the root admin account. This flag is required for the certificate when using Let's Encrypt. |
--admin-user <name> |
— | The username of the root admin account. |
--db-name <name> |
esodb_<8rand> |
The name of the forum database; auto-generated by default (e.g. esodb_ko22ktf6). |
--db-user <name> |
esouser_<8rand> |
The database user name; auto-generated by default (e.g. esouser_u0i7v9n0). |
--db-pass <pass> |
<24rand> |
The database user password; auto-generated by default. |
--dry-run |
off | Print actions, change nothing (see what would happen). |
--yes |
off | Don't prompt for confirmation; strongly unadvised. |
Any of the 'fuzzy' flag values (except for --source and --domain) may contain <Nrand> tokens for generating strings of lowercase alphaumeric randomized characters (where N is number of characters, integer 1-64; <rand> defaults to 8).