Content Strategy : How to strategize before diving into B2B Content Marketing ?

If you find yourself reading up a lot on Content Marketing of late, I'm sure you must have cracked the keyword cipher behind it turning into a focal point in digital marketing.The idea of thought leadership has gradually percolated into content marketing as both SMEs and major corporations are leveraging it alike. Now Web Content offers you the opportunity of establishing your credentials as a thought leader while it serves as an effective medium to share innovative ideas and concepts. B2B Content Marketing is a focused approach by an organization to showcase its expertise and carve a niche for itself in the marketplace.

Here I have put together a checklist for creating a B2B Content Marketing Strategy before you embark on a full fledged Content Marketing expedition.

# Align your Content Marketing plan with your Business Objectives

You need to devise a content marketing strategy based on the objectives that you have identified for your business.The purpose of planning content development is to prioritize your marketing objectives in accordance with the needs of a marketing campaign. These objectives may be categorised into customer acquisition, lead generation, customer retention, lead nurturing/management, reputation management and the generation of brand awareness.

# Focus the Content on your Business Goals

As a content strategist it is important that you identify the end goal for your content generating endeavour. The task of pushing out content on a regular basis plays a crucial role in attracting new leads and generating more sales. A Content Calendar or Marketing Calendar is one of the essentials that you need to figure out before starting out with the creation of content. A content calendar will not only let you plan the content in advance but will let you plan it around key events or phases in lead prospecting.

# Identify your Target Audience/ Buyer Persona

The ultimate aim of content generation is creating marketing content that caters to an audience that your business needs. The relevancy of your content solely depends on the audience you are catering to, which makes it an imperative to plan the creation of content that is unambiguous and customer-centric. It requires a certain level of concerted research to gain a perspective into what a buyer persona would ideally look for, while planning the creation of content meant to address specific requirements.

# Choose a Content Format that suits your plan

The key to connect effectively with your target audience is to create some well thought out content that is engaging enough to garner the much needed organic shares. The content format may vary depending on the needs of your audience. For instance a case study may help an existing customer with a pain point while a video or an infographic may attract the attention of your target audience. E-books are supposedly more elaborate when it comes to disbursing complex information in a reader friendly format that aligns with your brand strategy as well. What matters at the end of the day is not the format of the content but the fact that the content is useful and has some substance to it.

# Challenges you need to Overcome

The task of finding trained content marketing professionals can be quite a challenge if your company needs to implement a content marketing plan at short notice. The key may lie in finding the right mix of internal and external contributors for value-adding content. In addition to that you may need to generate content that keeps pace with the new trends and developments in the marketplace in order to stay competitive.

As a content writer/ content strategist or a digital marketeer you must possess domain knowledge that is beyond a particular product or category. There are multiple facets of content marketing like optimizing content, measuring content effectiveness, technological challenges, content organization and management, that need to be pre-planned before the content is even published.

A well-planned Content strategy lets you make some informed decisions while you go about setting up a content marketing plan. There are various tools that can help in refining your content strategy. Marketing Automation softwares like Volacci Automator along with Content Marketing tools like Curata or Gather Content can be easily integrated with a Drupal based website to steer an effective digital marketing strategy.

We at Valuebound keep a tab on the latest content marketing trends and developments to provide you with Enterprise level web solutions to boost your digital marketing initiatives. For more information on our service offerings, please Contact Us.

My first attempt at understanding configuration management in Drupal 8

The Configuration Management module has been integrated into the Drupal 8 Core which lets you make and verify site configuration changes in the development, staging and production environments respectively. Configuration Management is gradually turning out to be an effective replacement for Features as it lets you create and modify configuration entities with great ease.

Here I am sharing my first hand experience with the Drupal 8 Configuration Management System with the help of a few case scenarios.This is what the Development Menu of Drupal 8 looks like with a Configuration Management link that leads you to the Configuration Page.

Configuration Manager Module Setting Page

Configuration Management Workflow : Importing, Exporting & Synchronizing Configuration

As you know the file-based Configuration management system in Drupal 8 lets you use version control for configuration and to track changes as well. The configuration on your site can be imported, exported and synchronized via Manage> Configuration > Development > Configuration management (admin/config/development/configuration).

# Creating a Content Type

I created a Blog Content Type titled “Blog Content” while configuring multiple fields like Blog title, blog description, Author Name, Publishing Date and Author Image. Then I exported this single configuration file and imported it in the production environment.

configuration management yml structure drupal8

