From Wikiversity
Jump to navigation Jump to search

System Requirements[edit | edit source]

Drupal works on any web server with PHP (greater or equal PHP Version 5.5.9) support.

Software Type Purpose Recommended choice Alternatives
Web Server Example Apache Nginix, Haiwatha, Miscsoft IIS
Database To store data MySQL-(5.5.3+) MariaDB (5.5.20), Percona(5.5.8), PostgreSQL(9.1.2+), SQLite(3.4.2+)
PHP(Programming Language) To serve dynamic web content via CGI scripting PHP No alternative
Operating System GNU/Linux Windows, Mac OS etc.

Different ways of installing Drupal[edit | edit source]


Drupal installtion using WAMP/XAMPP server following Bellow steps:

1) Download the installer file for the latest version of WAMP/XAMPP server (64 bit & 32bit), and save the file to your computer.

2) Double-click on Download file.Then Click Run to start the installation process.

3) Select Destination Location path (c:/wamp or c:/xampp) continue to Next till finishing the process.

4) Select Desktop icon Click Next.

5) Check Select Destination Location Click Next.

6) Next you will see the Ready To Install screen. You can review your setup choices, and change any of them by clicking Back to the appropriate screen, if you choose to. Once you have reviewed your choices,click Install to continue.

7) Select your default browser’s .exe file, then click Open to continue.

8) A Windows Security Alert window will open, saying that Windows Firewall has blocked some features of the program. Check whether you want to allow Apache HTTP Server to communicate on a private or public network, then Click Allow to access.

9) The PHP Mail Parameters screen will appear. Leave the SMTP server as localhost, and change the email address to one of your choosing. Click Next to continue.

10) Check the Launch WAMP/XAMPP Server Now box, then click Finish to complete the installation.

Steps to setup Drupal site into the WAMP/XAMPP server :

1)First step is to download Drupal zip folder from the link provided.( https://www.drupal.org/project/drupal/releases/8.2.5 )

2)Unzip drupal folder into wamp's www folder.

3)Rename drupal8.2.5 directory to drupal. ( eg: C:\wamp\www\drupal)

4)Run wamp, you should get a wamp icon in your system tray. You need the drive to be white to continue. (Note: If you run skype, it interferes with wamp & so you have to start wamp without skype running)

5)Open a browser window and go to http://localhost/

6)Press to PHPMYADMIN link in field " create new database " enter drupaldb. (it's gpoing to be a database name for this installation)

7)Press create.

8)Now open http://localhost/drupal follow the on screen prompts to install drupal.

On screen prompts and what to enter into the boxes:

Database type: mysql

Database name: druopaldb

Database username: root

Database password: (dont out anythung in this box)

Save configuration.

9)Create the first account.

Username: admin

Enter your email

Then press create.

Probably you will get this messge:

"warning: mail() [function.mail]:failed to connect to mailserver at "localhost" port 25, verify your "SMPT" and "smpt_port" setting in php.ini or use ini_set()in C:\wamp\www\drupal\includes\common.inc on line 1970".

It's ok. Just enter and confirm password. As this is only for testing locally I'd suggest setting the password to : admin (or something like that)

Save information.

Press link Home.

Visit administartion section it will say "one or more problems were detected with your drupal installation. Check the status repot for more information".

Refresh your webpage. Colour is green everywhere.

Now you have installed local copy of drupal for testing purpose.

Save address http://localhost/drupal/ to your favourites.

You must have running wampserver inorder to acess your drupal web page.

LAMP Setup On Linux[edit | edit source]


Setting up LAMP (Linux, Apache, MySQL &PHP)

  • Open TERMINAL and login into the root by typing sudo su (or) su and enter the root password.
  • Update the package sources
 # apt-get update
  • Install Apache2 and PHP
 # apt-get install apache2 php libapache2-mod-php php-gd
 # chmod -R 777 /var/www
Check if apache is working
 # /etc/init.d/apache2 restart
 # nano /var/www/html/info.php
Copy & paste the following php code in the nano editor
Go and check http://localhost/info.php inyour browser to see configuration of installed php version.
  • Install Mysql and PHPmyadmin
 # apt-get install mysql-server mysql-client php-mysql
 # apt-get install phpmyadmin
When prompted for password enter hello
  • Creating a MySQL DB & user for your Drupal installation
 # mysqladmin -u root -p create d8
Enter hello when you are prompted for password.
  • Configuring Apache for Clean URLs
 # a2enmod rewrite
 # /etc/init.d/apache2 restart
 # chmod -R 777 /var/www

