Greetings and salutations,
I hope this thread will be helpful to those who follow in my foot steps as well as getting any advice based on what I have done / documented.
To discuss this thread, please participate here: Ubuntu Forums
High-level overview
NextCloud is a web application that can store and serve content from a centralized location, much like Dropbox. The difference is that NextCloud allows you to host the serving software on your own machines, taking the trust issues out of putting your personal data someone else's server.
This tutorial will cover how to manually setup an NextCloud server which will use a separate dedicated database server and SSL encryption.
Advantages of manually installing NextCloud:
* Can use the latest version of NextCloud currently available (Repository rarely contains latest version)
* Are not forced to install database locally (handy if you have a dedicated database server)
* Can install where you want (such as standard / well-known locations)
Disadvantages of manually installing NextCloud:
* Will not automatically update the system via "apt-get update" (although you are not guaranteed you get the latest this way either...just the latest in the repository)
* Not as easy to install (thus this step-by-step guide)
Tools utilized in this process
- Ubuntu Server 22.04 LTS, 64-bit
- NextCloud 25.0.1
- Apache Web Server 2.4.52
- MariaDB 10.6.11
- PHP 8.1.2
- Portable PuTTY 0.78
- VMware vSphere 6.0.0
- VirtualBox 6.1.40
The list below are sources of information that was helpful in the creation of this document.
Assumptions
This documentation will need to make use of some very-specific information that will most-likely be different for each person / location. And as such, this information will be noted in this section. They will be highlighted in red throughout the document as a reminder that you should plug-in your own value rather than actually using these "place-holder" values.
Under no circumstance should you use the actual values listed below. They are place-holders for the real thing. This is just a checklist template you need to have answered before you start the install process.
Wherever you see RED in this document, you need to substitute it for you will use in your environment.
- Internet domain: nextcloud.mydomain.com
- Ubuntu Server name: srv-nextcloud
- Ubuntu Server IP address: 192.168.107.9
- Ubuntu Admin ID: administrator
- Ubuntu Admin Password: myadminpass
- Database Server Name (remote): srv-database
- Database Server IP (remote): 192.168.107.20
- Database Admin ID: root
- Database Admin Password: rootpass
- Database ID: nextclouduser
- Database Password: nextclouduserpass
- Email Server Name (remote): srv-mail
- Email Server IP (remote): 192.168.107.25
- NextCloud Admin ID: NextCloudAdmin
- NextCloud Admin Password: nextcloudadminpass
MySQL/MariaDB server - Setup a separate and dedicated database server. This tutorial assumes the server was configured according to this tutorial: How to install and configure MariaDB
It is also assumed the reader knows how to use the VI editor. If not, you will need to beef up your skill set or use a different editor in place of it.