This resulted in adding new content type “Blog Content” in production. This was cool.

# Creating a Menu

I created a Menu titled “Footer Menu” with Menu Links like Home, About Us and Contact Us. But when the changes were exported only the menu was created while the menu links failed to reflect in the production version.That's because even though I have created menu links with external URL, this might have created a conflict if menus were created while creating a page. Drupal will not allow adding menu without the page if is an internal URL.

# Enabling a Core Module

I enabled a few Core Modules like Aggregator, Serialization, Ban, Actions in the Development Version. The modules got enabled in the production version when the changes were imported from development.

# Installing a Contributed Module

I installed a few contributed modules and enabled them in the Development Version. I could not export the changes to the production version as the Configuration management system failed to support it.

# Creating a Taxonomy Vocabulary

I created a Taxonomy Vocabulary titled “Programming Languages” with Taxonomy Terms like PHP, Java, .Net, C++ and C. Although the Taxonomy vocabulary got reflected in the production version, the Taxonomy terms failed to show up.

# Creating a Basic Block

I created a Basic Block with fields like a block description and a body. The changes when exported showed up in the production version as well.

# Making Permission Changes

I made some Permission Changes for the authenticated and anonymous users that extended certain privileges like posting comments on a blog post. The changes when exported showed up in the production version as well.

# Creating a Custom Block Type

I created a Custom Block Type titled “Recent Content” with fields like title, description and Image. The changes reflected perfectly well in the production version after they were exported.

# Enabling Core Themes

I enabled some Drupal 8 core themes like Classy, Bartik and Seven which got enabled on the production version as well once the changes were exported.

# Installing a Contributed Theme

I installed some contributed themes like Acquia Marina, Bootstrap and  Bear Skin in the development version. Like in the case of Contributed Modules I could not export the changes to the production version.

# Creating a User Role

I created a User role titled “Blog Author”and allowed in some permissions to moderate content. The permissions got reflected along with all the other changes once the changes were exported to the production version.

#Creating an Image Style

I created an image Style titled “Author Image” with dimensions measuring 120x140 pixels. The changes showed up successfully once they were exported to the production version.

Full Import/Export

The full export feature lets you download an archive of all the active configuration files. It also lets you import on a development site, synchronize, make changes, package up again and import and synchronize back on the live site as well.

The changes made on the development site will be saved into the active storage on the development site. These changes can be exported and imported on the live site, the import copies the YAML files into the staging directory. The full development site configuration can be exported at admin/config/development/configuration/full/export. This will create a compressed file called config.tar.gz .

Exporting Configuration Changes Drupal Site

On the live site when you navigate to admin/config/development/configuration/full/import and upload the compressed file, you can review the changes before finalizing the content that needs to be imported. When the changes are imported, the development site gets updated with the live changes. Further changes are made on the Development version before they are imported back to the live version.

Import configuration settings

Once the import is complete the changes need to be synchronized. The synchronization process leads to the elevation of the staging directory contents to the live configuration wherein new fields and content types get added while new modules get enabled.

Export Import Synchronization Drupal Configuration

Drupal8 configuration synchonization process

All the changes made on the development version are then deployed to the live version. In case there are direct changes made in the live version, the changes have to be exported from the production version to the development version.

Configuration import success message

We are Valuebound are committed to creating exceptional web experiences and solutions based on your unique business needs. For further information on our service offerings, please Contact Us.

Product companies Using Drupal as a Collaboration Platform for Developers

Drupal has emerged as a widely used open source platform  for hi-tech product companies to power their developers portal. This collaborative developers knowledge base features a wide array of information ranging from resources for designing, developing applications, coding and troubleshooting tips to social media integration.

Here we have a listed few widely used developer portals that have been developed using Drupal.

eBay Developers Programme

eBay Developers program powered by Drupal

The eBay developer community with a sizeable strength of developers connects through a portal that has been built using Drupal. The eBay Developers Program is an open platform which ran on Jive and since has migrated its data to Drupal. The community focuses on documentation and an easy to use Forum like interface wherein the developers can interact and even promote conversation threads through social networking sites like Facebook. The community website features an extensive support system for seasoned developers as well as beginners.The site has a support Ticketing system called eBay Developer Support that lets the developers seek assistance in case their issues are still unresolved in the Developer forums.

Twitter Developer Community

Twitter developer using Drupal

