bookmark_borderDebian 11 is now available on OpenVZ based VPSes

Hey There!


We’re happy to announce that Debian 11 is now available as an operating system choice on our OpenVZ based plans in our control panel.

We also have a few guides available on our wiki to start off with Debian 11, https://wiki.crowncloud.net/index.php#Debian+11 — Feel free to contact our support team (via a support ticket) if you wish to see any new/different guide available on our wiki!

Stay tuned for more!
– Team CrownCloud

bookmark_borderCentOS 8 Stream now available on OpenVZ based VPSes

Hey There!


We’re happy to announce that CentOS 8 Stream is now available as an operating system choice on our OpenVZ based plans in our control panel.

We also have a few guides available on our wiki to start off with CentOS 8 Stream, https://wiki.crowncloud.net/index.php#CentOS+8 — Feel free to contact our support team (via a support ticket) if you wish to see any new/different guide available on our wiki!

Stay tuned for more!
– Team CrownCloud

bookmark_borderAlmalinux 8 is now available on OpenVZ based VPSes

Hey There!


We’re happy to announce that Almalinux 8 is now available as an operating system choice on our OpenVZ based plans in our control panel.

We also have a few guides available on our wiki to start off with Almalinux 8, https://wiki.crowncloud.net/index.php#AlmaLinux+8 — Feel free to contact our support team (via a support ticket) if you wish to see any new/different guide available on our wiki!

Stay tuned for more!
– Team CrownCloud

bookmark_borderInstalling Gitlab on Ubuntu 21.04

Hello,
In this week’s feature highlight, we look at How to Install Gitlab on Ubuntu 21.04

GitLab is a web-based DevOps lifecycle tool that provides a Git repository manager providing wiki, issue-tracking, and continuous integration and deployment pipeline features, using an open-source license, developed by GitLab Inc.

Update System.

apt update

apt upgrade -y

Install the Gitlab package dependencies.

apt-get install -y curl openssh-server ca-certificates

Add the GitLab Repository.

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

Install Gitlab

Download Gitlab package using the following command,

wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/bionic/gitlab-ce_14.3.2-ce.0_amd64.deb/download.deb

Output:

root@vps:~# wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/bionic/gitlab-ce_14.3.2-ce.0_amd64.deb/download.deb
--2021-10-12 17:38:52--  https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/bionic/gitlab-ce_14.3.2-ce.0_amd64.deb/download.deb
Resolving packages.gitlab.com (packages.gitlab.com)... 104.18.27.123, 104.18.26.123, 2606:4700::6812:1b7b, ...
Connecting to packages.gitlab.com (packages.gitlab.com)|104.18.27.123|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://d20rj4el6vkp4c.cloudfront.net/7/8/ubuntu/package_files/113636.deb?t=1634060632_3852a301f49405ca6609e591b28b2f9a3768e7b1 [following]
--2021-10-12 17:38:52--  https://d20rj4el6vkp4c.cloudfront.net/7/8/ubuntu/package_files/113636.deb?t=1634060632_3852a301f49405ca6609e591b28b2f9a3768e7b1
Resolving d20rj4el6vkp4c.cloudfront.net (d20rj4el6vkp4c.cloudfront.net)... 52.222.190.154, 52.222.190.6, 52.222.190.213, ...
Connecting to d20rj4el6vkp4c.cloudfront.net (d20rj4el6vkp4c.cloudfront.net)|52.222.190.154|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 943821740 (900M) [application/x-debian-package]
Saving to: ‘gitlab-ce_14.3.2-ce.0_amd64.deb’

gitlab-ce_14.3.2-ce.0_amd64.deb 100%[======================================================>] 900.10M  50.1MB/s    in 18s     

Install the downloaded .deb package on Ubuntu 20.04 using the below command,

dpkg -i gitlab-ce_14.3.2-ce.0_amd64.deb    

Output:

