bookmark_borderInstalling Orchard CMS with LEMP Stack on AlmaLinux 8

Hello,

In this week’s feature highlight, we look at How to Install Orchard CMS with LEMP Stack on AlmaLinux 8

Orchard Core is an open-source modular and multi-tenant application framework built with ASP.NET Core, and a content management system (CMS) built on top of that framework. In this article, we are going to learn how to install Orchard CMS on AlmaLinux 8. So, let’s get started.

Checkout the Orchard CMS Project Here.

Try this wiki on our VPS. Starting at just $5/month with 24×7 In-house customer support.

Pre-requisites :

  • A system with AlmaLinux 8 installed and running.
  • root access to the system.
  • Docker installed and running, for this, you can refer to one of our guides on installing the Docker on AlmaLinux 8.
  • LEMP Stack installed and running, for this, you can refer to one of our guides on installing the LEMP Stack (Nginx, MariaDB, and PHP).

Once you’re all set, we’ll proceed with Orchard CMS installation and configuration.

Create Database

Let us begin with creating a Database and a user. We will then grant the required privileges to the user so it can interact with the Database.

mysql -u root

CREATE DATABASE ccorchard;

CREATE USER 'ccorchard'@'localhost' IDENTIFIED BY 'UYGVc%$#Erfgt*&^%4';

GRANT ALL PRIVILEGES ON ccorchard.* TO 'ccorchard'@'localhost';

FLUSH PRIVILEGES;

quit

The above commands will give complete access to ccorchard Database to the user ccorchard.We would suggest using a strong and long password.

Configure PHP Settings for Orchard CMS

Configure PHP Memory Limit, Post max size, and Upload max filesize. You can change the limit as per your need.

sed -i 's/memory_limit = .*/memory_limit = 256M/' /etc/php/7.4/apache2/php.ini

sed -i 's/post_max_size = .*/post_max_size = 64M/' /etc/php/7.4/apache2/php.ini

sed -i 's/upload_max_filesize = .*/upload_max_filesize = 64M/' /etc/php/7.4/apache2/php.ini

Enable Apache module if not already enabled then restart the Web Server.

a2enmod php7.4

systemctl restart apache2

Install Let’s Encrypt SSL Certificate

Let’s issue an SSL certificate for the domain. For this, we will need the EPEL repository and the mod_ssl package on AlmaLinux 8 operating system.

Update and install EPEL repository and the mod_ssl package on the system using the below command:

dnf install epel-release mod_ssl -y

Next, we will install the certbot client which is used to create Let’s Encrypt certificates:

dnf install python3-certbot-nginx -y

Install SSL Certificate

Use the certbot command to issue a Let’s Encrypt certificate. Replace dev1.domainhere.info and dev@dev1.domainhere.info with your domain name and email :

certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email dev@dev1.domainhere.info -d dev1.domainhere.info

SSL certificates are valid for 90 days. The renewal process is now automated, you do not have to renew this manually.

Configuring Nginx Reverse Proxy

Let’s configure nginx.conf with the following command:

nano /etc/nginx/nginx.conf

Copy below code to nginx.conf file.

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
}

Now, type in Ctrl+O and type Ctrl+X to save and exit the file.

Create a new Nginx configuration file dev1.conf for the domain with the following command:

vi /etc/nginx/conf.d/dev1.conf

Add the following codes:

Replace dev1.domainhere.info with Your Domain Name and Change SSL Path according to your SSL Path.

upstream app {
    server 127.0.0.1:8080;
}

server {
listen 80 default_server;
server_name dev1.domainhere.info;
return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl; # managed by Certbot
    # The host name to respond to
    server_name dev3.domainhere.info;

    ssl_certificate /etc/letsencrypt/live/dev1.domainhere.info/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/dev1.domainhere.info/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

    location / {
    proxy_pass http://app;
    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X-Real-Port $server_port;
    proxy_set_header X-Real-Scheme $scheme;
    }
}

Now, press the Esc key, and type in :wq! and press the Enter key to save and exit the file.

Now, restart & check the Nginx with the following commands:

systemctl restart nginx

systemctl status nginx

Enable http and https ( 80/443/8080 ):

To enable http and https connection through the firewall, follow the commands:

firewall-cmd --zone=public --permanent --add-port 8080/tcp

firewall-cmd --zone=public --permanent --add-port 80/tcp

firewall-cmd --zone=public --permanent --add-port 443/tcp

firewall-cmd --reload

Install Orchard CMS using Docker

Let’s install Orchard CMS using below command:

docker run --name orchardcms -p 8080:80 orchardproject/orchardcore-cms-linux:latest

Configuring Orchard CMS

Now open the IP address from your browser, this will redirect you to configuring the final parts of the Orchard CMS installation.

http://dev1.domainhere.info:8080

Replace the dev1.domainhere.info with the actual IP or domain configured on the server.