The Twitter platform enables developers to build great mobile apps while guiding entrepreneurs to make better business decisions based on Twitter data. Twitter has one of the largest developer community that has a Drupal based development community portal.The collaborative community has been engaged in the creation of more than a million apps with their API calls running into a figure of billions. The multiple discussion forums hosted on the platform help the developers to collaborate on app. development projects while sharing information on the Twitter platform about other related products.

Intel Developer Zone

Intel developer zone using Drupal

The Intel Developer Zone is an initiative by Intel to get its Developer Community to connect on a common platform. It is equipped with a user interface that lets the developers access their areas of interest like embedded systems, Game Development, technical and enterprise solutions along with other web solutions. It also features Product Support, documentation and a Registration Centre for the Developer Community.

Nvidia: Tegra Developer Community

Nvidia developer zone using Drupal

The gaming industry giant and a trusted manufacturer of Graphics Processing Units(GPUs), Nvidia has a Drupal based collaborative technical community known as the Tegra developer community. The site has some stunning looks along with a UI that helps developers access different developer zones based on their preferences like GPU Computing, Gameworks, Embedded Computing and professional graphics.

Brightcove Developer Docs

Brightclove developer doc portal using Drupal

Brightcove is a widely used cloud based online video platform that provides live transcoding of the worldwide events.The Brightcove Developer Docs is a community website that features multiple developer resources like product updates, SDks and developer specific guidelines to get started with the development of VideoCloud APIs. The Drupal based community platform offers extensive developer documentation and support for its flagship, Zencoder which is a high quality video encoding software.

Product companies can leverage the capability of Drupal as a tool that improves User experience. A lean backend combined with improved accessibility features lets you leverage an architecture that supports collaborative software development. The Drupal solutions implemented to develop a community site can be prioritized in accordance with the intended goals and budgetary constraints. If you are keen on putting together a Drupal based community website, we at Valuebound can guide you through the process with our enterprise level solutions. For further information on our service offerings please Contact Us

Disclaimer: The respective screenshots, logos and other identification belong solely to the companies they represent.

5 Drupal Tools to Help you with Landing Page Optimization

Landing pages are usually connected to online advertisement campaigns or online target marketing strategies that are instrumental in directing new visitors/prospective leads to a website. Landing Page Optimization in the internet marketing parlance refers to the optimization of a landing page in order to improve the lead conversion rates. The landing pages can also be linked to promotional content on a social media page or an email-marketing campaign for consumer-directed targeting.

Drupal CMS offers a multitude of solutions that can be customized and integrated with your Drupal properties for effective Landing Page Optimization.

Panels

The Panels module is equipped with a pluggable caching mechanism with options to create customized layouts for multiple uses. It has a drag and drop content manager that lets you create a visual design of a layout and place content in it. You can integrate this module with other systems to create nodes while the layout of a page can be customized with extremely fine-grained permissions.

# Login Destination

This module redirects a user to a specific page after they have logged in or registered onto a website. The destination can vary from being an internal page or an external URL. Login Destination makes it feasible for a user to stay on a page that they have recently visited even after they have logged out.

# Multivariate

The Multivariate module facilitates the setting up of multivariate or A/B style testing studies that can be performed on live sites to check the effectiveness of interfaces. It can be deeply integrated with Drupal to allow for A/B and Multivariate testing. This module has been found to be exceptionally powerful when compared to external solutions. You can run multiple test cases simultaneously while A/B split testing for the best-optimized landing page version.

# Visual Website Optimizer

This module lets you optimize a landing page with minimal coding capabilities. An easy to use A/B testing tool, Visual Website Optimizer is equipped with a WYSIWYG editor and a point and click test designer that helps in creating multiple variations. The tagless integration feature of this module significantly reduces the repeated upload of code snippets during A/B tests.

# Panelizer

This module allows you to attach panels to any node in the system. It further provides you with the options of customizing the content and design while still retaining the Drupal node editing structure. Panelizer is maintainable via Features is managed with Drush and Git at the back end. A highly exportable module, Panelizer can be used to build a landing page with dynamic content structures. It offers key solutions that are instrumental in creating high converting landing pages.

A landing page is an indispensable tool in a digital marketer’s toolkit. A/B split testing has gained a favorable reputation as a landing page optimization technique that helps in streamlining a direct marketing campaign. In addition, the behavioral targeting can be combined with testing to drive higher rates of conversions through effective imagery and calls to action. If you are set to embark on a marketing campaign with a resolve to extract the maximum value from every dollar spent on it, we can help you create Optimized Landing Pages for the same.