root@vps:~# dpkg -i gitlab-ce_14.3.2-ce.0_amd64.deb 
Selecting previously unselected package gitlab-ce.
(Reading database ... 114495 files and directories currently installed.)
Preparing to unpack gitlab-ce_14.3.2-ce.0_amd64.deb ...
Unpacking gitlab-ce (14.3.2-ce.0) ...
Setting up gitlab-ce (14.3.2-ce.0) ...
It looks like GitLab has not been configured yet; skipping the upgrade script.

       *.                  *.
      ***                 ***
     *****               *****
    .******             *******
    ********            ********
   ,,,,,,,,,***********,,,,,,,,,
  ,,,,,,,,,,,*********,,,,,,,,,,,
  .,,,,,,,,,,,*******,,,,,,,,,,,,
      ,,,,,,,,,*****,,,,,,,,,.
         ,,,,,,,****,,,,,,
            .,,,***,,,,
                ,*,.

     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/

Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
Please configure a URL for your GitLab instance by setting `external_url`
configuration in /etc/gitlab/gitlab.rb file.

Reconfigure gitlab services using below command,

gitlab-ctl reconfigure

Output:

root@vps:~# gitlab-ctl reconfigure
  Starting Chef Infra Client, version 15.17.4
  resolving cookbooks for run list: ["gitlab"]
  Synchronizing Cookbooks:
    - gitlab (0.0.1)
    - package (0.1.0)
    - logrotate (0.1.0)
    - postgresql (0.1.0)
    - redis (0.1.0)
    - monitoring (0.1.0)
    - registry (0.1.0)
    - mattermost (0.1.0)
    - gitaly (0.1.0)
    - consul (0.1.0)
    - gitlab-kas (0.1.0)

To start the Gitlab Services.

gitlab-ctl start

Output:

root@vps:~# gitlab-ctl start
ok: run: alertmanager: (pid 61628) 0s
ok: run: gitaly: (pid 61319) 25s
ok: run: gitlab-exporter: (pid 61284) 26s
ok: run: gitlab-workhorse: (pid 61261) 27s
ok: run: grafana: (pid 61368) 20s
ok: run: logrotate: (pid 59471) 404s
ok: run: nginx: (pid 59983) 218s
ok: run: node-exporter: (pid 61269) 27s
ok: run: postgres-exporter: (pid 61361) 21s
ok: run: postgresql: (pid 59709) 379s
ok: run: prometheus: (pid 61310) 25s
ok: run: puma: (pid 59903) 237s
ok: run: redis: (pid 59532) 397s
ok: run: redis-exporter: (pid 61286) 25s
ok: run: sidekiq: (pid 59922) 230s

To check the status of Gitlab Services.

gitlab-ctl status

Output:

root@vps:~#gitlab-ctl status
down: alertmanager: 1s, normally up, want up; run: log: (pid 60138) 226s
run: gitaly: (pid 61319) 78s; run: log: (pid 59578) 439s
run: gitlab-exporter: (pid 61284) 79s; run: log: (pid 60057) 250s
run: gitlab-workhorse: (pid 61261) 80s; run: log: (pid 59959) 274s
run: grafana: (pid 61368) 73s; run: log: (pid 60761) 147s
run: logrotate: (pid 59471) 457s; run: log: (pid 59502) 454s
run: nginx: (pid 59983) 271s; run: log: (pid 59997) 268s
run: node-exporter: (pid 61269) 80s; run: log: (pid 60037) 260s
run: sidekiq: (pid 59922) 283s; run: log: (pid 59935) 280s

Now navigate to your browser to set the password default user is a root, http://IP_address

Output:

gitlab1

Done.

bookmark_borderInstalling Focalboard on Ubuntu 20.04

Hello,
In this week’s feature highlight, we look at How to Install Focalboard on Ubuntu 20.04

Focalboard is an open source, self-hosted alternative to Trello, Notion, and Asana. It’s a project management tool that helps define, organize, track and manage work across teams, using a familiar kanban board view

Update the System.

apt update

apt upgrade

Install Focalboard

Download the focalboard packages and then move it into /opt/focalboard directory.

