How To Install Craft CMS 3.0.41 On Ubuntu 18.10

Installation of Craft CMS on Ubuntu 18.10

Craft is a flexible, user-friendly CMS for creating custom digital experiences on the web. It has a strong framework for module and plugin development. It has built-in Plugin Store with hundreds of free and commercial plugins. This video covers the tutorial on installation of Craft CMS 3.0.41

Requirements:

Apache 2.4.34

MariaDB 5.5

PHP 7.2

PHP Modules:
php php-gd php-curl php-zip php-mbstring php-mcrypt php-simplexml php-mysql 

Configure the mariaDb for craft CMS using the root password as follows

root@linuxhelp:~# mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 55
Server version: 10.1.29-MariaDB-6ubuntu2 Ubuntu 18.10

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database craft character set utf8mb4;
Query OK, 1 row affected (0.04 sec)

MariaDB [(none)]> use craft;
Database changed

MariaDB [craft]> grant all on craft.* to user@localhost identified by 'linuxc';
Query OK, 0 rows affected (0.03 sec)

MariaDB [craft]> flush privileges;
Query OK, 0 rows affected (0.01 sec)

MariaDB [craft]> exit
Bye

Change the directory to Apaches Document root directory to install the craft cms

root@linuxhelp:~# cd /var/www
root@linuxhelp:/var/www# mkdir craft
root@linuxhelp:/var/www# cd craft

Download the craft cms using composer by the below given link

root@linuxhelp:/var/www/craft# composer create-project craftcms/craft .
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Installing craftcms/craft (1.0.42.1)
  - Installing craftcms/craft (1.0.42.1): Downloading (100%)         
Created project in .
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 55 installs, 0 updates, 0 removals
  - Installing craftcms/plugin-installer (1.5.2): Downloading (100%)         
  - Installing yiisoft/yii2-composer (2.0.7): Downloading (100%)         
  .
.
.
.