We at Valuebound understand your unique business needs to come up with custom enterprise level web solutions using Drupal. For further information on our service offerings, please Contact Us.

Top 10 Media Management Solutions for Drupal 7 & Drupal 8

Media asset management solutions have added a whole new dimension to how multimedia content and other digital assets are handled on your website. Drupal CMS is well-equipped with a host of Asset and Media Management Modules that make resource intensive tasks involving the updation and regulation of media files,effortlessly easier. Here we have hand-picked some of the best tools that will make managing media on a Drupal website a “plug-and-play” experience.

# Scald

Scald is quite popular with Drupal users as a flexible media management solution that effectively manages social media updates, images, audio, video and flash files. You have the option of using this module along with popular editors like CKEditor and Plupload for multiple uploads along with a user-friendly media library. Scald has a proven ability to scale and is optimized for performance as it uses its own caching system that also

#Asset

The Asset module is a one stop solution for some long-standing issues regarding reusable media files like documents, images and videos. A new entity called Media Asset is provided by this module that helps you in the creation of new types of media assets through the administration UI.

# Media

The Media Module provides an extensible framework that lets you manage files and multimedia assets irrespective of whether they are hosted on your own website or a third party website.It also serves as a drop in replacement for Drupal Core Upload Field which provides a unified user interface to let you upload and manage media files and other multimedia assets. It is equipped with flexible display filters that let you manipulate the images while you can mass import the files by dragging and dropping them with the help of the Plupload module

# YouTube Field

This module provides a simple field that allows you to add a youtube video or a content type or any other Drupal entity. A lightweight alternative to modules like Media and Video Embed Field, YouTube Field is built to add videos from more than one provider. An 8.x-1.x branch and nightly build has been created for the Drupal 8.0.0-beta 3 version.

# Media entity

This module provides a ‘base entity’ for a media element. A basic entity which can establish reference with all kinds of media objects like local files, youtube videos, images, tweets etc. The Media entity module combines D7 solutions like Scald, Mediabox, Asset & Field entity to provide a base module for the D8 media ecosystem.

# Wysiwyg

This module allows the unique feature of using the client side editors to edit content by simplifying the processes of installation and integration of an editor you would prefer. WYSIWYG also provides an abstraction layer that lets you integrate other Drupal modules in a website with relative ease.

# IMCE

An image and file uploader IMCE also doubles up as a browser that supports quotas and personal directories. You can carry out the basic file operations like uploading and deleting files, resizing images and creating thumbnails. It offers multiple features like file sorting, tabbed interface built in support for image insertion in text areas, ajax file operations and the options to create themable layouts with the help of tpl files. This module can be integrated into WYSIWYG editors like FCKeditor and TinyMCE as a plug-in by installing the IMCE Wysiwyg API bridge.

# Vimeo Video Uploader

Another easy way to integrate the Vimeo APIs with a Drupal website, the installation of Vimeo Video Uploader lets you create two fields in the selected content type to facilitate a video upload on Vimeo. After uploading the video you can embed the video URL on a site using the Video Embed Field.

# Video Embed Field

This module makes the task of embedding videos from Youtube and Vimeo easier by creating a single field type called Video Embed. In addition Video Embed Field provides multiple options to customize the configuration of a video for an administrator to decide on its style of appearance on the website. A field formatter which is a part of the module lets you retrieve and display thumbnails for each video.

# Field Slideshow

Field Slideshow module provides you with the unique functionality of building a slideshow from a single node as opposed to the Views slideshows that use multiple nodes for the same. This module gives you a slideshow formatter for image fields that integrates well with other modules like ColorboxMedia and Imagefield Crop.

Media management modules are contributed modules that integrate well with a Drupal website to extend and customize the Drupal functionality. If you are on a lookout for customized solutions to your media handling woes, leave it to our expertise. We at Valuebound understand your enterprise level requirements and craft web solutions based on your specific needs. For more details on our service offerings, please Contact Us.

Introducing the Drupal Commerce Axis Bank Payment Gateway Module

Valuebound released Axis Bank Payment Gateway Module  to implement the Axis Bank payment processing service on a website based on Drupal Commerce, an incredibly flexible e-commerce platform. This integration will facilitate the acceptance of payments from multiple sources such as credit cards, debit cards and net banking options.

The Axis Bank Internet Payment Gateway (IPG) enables a payment gateway on merchant websites to carry out online transactions 24x7. The payment gateway comes with a 128 bit encryption along with a MasterCard Secure Code and a "Verified by Visa" authentication for safe payment processing.