Install Drupal

  • Prepare server for Drupal setup
  • Copy the drupal-8.xxx.tar.gz to /var/www/html and uncompress the files so that we get /var/www/html/drupal-8.xxx finally
  • Rename the drupal folder to d8
  • Goto d8/sites/default, create a folder called files so that you have d8/sites/default/files
  • Copy default.settings.php as settings.php so that you have d8/sites/default/settings.php
  • Give permission to file(apply permission to enclosed files) & settings.php
  • Install Drupal
  • Choose Standard installation profile and save and continue
  • Leave English as is and save and continue
  • Give Database Name as d8, Database username as root & Database password as hello
  • Configure site information
  • Site Name your full name
  • Site e-mail address your email id
  • Configure Site maintenance account
  • username as admin
  • password & confirm password as hello
  • Configure Server settings
  • Choose India under Default country
  • Choose Asia/Kolkata under Default time zone and Save and continue
  • Now click on Visit your new site

Configure the apache:

Drupal 8 enables Clean URLs by default so Apache’s rewrite module must also be enabled:

 # sudo a2enmod rewrite

Then specify the rewrite conditions for Document Root in Apache’s configuration file.

File excerpt:

 # nano /etc/apache2/apache2.conf
<Directory /var/www/>
  Options Indexes FollowSymLinks
  AllowOverride All
  Require all granted

Restart Apache so all changes are applied. If you’re using a Linux distribution which uses systemd (CentOS 7, Debian 8, Fedora, Ubuntu 15.10+):

 # sudo systemctl restart apache2

If your init system is SystemV or Upstart (CentOS 6, Debian 7, Ubuntu 14.04):

 # sudo service apache2 restart

DRUSH COMMAND LINE:-[edit | edit source]

Drush is a command line shell written in PHP and Unix Scripting interface for Drupal. Drush core ships with lots of useful commands for interacting with code like modules/themes/profiles. Drush is a useful tool to perform various admin tasks just by using one or two commands in the Terminal, instead of using many steps to setup Drupal.

Steps for Using Drush Command line:-

Before installing Drupal by using Drush command line at first we need to setup the local-server in our device. Follow this link [INSTALLATION OF LAMP PROCESS] for setting up the local-server.

Next Follow the below steps for using Drush command line using Terminal

  • At first we need to install Drush into our system
 # sudo apt-get install drush
Next go to local development site in your file system
 # cd /var/www/html  
  • Install Drupal site using Drush command
 # drush dl  drupal-8 --select

select the version you want to download Drupal

  • Creating a MySQL DB & user for your Drupal site
 # mysqladmin -u root -p create d8

Enter "password" when you are prompted for password. If you get a “Database exists” error, please issue “mysqladmin -u root -p drop d7” to delete the existing database and then issue the create command..

  • Configuring Apache for Clean URLs
 # a2enmod[1] rewrite
 # /etc/init.d/apache2 restart
 # chmod -R 777 /var/www
  • Copy default.settings.php as settings.php so that you have d8/sites/default/settings.php and Goto d8/sites/default, create a folder called files so that you have d8/sites/default/files.

Give the permissions for the site.

 # chmod -R 777 /var/www
  • Open the site url in the browser by entering the url " localhost/d8 ".

CONSOLE :-[edit | edit source]

The Linux console is a system console internal to the Linux kernel (a system console is the device which receives all kernel messages and

warnings and which allows logins in single user mode). The Linux console provides a way for the kernel and other processes to send text

output to the user, and to receive text input from the user. The user typically enters text with a computer keyboard and reads the output

text on a computer monitor. The Linux kernel supports virtual consoles - consoles that are logically separate, but which access the same

physical keyboard and display. The Linux console (and Linux virtual consoles) are implemented by the VT subsystem of the Linux kernel, and

do not rely on any user space software. This is in contrast to a terminal emulator, which is a user space process that emulates a

terminal, and is typically used in a graphical display environment.

The Linux console is an optional kernel feature, and most embedded Linux systems do not enable it. These systems typically provide an

alternative user interface (e.g. web based), or boot immediately into a graphical user interface and use this as the primary means of

interacting with the user. Other implementations of the Linux console include the Braille console to support refreshable Braille displays.

and the serial port console.

The Linux console provides a way for the kernel and other processes to output text-based messages to the user, and to receive text-based

input from the user. In Linux, several devices can be used as system console: a virtual terminal, serial port, USB serial port, VGA in

text-mode, framebuffer. Some modern Linux-based systems have deprecated kernel based text-mode input and output, and instead show a

graphical logo or progress bar while the system is BOOTING, followed by the immediate start of a graphical user interface (e.g. the X.Org

Server on DESKTOP distributions, or SurfaceFlinger on Android).

During kernel boot, the console is commonly used to display the boot log of the kernel. The boot log includes information about detected

hardware, and updates on the status of the boot procedure. At this point in time, the kernel is the only software running, and hence