Input the Database details which was configured earlier. Follow the below steps:

Now you have successfully installed Orchard CMS with LEMP Stack on AlmaLinux 8.

bookmark_borderInstalling WeKan with LEMP Stack on AlmaLinux 8

Hello,

In this week’s feature highlight, we look at How to Install WeKan with LEMP Stack on AlmaLinux 8

WeKan ® is an completely Open Source and Free software collaborative kanban board application with MIT license. Whether you’re maintaining a personal todo list, planning your holidays with some friends, or working in a team on your next revolutionary idea, Kanban boards are an unbeatable tool to keep your things organized.

They give you a visual overview of the current state of your project, and make you productive by allowing you to focus on the few items that matter the most. In this article, we are going to learn how to install WeKan on AlmaLinux 8. So, let’s get started.

Checkout the WeKan Project Here.

Try this wiki on our VPS. Starting at just $5/month with 24×7 In-house customer support.

Pre-requisites :

  • A system with AlmaLinux 8 installed and running.
  • root access to the system.
  • LEMP Stack installed and running, for this, you can refer to one of our guides on installing the LEMP Stack (Nginx, MariaDB, and PHP).

Once you’re all set, we’ll proceed with WeKan installation and configuration.

Install snapd

Let us begin with installing snapd. For installing snapd, use the below commands

yum install snapd

systemctl enable --now snapd.socket

ln -s /var/lib/snapd/snap /snap

Install Let’s Encrypt SSL Certificate

Let’s issue an SSL certificate for the domain. For this, we will need the EPEL repository and the mod_ssl package on AlmaLinux 8 operating system.

Update and install EPEL repository and the mod_ssl package on the system using the below command:

dnf install epel-release mod_ssl -y

Next, we will install the certbot client which is used to create Let’s Encrypt certificates:

dnf install python3-certbot-nginx -y

Install SSL Certificate

Use the certbot command to issue a Let’s Encrypt certificate. Replace dev4.domainhere.info and dev@dev4.domainhere.info with your domain name and email :

certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email dev@dev4.domainhere.info -d dev4.domainhere.info

SSL certificates are valid for 90 days. The renewal process is now automated, you do not have to renew this manually.

Configuring Nginx Reverse Proxy

Let’s configure nginx.conf with the following command:

nano /etc/nginx/nginx.conf

Copy below code to nginx.conf file.

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
}

Now, type in Ctrl+O and type Ctrl+X to save and exit the file.

Create a new Nginx configuration file dev4.conf for the domain with the following command:

vi /etc/nginx/conf.d/dev4.conf

Add the following codes:

Replace dev4.domainhere.info and 192.169.7.180 with Your Domain Name & IP Address also Change SSL Path according to your SSL Path.

upstream app {
    server 192.169.7.180:3001;
}

server {
listen 80 default_server;
server_name dev4.domainhere.info;
return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl; # managed by Certbot
    # The host name to respond to
    server_name dev4.domainhere.info;

    ssl_certificate /etc/letsencrypt/live/dev4.domainhere.info/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/dev4.domainhere.info/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

    location / {
    proxy_pass http://app;
    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X-Real-Port $server_port;
    proxy_set_header X-Real-Scheme $scheme;
    }
}

Now, press the Esc key, and type in :wq! and press the Enter key to save and exit the file.

Now, restart & check the Nginx with the following commands:

For SELinux enabled systems, Run the below command

setsebool -P httpd_can_network_connect 1

Restart Nginx Server

systemctl restart nginx

systemctl status nginx

Enable http and https ( 80/443/3001 ):

To enable http and https connection through the firewall, follow the commands:

firewall-cmd --zone=public --permanent --add-port 80/tcp

firewall-cmd --zone=public --permanent --add-port 443/tcp

firewall-cmd --zone=public --permanent --add-port 3001/tcp

firewall-cmd --reload

Install WeKan using Snapd

Let’s install Wekan using the below commands

snap install wekan

snap set wekan root-url="https://dev4.domainhere.info"

snap set wekan port='3001'

systemctl restart snap.wekan.mongodb

systemctl restart snap.wekan.wekan

Accessing WeKan

Now open the IP address from your browser, this will redirect you to the Wekan.

https://dev4.domainhere.info/sign-in

Replace the dev4.domainhere.info with the actual IP or domain configured on the server.

Input the Database details which was configured earlier. Follow the below steps:

Now you have successfully installed WeKan with LEMP Stack on AlmaLinux 8.



bookmark_borderTop 10 Self hosted Content Management Systems

Content Management Systems :

A content management system, or CMS, is software that allows people to generate, manage, and edit website content without requiring specialist technical skills. It’s a technology that allows you to create a website without having to write all of the code from scratch (or even know how to code at all).