> @php craft setup/welcome

   ______ .______          ___       _______ .___________.
  /      ||   _  \        /   \     |   ____||           |
 |  ,----'|  |_)  |      /  ^  \    |  |__   `---|  |----`
 |  |     |      /      /  /_\  \   |   __|      |  |
 |  `----.|  |\  \----./  _____  \  |  |         |  |
  \______|| _| `._____/__/     \__\ |__|         |__|
 
     A       N   E   W       I   N   S   T   A   L   L
               ______ .___  ___.      _______.
              /      ||   \/   |     /       |
             |  ,----'|  \  /  |    |   (----`
             |  |     |  |\/|  |     \   \
             |  `----.|  |  |  | .----)   |
              \______||__|  |__| |_______/



Generating a security key ... done (zNCerJWODlWEr6UNoZF78xAPIg0wuTMs)

Welcome to Craft CMS! Run the following command if you want to setup Craft from your terminal:

    /var/www/craft/craft setup
root@linuxhelp:/var/www/craft# ll
total 164
drwxr-xr-x  8 root root   4096 Apr 16 20:32 ./
drwxr-xr-x  4 root root   4096 Apr 16 20:27 ../
-rw-r--r--  1 root root    414 Mar 29 04:50 composer.json
-rw-r--r--  1 root root 109713 Apr 16 20:32 composer.lock
drwxr-xr-x  3 root root   4096 Mar 29 04:50 config/
-rwxr-xr-x  1 root root    610 Mar 29 04:50 craft*
-rw-r--r--  1 root root    330 Mar 29 04:50 craft.bat
-rw-r--r--  1 root root    907 Apr 16 20:32 .env
-rw-r--r--  1 root root    875 Mar 29 04:50 .env.example
-rw-r--r--  1 root root     31 Mar 29 04:50 .gitignore
drwxr-xr-x  2 root root   4096 Mar 29 04:50 modules/
drwxr-xr-x  4 root root   4096 Apr 16 20:32 storage/
drwxr-xr-x  2 root root   4096 Mar 29 04:50 templates/
drwxr-xr-x 30 root root   4096 Apr 16 20:32 vendor/
drwxr-xr-x  3 root root   4096 Mar 29 04:50 web/

Assign Ownership And Writable permissions to the craft directory

root@linuxhelp:/var/www/craft# chown -R www-data. ./
root@linuxhelp:/var/www/craft# chmod -R 775 ./
root@linuxhelp:/var/www/craft# ll
total 164
drwxrwxr-x  8 www-data www-data   4096 Apr 16 20:32 ./
drwxr-xr-x  4 root     root       4096 Apr 16 20:27 ../
-rwxrwxr-x  1 www-data www-data    414 Mar 29 04:50 composer.json*
-rwxrwxr-x  1 www-data www-data 109713 Apr 16 20:32 composer.lock*
drwxrwxr-x  3 www-data www-data   4096 Mar 29 04:50 config/
-rwxrwxr-x  1 www-data www-data    610 Mar 29 04:50 craft*
-rwxrwxr-x  1 www-data www-data    330 Mar 29 04:50 craft.bat*
-rwxrwxr-x  1 www-data www-data    907 Apr 16 20:32 .env*
-rwxrwxr-x  1 www-data www-data    875 Mar 29 04:50 .env.example*
-rwxrwxr-x  1 www-data www-data     31 Mar 29 04:50 .gitignore*
drwxrwxr-x  2 www-data www-data   4096 Mar 29 04:50 modules/
drwxrwxr-x  4 www-data www-data   4096 Apr 16 20:32 storage/
drwxrwxr-x  2 www-data www-data   4096 Mar 29 04:50 templates/
drwxrwxr-x 30 www-data www-data   4096 Apr 16 20:32 vendor/
drwxrwxr-x  3 www-data www-data   4096 Mar 29 04:50 web/

root@linuxhelp:/var/www/craft# chmod -R 775 storage/ config/

Create a customised configuration file for craft cms

root@linuxhelp:/var/www/craft# vim /etc/apache2/sites-available/craft.conf
<virtualhost *:80>
servername www.linuxhelp1.com
documentroot /var/www/craft/web/

<directory /var/www/craft/>
allowoverride all
allow from all
</directory>
</virtualhost>

Disable the default access

root@linuxhelp:/var/www/craft# a2dissite 000-default.conf
Site 000-default disabled.
To activate the new configuration, you need to run:
  systemctl reload apache2

Enable the craft Cms site

root@linuxhelp:/var/www/craft# a2ensite craft.conf
Enabling site craft.
To activate the new configuration, you need to run:
  systemctl reload apache2

Enable the rewrite module

root@linuxhelp:/var/www/craft# a2enmod rewrite 
Enabling module rewrite.
To activate the new configuration, you need to run:
  systemctl restart apache2

Restart the service of Apache

root@linuxhelp:/var/www/craft# systemctl restart apache2

Enter the URL as shown in below picture to install craft CMS

Click on Install craft to start the Installation procedure

Accept the license agreements by just clicking got it

Enter the database details to connect and click next

Enroll the admin credentials and click next

Create a name for the website and click finish up

Dashboard of Admins account opens after the successful installation of craft cms

Thus installation of craft cms 3.0.41 comes to en din Ubuntu 18.10

FAQ
Q
Is it possible to manage multiple content types in one section of craft cms 3.0.41?
A
yes, it is possible to manage multiple content types in one section of craft cms 3.0.41
Q
IS it possible to run multiple sites from a single craft install?
A
yes, it is possible to run multiple sites from a single craft install.
Q
Is it possible to create a channel on craft cms 3.0.41?
A
yes, it is possible to create a channel on craft cms 3.0.41.
Q
Is it possible to design my layout in craft cms 3.0.41?
A
yes, you can design the layout in craft cms 3.0.41.
Q
What are the php modules required for the craft cms 3.0.41?
A
The php modules required for the craft cms are php php-gd php-pdo php-mysql php-mbstribng php-mcrypt php-simplexml php-pecl-zip are the required php modules in craft cms

3.0.41