Requirements

One of the pre-requisites for using this module is opening a merchant account with Axis bank.

Drupal 7.x

# commerce module
# commerce_payment module
# commerce_ui module
# commerce_order module

Installation & Configuration

Step I

You will need to download and install the Commerce Axis Bank Payment Gateway Module to integrate Drupal Commerce with Axis Payment Gateway. The module should be placed in /sites/all/modules to create a path [DRUPAL-ROOT-FOLDER]/sites/all/modules/commerce_axisbank, before enabling it on a Drupal Commerce website

Step II

The module must be enabled before you configure it, at admin/modules>

Enabling the Axis Payment Gateway in Drupal

Step III

Next comes the configuration part wherein you will have to click on the configure link followed by filling out the fields and saving the same.

Configuring Axis Payment Gateway

Step IV

Once the module has been enabled, you have to enable Axis Bank Payment Gateway as your payment method.

Step V

The last step would be to enter your Axis Bank Merchant Account ID and the secret login password to set the payment method to live or test while saving the changes you have made.

You can download the module here. Valuebound is a regular contributor of code to the Drupal Community. We at Valuebound understand your unique business needs and cater to them with our enterprise level web solutions. For more information on our service offerings, please Contact Us.

Disclaimer : The brand names and logos used herein are the sole properties of their respective owners. None of the listings here are intended to imply any endorsement or direct affliation with respective companies.

Top 5 CRM Integrations for your Drupal Website

crm_integration_drupal

If you are a digital marketeer in a B2B organization or the CEO of a medium sized business selling directly to a customer, hunting for the best CRM solutions is indeed the need of the hour. The integration of CRM with web technology has come as a breakthrough in business process automation. Now you can monitor and manage your contacts, existing clients and leads generated through marketing campaigns on social media platforms without any hassles. With the conventional "on premise" CRM software giving way to cloud based CRM solutions, data management and sales force automation has become easier than ever before.

An "On-demand" CRM or an SaaS CRM alternative can be smoothly integrated with an automated marketing platform or a CMS based website. Here we look at some of the best enterprise level CRM Integrations for your Drupal website that will help you create a sound CRM strategy for your business.

Webform CiviCRM Integration (CiviCRM)

An open sourced CRM that specializes in Constituency relationship management, CiviCRM is a suite of CRM software specially focused on delivering solutions meant to manage and track online subscriptions and contacts.Webform CiviCRM Integrationis a form building module meant to seamlessly integrate CiviCRM with your Drupal website. This module adds fields of your choice to the webform along with an ability to auto-fill forms for the logged in subscribers and anonymous users.

RedHen CRM

Although a self-contained and customizable CRM software, RedHen CRM also serves as an integration point for other enterprise CRM solutions like Salesforce and Blackbaud. A Drupal Native CRM, RedHen has a structure that resembles Drupal Commerce. This CRM can be configured and customized based on an organization’s unique business needs.

Salesforce Suite

Salesforce CRM is a comprehensive CRM solution meant for tracking customer information and interactions while generating and nurturing more leads. The CRM automates an end-to-end sales process that begins with lead nurturing, moving on to the sales-ready phase where the leads get routed to the sales professionals. The Salesforce Suit of modules allows for a seamless integration of a Drupal website with Salesforce CRM as the Drupal entities like nodes and files get synchronized with Salesforce objects to push Drupal data to Salesforce and to import data from Salesforce.

Webform2Sugar (SugarCRM)

The range of SugarCRM products is meant to create an engaging interface between a client and an employee for better engagement across different platforms. A highly customizable CRM solution, SugarCRM is available in both on-premise and cloud versions. The Webform2Sugar module integrates SugarCRM with a Drupal website as it facilitates the capture of webform results that emerge as leads in SugarCRM. The powerfulautomation tools offered by SugarCRM get integrated with your Drupal website to improve customer experiences, spearhead productivity and reduction of operating costs.

Zoho CRM

Zoho CRM is a suite of business applications meant to provide office and project management solutions that include invoicing and recruiting. It lets you capture leads from your website by scanning the visitor data while you create contact strategies. It also lets you streamline your workflow by automatically assigning leads to your sales personnel. The Zoho CRM suite of modules provides for the integration of Drupal with Zoho CRM. Drupal objects like nodes and Ubercart orders can be synchronized effectively with Zoho CRM modules.