logging via user-space (e.g. syslog) is not possible, so the console provides a convenient place to output this information. Once the

kernel has finished booting, it runs the init process (also sending output to the console), which handles booting of the rest of the

system including starting any background daemons.


Virtual consoles allow the storage of multiple text buffers, enabling different console programs to run simultaneously but interact with

the user in different contexts. From the user's point of view, this creates the illusion of several independent consoles.

Each virtual console can have its own character set and keyboard layout. Linux 2.6 introduced the ability to load a different font for

each virtual console (kernel versions predating 2.6 change the font only on demand).


The text mode implementation is used on PC-based systems with a legacy CGA/EGA/MDA/VGA video card that implements text-based video modes.

In text mode, the kernel sends a 2D array of characters to the video card, and the video card converts the characters to pixels for



The Linux framebuffer (fbdev) is a graphic hardware-independent abstraction layer, which was originally implemented to allow the Linux

kernel to emulate a text console on systems such as the Apple Macintosh that do not have a text-mode display. Now it offers a kernel space

text mode emulation on any platform. Its advantage over (currently unmaintained) SVGATextMode is a reliance and better hardware

compatibility. It also permits to overpass all technical restrictions of VGA text modes.

A Linux framebuffer console differs from a VGA one only in ways of drawing characters. The processing of keyboard events and virtual

consoles’ support are exactly the same.


Linux serial console is a console implementation via serial port, enabled by option CONFIG_SERIAL_CONSOLE in the kernel configuration. It

may be used in some embedded systems, and on servers, where a direct interaction with operator is not expected. The serial console allows

the same mode of access for the system, but usually at a slower speed due to the small bandwidth of RS-232. A serial console is often used

during development of software for embedded systems, and is sometimes left accessible via a debug port.

APACHE, MYSQL and SSl :-[edit | edit source]

APACHE[edit | edit source]

The Apache is the world's most used web server software. Originally based on the NCSA HTTPd server, development of Apache began in early

1995 after work on the NCSA code stalled. Apache played a key role in the initial growth of the World Wide Web,quickly overtaking NCSA

HTTPd as the dominant HTTP server, and has remained most popular since April 1996. In 2009, it became the first web server software to

serve more than 100 million websites.

Apache is developed and maintained by an open community of developers under the auspices of the Apache Software Foundation. Most commonly

used on a Unix-like system (usually Linux),the software is available for a variety of operating systems besides Unix, including Microsoft

WINDOWS. Version 2.0 improved support for non-Unix, e.g. Windows and OS/2 (and eComStation).Old versions of Apache were ported to run on

e.g. OpenVMS,and NetWare. Released under the Apache License, Apache is free and open-source software.

As of July 2016, Apache was estimated to serve 46.41% of all active websites and 43.18% of the top million websites.

MYSQL[edit | edit source]

MySQL is a central component of the LAMP open-source web application software stack. LAMP is an acronym for "Linux, Apache, MySQL,

Perl/PHP/Python". Applications that use the MySQL database include: TYPO3, MODx, Joomla, WordPress, phpBB, MyBB, and Drupal. MySQL is also

used in many high-profile, large-scale websites, including Google, Facebook, Twitter,Flickr, and YouTube.

The MySQL development project has made its source code available under the terms of the GNU General Public License, as well as under a

variety of proprietary agreements. MySQL was owned and sponsored by a single for-profit firm, the Swedish company MySQL AB, now owned by

Oracle Corporation.For proprietary use, several paid editions are available, and offer additional functionality.

SSL[edit | edit source]

BITNAMI[edit | edit source]

Bitnami is a library of installers or software packages for web applications and development stacks as well as virtual appliances. Bitnami

stacks are used for installing software on Linux, Windows, Mac OS X and Solaris.

Bitnami stacks are available for popular web applications such as WordPress, Drupal, Joomla!, MediaWiki and eXo Platform. In addition to the application itself, the stacks include the other software required to run that application. For example, a WordPress stack will include

WordPress, as well as the MySQL database to manage data, Apache Web server to serve the pages, and phpMyAdmin to administer MySQL. Bitnami

installers are released under the Apache License.

The distinct difference between installation of Bitnami installers and native installs (e.g. rpms and debs on Linux) are that they are

installed in a way as to prevent interference with existing software and libraries. If multiple applications are installed on the same web

server considerations for resolving conflicts on specific ports must be made.

Software list:


Apache Roller

CMS Made Simple


Coppermine Photo Gallery






eXo Platform

eZ Publish

Ghost (Blogging Platform) [7]







Mantis Bug Tracker



OpenERP (Now called Odoo)













VIRTUALBOX :-[edit | edit source]

Installation of VIRTUALBOX:

Installation of virtualbox is a pretty easy task. For the installation process, follow the following steps:

1)First, download the virtualbox file from the link provided.(https://www.virtualbox.org/wiki/Downloads)

2)If you are a windows user, click on windows host, virtualbox start downloading.

3)After downloading, double-click on the folder and click on Run.

4)Then you can see a new window, click on Next until you complete the process.

5)Then, click on Install to start the installation process.

6)After installation, click on Finish.

7)A new window will open, on the top left corner of the window you can see an option called as New, click on that.

8)Then another window will open with the drop boxes Name, Type, Version. Enter the name which you want to give, select the type as Linux and version as ubuntu 64-bit. Then click on Next.

9)The next window will be about selection of RAM, it will show a default value, we'll be safe if we give more than that value.

10)The next window will be about providing hard disk and partitions, give memory little more than the default value, then click on next untill the process get finished.

11)Then click on install.

Now your virtualbox will be ready to use as soon as the installation completes.

DOCKER[edit | edit source]

Installation of Docker in Linux (Ubuntu)[edit | edit source]

You can install Docker in different ways, depending on your needs[2]:

  • Install using the repository
  • Install from a package

Install using the repository[edit | edit source]

->Before you install Docker for the first time on a new host machine, you need to set up the Docker repository.

->Set up the repository

Install packages to allow apt to use a repository over HTTPS:($ sudo apt-get install apt-transport-https \ca-certificates)

Add Docker’s official GPG key:($ curl -s http://yum.dockerproject.org/gpg | sudo apt-key add)

Verify that the key ID is 58118E89F3A912897C070ADBF76221572C52609D.

$ apt-key fingerprint 58118E89F3A912897C070ADBF76221572C52609D

pub 4096R/2C52609D 2015-07-14

Key fingerprint = 5811 8E89 F3A9 1289 7C07 0ADB F762 2157 2C52 609Duid

Docker Release Tool (releasedocker) <docker@docker.com>

Use the following command to set up the stable repository. To also enable the testing repository, add the words testing after main on the last line.

Do not use these unstable repositories on production systems or for non-testing workloads.

$ sudo add-apt-repository \
       "deb https://apt.dockerproject.org/repo/pool/ \
       $(lsb_release -cs) \

To disable the testing repository, you can edit /etc/apt/sources.list and remove the word testing from the appropriate line in the file.

Install Docker

Update the apt package index.

$ sudo apt-get update

Install the latest version of Docker, or go to the next step to install a specific version. Any existing installation of Docker is replaced.

Use this command to install the latest version of Docker:

$ sudo apt-get -y install docker-engine

On production systems, you should install a specific version of Docker instead of always using the latest. This output is truncated. List the available versions.

$ apt-cache madison docker-engine

docker-engine | 1.13.0-0~xenial | https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages

docker-engine | 1.12.3-0~xenial | https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages

docker-engine | 1.12.2-0~xenial | https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages

docker-engine | 1.12.1-0~xenial | https://apt.dockerproject.org/repo ubuntu-xenial/main amd64 Packages

The contents of the list depend upon which repositories are enabled, and will be specific to your version of Ubuntu (indicated by the xenial suffix on the version, in this example). Choose a specific version to install. The second column is the version string. The third column is the repository name, which indicates which repository the package is from and by extension its stability level. To install a specific version, append the version string to the package name and separate them by an equals sign (=):

$ sudo apt-get -y install docker-engine=<VERSION_STRING>

The Docker daemon starts automatically.

Test docker installation[edit | edit source]

Verify that docker is installed correctly by running the hello-world image:

$ sudo docker run hello-world This command downloads a test container image from docker repositories and runs the container with the hello-word application. Container has been build to run, print an informational message and exit.

Docker is installed and running. You need to use sudo to run Docker commands. Continue to Linux postinstall to allow non-privileged users to run Docker commands and for other optional configuration steps.

Install from a package[edit | edit source]

->Go to https://apt.dockerproject.org/repo/pool/main/d/docker-engine/ and download the .deb file for the Docker version you want to install and for your version of Ubuntu.

->Install Docker, changing the path below to the path where you downloaded the Docker package.

$ sudo dpkg -i /path/to/package.deb

The Docker daemon starts automatically.

->Verify that docker is installed correctly by running the hello-world image.

$ sudo docker run hello-world

This command downloads a test image and runs it in a container. When the container runs, it prints an informational message and exits.

Docker is installed and running. You need to use sudo to run Docker commands. Continue to Post-installation steps for Linux to allow non-privileged users to run Docker commands and for other optional configuration steps.

CLOUD PLATFORMS[edit | edit source]

                                                    Drupal Cloud Hosting

See also[edit | edit source]

References[edit | edit source]