wget https://github.com/mattermost/focalboard/releases/download/v0.9.2/focalboard-server-linux-amd64.tar.gz
tar -xvzf focalboard-server-linux-amd64.tar.gz
sudo mv focalboard /opt

Install NGINX

Now install NGINX using the following command. By default, the Focalboard server runs on port 8000.

sudo apt install nginx

Adjust firewall setting as per your need. You can open port 8000 in the firewall or you can disable the firewall in your server.

Configure NGINX

Create new config site.

sudo nano /etc/nginx/sites-available/focalboard

Copy and paste this configuration.

upstream focalboard {
server localhost:8000;
keepalive 32;
}

server {
listen 80 default_server;

server_name focalboard.example.com;

location ~ /ws/* {
     proxy_set_header Upgrade $http_upgrade;
     proxy_set_header Connection "upgrade";
     client_max_body_size 50M;
     proxy_set_header Host $http_host;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header X-Forwarded-Proto $scheme;
     proxy_set_header X-Frame-Options SAMEORIGIN;
     proxy_buffers 256 16k;
     proxy_buffer_size 16k;
     client_body_timeout 60;
     send_timeout 300;
     lingering_timeout 5;
     proxy_connect_timeout 1d;
     proxy_send_timeout 1d;
     proxy_read_timeout 1d;
     proxy_pass http://focalboard;
 }

 location / {
     client_max_body_size 50M;
     proxy_set_header Connection "";
     proxy_set_header Host $http_host;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header X-Forwarded-Proto $scheme;
     proxy_set_header X-Frame-Options SAMEORIGIN;
     proxy_buffers 256 16k;
     proxy_buffer_size 16k;
     proxy_read_timeout 600s;
     proxy_cache_revalidate on;
     proxy_cache_min_uses 2;
     proxy_cache_use_stale timeout;
     proxy_cache_lock on;
     proxy_http_version 1.1;
     proxy_pass http://focalboard;
   }
}

If there is a default site, then delete it.

sudo rm /etc/nginx/sites-enabled/default

Test the config and reload NGINX using the following commands:

sudo ln -s /etc/nginx/sites-available/focalboard /etc/nginx/sites-enabled/focalboard
sudo nginx -t
sudo /etc/init.d/nginx reload

Install Postgresql

To install Postgresql, run the following commands on the server.

sudo apt install postgresql postgresql-contrib

Now login as a postgres user to create new database,

sudo --login --user postgres

psql

Currently you are in psql prompt, run the following commands,

CREATE DATABASE focal;
CREATE USER focaluser WITH PASSWORD 'focaluser-password';
\q

Exit the session.

exit

Edit the Focalboard /opt/focalboard/config.json,

nano /opt/focalboard/config.json

Modify the dbconfig in the file with the postgres database that was created.

"dbtype": "postgres",
"dbconfig": "postgres://boardsuser:boardsuser-password@localhost/boards?sslmode=disable&connect_timeout=10",

Move focalboard-server file in /opt/focalboard/ directory,

 mv /opt/focalboard/bin/focalboard-server /opt/focalboard/

Configure Focalboard Service

Create a new service config file,

sudo nano /lib/systemd/system/focalboard.service

And paste following lines in file.

[Unit]
Description=Focalboard server

[Service]
Type=simple
Restart=always
RestartSec=5s
ExecStart=/opt/focalboard/focalboard-server
WorkingDirectory=/opt/focalboard

[Install]
WantedBy=multi-user.target

Make systemd reload the new unit, and enable it.

sudo systemctl daemon-reload
sudo systemctl start focalboard.service
sudo systemctl enable focalboard.service

Enter the IP Address:8000 in browser to open the focalboar. You will see following screen.

image

You will see the Focalboard dashboard,

image

Done.

bookmark_borderInstalling and use Docker Compose on Ubuntu 21.04

Hello,
In this week’s feature highlight, we look at How to Install and use Docker Compose on Ubuntu 21.04

Installing Docker on Ubuntu

Check for system updates and install it.

apt update

apt upgrade

Install basic dependencies.

apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

Output:

root@vps:~# apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
ca-certificates is already the newest version (20210119build1).
ca-certificates set to manually installed.
curl is already the newest version (7.74.0-1ubuntu2).
curl set to manually installed.
software-properties-common is already the newest version (0.99.10).
software-properties-common set to manually installed.
The following packages were automatically installed and are no longer required:
  eatmydata libeatmydata1 python3-certifi python3-importlib-metadata python3-jinja2 python3-json-pointer
  python3-jsonpatch python3-jsonschema python3-markupsafe python3-more-itertools python3-pyrsistent
  python3-requests python3-urllib3 python3-zipp
Use 'apt autoremove' to remove them.
The following NEW packages will be installed:
  apt-transport-https gnupg-agent
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 6,940 B of archives.
After this operation, 212 kB of additional disk space will be used.
Do you want to continue? [Y/n]

Import docker repository GPG key.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Output:

root@vps:~# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
OK

Add Docker CE repository.

add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

Output:

root@vps:~# add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Repository: 'deb [arch=amd64] https://download.docker.com/linux/ubuntu hirsute stable'
Description:
Archive for codename: hirsute components: stable
More info: https://download.docker.com/linux/ubuntu
Adding repository.
Press [ENTER] to continue or Ctrl-c to cancel.
Adding deb entry to /etc/apt/sources.list.d/archive_uri-https_download_docker_com_linux_ubuntu-hirsute.list
Adding disabled deb-src entry to /etc/apt/sources.list.d/archive_uri-https_download_docker_com_linux_ubuntu-hirsute.list
Hit:1 http://de.archive.ubuntu.com/ubuntu hirsute InRelease
Get:2 http://de.archive.ubuntu.com/ubuntu hirsute-updates InRelease [109 kB]
Get:3 https://download.docker.com/linux/ubuntu hirsute InRelease [28.3 kB]
Hit:4 http://de.archive.ubuntu.com/ubuntu hirsute-backports InRelease
Get:5 http://de.archive.ubuntu.com/ubuntu hirsute-security InRelease [101 kB]
Get:6 https://download.docker.com/linux/ubuntu hirsute/stable amd64 Packages [2,406 B]
Fetched 240 kB in 1s (364 kB/s)
Reading package lists... Done

Installing Docker CE.

apt install docker-ce

Output:

root@vps:~# apt install docker-ce
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
  eatmydata libeatmydata1 python3-certifi python3-importlib-metadata python3-jinja2 python3-json-pointer
  python3-jsonpatch python3-jsonschema python3-markupsafe python3-more-itertools python3-pyrsistent
  python3-requests python3-urllib3 python3-zipp
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
  containerd.io docker-ce-cli docker-ce-rootless-extras docker-scan-plugin libslirp0 pigz slirp4netns
Suggested packages:
  aufs-tools cgroupfs-mount | cgroup-lite
The following NEW packages will be installed:
  containerd.io docker-ce docker-ce-cli docker-ce-rootless-extras docker-scan-plugin libslirp0 pigz
  slirp4netns
0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
Need to get 108 MB of archives.
After this operation, 465 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

To check status.

systemctl status docker

Output:

root@vps:~# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2021-05-01 03:45:52 UTC; 1min 6s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 632611 (dockerd)
      Tasks: 8
     Memory: 41.1M
     CGroup: /system.slice/docker.service
             └─632611 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root@vps:~#

Installing Docker Compose on Ubuntu

Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a Compose file to configure your application’s services. Then, using a single command, you create and start all the services from your configuration.

Use curl to download the Compose file into the /usr/local/bin directory.

curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Output:

root@vps:~# curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   633  100   633    0     0    561      0  0:00:01  0:00:01 --:--:--   561
100 12.1M  100 12.1M    0     0  7465k      0  0:00:01  0:00:01 --:--:-- 32.2M

Next, set the correct permissions so that the docker-compose command is executable.

chmod +x /usr/local/bin/docker-compose

To verify that the installation was successful, you can run following command.

docker-compose --version

Output:

root@vps:~# docker-compose --version
docker-compose version 1.29.1, build c34c88b2

Setting Up a docker-compose.yml File

In this section, we’ll use Docker Compose to construct a multi-container WordPress utility.

creating a new directory in your home folder, and then moving into it.

mkdir my_app

cd my_app

Next, create the docker-compose.yml file.

nano docker-compose.yml

Paste the following content on your docker-compose.yml file.

version: '3'

services:
  db:
    image: mysql:5.7
    restart: always
    volumes:
      - db_data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: wordpress

  wordpress:
    image: wordpress
    restart: always
    volumes:
      - ./wp_data:/var/www/html
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DB_USER: root
      WORDPRESS_DB_PASSWORD: password
    depends_on:
       - db

volumes:
    db_data:
    wp_data:

In this example, we have services, db, and wordpress. Each service runs one image, and creates a separate container when docker-compose is run.

Start up the WordPress application by running the following command.

docker-compose up

Output:

root@vps:~# docker-compose up
Creating network "root_default" with the default driver
Creating volume "root_db_data" with default driver
Creating volume "root_wp_data" with default driver
Pulling db (mysql:5.7)...
5.7: Pulling from library/mysql
f7ec5a41d630: Pull complete
9444bb562699: Pull complete
6a4207b96940: Pull complete
181cefd361ce: Pull complete

Navigate to your browser. http://yourserver-ip-address:8080 and you will see the WordPress installation screen.

images

Start the Compose in a detached mode by following command.

docker-compose up -d

Output:

root@vps:~# docker-compose up -d
Starting root_db_1 ... done
Starting root_wordpress_1 ... done

To check the running services.

docker-compose ps

Output:

root@vps:~# docker-compose ps
  Name                    Command               State          Ports
--------------------------------------------------------------------------------
root_db_1          docker-entrypoint.sh mysqld      Up      3306/tcp, 33060/tcp
root_wordpress_1   docker-entrypoint.sh apach ...   Up      0.0.0.0:8080->80/tcp

To stop the services only.

docker-compose stop

To stop and remove containers and networks.

docker-compose down    


bookmark_borderHow to Install Python 3.9 on Ubuntu 21.04

Hello,
In this week’s feature highlight, we look at How to Install Python 3.9 on Ubuntu 21.04

Ubuntu has had Python installed by default since at least version 8.04 and since 18.04 LTS the python included in the base system is Python 3.

Use python command to run commands for any older Python 2.x version, to run a command using the newer version, use python3.

You can check the python version by executing the following command.

python3 --version

If python is not installed by default, you can install it by using the following command.

apt install python3

Output:

root@vps:~# apt install python3
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libpython3-stdlib python3-minimal python3.9 python3.9-minimal
Suggested packages:
  python3-doc python3-tk python3-venv python3.9-venv python3.9-doc binutils
  binfmt-support
The following NEW packages will be installed:
  libpython3-stdlib python3 python3-minimal python3.9 python3.9-minimal
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,387 kB of archives.
After this operation, 6,460 kB of additional disk space will be used.
Do you want to continue? [Y/n] y

Next, check the python version.

root@vps:~# python3 -V
Python 3.9.4

bookmark_borderAnnouncing cPanel SSD Powered Shared and Reseller hosting available!

Greetings,

We’re happy to announce a performance upgrade to our cPanel ATL and DE shared and reseller hosting available in Frankfurt, DE, and Atlanta, US.

The cPanel powered services are now powered by SSD-based storage with a much newer CPU and faster DDR4 memory as well.

SSD disks should net a 5-10x performance gain allowing your websites to load faster and serve your users quicker. The improved CPU performance as well will enable websites to load faster and run more stable as well with improved database performance as well.

To check out our cPanel SSD powered plans visit our website at

cPanel shared hosting

cPanel reseller hosting

Stay tuned for further updates!

Follow us on CrownCloud BlogTwitter, and Facebook for updates regarding current offers and other updates.