The SMEs can benefit from the highly scalable open source CRMs that make the integration of business process automation solutions, an effortless task. In addition to improving the communication process, a CRM software provides a holistic set of solutions based on predictive analysis, where a business gains actionable insights by identifying customer behaviour patterns. In short a CRM has managed to fuse together the customer service and sales processes to help organizations design optimized CRM strategies while reducing costs and huge investments.

If you have decided to opt for a particular web-based CRM solution for your Drupal website, let us guide you through the implementation process that will see the CRM software up and running in no time.We at Valuebound understand your diverse business needs that may range from creating corporate social networks to eCommerce websites or even community portals. Our enterprise level web solutions are crafted to meet your specifications. For further details on our Service offerings pleaseContact Us

Top 7 Drupal Modules to help you create a Responsive Web Design

A responsive web design has emerged as the mainstay of enterprise level web development as organizations strive to make their presence felt by adapting to the rapidly evolving digital landscape. With smartphones and phablets redefining the internet browsing trends, a responsive design is an intelligent solution to optimize the viewing experience of your website visitors. The idea of a responsive website centers around the premise of the site being accessible from a plethora of devices and mobile platforms with a single URL. Drupal is one of the many Content Management Systems providing this responsive adaptability with the help of various modules, some of which we have discussed here.

# Adaptive Images

This module provides images sourced from the Fields that readily adapt to the screen size of the device they are being viewed on. An easy to implement module that facilitates adaptive imaging, Adaptive Images integrates seamlessly with the built-in image styles to add the “adaptive” effect to the styles.

# Client Side Adaptive Image

Another module based on the adaptive imaging concept, this module lets you display the responsive images from a field formatter. An easy to setup module, it has no dependencies and neither does it require any modifications in the .htacess file. As the option of selecting an image rests with the client’s side, the module has been aptly named “Client-side adaptive image

# Fences

A convenient tool for specifying an HTML element for each field resulting the Fences module helps you create custom wrappers for fields. It eliminates the need for continuous reconfiguration of the same HTML element every time the field is displayed. This module provides a leaner markup when compared to the Drupal 7 Core while avoiding the extraneous classes.

# Breakpoints

The implementation of the Breakpoints module helps in enabling your theme so that the breakpoints are exposed to the other modules. It standardizes and keeps track of the breakpoints in height, width and resolution for different devices. The Breakpoints Module has a dependency in the Chaos Tool Suite while it works effectively along with the Picture and Breakpoints Panel modules.

# Picture

The Picture module is meant for managing images on a website with a responsive design. Along with optimizing display for both print and screen, this module prevents bandwith wastage while delivering alternate image sources based on the device being used. This module has two dependencies: the Breakpoints module and the other being the Image Styles module which is a part of Drupal Core. So if you are looking to install the Picture module, make sure that you have pre-installed and enabled Breakpoints along with the Image Styles modules.

# Fitvids

This module is meant to help you embed videos from sites like Youtube, Vimeo, Blip.tv, Kickstarter and Dailymotion. This j-Query plug-in helps you in resizing the videos based on the aspect ratio, making the videos fluid and responsive. A responsive theme like Zen, Omega or Adaptive theme along with the Libraries API, are the basic requirements that need to taken care of before enabling Fitvids.

# Flex Slider

The Flex Slider module is meant to integrate the Flex Slider library with a Drupal based website to create slideshows that can be resized to adapt to a particular browser window or mobile device. The module brings in features like touch enabled navigation, the usage of multiple sliders on a single page and configurable slide animations. It integrates with both Fields(flexslider_fields) and Views(flexslider_views).

The fluidity of a responsive web design helps in integrating a website with the advanced web browsing features in different mobile devices to create an optimized user experience. A smart alternative for a separate website for mobile devices, a responsive Drupal website lets you focus on crafting an effective SEO Digital marketing strategy that results in better social engagement and ROI. So it is high time that you considered a responsive web design if you are still stuck with administering an unresponsive website.

We at Valuebound understand your unique business needs to come up with custom enterprise level web solutions. For further information on our service offerings, please Contact Us.

LEMP Installation (Nginx, MariaDB, PHP And phpMyAdmin) on Ubuntu 14.04 in 4 steps

