ApostropheCMS is a robust, open-source content management system that excels in building both simple and complex content-rich websites. It is an intuitive, in-context CMS constructed using Node.js and MongoDB, offering ease of customization for on-the-fly content editing. This CMS is trusted globally by organizations of all sizes for developing and managing mission-critical websites and applications. ApostropheCMS also allows for the creation of relationships between documents, such as linking blog posts to their respective authors.
Features
- Import content seamlessly from CSV or Excel files.
- Impose editing restrictions on pages, ensuring only authorized individuals or groups can make modifications.
- Effortlessly roll back to previous versions of any page or document.
- Utilizes the powerful MongoDB text search for backend search capabilities.
- Offers content tagging and efficient tag management.
In this guide, we will walk through the installation process for ApostropheCMS on an Ubuntu 18.04 LTS server.
Requirements
- A server running Ubuntu 18.04.
- A configured static IP address on your system.
- A set root password on your system.
Getting Started
Begin by updating your system to the latest version using the following commands:
apt-get update -y apt-get upgrade -y
After updating, restart your system to ensure all changes take effect.
Next, install essential packages by executing the following command:
apt-get install git curl wget unzip -y
Install Node.js and Ruby
ApostropheCMS relies on Node.js, which isn’t available in the default Ubuntu 18.04 repositories. Add the Node.js repository by executing:
curl -sL https://deb.nodesource.com/setup_8.x | bash -
Now, install Node.js with:
apt-get install nodejs -y
To install Yarn, which is also not available by default, first add its repository:
Import the GPG key:
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
Add the Yarn repository:
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
Install Yarn and necessary packages:
apt-get install yarn zlib1g-dev build-essential libpq-dev libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev -y
Set up Ruby environment:
git clone https://github.com/rbenv/rbenv.git ~/.rbenv echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc echo 'eval "$(rbenv init -)"' >> ~/.bashrc exec $SHELL git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc exec $SHELL
Install Ruby with:
rbenv install 2.5.3 rbenv global 2.5.3
Verify Ruby version:
ruby -v
Expected output:
ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-linux]
Install ApostropheCMS
First, install MongoDB:
apt-get install mongodb -y npm install mongodb --save
Ignore npm SaveError and enoent warnings. Verify MongoDB status:
systemctl status mongodb
Expected output:
? mongodb.service - An object/document-oriented database Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2019-01-24 15:20:29 UTC; 3min 39s ago Docs: man:mongod(1) Main PID: 3702 (mongod) Tasks: 23 (limit: 1870) CGroup: /system.slice/mongodb.service ??3702 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf Jan 24 15:20:29 ubuntu1804 systemd[1]: Started An object/document-oriented database.
Proceed to install ApostropheCMS:
npm install imagemagick npm install apostrophe-cli -g
Ignore npm warnings here as well. Once complete, you will see output similar to:
/usr/bin/apostrophe -> /usr/lib/node_modules/apostrophe-cli/bin/apostrophe /usr/bin/apos -> /usr/lib/node_modules/apostrophe-cli/bin/apostrophe + apostrophe-cli@2.3.1 added 68 packages from 67 contributors in 14.19s
Create your project:
apostrophe create-project apostrophecms
Expected response:
Apostrophe create-project Grabbing the boilerplate from Github [1/2] Cloning into 'apostrophecms'... Apostrophe create-project Setting up your project shortname [2/2]
Move into the project directory:
cd apostrophecms
Install required dependencies:
npm install
Configure the admin user:
node app.js apostrophe-users:add admin admin
Specify the admin password when prompted. Start ApostropheCMS:
node app.js
ApostropheCMS should now be running on port 3000.
Access ApostropheCMS
Open your browser and navigate to http://your-server-ip:3000. You will see the following landing page:
Click on Login to access the login page:
Enter the admin username and password, then click on Log In to view the ApostropheCMS dashboard:
Congratulations on successfully installing ApostropheCMS on your server! Now, you can effortlessly create web content, manage it, and publish using this efficient CMS.
Begin adding a new page by selecting the page menu on the lower left corner:
FAQ
Q: What are the system requirements for ApostropheCMS?
A: ApostropheCMS requires a server running Ubuntu 18.04, a static IP address, and a root password.
Q: Do I need to be an expert to use ApostropheCMS?
A: No, ApostropheCMS is designed to be user-friendly, even for beginners. Once set up, it offers a straightforward interface for content management.
Q: Can I customize the ApostropheCMS interface?
A: Yes, ApostropheCMS offers extensive customization options to tailor the system according to your needs.
Q: How can I secure my ApostropheCMS installation?
A: Regularly update your server and CMS, use strong passwords, and limit access only to trusted users for enhanced security.
Feel free to leave comments if you have any questions.