Rather than designing your own system for making web pages, storing photos, and other activities, the content management system takes care of it all for you, allowing you to concentrate on the more forward-facing aspects of your website. You can discover content management systems for various purposes, such as document management, in addition to websites.

We have sorted out some of the best CMS available. Have a look.

1. WordPress

WordPress is a commonly used PHP-based CMS (Content Management System). For small businesses, personal blogs & websites, WordPress can be a good fit. Below are some of the installation guides we have baked for you, have a look.

AlmaLinux 8 , CentOS Stream 9 (LAMP) , CentOS Stream 9 (LEMP) , CentOS 7 , Debian 11 , Debian 10 , Debian 9 , Rocky Linux 8 , Ubuntu 18.04 , Ubuntu 20.04 , Ubuntu 21.04

2. Drupal

Drupal is a commonly used PHP-based CMS (Content Management System). For small businesses, personal blogs & websites, Drupal can be a good fit. Below are some of the installation guides we have baked for you, have a look.

AlmaLinux 8 , CentOS Stream 9 (LAMP) , CentOS Stream 9 (LEMP) , Debian 10 , Rocky Linux 8 , Ubuntu 20.04 , Ubuntu 21.04

3. Joomla

Joomla is a free and open-source content management system for publishing web content on websites. Web content applications include discussion forums, photo galleries, e-Commerce, and user communities, and numerous other web-based applications. Below are some of the installation guides we have baked for you, have a look.

AlmaLinux 8

4. Ghost

Ghost is a free and open source blogging platform written in JavaScript and distributed under the MIT License, designed to simplify the process of online publishing for individual bloggers as well as online publications. Below are some of the installation guides we have baked for you, have a look.

AlmaLinux 8 , Debian 10 , Rocky Linux 8 , Ubuntu 20.04 , Ubuntu 21.04

5. Magento

Magento is an e-commerce platform built on open source technology that provides online merchants with a flexible shopping cart system, as well as control over the look, content, and functionality of their online store. Magento offers powerful marketing, search engine optimization, and catalog-management tools. Below are some of the installation guides we have baked for you, have a look. .

Debian 11 , Ubuntu 21.10

6. Prestashop

PrestaShop is a commonly used PHP-based CMS (Content Management System). For small & large businesses PrestaShop can be a good fit. Below are some of the installation guides we have baked for you, have a look.

Debian 11 , Ubuntu 21.10

7. Winter CMS

Winter is a free, open-source content management system based on the Laravel PHP framework. Developers and agencies all around the world rely upon Winter for its quick prototyping and development, safe and secure codebase, and dedication to simplicity. Below are some of the installation guides we have baked for you, have a look.

Debian 11 , Ubuntu 21.10

8. Microweber CMS

Microweber is a Drag and Drop website builder and a powerful next-generation CMS. It’s based on the PHP Laravel Framework. You can use Microweber to make any kind of website, online store, and blog. The Drag and Drop technology allows you to build your website without any technical knowledge. Microweber CMS simplifies this task as much, as possible. Below are some of the installation guides we have baked for you, have a look.

AlmaLinux 8 , Rocky Linux 8

9. Concrete CMS

Concrete CMS is an open-source content management system for publishing content on the World Wide Web and intranets. Concrete CMS is designed for ease of use, for users with a minimum of technical skills. It enables users to edit site content directly from the page. Below are some of the installation guides we have baked for you, have a look.

Debian 11 , Ubuntu 21.10

10. Backdrop CMS

Backdrop CMS is a full-featured content management system that allows non-technical users to manage a wide variety of content. It can be used to create all kinds of websites including blogs, image galleries, social networks, intranets, and more. Below are some of the installation guides we have baked for you, have a look.

AlmaLinux 8

Thanks for reading. For more updates, take a look at our Knowledgebase.

bookmark_borderImproved NVMe SSD powered KVM VPS plans coming soon

Hello,

A key offering of our KVM based VPSes, the NVMe SSD powered plan has offered impressive disk I/O speeds which has been an important factor when deciding on a VPS to be used for disk I/O bound tasks such as larger databases etc.

As part of our continuous hardware review, we’ve identified a newer (and better) hardware setup which offers an impressive gain over the existing setup in use for our NVMe SSD based plans.

We will be now using the AMD Ryzen 9 5900X series CPU along with newer generation Samsung NVMe SSDs offering improved CPU and Disk I/O performance. Last but not least, with the change in CPU, we bring in faster RAM as well offering faster memory performance as well.

All in all, this upgrade provides you with more processing power (better single core and multicore performance), faster disk access (higher disk IOps and faster read/write speed) and faster memory (RAM) as well.

There will be no change in cost for any of the plans we offer, all existing customers will be upgraded over to this newer hardware setup for free.

Users will be contacted prior to the migration with a date/time window during which we will migrate over services to the newer hardware.

Stay tuned for further updates!
– Team CrownCloud