A combination of Linux based operating system and open-source software stack, LEMP provides a LAMP compatible platform for all applications. The acronym LEMP stands for Linux, Nginx (engine-x) HTTP Server, MySQL/MariaDB database and PHP/Perl/Python. A key distinguishing factor between LEMP and its predecessor LAMP is the replacement of the Apache Server with nginx ( pronounced “engine x”) in LEMP , which has made the server more scalable in response to high demand situations. Meanwhile you have an option to replace MySQL with MariaDB, a more scalable and robust SQL server with multiple enhancements.

Here's a look at how I configured a LEMP server on Ubuntu 14.04.

Step 1: Install Nginx

Install nginx using command :

sudo apt-get install nginx

Start Nginx service using the command:

sudo service nginx start

Open up web browser and navigate to http://ip-address/ or http://localhost/. See a screen with message Welcome to Nginx!

# Nginx Configuration:

Open the file /etc/nginx/nginx.conf  and enter the following command in terminal

sudo nano /etc/nginx/nginx.conf

Set the worker_processes To see the no. of CPU’s, use the command “lscpu”. In my case it’s “4″. So I set this as ’4′.

worker_processes 4;

After that Restart the Nginx Services :

sudo service nginx restart

The default vhost (server block) is defined in the /etc/nginx/sites-available/default file.

Under the Server section, as shown below add index.php line.

server {
      listen 80 default_server;
      listen [::]:80 default_server ipv6only=on;
      root /usr/share/nginx/html;
      index index.php index.html index.htm;
      # Make site accessible from http://localhost/
      server_name server.unixmen.local
}

Under the section #location ~ \.php$. Uncomment and modify the following lines as shown below.

location ~ \.php$ {
         try_files $uri =404;   ---------> Add this line
         fastcgi_split_path_info ^(.+\.php)(/.+)$;
         #       # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
         #
         #       # With php5-cgi alone:
         #         fastcgi_pass 127.0.0.1:9000;
         #       # With php5-fpm:
         fastcgi_pass unix:/var/run/php5-fpm.sock;
         fastcgi_index index.php;
         include fastcgi.conf;
    }

Added an extra line ‘try_files $uri =404;’ to prevent zero day exploits.

# Test Nginx configuration

Test the nginx configuration for any syntax errors using command:

sudo nginx -t

Sample output:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Finally restart nginx service

sudo service nginx restart

Step 2 : Install MariaDB!

A drop in replacement for MySQL and a reliable SQL server, MariaDB comes with a rich set of enhancements that makes it more robust and scalable.

# For Installing MariaDB enter this command in the terminal.

sudo apt-get install mariadb-server mariadb-client

During installation set database ‘root’ user password set password.

# Check the MariaDB version using command:

sudo mysql -v -u root -p

# Check if MariaDB is running or not, using the following command:

sudo service mysql status

Step : 3 Install PHP

PHP (recursive acronym for PHP: Hypertext Pre-processor) is a widely used open-source general purpose scripting language that is especially suited for web development and can be embedded into HTML.

# Install php5-fpm

sudo apt-get install php5 php5-fpm php5-mysql

# Configure PHP

Open php.ini file in any editor:

sudo nano /etc/php5/fpm/php.ini

Find the line ‘cgi.fix_pathinfo=1′, uncomment it and change the value 1 to 0.

cgi.fix_pathinfo=0

Now restart php-fpm service.

sudo service php5-fpm restart

# Test if PHP is running or not.

Create a sample “info.php” file in nginx document root folder.

sudo nano /usr/share/nginx/html/info.php

Add the following lines in it.

Save and exit the file.

PHP-FPM listens on the socket /var/run/php5-fpm.sock by default. To make PHP-FPM use a TCP connection, open the file /etc/php5/fpm/pool.d/www.conf,

 

sudo nano /etc/php5/fpm/pool.d/www.conf

Find the line listen = /var/run/php5-fpm.sock,

;listen = /var/run/php5-fpm.sock

and modify it to listen = 127.0.0.1:9000.

listen = 127.0.0.1:9000

Save and exit the file. Restart php5-fpm service.

sudo service php5-fpm restart

Now open the nginx configuration file:

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

Find the line fastcgi_pass unix:/var/run/php5-fpm.sock; and change it to fastcgi_pass 127.0.0.1:9000; as shown below.

location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;fastcgi_pass 127.0.0.1:9000;
        #         # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        #
        #         # With php5-cgi alone:
        fastcgi_pass 127.0.0.1:9000;
        #     # With php5-fpm:
        #         fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
   }

Save and exit the file.Now Restart nginx service.

sudo service nginx restart

# Manage Databases Using phpMyAdmin 

