I will start
ghost setup again. But before I do, I have some questions about these instructions (sanity check).
Enter the exact URL your publication will be available at and include the protocol for HTTP or HTTPS. For example,
https://example.com . If you use HTTPS, Ghost-CLI will offer to set up SSL for you. Using IP addresses will cause errors.
In other words, I cannot use an IP address like
126.96.36.199 ? So I need to have a registered domain name like
http://myblog.com and enter that in here?
This determines where your MySQL database can be accessed from. When MySQL is installed on the same server, use
localhost (press Enter to use the default value). If MySQL is installed on another server, enter the name manually.
So as long as MySQL is installed on the same server as Ghost I can just leave it at default?
MySQL username / password
If you already have an existing MySQL database enter the the username. Otherwise, enter
root . Then supply the password for your user.
Do I have an existing MySQL database if I just installed Ghost and MySQL on a clean slate? Password for what user? The root user? See I’m confused about “root” and “root”. How is this related to the
ALTER USER command given earlier in the guide? I mean this…
If you’re running Ubuntu 18.04, a password is required to ensure MySQL is compatible with
Ghost-CLI . This requires a few extra steps!
# Replace 'password' with your password, but keep the quote marks!
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
This is where it gets confusing. Is this “root” the same “root” user I’m being asked about and is it this password that I need to provide? Or is it the system root user and password on the server that I need to provide?
Ghost database name
Enter the name of your database. It will be automatically set up for you, unless you’re using a non -root MySQL user/pass. In that case the database must already exist and have the correct permissions.
So, if I do not provide a root user and password in the previous step, then a database will not be created for me automatically? Then I don’t see any reason not to use root. It would require some extra work on my part, and since this is all news to me I wouldn’t want that. Besides, it defies the purpose of an automated setup script like this. The ideal would be for this script to ask me or even check automatically if I have an existing database, and ask if I want to use that one with Ghost and if so provide the user and password, otherwise offer to create a new database for Ghost.
Set up a ghost MySQL user? (Recommended)
If you provided your root MySQL user, Ghost-CLI can create a custom MySQL user that can only access/edit your new Ghost database and nothing else.
So, if I understand correctly, this step will create what I previously did not have (assuming I did not have a “non-root MySQL user/pass”)? And pair it up with my new Ghost database that was created in the previous step?
Set up NGINX? (Recommended)
Sets NGINX up automatically enabling your site to be viewed by the outside world. Setting up NGINX manually is possible, but why would you choose a hard life?
Ah! My Achilles’ heel! It’s a hard life for sure. I’m note sure what this entails, I have not run the setup yet, but I hope for the best this time around.
Set up SSL? (Recommended)
If you used an
https Blog URL and have already pointed your domain to the right place, Ghost-CLI can automatically set up SSL for you using Let’s Encrypt. Alternatively you do this later by running
ghost setup ssl at any time.
So if I want to keep it simple I just need to use
http in the URL at the “Blog URL” step? That would cause this step not to appear at all? I would like to keep it as simple as possible for now, and skip the SSL part.
Enter your email
SSL certification setup requires an email address so that you can be kept informed if there is any issue with your certificate, including during renewal.
Does this have to be a valid e-mail address? Should I decide to setup SSL later on…