phpMyAdmin is a free open-source web interface tool used to manage your databases.

Step 4 : Install phpMyAdmin

Install it with command:

sudo apt-get install phpmyadmin

The phpMyAdmin installation has been completed.

Create a symbolic link between phpMyAdmin and the website root directory. Here our website root document directory is /usr/share/nginx/html/.

sudo ln -s /usr/share/phpmyadmin/ /usr/share/nginx/html

Restart nginx server again

sudo service nginx restart

Now manage your databases from phpMyAdmin web interface.

That’s it. LEMP server is now up and ready to use.

We at Valuebound are committed to furthering your business initiatives with our Enterprise level web solutions. For further information on our service offerings, please Contact us.

Five Takeaways from Drupalgeddon (SA-CORE-2014-005 SQL injection)

The Drupal based websites were supposed to be patched within seven hours of the critical security update release on October 15, 2014. The security release carried a clear warning about the security vulnerability (SA-CORE-2014-005 SQL injection), which was exploited by the hackers to write web bots that traced vulnerable sites on the web in no time.The Drupal 7 and Drupal core 8.0.x websites were found to be particularly vulnerable to the SQL injection while Drupal core 6.x websites were relatively safer if not running on the same server that hosted Drupal 7 sites. Here are a few precautionary and remediative measures that you must know as a Drupal site administrator.

# Patch your Installation on time: Take critical security releases seriously

As the popular adage goes a stitch in time indeed saves a lot more than nine. So the best strategy to ward off malicious attacks is to take the impending vulnerabilities into account and implement the solutions available.

Although two highly critical advisories were issued by the Drupal Security team in October this year, it failed to create enough hype about the impending doom. As a result the security of around 900,000 websites was compromised as they became targets of sweeping automated attacks. It affected all the Drupal core 7.x versions as many Drupal 7 websites chose to ignore or were too late to apply the patch release along with the Drupal 7.32 version update.

# Keep Track of your Vulnerabilities : Check for Backdoors

Sometimes there are multiple long standing issues that eventually lead to sites being hacked. But that is not the end of the road as the real challenge lies in resolving the issues by finding out the loopholes that led that security bug in. A vulnerability in the database abstraction API of Drupal 7 allowed attackers to generate requests that led to privilege escalation and arbitrary SQL execution. In short the hackers created backdoors(menu_router entry) to run a PHP code on your site which let them upload any content on it. Once the exploit files are installed to the server, the hacker can send http requests to execute PHP.

# If Hacked: Build a new server/rebuild an existing one

The choice between keeping a site or trashing it, after an attack should be made after considering the kind of efforts you would have to put in to restore it with a backup for all your files. You can replace the site with a static HTML file and take the site offline if it is being used to perpetuate malware. All the active sessions on the site should be put to an end and passwords must be replaced as a precautionary measure if you decide to keep the website. Keep track of the logins from external IP addresses by analysing the sessions table to identify fraudulent users. It will be a fairly easier task to rebuild a site with the help of an older database and file backup. You can check the integrity of your files using the Git status and scan the private file locations for *.php, *.sh or any other dubious files.

# Review the Damage : Follow the Breadcrumbs

While you can begin with examining the exploit files left on the server, a great option to conduct the post-mortem is to reverse engineer the tools that were employed to create these exploit files. Document all your exploited vulnerabilities along with solutions to fix the issues. Make an inventory of useful ideas to counter different vulnerabilities by assessing the damage done.

# Stay Safe: Continue following good security practices

An easy way to keep non-administrators off your site is to use an IP access control list in the Drupal .htaccess file. So the next time someone tries to post unauthorized content on your site, the result will be an error 404. The initial wave of attacks during Drupalgeddon were characterized by unauthorized content upload which could have been prevented if proper Unix File Permissions were set in advance. You must get accustomed to creating regular back-ups for both the database and the files on your web server.

Follow the Drupal community at Drupal.org to keep a tab on the latest developments and get into the habit of evaluating your website, especially in event of security releases and version updates.It is a good practice to notify fellow users about any security breaches on your site through the hosting company,as it may have implications for other websites hosted on the same server.Although every software is prone to vulnerabilities more often than not, the risk of future attacks can be minimized by making the platform write protected.

We at Valuebound understand your unique business needs while we strive to provide you with secure Drupal based Enterprise level Web Solutions. For information on our service offerings, please Contact Us.

Download the Drupal Guide
Enter your email address to receive the guide.
get in touch