Quantcast
Channel: Linux Tools – LinOxide
Viewing all 181 articles
Browse latest View live

How to Configure Xibo CMS on Ubuntu 14 / 15

$
0
0

Hi All, Today we are going to setup Xibo which is an open source digital signage(public display signs) solution that comprised of a web based content management system (CMS) and choice of Windows or Android signage players. The best way to capture the attention of people for your very important announcements can be done with digital signs using Xibo. It lets us to turn PCs and TVs into a distinctive way of getting the word out, transforming them into information desks which you can place in strategic locations to draw people's attention.

Using Xibo, you can set up your own digital signage server that can push out images, video, and even PowerPoint presentations to kioks automatically, allowing you to keep your entire organization up to date on your latest news without resorting to mass e-mailings or having to hand-edit files or slideshows on multiple machines.

Xibo Prerequisites

Xibo is a web based application developed in PHP language, so we need to install a Web server, database and PHP5 including its some extra supporting libraries.

Let's follow the below steps to complete the prerequisites.

1) System Update

Prepare your system with latest updates, to do so must have access to the Internet and sudo privileges. Once you are login to your Ubuntu server run the below command to update your system.

# apt-get update

2) Installing Packages

As we discussed earlier Xibo is a web based application, so we have to install a web server, database and PHP5. To install all these required packages including some of the shown below PHP libraries run the below command.

# apt-get install apache2 mysql-server php5 php5-curl php5-gd php5-mysql php5-mcrypt

Configure the password for the mysql root user as you will be asked to do so during the first time installation of MySQL database.

3) Downloading Xibo

After installing the required packages, download the Xibo installation package by using wget command as shown below.

# wget https://github.com/xibosignage/xibo-cms/archive/1.7.5.tar.gz -O xibo-server.tar.gz

Download Xibo

To extract the compressed archive run the below command to extract it.

# tar -zxvf xibo-server.tar.gz

4) Setup Web Server

Before moving to the installation process of Xibo, we will configure the document root directory for Xibo and assign it the apache rights. First run the below command to move the extracted package into the document root directory and give it permissions of Apache Web server so that you can have access its web interface.

# mv xibo-cms-1.7.5/ /var/www/html/xibo-server

# chown www-data:www-data -R /var/www/html/xibo-server

Then create a directory for the media files to be stored in by using the below command.

# mkdir /media/xibo-library

# chown www-data:www-data -R /media/xibo-library

Installing Xibo Server

Let's start the web installation of Xibo Server and complete the steps to complete its setup by using the below steps by open the below URL in your favorite web browser.

http://your_servers_ip/xibo-server/

1) Extensions Test

Installing Xibo

You might get an error of missing libraries in ubuntu 15 like Mcrypt extension. To resolve the mcrypt issue let's do the following.

# updatedb
# locate mcrypt.ini
# locate mcrypt.so

Enabling Mcrypt

Then open the 'mcrypt.ini' file to configure its extension.

# vim /etc/php5/mods-available/mcrypt.ini

; configuration for php MCrypt module
extension=/usr/lib/php5/20131226/mcrypt.so
:wq!

After saving the file create the symbolic links in between the below files and then restart Apache web service.

# ln -s /etc/php5/mods-available/mcrypt.ini /etc/php5/cli/conf.d/20-mcrypt.ini
# ln -s /etc/php5/mods-available/mcrypt.ini /etc/php5/apache2/conf.d/20-mcrypt.ini

# service apache2 restart

After that click on the 'Retest' button to verify the successful installation of all extensions and press the Next key to proceed forward upon success.

2) Database Settings

Xibo needs to set-up a connection to your MySQL database.

If you have not yet created an empty database and database user for Xibo to use, and know the user name / password of a MySQL administrator stay on this tab, otherwise click "Use Existing" as shown below.

Xibo DB setup

3) Setup Admin

Xibo needs an administrator user account to be the first user account that has access to the CMS, choose the appropriate user and then click on the Next button to proceed.

Xibo Admin

4) Media Location

Xibo needs somewhere to store the things you upload to be shown, so configure the location and its secret key here as shown.

Xibo Storage Location

5) Xibo Login

Congratulations, initial web installation setup is complete now login to your Xibo server by providing the admin account user credentials.

Xibo Login

Welcome to the Xibo CMS dashboard now enjoy using Xibo, to get further help in using Xibo CMS click on the Getting Started Guide as shown.

Xibo CMS Dashboard

Conclusion

I hope you get this article much helpful to setup Xibo on Ubuntu 14/15. If you wish to upload large size of images, you can do so by the configuration of 'Php.ini' fil. For further settings and customization of Xibo CMS you can consider reading its official documentation for more details. Thank you for reading, and get back to us if you face any issue and leave your valuable comments.

The post How to Configure Xibo CMS on Ubuntu 14 / 15 appeared first on LinOxide.


How to Configure vTiger CRM on CentOS 7

$
0
0

vTiger CRM is a web based, modular and complete Open Source full-fledged customer relationship management system for sales force automation, customer support & service, marketing automation, procurement & fulfillment effectively. In addition to managing your customer data, vtiger offers also connectivity to a variety of other software systems in the existing software architecture. So vtiger can be connected to enterprise resource planning (ERP) systems without any problems, for example, to integrate already existing data into other critical processes of your business.

Vtiger CRM is a native thin-client, browser-based application built on the LAMP/WAMP (Linux/Windows, Apache, MySQL and PHP) stack. We will be going to install it on Linux CentOS 7 with LAMP setup.

1) Basic System Setup

Prepare your system with your minimum required system resources to install CentOS 7 and minimal packages on it and make sure that you have configured your server with a fully qualified domain name and are connected to Internet.

Then login to your server with root user or sudo user and update your with latest update with below command.

# yum update

2) LAMP Setup

You consider following our previous article to setup LAMP setup on CentOS 7 in details. We will be using Apache web server with MySQL MariaDB and PHP as a prerequisites of vTiger CRM installation on CentOS 7.

Starting the installation process of LAMP stack, let's run the below command that is all in one for installing Apache,MySLQ and PHP with required libraries.

# yum install httpd php gd gd-devel php-gd php55w php55w-mysql mariadb-server php55w-mcrypt php55w-dom php55w-imap php55w-mbstring

Press on the 'Y' key and enter to continue installing all the packages including their dependencies as shown in the image below.

AMP installation

To start and enable services run automatically at the time of boot up, run the following commands.

# systemctl start httpd
# systemctl enable httpd

# systemctl start mariadb
# systemctl enable mariadb

3) vTiger DB Setup

After LAMP installation, now we connect to the MySQL/MariaDB after setting up its root user using below commands.

# mysql_secure_installation

After executing the above command you will asked for few configurations to secure your database. Let's choose the appropriate options as shown.

Secure MySQL

Now we can connect to the MySQL/MariaDB console using the root password. After connecting run the commands below to create a new database and its user with specific user rights on the vtiger DB.

# mysql -u root -p
> CREATE DATABASE vtiger;
> CREATE USER 'vtiger'@'localhost' IDENTIFIED BY 'tiger***';
> grant all privileges on `vtiger`.* to 'vtiger'@'localhost';
> FLUSH PRIVILEGES;
> exit

vtiger DB

4) Setup vTiger Download

To download the installation package of vTiger for Linux, open the link of vTiger Download Page .

vTiger Download

You can also copy the link of download source then use the below command to get it on your server.

# wget http://sourceforge.net/projects/vtigercrm/files/vtiger%20CRM%206.4.0/Core%20Product/vtigercrm6.4.0.tar.gz

To extract and move the package into the web document root directory use below commands.

# tar -zxvf vtigercrm6.4.0.tar.gz

# mv vtigercrm /var/www/html/

# chown apache: -R /var/www/html/vtigercrm

5) vTiger Web Installation

Its time to start the web installation of vTiger on CentOS 7. Open your web browser and point the URL below.

http://172.25.10.173/vtigercrm/

Installing vTiger

Welcome to Vtiger CRM 6 Setup Wizard.
This wizard will guide you through the installation of Vtiger CRM6, click on the 'INSTALL' button to proceed forward and accept the License agreement for using vTiger CRM.

License Agreement
vTiger Agreement

Next you will reach at the Prerequisites check page where you will see the difference between and required and the current values. You might need to fix some parameters in the configuration file of PHP that 'php.ini' according the recommended settings shown in this section.

Make sure to restart Apache services after make changes in PHP file and click on the retest button to verify all the prerequisites are fine.

Prerequisites Check
Prerequisites check

Choose the system configurations with data base and admin user settings.

System Configurations
system configurations

In the next step you can verify all settings to finalize database, system and admin user settings.

Final Configurations
final configurations

The last step is to choose the type of your industry then it will takes few minutes to complete the installation.

Installation Progress
installation process

Choose you required CRM modules from the list of its different available features and click on the NExt button to complete the installation.

vTiger Modules
vTiger Modules

That's it, you have completed the web installation setup of vTiger CRM. Now you can see its web dashboard where you can add widgets to customize your dashboard according to your own way.

vTiger CRM dashboard

Conclusion

You can use the VTiger to enhance your marketing campaign creation and management, sales force automation, using the same solid features, benefits and more than those solutions. They support security, inventory and activity management. vTiger is all in one CRM solution that provide the complete solution for managing your users, sales or support department of your industry. Thanks for reading this article and leave your valuable comments or suggestions.

The post How to Configure vTiger CRM on CentOS 7 appeared first on LinOxide.

How to Install Open-audIT on CentOS 6 / 7

$
0
0

Managing your IT infrastructure is always been a hard job if you are not taking advantage of free and Open Source network discovery, inventory and auditing application like Open-audit. It actually tell you exactly what is on your network, how it is configured and when it changes. So, we say that Open-AudIT is a database that contains the information about all the devices connected in our network then shows them on the web interface. The Open-AudIT application is written in php, bash and vbscript that makes the changes and customization both quick and easy.

To scan network and its devices automatically Open-AudIT can be configured with daily scan as per recommended for systems. That way, you can be assured of being notified if something changes. Its powerful reporting framework enables information such as software licensing, configuration changes, non-authorized devices, capacity utilization and hardware warranty status with its ability to request Reports to be run on a pre-defined schedule and emailed.

Basic Requirements

There are few basics requirements that must be figured out before the start of Open-audIT installation setup on CentOS 6/7.

1- FQDN, Hostname
2- System Update
3- Apache Web Server
4- PHP Configurations
5- MySQL Database
6- Nmap and SNMP

1) Hostname

Starting from first step, login to your centOS 6/7 server using the root or sudo user. Configure your network and host name settings by opening the hosts file with a text editor.

# vim /etc/hosts

2) System Update

If you are using an old version of CentOS, then you can upgrade it using below command.

# yum upgrade

After that make sure that your CentOS server is upto date with latest security updates and patches. You can update your system with below command.

# yum update

3) Apache, MySQL, PHP

Open-audIT is a web based apploication developed in PHP language. So we need to setup a web server, a data base server and some PHP libraries for a fully functional Open-Audit Web portal.

So, we will be installing all these required packages in one go using the below commands.

# yum -y install epel-release

# yum install httpd mysql mysql-server php php-cli php-mysql php-ldap php-mbstring php-mcrypt php-snmp php-xml nmap net-snmp zip curl perl wget sshpass screen samba-client

Press 'Y' to yes for starting installation of packages, then a list following packages will installed as shown in the image while n centOS 7 MariaDB package will be installed instead of MySQL. Open-AudIT uses Nmap for discovery, sshpass for Linux auditing and screen / samba-client / winexe for Windows auditing without these packages discovery will not work. If you are unable to install winexe using 'yum' the follow this link to get the Winexe RPM Package

# wget http://download.opensuse.org/repositories/home:/ahajda:/winexe/CentOS_CentOS-6/x86_64/winexe-1.00-2.5.x86_64.rpm
# rpm -i winexe-1.00-2.5.x86_64.rpm

Installing Packages

After installation completes start apache web server and and MySQL DB service and configure the both to run automatically at startup.

In centos6

# service httpd start
# chkconfig –levels 235 httpd on

# service mysqld start
# chkconfig –levels 235 mysqld on

In centos7

# systemctl start httpd.service
# systemctl enable httpd.service

# systemctl start mysqld.service
# systemctl enable mysqld.service

Run the command below to setup root password for the MySQL/MariaDB and choose the default options after setting up the new password.

# mysql_secure_installation

4) PHP and Apache Configuration

To configure PHP configurations, Open its default file with a text editor and update its parameters as shown.

[root@open-audit ~]# vim /etc/php.ini

# sed -i -e 's/memory_limit/;memory_limit/g' /etc/php.ini
# echo "memory_limit = 512M" >> /etc/php.ini
# sed -i -e 's/max_execution_time/;max_execution_time/g' /etc/php.ini
# echo "max_execution_time = 300" >> /etc/php.ini
# sed -i -e 's/max_input_time/;max_input_time/g' /etc/php.ini
# echo "max_input_time = 600" >> /etc/php.ini
# sed -i -e 's/error_reporting/;error_reporting/g' /etc/php.ini
# echo "error_reporting = E_ALL" >> /etc/php.ini
# sed -i -e 's/display_errors/;display_errors/g' /etc/php.ini
# echo "display_errors = On" >> /etc/php.ini
# sed -i -e 's/upload_max_filesize/;upload_max_filesize/g' /etc/php.ini
# echo "upload_max_filesize = 10M" >> /etc/php.ini
# sed -i -e 's/date.timezone/;date.timezone/g' /etc/php.ini
# echo "date.timezone = Europe/London" >> /etc/php.ini

PHP Configurations

Now configure the hostname in configuration file of apache web server using below command.

# echo "ServerName open-audit" >> /etc/httpd/conf/httpd.conf

Then change the shell for Apache and restart its services to take effect of the changes made.

[root@open-audit ~]# chsh -s /bin/bash apache
Changing shell for apache.
Shell changed.
[root@open-audit ~]# systemctl restart httpd.service

Using the commands below we will setup the SUID for the nmap binary so that it be used for apache front end to run scripts which call nmap.

[root@open-audit ~]# chmod u+s /usr/bin/nmap

Now run the below command and make sure that you see the IP Address of your Open-AudIT server.

[root@open-audit ~]# ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'

172.25.10.173

It looks great, now our next step is to move forward to start the installation of Open-Audit after downloading its latest package.

Installing Open-Audit

To install Open-Audit, Let's Open the Offical Download Page of Open-Audit to get its latest package put your information.

Download Open-Audit

Or use the the command below after copying the download source to get its package on your server.

# wget http://dl-openaudit.opmantek.com/OAE-Linux-x86_64-release_1.8.4.tar.gz

wget open-audit

Extract the package into '/usr/local' directory using below command.

# tar -zxvf OAE-Linux-x86_64-release_1.8.4.tar.gz -C /usr/local/

Once the package is extracted move to that directory and run the installation script using below command.

[root@open-audit Open-AudIT-1.8.4]# ./installer -t /var/www/html/oa

Here you might come across the below error in CentOS 7.

Can't locate version.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at ./installer line 38.
BEGIN failed--compilation aborted at ./installer line 38.

To fix, Open the installation script using any editor and comment out line number 38.

After that re run the installation script and it will show that the installer will install Open-AudIT into /var/www/html/oa.

Open Audit Installation

Press "Y" key or Hit to proceed then you will see that a number steps will be performed by this installation script including "Web access", "Updating YUM metadata cache", "Checking Installed Packages" and will also install the missing packages. So, you don't need to worry about if you missed any package to be installed. After that a list of following post installation operations will be performed.

Installing Open-Audit

The installation script will integrates Open-Audit with Apache and Databases, where you will be asked to provide the password for the root user.

++++++++++++++++++++++++++++++++++++++++++++++++++++++
Integration of Open-AudIT with Apache
++++++++++++++++++++++++++++++++++++++++++++++++++++++

Ok to install the updated Apache proxy config file?
Type 'y' or hit to accept, any other key for 'no':
Restarting Apache

++++++++++++++++++++++++++++++++++++++++++++++++++++++
Installing Open-AudIT files
++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++++++++++++++++++++++++++
Copying Open-AudIT Web files
++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++++++++++++++++++++++++++
Open-AudIT Database Setup
++++++++++++++++++++++++++++++++++++++++++++++++++++++

We require the MySQL root user credentials to create the database and user.
Enter the MySQL root user's password:

After performing final update operations and Adjusting Open-AudIT for standalone operation to setup Opmantek Daemon Startup, the installation process will be completed as shown below.

Open-audit installation

Open-Audit Web Access

Let's Open you web browser and give your server's IP or FQDN in the address bar then click on the Open Audit button to get started with Open Audit.

Openmantek

Then login with default credentials providing the user and password after that change the credentials.

Open Audit Login

Upon successful credentials you will directed toward the welcome screen of Open Audit as shown.

Welcome to Open Audit

Now you free to use Open Audit by using its admin web console to discover new devices, adding new devices and groups of your choice.

Open Audit groups

Conclusion

At the end end of this article you have learned the installation of Open-Audit on CentOS 7/6 with LAMP stack and able to scan your system for auditing as well as adding new devices using its discovery or manually. This is one of the best and most important tool mostly used in large enterprise environments to keep record of their infrastructure.

The post How to Install Open-audIT on CentOS 6 / 7 appeared first on LinOxide.

How to Setup Chamilo, an E-Learning System on Ubuntu 15.04 / CentOS 7

$
0
0

Chamilo is a free and open source e-learning management system designed and developed for improving access to education and knowledge globally. It is released under the license of GNU General Public License version 3 or latter. It is currently backed up and supported by the Chamilo Association, a non-profit organization with several aims including the promotion of the software, ensuring the software 100% free, the maintenance and creation of network of services providers and software contributors. This piece of software allows us to create a virtual campus for the provision of online or semi-online training. Chamilo comes in two different tastes, one is the Chamilo Learning Managemt System (LMS) whereas the other is the Chamilo Learning Content Mangement System (LCMS) which offers a closely related but alternative platform model to the Chamilo LMS enabling users to manage their content in a particularly broad and flexible way. Here in this tutorial, we are talking about the LMS edition of Chamilo when we say Chamilo. To setup Chamilo in linux machine running Ubuntu 15.04 and CentOS 7, we'll need to follow the below steps.

1. Installing LAMP Stack

LAMP Stack stands for the combination of Apache Web Server, MariaDB or MySQL Database server and PHP modules in a Linux server. So, first of all we'll need to setup a LAMP Stack in our linux machine as Chamilo requires a server having an Apache Webserver (HTTPD), MySQL or MariDB  5.1 or latter and PHP 5.3 or latter installed and configured. Here in this tutorial, we'll install MariaDB instead of MySQL server for database as MariaDB is completely community driven with speed improvements and free extensions. To do so, we'll need to run the following commands under root or sudo privilege with respect to the distribution of linux installed in the machine.

On Ubuntu 15.04

# apt-get update
# apt-get install apache2 mariadb-server libapache2-mod-php5 php5-mysql php-pear php5-gd php5-intl php5-curl php5-xdebug php5-dev php5-ldap php5-xcache

On CentOS 7

# yum install httpd mariadb-­server php-­mysql php-­pear php-gd php-­xml php­-intl php­-curl php­xdebug php­-dev php-mbstring php-ldap php-­xcache

2. Installing Xapian

After we have installed our LAMP stack, we'll now need to setup Xapian in our linux machine. Though this is an optional package needed for Chamilo, we'll gonna install it in our system so that our Chamilo will work with its full features. Xapian PHP module has some license conflict with that of PHP so that, the binary formats of Xapian PHp module is not distributed only. That is the reason why php5-xapian is not available in the repository of Ubuntu or CentOS. So, what we'll need to do is install it manually using the latest stable release of Xapian. So, first we'll setup the dependencies required for configuring, compiling and installing Xapian in our linux machine.

Installing Dependencies

To setup the required dependencies for the installation of Xapian, we'll gonna run the following commands.

On Ubuntu 15.04

# apt-get update
# apt-get install gcc g++ build-essential uuid-dev

On CentOS 7

# yum install gcc-c++ libuuid-devel

Downloading Xapian Packages

Once the required dependencies are installed, we'll gonna download the latest and stable Xapian packages from its official download page ie http://xapian.org/download . While writing this article, the stable latest release of Xapian was 1.2.21 which we'll find the link from the site and then download the tarballs with wget.

# wget http://oligarchy.co.uk/xapian/1.2.21/xapian-core-1.2.21.tar.xz
# wget http://oligarchy.co.uk/xapian/1.2.21/xapian-omega-1.2.21.tar.xz
# wget http://oligarchy.co.uk/xapian/1.2.21/xapian-bindings-1.2.21.tar.xz

Next, we'll need to extract the downloaded tarballs using tar.

# tar xvfJ xapian-core-1.2.21.tar.xz
# tar xvfJ xapian-omega-1.2.21.tar.xz
# tar xvfJ xapian-bindings-1.2.21.tar.xz

Compiling and Installing

After the extraction has been completed, we'll gonna compile and install our xapian package. First, we'll gonna compile xapian-core then xapian-omega and at last, we'll compile xapian-bindings. While running ./configure command under xapian-bindings, we'll need to make sure that we add --with-php flag so that we can only install xapian php module out of the box.

# ./configure

# make

# make install

3. Configuring PHP

As we have installed all the required PHP modules in the above step, we'll now configure our PHP settings in order to gain the best performance out of Chamilo. To finetune our PHP configuration for Chamilo, we'll need to edit a file named php.ini which is located in different directory with respect to the distribution.

On Ubuntu 15.04

In Ubuntu distributions, php.ini file is located under /etc/php5/apache2/ directory so, we'll gonna edit he file using a text editor.

# nano /etc/php5/apache2/php.ini

On CentOS 7

Whereas, in CentOS, its situated under /etc/ directory so, we can simply edit it by running the following.

# nano /etc/php.ini

Once, the file is opened using a text editor, we'll simply need to append the file to have the following configuration.

date.timezone = 'America/New_York'
max_execution_time = 300
max_input_time = 600
memory_limit = 256M
post_max_size = 100M
upload_max_filesize = 100M
short_open_tag = Off
safe_mode = Off
magic_quotes_gpc = Off
magic_quotes_runtime = Off
session.cookie_httponly = On
extension = xapian.so

4. Starting Apache and MariaDB server

After we have installed the required dependencies, we'll now start our Apache web server and MariaDB database server as we need to configure them to make them ready to go with Chamilo.

On Ubuntu 15.04

As Ubuntu 15.04 is shipped with systemd as the default init system, we'll use systemctl command to start them. To do so, we'll need to run the following command.

# systemctl start apache2 mysql

Then, we'll make them start automatically in every system boot by enabling the daemons.

# systemctl enable apache2 mysql

Synchronizing state for apache2.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d apache2 defaults
Executing /usr/sbin/update-rc.d apache2 enable
Synchronizing state for mysql.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d mysql defaults
Executing /usr/sbin/update-rc.d mysql enable

On CentOS 7

Likewise, CentOS 7 is also shipped with systemd as the default init system so, we'll simply need to execute the following command in the console.

# systemctl start httpd mysql

Next, as we did with Ubuntu, we'll simply enable the daemons to start in every system boot.

# systemctl enable httpd mysql

5. Setting MariaDB Root Password

On CentOS 7/Ubuntu 15.04

Now, as we are starting MariaDB for the first time and no password has been assigned for MariaDB so, we’ll first need to configure a root password for it. Then, we’ll gonna create a new database so that it can store data for our Chamilo installation.

To configure MariaDB and assign a root password, we’ll need to run the following command.

# mysql_secure_installation

This will ask us to enter the password for root but as we haven’t set any password before and its our first time we’ve installed mariadb, we’ll simply press enter and go further. Then, we’ll be asked to set root password, here we’ll hit Y and enter our password for root of MariaDB. Then, we’ll simply hit enter to set the default values for the further configurations.

….
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
… Success!

installation should now be secure.
Thanks for using MariaDB!

Configuring MariaDB

6. Creating Chamilo Database

We'll now go for creating a new database for our Chamilo LMS so that it can store its data into our MariDB database. To do so, first we'll need to login to our MariaDB console by running the following command.

# mysql -u root -p

Then, it will ask us to enter the password of root user which we had just set in the above step. Then, we'll be welcomed into the MariaDB console in which we'll create our new database, database user and assign its password and grant all privileges to create, remove and edit the tables and data stored in it. Here, we'll set database name, user and password as chamilodb, chamilouser and Pa$$worD123 respectively.

> CREATE DATABASE chamilodb;
> CREATE USER 'chamilouser'@'localhost' IDENTIFIED BY 'Pa$$worD123';
> GRANT ALL PRIVILEGES ON chamilodb.* TO 'chamilouser'@'localhost';
> FLUSH PRIVILEGES;
> EXIT;

Note: It is strongly recommended to replace all the above variables ie database name, user and password for security measure.

7. Downloading latest Chamilo LMS

Next, we'll download the latest release of Chamilo LMS ie 1.10 which we can download from the official download page ie https://chamilo.org/chamilo-lms/#downloads . Here, we'll gonna download the compressed zip file using wget file downloader by running the following command in a terminal or console.

# cd /tmp/
# wget https://github.com/chamilo/chamilo-lms/archive/v1.10.0.zip

--2015-11-14 19:56:47-- https://github.com/chamilo/chamilo-lms/archive/v1.10.0.zip
Resolving github.com (github.com)... 192.30.252.130
...
Connecting to codeload.github.com (codeload.github.com)|192.30.252.145|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 223918345 (214M) [application/zip]
Saving to: 'v1.10.0.zip'
v1.10.0.zip 100%[============================>] 213.54M 12.2MB/s in 20s
2015-11-14 19:57:09 (10.8 MB/s) - 'v1.10.0.zip' saved [223918345/223918345]

After the download is completed, we'll extract the zip file using zip command as show below.

# unzip v1.10.0.zip

Then, we'll gonna move the extracted folder into the Apache Webroot ie /var/www/html/ by default.

# mv chamilo-lms-1.10.0 /var/www/html/chamilo

8. Configuring Apache Web Server

We'll add a new virtualhost in the apache web server so that we can define a specific configuration to the Chamilo installation.  Creating it will help us to define ports, webroot, domain, alias and other configurations for our Chamilo installation. Here are some configurations we'll setup in this tutorial respective to the distribution of linux we're running.

On Ubuntu 15.04

# touch /etc/apache2/sites-available/chamilo.conf
# ln -s /etc/apache2/sites-available/chamilo.conf /etc/apache2/sites-enabled/chamilo.conf
# nano /etc/apache2/sites-available/chamilo.conf

Now, we'll gonna add the following lines of configuration into the opened file.

<VirtualHost *:80>
ServerAdmin info@chamilo.linoxide.com
DocumentRoot /var/www/html/chamilo/
ServerName chamilo.linoxide.com
ServerAlias www.chamilo.linoxide.com
<Directory /var/www/html/chamilo/>
Options FollowSymLinks
AllowOverride All
</Directory>
ErrorLog /var/log/apache2/chamilo.linoxide.com-error_log
CustomLog /var/log/apache2/chamilo.linoxide.com-access_log common
</VirtualHost>

After done, we'll gonna save the file and exit the text editor. Then, we'll need to make sure that mod is enabled. To enable it, we'll need to execute the following command.

# a2enmod rewrite

Then, we'll restart our apache web server.

# systemctl restart apache2

On CentOS 7

In our CentOS machine, we'll create a file named chamilo.conf under /etc/httpd/conf.d/ directory using a text editor.

# nano /etc/httpd/conf.d/chamilo.conf

Then, we'll gonna add the following lines of configuration into the file.

<VirtualHost *:80>
ServerAdmin info@chamilo.linoxide.com
DocumentRoot /var/www/html/chamilo/
ServerName chamilo.linoxide.com
ServerAlias www.chamilo.linoxide.com
<Directory /var/www/html/chamilo/>
Options FollowSymLinks
AllowOverride All
</Directory>
ErrorLog /var/log/httpd/chamilo.linoxide.com-error_log
CustomLog /var/log/httpd/chamilo.linoxide.com-access_log common
</VirtualHost>

Once done, we'll simply save the file and exit the editor. We'll now need to make sure that mod is enabled. To enable it, we'll need to execute the following command.

# a2enmod rewrite

And then, we'll gonna restart our apache web server.

# systemctl restart httpd

9. Fixing Ownership and Permission

We'll also need to set the ownership of the Chamilo installation path as the Apache process user so that apache web server will have full access over every directory and files of Chamilo. To do so, we'll need to run the following commands with respect to distribution of linux we are running, as there are different usernames used.

On Ubuntu 15.04

# chown -R www-data: /var/www/html/chamilo

On CentOS 7

# chown ­-R apache: /var/www/html/chamilo

Then, we'll need to set the permission of some directories as writable by executing the following command.

# cd /var/www/html/chamilo
# chown -R 755  main/lang main/inc/ main/default_course_document/images/

10. Configuring Firewall

Next, we'll gonna configure the firewall program to allow http or port 80 to expose out of the box. This will allow Chamilo to be accessible within the network connected. As both CentOS 7 and Ubuntu 15.04 are shipped with systemd as init system, firewalld are installed in most machines. To allow http (port 80) we'll need to run the following command.

# firewall-cmd --permanent --add-service=http

success

# firewall-cmd --reload

success

11. Chamilo Web Installation

Finally, as we have setup and configured everything correctly in above steps, we'll now go for the web based installation of Chamilo LMS. To do so, we'll need to point our web browser to http://ip-address/chamilo or http://domain.com . Here, in this tutorial, we'll point our browser to http://139.162.14.134/chamilo . After done, we'll be welcomed by the Chamilo LMS Installation Page as shown below in which we'll click on "Install Chamilo" button in order to continue the installation process.

Web Installation Chamilo

Then, we'll be navigated to our installation page in which we'll be required to select the installation language. Here, we'll select English and click on "Next" button to continue to the next page.

Selecting Language

After done, we'll head forward towards the Requirements section in which we'll see if the required dependencies, ownerships and permissions are configured correctly or not. As we have already configured everything needed for running Chamilo smoothly, we'll see everything in green and blue color. If we see any red color, we'll know that the respective requirement is missing or misconfigured.

Checking Permissions Dependencies

After verifying that everything is fine, we'll click on New Installation as we're going for a new installation of Chamilo. But if you are following this tutorial for Upgrading, then you can simply click on Upgrade button. Next, we'll be headed towards the License Agreement page in which we'll simply accept the license by ticking the box with I Accept text.

License Agreement

Now, here is the main part of the installation. Here, we'll need to enter the database configuration in order to connect Chamilo with the MariaDB database server so that it can store and retrieve its required data. Here, we'll need to enter the configuration according to the above step, database host as localhost, port as 3306 which is the default port of MariaDB whereas Database login, password and database name as chamilouser, Pa$$worD123 and chamilodb respectively.

Setting Database Info

After every configuration is done, Chamilo will gain access to the database and then will direct us to the overview page where we'll enter the information for our Chamilo application like Main Language, URL, Portal name, company's name, etc as shown below. After done, we'll go ahead towards the Install Page.

Configuring Admin Settings

Here, we'll be shown all the settings and information set for the installation of Chamilo LMS. Now, in order to for the installation of it with those configurations, we'll need to click on Install Chamilo button.

Confirming Changes

After the installation process is completed, we'll be redirected to a post installation page where we'll be asked to make the entire app/config/ directory read-only and delete the main/install directory.

Post Installation

We'll now go for the security measures and do as said in the above page. To make the whole app/config/ directory read-only, we'll run the following command.

# chmod -R 0555 /var/www/html/chamilo/app/config/

Then, to remove the main/install/ directory, we'll execute as follows.

# rm -rf /var/www/html/chamilo/main/install/

After done, we'll click on Go to  your newly created portal button then we'll enter the required login details that we had set above in order to login to the dashboard.

Chamilo Login Screen

Once we have logged in, we'll finally be directed to the Control Panel of Chamilo LMS as shown below.

Chamilo Dashboard

Conclusion

Finally, we've successfully configured and installed Chamilo LMS in our linux machine running Ubuntu 15.04 and CentOS 7. It is a beautiful web based learning management system (LMS) focusing on ease of use, re-usability, collaboration and sharing. It is full of different plugins which are essential for an e-learning system. The community of Chamilo is growing day by day as this project is highly stable and effective on managing all types of e-learning system. It consists of 27 gorgeous designs which one can use as base to design or customize according to one's requirement and desire. I wanna simply say that Chamilo is whole all-in-one Online Campus. If you have any questions, suggestions, feedback please write them in the comment box below so that we can improve or update our contents. Thank you !

The post How to Setup Chamilo, an E-Learning System on Ubuntu 15.04 / CentOS 7 appeared first on LinOxide.

How to Install Bugzilla with Apache and SSL on FreeBSD 10.2

$
0
0

Bugzilla is open source web base application for bug tracker and testing tool, develop by mozilla project, and licensed under Mozilla Public License. It is used by high tech company like mozilla, redhat and gnome. Bugzilla was originally created by Terry Weissman in 1998. It written in perl, use MySQL as the database back-end. It is a server software designed to help you manage software development. Bugzilla has a lot of features, optimized database, excellent security, advanced search tool, integrated with email capabilities etc.

In this tutorial we will install bugzilla 5.0 with apache for the web server, and enable SSL for it. Then install mysql51 as the database system on freebsd 10.2.

Prerequisite

  • FreeBSD 10.2 - 64bit.
  • Root privileges.

Step 1 - Update System

Log in to the freebsd server with ssl login, and update the repository database :

sudo su
freebsd-update fetch
freebsd-update install

Step 2 - Install and Configure Apache

In this step we will install apache from the freebsd repositories with pkg command. Then configure apache by editing file "httpd.conf" on apache24 directory, configure apache to use SSL, and CGI support.

Install apache with pkg command :

pkg install apache24

Go to the apache directory and edit the file "httpd.conf" with nanao editor :

cd /usr/local/etc/apache24
nano -c httpd.conf

Uncomment the list line below :

#Line 70
LoadModule authn_socache_module libexec/apache24/mod_authn_socache.so

#Line 89
LoadModule socache_shmcb_module libexec/apache24/mod_socache_shmcb.so

# Line 117
LoadModule expires_module libexec/apache24/mod_expires.so

#Line 141 to enabling SSL
LoadModule ssl_module libexec/apache24/mod_ssl.so

# Line 162 for cgi support
LoadModule cgi_module libexec/apache24/mod_cgi.so

# Line 174 to enable mod_rewrite
LoadModule rewrite_module libexec/apache24/mod_rewrite.so

# Line 219 for the servername configuration
ServerName 127.0.0.1:80

Save and exit.

Next, we need to install mod perl from freebsd repository, and then enable it :

pkg install ap24-mod_perl2

To enable mod_perl, edit httpd.conf and add to the "Loadmodule" line below :

nano -c httpd.conf

Add line below :

# Line 175
LoadModule perl_module libexec/apache24/mod_perl.so

Save and exit.

And before start apache, add it to start at boot time with sysrc command :

sysrc apache24_enable=yes
service apache24 start

Step 3 - Install and Configure MySQL Database

We will use mysql51 for the database back-end, and it is support for perl module for mysql. Install mysql51 with pkg command below :

pkg install p5-DBD-mysql51 mysql51-server mysql51-client

Now we must add mysql to the boot time, and then start and configure the root password for mysql.

Run command below to do it all :

sysrc mysql_enable=yes
service mysql-server start
mysqladmin -u root password aqwe123

Note :

mysql password : aqwe123

Configure MySQL Password

Next, we will log in to the mysql shell with user root and password that we've configured above, then we will create new database and user for bugzilla installation.

Log in to the mysql shell with command below :

mysql -u root -p
password: aqwe123

Add the database :

create database bugzilladb;
create user bugzillauser@localhost identified by 'bugzillauser@';
grant all privileges on bugzilladb.* to bugzillauser@localhost identified by 'bugzillauser@';
flush privileges;
\q

Creating Database for Bugzilla

Database for bugzilla is created, database "bugzilladb" with user "bugzillauser" and password "bugzillauser@".

Step 4 - Generate New SSL Certificate

Generate new self signed ssl certificate on directory "ssl" for bugzilla site.

Go to the apache24 directory and create new directory "ssl" on it :

cd /usr/local/etc/apache24/
mkdir ssl; cd ssl

Next, generate the certificate file with openssl command, then change the permission of the certificate file :

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /usr/local/etc/apache24/ssl/bugzilla.key -out /usr/local/etc/apache24/ssl/bugzilla.crt
chmod 600 *

Step 5 - Configure Virtualhost

We will install bugzilla on directory "/usr/local/www/bugzilla", so we must create new virtualhost configuration for it.

Go to the apache directory and create new directory called "vhost" for virtualhost file :

cd /usr/local/etc/apache24/
mkdir vhost; cd vhost

Now create new file "bugzilla.conf" for the virtualhost file :

nano -c bugzilla.conf

Paste configuration below :

<VirtualHost *:80>
ServerName mybugzilla.me
ServerAlias www.mybuzilla.me
DocumentRoot /usr/local/www/bugzilla
Redirect permanent / https://mybugzilla.me/
</VirtualHost>

Listen 443
<VirtualHost _default_:443>
ServerName mybugzilla.me
DocumentRoot /usr/local/www/bugzilla

ErrorLog "/var/log/mybugzilla.me-error_log"
CustomLog "/var/log/mybugzilla.me-access_log" common

SSLEngine On
SSLCertificateFile /usr/local/etc/apache24/ssl/bugzilla.crt
SSLCertificateKeyFile /usr/local/etc/apache24/ssl/bugzilla.key

<Directory "/usr/local/www/bugzilla">
AddHandler cgi-script .cgi
Options +ExecCGI
DirectoryIndex index.cgi index.html
AllowOverride Limit FileInfo Indexes Options
Require all granted
</Directory>
</VirtualHost>

Save and exit.

If all is done, create new directory for bugzilla installation and then enable the bugzilla virtualhost by adding the virtualhost configuration to httpd.conf file.

Run command below on "apache24" directory :

mkdir -p /usr/local/www/bugzilla
cd /usr/local/etc/apache24/
nano -c httpd.conf

In the end of the line, add configuration below :

Include etc/apache24/vhost/*.conf

Save and exit.

Now test the apache configuration with "apachectl" command and restart it :

apachectl configtest
service apache24 restart

Step 6 - Install Bugzilla

We can install bugzilla manually by downloading the source, or install it from freebsd repository. In this step we will install bugzilla from freebsd repository with pkg command :

pkg install bugzilla50

If it's done, go to the bugzilla installation directory and install all perl module that needed by bugzilla.

cd /usr/local/www/bugzilla
./install-module --all

Wait it until all is finished, it is take the time.

Next, generate the configuration file "localconfig" by executing "checksetup.pl" file on bugzilla installation directory.

./checksetup.pl

You will see the error message about the database configuration, so edit the file "localconfig" with nano editor :

nano -c localconfig

Now add the database that was created on step 3.

#Line 57
$db_name = 'bugzilladb';

#Line 60
$db_user = 'bugzillauser';

#Line 67
$db_pass = 'bugzillauser@';

Save and exit.

Then run "checksetup.pl" again :

./checksetup.pl

You will be prompt about mail and administrator account, fill all of it with your email, user and password.

Admin Setup

In the last, we need to change the owner of the installation directory to user "www", then restart apache with service command :

cd /usr/local/www/
chown -R www:www bugzilla
service apache24 restart

Now Bugzilla is installed, you can see it by visiting mybugzilla.me and you will be redirect to the https connection.

Bugzilla home page.

Bugzilla Home

Bugzilla admin panel.

Bugzilla Admin Page

Conclusion

Bugzilla is web based application help you to manage the software development. It is written in perl and use MySQL as the database system. Bugzilla used by mozilla, redhat, gnome etc for help their software development. Bugzilla has a lot of features and easy to configure and install.

The post How to Install Bugzilla with Apache and SSL on FreeBSD 10.2 appeared first on LinOxide.

How to Install and Configure Snort on PFsense Firewall

$
0
0

Snort is well-known open source IDS/IPS which is integrated with several firewall distributions such as IPfire, Endian and PfSense. In this tutorial, our focus is installation, configuration of snort and  rules on PfSense firewall. Snort needs packet filter (pf) firewall to provide IPS feature which is also available in this distribution.

Installation

All software's of Pfsense firewall are available in the Packages sub menu . Go to System menu and select packages from drop down menu list.

packages

Click on Available Packages tab for different category of software's .

availablepackage

Available Packages  shows following sub menu options. Snort is an open source security tool, therefore click on security menu to list down available packages for installation on PfSense.

availablepackage options

Snort package is available under Security sub menu. Now click on the   icon_plus icon to install snort.

icon-snort

Installation of any new package on Pfsense ,  requires confirmation from firewall administrator which is shown below.

confirm

After confirmation, snort installation is shown in following snapshot

snort installation 1

Snort installation is shown below and  more instruction are also given for further setting.

snort installation complete

Snort setup instructions are shown in the above figure.

Snort Configuration

After successful information of snort on Pfsense, now we will configure snort on LAN interface for port scan detection. Snort is available in the services menu after installation.

snort in services menu

Following snapshot appears after clicking  on the snort sub menu.

services all menu

Snort either run on LAN or WAN interface of Pfsense. Therefore we have to create lan and wan interfaces setting by clicking on icon_plus icon.

snort interfac setting

LAN interface setting are shown below. We have checked the IPS options like block offenders and kill their states

snort interface setting-lan

Interface added for LAN and  currently snort is not running on it. Click on  cross (X) button to start Snort ids service  on LAN interface.

snort interface added

As shown in the following snapshot snort is running on LAN interface.

snort interface running

Warning notification is shown in the above figure. Therefore snort rules should be  added after rules updates step.

Following screen appears after clicking on the Global setting menu for the installation of rules of snort.

snort rules under global setting

Login on snort web site and generates  Onikcode to download "Snort VRT" rules.

oinkcode

Click on the Oinkcode on left side to get  Oinkcode.

oinkcode code

Again go to Global settings menu and enter Oinkcode to download Snort VRT rules.

enter oinkcode on snort setting

Now go to Updates menu to check the status of different rules. Click on the Update button to download or update snort rules on Pfsense.

updates menu

Click on the Update button to install rules  on the snort. Rule update step  is shown in the below figure. We have installed snort community ,VRT ,emerging threats rules.

updates rules

Before moving to next menu of snort, again click on the Snort interfaces tab and select LAN for editing.

lan interface

After clicking on edit button, select LAN Categories  option for snort rules. Select desirable rules from this comprehensive list for LAN interface.

snort rules

After installation  of  snort rules on Pfsense, next option is alerts menu.

alerts

Snort with packet filter (filter) gives capability of blocking malicious IP.  Blocked IP's will be shown on the following snapshot.

blocked

It is very common on the network that administrator ensures white listing of IP's. By default Local LAN is usually in the Pass List.

pass list

Suppress menu is shown  in the following snapshot. It is used to block false positive alerts.

suppressList of malicious ip addresses can be loaded on Pfsense in the snort configuration. Incoming traffic from the ip addresses stored in the reputation  list will be considered as the malicious.

ip listSetting for signatures ID (SID) of snort rules is managed using this menu.

sid mgmt

Setting relevant to log management are  shown in the following menu.

log management

Conclusion

In this tutorial, we have explored the Snort IDS/IPS which is an open source security software integrated with PfSense firewall. Snort works perfectly with packet filter (pf) based firewall . IPS feature of snort block the malicious or illegal IP's for network protection . It is very stable on Pfsense firewall  and easily configured using graphical front end.

The post How to Install and Configure Snort on PFsense Firewall appeared first on LinOxide.

How to Setup Munin Monitoring System on CentOS 7

$
0
0

Hello Everybody! Welcome to our today’s article on one the most widely used, free of cost and Open Source Munin Network Resource Monitoring System. Its a perl software application can help you monitoring your each and every asset that keeps record of it and sends you the critical alerts of services for your servers, switches, applications, and any any other devices connected to your network whether its your computers, network, storage or the whole IT infrastructure. It shows all the information in graphs through a web interface that emphasis on plug and play capabilities.

Munin has a master/node architecture in which the master connects to all the nodes at regular intervals and asks them for data, then stores the data in RRD files to updates the graphs if needed. So, after completing its installation a high number of monitoring plugins will be playing with no more effort.

Prerequisites

Your systems hardware resources depends upon your own requirements while in this article we will be using the following system resource for Munin installation on CentOS 7.

System Resources
Munin Version Munin 2.0.25
Base OS CentOS Linux 7 (Core), 64-bit
RAM 4 GB
CPU 2.0 GHZ
Hard Disk 30 G

Munin installation setup requires the basic web server packages to be installed on the server. So, after basic networking setup configure your hostname, IP address and firewall settings by keeping SELinux into permissive mode.

Then start installing packages by update your system first and enabling EPEL repository on it using below commands.

# yum install epel-release
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

# yum update

You will be asked to press "Y" key and hit Enter to proceed for installing all required updates. Once the updates are successfully installed on your system then proceed to the installation of Apache Web server.

Apache Web Setup

To setup your Apache web server, we need to start by installing its package using the below 'yum' command.

# yum install httpd

Upon completion of packages installation, start and enable its service and check that its active and enabled using the following commands respectively.

# systemctl enable httpd
# systemctl start httpd
# systemctl status httpd

Apache Status

Installing Munin

We can install Munin and Munin Node using the below 'yum' command through its available repository on CentOS 7 as shown.

# yum install munin munin-node

Hit "Y" plus Enter key to start installation of Munin and Munin Noe including a large number its required dependencies.

Once the installation is complete, start its service and enable it at auto start during reboot by using the following commands.

Munin Node Status

Munin Configurations

Now configure Munin by open its default configuration using any editor as used in below command.

# vim /etc/munin/munin.conf

# a simple host tree, change localhost with your FQDN.

[localhost]
address 127.0.0.1
use_node_name yes
:wq!

After saving the Munin configuration file, Open its apache virtual host configuration file to add access permissions to your network.

# vim /etc/httpd/conf.d/munin.conf

Munin Network

After saving the configuration file changes , restart apache web server service using command below.

# systemctl restart httpd

Now we are going to add a new user and password to the /etc/munin/munin-htpasswd file as the Munin statistics are protected with a username and password, so we need to setup the basic Apache Authentication.

# htpasswd -c /etc/munin/munin-htpasswd admin

This will add a new user with the name "admin" and asks for the new password as shown.

Apache Auth

# vi /etc/munin/munin-node.conf

host_name munin.linoxide.com

Save and close the file and restart munin-node services and access the following link by mentioning your FQDN or IP from the client which is in your network that was allowed in configuration file.

http://your_servers_IP/munin

Munin Web Access

Welcome to Munin Web Console

Here is the Munin dashboard, now you can check the graphs of your required servers.

Munin Dashboard

We can customize Munin dashboard by adding different available plugins and add multiple node to it. While using its web console we have options to create multiple groups and categories according to the required group of services.

You can check and see the status of your critical service by opening its graph from the Munin web console that will show you the current and past data from its maintained hostory as shown in below image.

Munin Load Graph

Conclusion

Munin installation has been setup. We hope you have enjoyed reading this article. The installation of Munin is quite simple, now simply add the client node and start monitoring your whole IT infrastructure using this awesome tool without paying any charges. Now enjoy using Munin on your environment and feel free to share your thoughts or suggestions in comments section.

The post How to Setup Munin Monitoring System on CentOS 7 appeared first on LinOxide.

How to Setup Virtualmin Control Panel in CentOS 7.0

$
0
0

Virtualmin GPL is a free and open source powerful and flexible web hosting control panel for Linux machine based on the well-known web based application named Webmin. Virtualmin is a uniquely powerful and flexible web server administration tool. It is unmatched in features and ease of use. It offers a wide range of tools for hosting providers, web developers, web designers, and end users. There are two different editions in which we can get our Virtualmin application running, one is under Professional in which we'll need to buy license and another is under GPL edition which is free and open source. Here are some of the features responsible for making Virtualmin one of the top Web Based Hosting Control Panel.

  1. Virtualmin has a beautiful easy to use user interface with a well managed menu.
  2. It respects the user freedom as its pretty flexible and can be customized easily to everything according to the user's choice.
  3. The responsive design of its interface makes it easily accessible from any device which helps us to perform server tasks easily from anywhere.
  4. It has the ability to send SMS message if any problem arises before the user recognizes.
  5. It is pretty comprehensive as we can manage and run almost everything out of the box necessary to manage a web hosting server including emails, spams, network configurations, firewalls, databases, users and groups, system logs and statups, file managers filesystems, quotas, software packages, and many more .

Here are some easy steps to setup Virtualmin in a machine running CentOS 7 distribution of linux.

System Requirements

Before we hurry up for the installation of Virtualmin, we'll need to make sure that our system will support Virtualmin and will run with its full performance. To install and run Virtualmin, we'll require a machine having at least 1 GB RAM. If you have a machine with RAM less than 3GB memory size, then it is recommended to run 32 bit of linux distribution with 32 bit package of Virtualmin. It is highly recommeneded to setup Virtualmin in a freshly installed server in order to prevent conflicts. After the sytem requirements are fulfilled, we'll need to set the hostname of our machine to a fully qualified domain name.

To see the currently set hostname, we'll need to run the following command.

# hostname -f

li862-235.members.linode.com

And in order to change the hostname of our machine to a valid FQDN, we'll need to run the following command.

# hostname panel.linoxide.com

Updating the System

Once our system requirement has been checked and fulfilled, we'll go further towards the installation of Virtualmin in our machine. We'll first make sure that we have the latest software packages installed in our CentOS 7 machine, do update all the packages to the latest and stable versions, we'll need to run the following command under root or sudo access.

# yum update

Updating Centos7 System

Downloading VirtualMin

VirtualMin can be installed in many ways but as we are running CentOS 7, it is pretty easy for us to setup in a clean machine. We can setup using an automated script which will automatically install every dependencies and packages. To do so, first we'll need to download the script file of VirtualMin using wget.

# wget http://software.virtualmin.com/gpl/scripts/install.sh -O /tmp/virtualmin-install.sh

--2015-11-20 05:32:30-- http://software.virtualmin.com/gpl/scripts/install.sh
Resolving software.virtualmin.com (software.virtualmin.com)... 108.60.199.107
Connecting to software.virtualmin.com (software.virtualmin.com)|108.60.199.107|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 47633 (47K) [application/x-sh]
Saving to: ‘/tmp/virtualmin-install.sh’
100%[=========================================>] 47,633 114KB/s in 0.4s
2015-11-20 05:32:31 (114 KB/s) - ‘/tmp/virtualmin-install.sh’ saved [47633/47633]

Here, the script file named install.sh is downloaded from the official download server http://software.virtualmin.com/gpl/ using wget and is saved under /tmp/ directory as virtualmin-install.sh

Running the VirtualMin script

After the VirtualMin script has been downloaded successfully, we'll go for the execution of the script file. To do so, first we'll need to make the script file executable by running the following chmod command.

# chmod +x /tmp/virtualmin-install.sh

Once the file is made executable, we'll go further towards running it using a shell. Here, we'll run it using sh as shown below.

# sh /tmp/virtualmin-install.sh

Installing Virtualmin

Doing this will start the Virtualmin installation wizard. It will prompt a license agreement, to continue the installation, we'll need to press Y followed by Enter . The installer script will start performing several checks and installing the required components.

Allowing Firewall

As CentOS 7 is shipped with systemd as the default init system, firewalld is installed in most machines as a firewall solution. We'll configure the firewall program to allow port 10000 to expose out of the box. This will make VirtualMin accessible within the connected network. To allow port 10000 from the firewall, we'll need to run the following command.

# firewall-cmd --permanent --zone=public --add-port=10000/tcp

success

# firewall-cmd --reload

success

Accessing VirtualMin

As our virtualmin has been successfully installed and the port 10000 is allowed to expose by the firewall program, we'll point our web browser to our server as https://ip-address:10000 or https://domain.com:10000 according to the system configuration. Here, according to our configuration, we'll point our web browser to https://panel.linoxide.com:10000. This will display some warning regarding SSL certificate as we have installed virtualmin under a self-signed SSL certifications. As we're running Google Chrome browser, we'll see the below warnings, we'll simply ignore it and continue it by clicking on Advanced button. After that, we'll simply click on Proceed to panel.linoxide.com (unsafe) to continue to the VirtualMin login page.

Virtualmin SSL Certificate

Next, we'll need to enter the root username and password which is same as of the linux system's to get access to the Web based Control Panel of VirtualMin.

Virtualmin Login

After we have entered the login details, we'll click on Login button which will load the Dashboard with the Post Installation Wizard interface.

Virtualmin Post Installation Wizard

Post Installation

We'll now click on Next in order to continue the post installation wizard which is essential in order to configure different packages and elements of VirtualMin for better performance. Here, we'll go through the wizard in which we'll need to select the required option we want to setup VirtualMin with. While configuring or running a service, we'll need to keep in mind if our RAM has the capacity to handle those service properly or not in order to ensure the quality of the server. Here, we'll choose Yes to both Preload Virtualmin libraries and Run email domain lookup server for improving the Virtualmin UI and mail processing speed respectively.

Virtualmin Tuning

Then, we'll click Next and continue further towards the Virus Scanning section. Here, as we want our mail processing to be fast, we'll select Yes to run ClamAV server scanner.

Enabling Clamav Scanner

We'll also enable SpamAssassin server filter in order to filter the unwanted spam messages coming through the emails from the internet.

SpamAssassin Mail Filter

After that, we'll go for the selection of database server to run with Virtualmin. As MySQL server is widely used and supported by most applications, we'll simply select Yes to MySQL and select No to PostgreSQL database server.

Choosing Database

We'll now need to set the root password for the MySQL server which will be used to access the MySQL Database server. Here, we'll set the password for the root user as Pa$$worD123 .

MySQL root password

Next, we'll be navigated to MySQL database size page where we'll need to select the MySQL configuration size, here we'll select Large System (1G) after that, we'll need to set a resolvable nameserver in the next page.

Database Size

Then, we'll be asked to choose the Password Storage Mode, we'll choose Only store hashed passwords for security concerns.

Password Storage Mode

After done, we'll see that our Virtualmin configuration was completed, to continue into the dashboard, we'll need to click Next. Finally, after everything is done, we'll be able to access our fully configured Virtualmin Control Panel.

Virtualmin Dashboard

Conclusion

Finally, we have successfully installed VirtualMin web based control panel in our machine running CentOS 7 as operating system. Now, we can easily manage our VPS, multiple websites, clusters, applications, servers, daemons and the whole system. Really, Virtualmin has made it possible to manage and administer our servers out of the box from any device from anywhere around the world. If you have any questions, suggestions, feedback please write them in the comment box below so that we can improve or update our contents. Thank you !

The post How to Setup Virtualmin Control Panel in CentOS 7.0 appeared first on LinOxide.


How to Configure Magento on Ubuntu 15.10

$
0
0

Hello Everyone, our today's article is installing Magento on the latest version of Ubuntu 15.10. Magento is most powerful and fast growing e-commerce software and e-commerce platforms solution, created by Varien aimed at larger sites. It is an open-source platform using Zend PHP and MySQL databases that offers great flexibility through its modular architecture. It is completely scalable and has a wide range of control options that its users appreciate after using it just because it is designed to be utilized as an application by someone who isn't a developer. While finding help on Magento is also not a big issue as its community is extremely large and very helpful.

The installation of Magento is very easy and you can also add additional layouts and plug-ins with little efforts.

Basic Requirements

The basic requirements to install Magento on Ubuntu 15.10 includes the basic system resources with sufficient RAM and Hard Disk. We are going to install it using 4 GB of RAM, 50 GB Disk and 2 vCPU.

Make sure that you have configured the FQDN and IP address with sudo privileges on the server to perform different system level tasks.

1) System Update

Let's login to your Ubuntu 15.10 server and run the command below to update your system packages with latest patches and security updates.

# apt-get update

2) LAMP Setup

LAMP stack is the basic software requirement to install Magento on any Linux distribution. So, in this step we be installing Apache Web server , MySQL Database and PHP including some of its required libraries for Magento.

First of all run the below command to install install PHP and its dependent libraries as shown.

# apt-get install php5 php5-mcrypt php5-common libapache2-mod-php5 php5-cli php5-ldap php5-gd php5-xsl php5-intl php5-mysql php5-xmlrpc php5-curl php5-tidy

After that run the the command below to install Apache and MySQL Database server and its client packages.

# apt-get Apache2 install mysql-server mysql-client

Installing Apache and MySQL

Next you will be asked to configure the MySQL root password which is highly recommended to setup during its installation then press OK to proceed.

MySQL root config

3) Starting Services

Start MySQL and Apache services and enable these for auto start at bootup.

# systemctl start mysql
# systemctl enable mysql

# systemctl start apache2
# systemctl enable apache2
# systemctl status apache2

Apache Status

4) Database Setup for Magento

Connect to the MySQL server console using the root credentials as per configured above then run the following MySQL commands to create a new database and user as shown with its assigned privileges.

# mysql -u root -p

mysql> CREATE DATABASE magentodb;
mysql> GRANT ALL PRIVILEGES ON magentodb . * TO magento@'localhost' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
mysql> flush privileges;
mysql> exit

MySQL DB setup

5) Apache Configurations

Open the default configuration file for Apache configurations using any editor, you are comfortable with and update its configuration by adding the following parameters in it as shown.

# vim /etc/apache2/sites-available/000-default.conf

Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all

apache Conf

Then we need to configure PHP for Magento to make it utilize its enough required memory by changing its following parameters as shown.

# vim /etc/php5/apache2/php.ini

; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 512M
:wq!

Close the the file after saving the changes and restart apache web server services to implement all the changes that we made in above configuration files.

# systemctl restart apache2

Downloading Magento

Our basic requirements section is complete, now we will downloading the latest available package for Magento this LINK

Magento Download

After uploading the Compressed folder on your Ubuntu Server, run the command below to extract its package using below command.

root@localhost:~# ls /var/www/html/
Magento-CE-2.0.0-2015-11-17-05-47-46.zip
root@localhost:~# unzip /var/www/html/Magento-CE-2.0.0-2015-11-17-05-47-46.zip

Give the Apache ownership and fix its proper permissions to the web document directory using the below commands.

# chown -R www-data:www-data /var/www/html/
# chmod -R 755 /var/www/html

Now restart Apache and MySQL services once again after you will be able to access Magento on your web browser.

# systemctl restart apache2
# systemctl restart mysqld

Magento Web Installation

Open your web browser and open the link below that can be your server's IP address of the fully qualified domain name and you will be directed towards its setup.

http://your_servers_IP/

Click on 'Agree and Set Up Magento' to proceed to the next step.

Magento Web

Next you will be followed by the readiness check test, so click on the 'Start Readiness Check' button to test your PHP extensions and setting.

Readiness Check

You might get some errors, so fix them according to the solution other wise you can't be able to move to next step. Once your Readiness check result is all fine you will be able to move to the next step as indicated.

Readiness test result

Choose the database settings by mentioning the database name, its user and password.

Adding DB

Configure your web settings by providing the store and Magento Web address as shown.

Web Configurations

In the next step you will be asked to customize your store settings and you can also choose your selected modules as requirements.

Store Customization

Create your admin user and mention its name and password within the required fields as shown below.

Admin Account

That's it now click on the INSTALL button to proceed to the final step for the installation of Magento 2.0.0 on Ubuntu 15.10 as shown below.

Mageto Install

A progress bar will be launched, let's wait for its completion upto 100 % installation done.

Magento Installation

Lanuching Magento Admin

Congratulation, we have successfully completed the installation setup, you can see a summary of your server built and click on the 'Launch Magento Admin' as shown below .

Magento Admin

Conclusion

After Launching the Magneto Web console , login with your admin account and start enjoying with Magento its really an awesome and best e-commerce solution. I hope you have found this article much helpful, let's share your comments about your experience with Magento.

The post How to Configure Magento on Ubuntu 15.10 appeared first on LinOxide.

How to Configure Citrix XenServer 6.5 on VMware Workstation

$
0
0

Citrix XenServer gives you everything that you need to manage, integrate and automate a virtualized server infrastructure which consolidates a physical server's computing power into multiple virtual machines and administers their performance and use, all emulating as a standard server. Citrix XenServer is built to provide the operational requirements of a standard server and supports most of the servers operating systems, such as Linux and Windows Server, on guest server machines. All on an enterprise-class and truly Open Source cloud-proven virtual platform.

In this article we will be showing you the installation and configurations of XenServer 6.5 on a VM using VMware Workstation.

System Requirements

Your system should run on an optimized and hardened Linux partition with a Xen-enabled kernel which controls the interaction between the virtualized devices seen by VMs and the physical hardware.

The system requirements for the XenServer host are as following according to its recommendations and our used figures.

CPU: 2 GHz (Recommended)
RAM: 4 GHz (Recommended)
Disk: 20 GB (Recommended 16 GB)

Download XenServer ISO

Open this LINK to download the latest available ISO image of XenServer.

XenServer ISO

Creating New VM

Create a new VM in your virtualization environment configure its new Host name and storage. After that choose the guest Operating System as 'Other' or 'VMware ESX' and version as 'VMware ESXi 5.x' as shown.

Choose Guest OS

Then choose system resources including its RAM, CPU and Disk space and click on the finish button after confirming the settings you see in its summary.

New VM Summary

Installing XenServer

Power On the newly created VM from the console of your Workstation, attach the ISO image by browsing it from your stored location and send the 'Ctlr+Alt+Del' button to start its installation setup.

Press 'OK' key after reading the Welcome note.

XenServer Setup

Then accept the License agreement as followed the terms and conditions of Citrix Systems, Inc.

License Agreement

1) Virtual Machine Storage

You will be asked to choose the disk storage for your Virtual Machines and Enable the thin provisioning option in order to optimize storage for XenDesktop and press 'OK' to proceed to next step.

VM Storage

2) Installation Source

Then choose the installation source from the 3 available option as shown in below image to 'Local media' and click on the 'OK' button to move next.

Installation Source

3) Supplemental Packs

Choose the 'Yes' option if you have suplimental packs otherwise you can choose the 'No' option.

Suplimental Packs

4) Verify Installation

Skip the verification or select the option to test your media and press 'OK' to proceed to the next option.

Verification

5) Set Password

Configure the password for your root account that will be used for connecting the XenServer Host from XenCenter.

Set Password

6) Networking

Choose from the options to configure networking as DHCP for your Management interface on the host.

Networking

7) DNS Settings

Here you have to configure the Hostname and DNS settings as per your requirements. We will be chooseing its DNS to set it automatically via DHCP as shown below and then click on the 'OK' button to move to next option.

Networking

8) Time Zone

Select the Time Zone and City as 'London'to configure the geographical location of your XenServer Host.

Time Zone

9) System Time

We will be choosing the system time as NTP while you can also choose it from its manual time entry but in that case you have to configure that at the end of installation.

System Time

10) NTP Configuration

After selecting the NTP option we will configure its settings using the DHCP server and click on the 'OK' key to proceed.

NTP Configuration

11) Installation Confirmation

We have configure all the required information for the installation of XenServer. Now click on the 'Install XenServer' to confirm that you have are are ready to make changes on your selected disk and the data will no longer be available after installation.

Installation Confirmation

During its installation process you will be asked for New Suplimental Packs, simply skip this step to complete the installation process.

New Media

The system will take some time to prepare and complete the installation setup.

Installation Process

12) Complete Installation

After completion of the installation process you will get the XenServer Installation Complete notification and asked for removal of any local media from the drive and press 'Enter' key to reboot your system.

Complete Installation

XenServer Dashboard

Once the server is back after reboot you will see the XenServer customization page where you will be able to see and configure its required settings from here.

XenServer Status

Conclusion

We have successfully installed XenServer 6.5 version on VMware Workstation 12, so following the similar steps you can easily install it on any VMware platform. Citrix XenServer is an awesome Open Source Virtualization platform that can fulfill all your required demands in the the field of virtualization. This was the basic installation of XenServer that you have learned in this article in the further articles we will show with the help of simple steps to create your guest operation system on XenServer. If you have any suggestions or feedback don't forget to leave us a comment. We hope you enjoyed reading this article.

The post How to Configure Citrix XenServer 6.5 on VMware Workstation appeared first on LinOxide.

How to Setup jBilling a Billing Solution On Ubuntu 15.10

$
0
0

Hello and welcome to our today's article on jBilling, the enterprise open source billing system. jBilling is a mature and rapidly evolving billing system that delivers a rich of set of features that provides you an easy to use and web-based billing solution. Because of its open source means you can get its source code and run it on any open source stack. You can easily customize its plugins and user friendly extensions to fulfill your special requirements that you are want in your billing system by adding bundles, creating different billing plans and solution for your products and customers.

So, jBilling is one of the best choice for you if you are thinking of developing your own billing system that includes automatic invoicing, payment processing, ordering and can be easily extended by adding new business rules.

Download jBilling

Login to your Ubuntu server using the root credentials or a user with sudo privileges. Configure its basic network settings, hostname and IP address configurations and make sure your are connected with Internet to install the necessary updates.

To download jBilling Community edition open this LINK and you will be directed to sourceforge web page where the latest jBilling package is available to download.

jBilling download

Alternatively you can copy the direct link to download the package on the server using 'wget' command following with the download link.

# wget http://downloads.sourceforge.net/project/jbilling/jbilling%20Latest%20Stable/jbilling-4.1.1/jbilling-community-4.1.1.zip

Setup JAVA_HOME

You need to define the JAVA_HOME or the JRE_HOME environment variable that must be needed to start the installation of jbilling on your server.

So, the first thing is that you need to install the Java on your ubuntu server and the define its JAVA_HOME environment variable by using the below command.

# apt-get install openjdk-8-jre-headless

To check the current JAVA_HOME or JRE_HOME environment variables you can use the below commands depending upon your Java version that you are currently using.

# echo $JAVA_HOME
# echo $JRE_HOME

If you have got the blank output, that means your JAVA_HOME is not setup, to do so you can use the below command.

# export JAVA_HOME=/usr/lib/jvm/openjdk-8-jre
# export JRE_HOME=/usr/lib/jvm/openjdk-8-jre

Extract the Archive

Now moving to the installation of jbilling, extract the downloaded package using 'unzip' command and make sure that 'unzip' package utility is installed on your system, if its not then use the command below to install it first.

# apt-get install unzip

After this you can extract the package using the below command.

# unzip jbilling-community-4.1.1.zip

Setup Permissions

Change your directory to the 'bin' directory with in extracted folder of JBilling and then assign the executable permissions to all shell scripted files within this directory as shown in the image.

# cd jbilling-community-4.1.1/bin/
# chmod +x *.sh

Setup Permissions

Start jBilling Installation

To start jbilling, execute the 'startup.sh' script and you will be surprised to the following lines of successfully startup of Tomcat service.

# ./startup.sh
Using CATALINA_BASE: /root/jbilling-community-4.1.1
Using CATALINA_HOME: /root/jbilling-community-4.1.1
Using CATALINA_TMPDIR: /root/jbilling-community-4.1.1/temp
Using JRE_HOME: /usr/lib/jvm/openjdk-8-jre
Using CLASSPATH: /root/jbilling-community-4.1.1/bin/bootstrap.jar:/root/jbilling-community-4.1.1/bin/tomcat-juli.jar
Tomcat started.

installing jbilling

jBilling Web Access:

JBilling installation setup has been done your Ubuntu 15.10 server now open your web browser and access the below local host URL and signup for a new user.

http://localhost:8080/jbilling/signup

jbilling signup

Now login to your jbilling account using the credentials you have got in your mailbox.

To configure your mail server and other SMTP setting, open the 'jbilling.properties' file located under the mentioned path in the command below.

kashif@ubuntu-15:~/jbilling_install/jbilling$vim jbilling.properties

Change the settings according to your own mail server setup and then save the file.

If you are working on localhost then you can reset your password by getting the email from the following location in your server where all localhost emails arrived.

Open the file below and copy the link address from here.

kashif@ubuntu-15:~/jbilling_install/jbilling/resources$ vim emails_sent.txt

reset jbilling passowrd

Copy this link and open in your web browser by replacing http://yourcompany.com with http://localhost:8080 follwed by the URL. Then configure your new password and login using your newly created account as shown.

jbilling login

jBilling Dashboard

After acceptance of your login credentials your will be directed towards its awesome billing dashboard where you can see a number of its available options including Customers, agents, Invoice, Payments and Orders etc as shown below.

jbilling dashboard

Simply click on the option available in the tabs and start using your own billing system, if you want configure your jbilling system then click on the configuration button and configure your own required settings.

jbilling configuration

Conclusion

At the end of this article, you are now able to install and configure your own billing system without any cost by using the jBilling system. The jBilling system source is freely available for the multiple operating systems but using it on Ubuntu has its own taste, stability and high performance level, while the installation steps are also much easy to perform. so, we hope you really enjoyed while reading this article find this much helpful while on the way to start using jBilling on Linux.

The post How to Setup jBilling a Billing Solution On Ubuntu 15.10 appeared first on LinOxide.

How to Install Tails Security Distribution on USB

$
0
0

In this tutorial, our focus is persistent installation of Tails security distribution on USB stick which is based on Debian GNU/Linux. Tails is a live system which is used to preserve privacy and anonymity  while using internet. It does not left any trace on computer unless explicitly ask by the user. It can be used from a DVD/CD and USB device.  Tails distribution comes with  built-in  security applications such as web browser, instant messaging client, email client etc.

Installation

Following are the prerequisite for this article.

  • USB device (at least 4GB size)
  • Tails iso (available on the Tails web site)
  • Plop Boot Manager (to start the Boot Manager )

In this tutorial, Tails distribution will be installed on the Virtual Box VM. The detail of our VM is given below.

VM details

ISO file is loaded into the VM to boot it in the live mode for further installation.

tails iso loaded

Click on the "start" button to run the VM. Select "Live" option for the following menu.

live modeAfter few minutes, following welcome screen appears on the screen and by default "No" button is checked.

welcome screen

Click on the "Yes" button to see more setting for Tails.

selected Yes option

After clicking on the "Forward" button, following window appears.

  • Enter password for Administrator  (this password will be use to become root to perform administration tasks).
  • Click on "Activate Microsoft Windows 8 Camouflage" button to avoid attracting suspicious on public places.   Tails gives camouflage option based on installed host OS. (optional)

main screen 1

  • Click on the "Spoof all MAC addresses" option to enable spoofing MAC addresses on the local network. (optional)
  • By default  Internet connection on the Tails will not use TOR for anonymity . It need to be enabled by selecting "this computer's internet connection is censored, filtered or proxied. You need to configured bridge,firewall or proxy setting on the computer".  (optional)

main screen 2

After clicking on the login button, screen similar to windows 8 appears which is shown below.

tails background

Similar windows 8 start menu, Tails menu is also on the left most corner. Now we will install Tails on Persistent volume (USB).  Click on the "Tails Installer"  from Tails menu which is shown below.

Tails installer

Tails installer shows following three options for installation on the USB/SD card. In this tutorial, our selected option is "Clone & Install" due to fresh installation of Tails on portable media.

installation options

On the next step, Tails check the available USB device to start installation process. As shown in the figure that no USB device is detected.  error

As shown in the following figure that USB device (/dev/sdb) is detected.

found usb

Click on the "Install Tails" option to start installation process.

installation start

Click on "Yes" to start installation on the selected USB device.  All data on the selected device will be lost.

prompt before installation

Tails installation progress is shown in the below figure.  Tails automatically creates partition and sets FAT32 file system on the attached device.

installation information

Successful installation of Tails on USB device is  shown below.

installation complete

After installation on the portable device, next option is configuration of persistent volume. Click on the "configure persistent volume" for the selection of application/software to use persistent volume.

configure persistent volume

However, following error comes because currently Tails is not booted from USB device.

error while configuring persistent volume

VirtualBox software does not support VM boot using USB device. Therefore following error comes on boot time.

error on booting after installation

In this article, Plop Boot Manager (plpbt) is used to boot VM from USB device. It is very easy to use, extract it on the host machine after downloading and select plpbt.iso file to boot VM.

plpbt iso for boot from usb

Now start the Tails  VM and select USB option.

usb selected to boot from

Tails is booting from the portable media.

booting from persistent volume

Tails shows the similar options such as " password for administrator"  etc.  Again click on the "configure persistent volume" option from the Tails menu to start creation of persistent volume.  Few instruction are also given about persistence volume. Passphrase is used to protect data stored on the persistent volume.

volume creation

Persistent volume creation progress is shown below.

volume creation start

Select application/software to use persistence volume on the next screen.  In this article, options on the following screenshots, shown with mark () symbol are selected to store files on encrypted volume (/dev/sdb2) of 1.29 GB size.

persistent 1persistent 2persistent 3

Configuration will take effect after restarting the VM.

finsih

Now at welcome screen, enter passphrase to use persistence volume.

now use persistence volume

As shown in the following snapshot that the

Persistent folder

As shown below, default user on the Tails distribution  is "amnesia".

amnesia

Enter administration password to become root on the terminal.

root user

In our previous article, uTox installation (instant messaging software) on the Tails is explained.

 Conclusion

Tails installation on persistent device and its configuration is the focus of this article. By default Tails does not store / save any thing on the persistence volume. It can be configured by the administrator/user to save certain files / folder on the protected persistence volume.

The post How to Install Tails Security Distribution on USB appeared first on LinOxide.

How to Install Apache ServiceMix on CentOS 7

$
0
0

Hi, welcome to our today's article on Apache ServiceMix. Let me give you an overview of what ServiceMix is and what you can do with it. Apache ServiceMix is a runtime container for service-oriented architecture components, web services or legacy system connectivity services. Apache ServiceMix is an enterprise-class open-source distributed enterprise service bus (ESB) based on the SOA model released under the Apache license. It is one of the most mature, open-source implementations of an enterprise service bus and an Apache top-level project. Apache ServiceMix provides an OSGi container in which we can run, configure and manage Camel and ActiveMQ instances and you can explore the other services that it can provide.

So, in the mean time, we'll be showing thine stall ServiceMix on CentOS 7 machine to deploy some basic integration routes and extend the container with some additional features.

System Requirements

Before starting the installation, we need to prepare our CentOS 7 server with some basic requirements. Atleast 200 MB of free disk space is required for the Apache, Karaf and few other binary distributions.

Let's connect to your server using the sudo or root user credentials and perform the following tasks,

OS Update

Run the command as given below to update your Operating system with latest updates and missing patches.

# yum update

Java Setup

For running Apache ServiceMix itself, you'll need Java Runtime Environment (JRE) 1.6.x (Java 6) or greater. Make sure that the JAVA_HOME environment variable must be set to the directory where the Java runtime is installed.

You check the installed version of Java and current settings of your JAVA_HOME and PATH variables using the below commands.

[root@servicemix ~]# java -version
java version "1.7.0_91"

[root@servicemix ~]# echo $JAVA_HOME
/usr/lib/jvm/jre

[root@servicemix ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

Apache Maven

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information. Run the below command get it install on your server before installing Apache ServiceMix.

# ]# wget http://www.eu.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz

Now extract this to the '/usr/local/' directory using the below command.

# tar -zxvf apache-maven-3.3.9-bin.tar.gz -C /usr/local/

Now change directory to '/usr/local/' folder and create a soft link with below command.

#cd /usr/local/

# ln -s apache-maven-3.3.9 maven

Now we will setup the Maven path system-wide by creating a new file and adding the parameters in as shown below.

# vim /etc/profile.d/maven.sh
export M2_HOME=/usr/local/maven
export PATH=${M2_HOME}/bin:${PATH}

After saving file you have to logout and then login back to implement environment variables. Then to verify successful installation of maven, check the version of maven by using the below command.

# mvn -version

maven version

Download Apache ServiceMix

After setting up the Java, you need to download the Apache ServiceMix by choosing the required package.

download servicemix

Copy the source link address and download it using the wget command in your server.

]# wget http://archive.apache.org/dist/servicemix/servicemix-4/4.5.3/apache-servicemix-4.5.3.tar.gz

Use below command to extract the package.

# tar -zxvf apache-servicemix-4.5.3.tar.gz

Installing Apache ServiceMix

Change your directory to the 'bin' directory of your extracted package and execute the the following command to start installation of ServiceMix as shown below.

[root@servicemix ~]# cd apache-servicemix-4.5.3/bin/
[root@servicemix bin]# ./servicemix

installing servicemix

Using Apache ServiceMix Console

We have successfully installed and started Apache ServiceMix. Now we are going to show you that how you can manage your ServiceMix instance, add and remove bundles and install optional features.

Let run the following command to get a list of all bundles currently installed on your server.

karaf@root> osgi:list

installed bundles

If you're looking for something specific in the list, you can use unix-like pipes and utilities to help you. Just for example run the below command to see all Apache related bundles in the list.

karaf@root> osgi:list | grep Apache

Apache Bundles

Many of the applications you write will have some form of log output. To look at the message in the log file, you can us the log:diplay command.

karaf@root> log:display

karaf@root> log:display-exception

Optional Features

You can open the list of features using 'features:list' command. The overview shows you whether or not the feature is currently installed, the version and the name of the feature as shown below.

karaf@root> features:list

list features

To get the web console installed in ServiceMix, install the feature from your console using the command as shown below.

karaf@root> features:install webconsole

Now verify that the feature is marked installed in the overview by executing the below command to grep the webconsole.

karaf@root> features:install webconsole

installing webconsole

Now you will be able to point your browser to http://localhost:8181/system/console and login with user 'smx' and password 'smx' to access the web console.

Apache Karaft WebConsole

From the webconsole, now you can start and stop bundles, configure settings, install optional features or view system information all from your web console as shown below.

managing from console

Conclusion

At the end of this article we have learned the one of the most mature, open-source implementations of an enterprise service bus and an Apache top-level project that is Apache ServiceMix. ServiceMix for sure is not the first choice for application development, in terms of desktop software. But if you have to deal with more complex environments, where different applications are involved and need to interact with each other, an enterprise service bus can alleviate the burden of dealing with such systems to a great extent.

The post How to Install Apache ServiceMix on CentOS 7 appeared first on LinOxide.

How to Install pagemon - A Tool to Monitor Process Memory

$
0
0

Recently,  Colin Ian King from Canonical has developed a new tool called 'pagemon'. It is an ncurses based interactive memory monitoring tool which allows users to browse the memory map of an active Linux process.  Page Table Entries (PTEs) are the basis for the working of this tool. Pagemon continuously scans the PTEs of a given process and displays the dirty activity in real-time.  It can also identify the type of mapping a memory page belongs to. Due to this, users can easily scan through the memory and easily identify pages of memory that belongs to code, data, stack, heap, anonymous mappings or swapped out pages. The tool is available in Ubuntu Xenial.

Installation

In order to install pagemon on Debian based systems, first install the ppa repository "ppa:colin-king/pagemon".

Note: Ubuntu 15.10 has been used in the below examples.

sudo add-apt-repository ppa:colin-king/pagemon

poornima@poornima-Lenovo:~$ sudo add-apt-repository ppa:colin-king/pagemon
[sudo] password for poornima:
Page monitoring tool
More info: https://launchpad.net/~colin-king/+archive/ubuntu/pagemon
Press [ENTER] to continue or ctrl-c to cancel adding it

gpg: keyring `/tmp/tmpsdek8lba/secring.gpg' created
gpg: keyring `/tmp/tmpsdek8lba/pubring.gpg' created
gpg: requesting key B0F01786 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmpsdek8lba/trustdb.gpg: trustdb created
gpg: key B0F01786: public key "Launchpad PPA for Colin King" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
OK

Now, update the repository and install pagemon

sudo apt-get update

sudo apt-get install pagemon

poornima@poornima-Lenovo:~$ sudo apt-get install pagemon
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
gcj-4.9-jre-headless gcj-4.9-jre-lib gir1.2-gconf-2.0 libboost-thread1.55.0
libdirac-encoder0 libgcj15 libmediaart-1.0-0 libmircommon3 libts-0.0-0
linux-headers-3.16.0-23 linux-headers-3.16.0-23-generic
linux-image-3.16.0-23-generic linux-image-extra-3.16.0-23-generic
ruby-celluloid ruby-hitimes ruby-timers tsconf
Use 'apt-get autoremove' to remove them.
The following NEW packages will be installed:
pagemon
0 upgraded, 1 newly installed, 0 to remove and 65 not upgraded.
Need to get 16.0 kB of archives.
After this operation, 42.0 kB of additional disk space will be used.
Get:1 http://ppa.launchpad.net/colin-king/pagemon/ubuntu/ wily/main pagemon i386 0.01.06-1~w [16.0 kB]
Fetched 16.0 kB in 0s (25.0 kB/s)
Selecting previously unselected package pagemon.
(Reading database ... 319256 files and directories currently installed.)
Preparing to unpack .../pagemon_0.01.06-1~w_i386.deb ...
Unpacking pagemon (0.01.06-1~w) ...
Processing triggers for man-db (2.7.4-1) ...
Setting up pagemon (0.01.06-1~w) ...

You are now ready to launch pagemon and use it. But remember that you need to always use 'sudo' as it needs to intrude a running process.

Usage

Here is the screen shot showing the options available as of now with pagemon.

pagemon help options

In order to monitor a process, we need to pass the process id to pagemon tool.

sudo pagemon -p <process name>  OR

sudo pagemon -p <pid> OR

sudo pagemon -p $(pidof process)    - if you do not know the pid.

The example below shows how to monitor the memory activities of init process using pagemon.

poornima@poornima-Lenovo:~$ sudo pagemon -p init

poornima@poornima-Lenovo:~$ sudo pagemon -p 1

poornima@poornima-Lenovo:~$ sudo pagemon -p $(pidof init)

Page view of 'init' process

Another interesting feature of this tool is that it is also possible to view the memory pages belonging to heap, stack, data, code, anonymous mappings and swapped out pages by hitting the 'enter' key when in the pageview.  Its ability to show memory pages getting swapped out under high memory pressure is quite useful.

Memory view of init process

We can view the VM state by using the -v option with pagemon.  It displays details like the state of the process (running / sleeping), VM size, PTE, Swap, major and minor page faults etc.

sudo pagemon -p <pid> -v

VM state of a process

If you want to increase or decrease the delay (in microseconds) in data refreshes, use the '-d' option. Default is 10,000 microseconds.

For more options, refer the man page of the tool and its source can be cloned from ubuntu kernel page.

Conclusion

Pagemon is useful in tracking page activity of running processes. The developer claims that the code is of early developmental quality but does work quite well if anyone is interested in trying. There could be more features added to it in the coming days. Overall, a cool tool to try out.

The post How to Install pagemon - A Tool to Monitor Process Memory appeared first on LinOxide.

How to Install OpenSIPS Server on Ubuntu 15.04

$
0
0

OpenSIPS is an open source SIP Proxy program that runs on Linux platforms and play in the infrastructure of an Internet Telephony Service Provider. There are number of open source applications available that are used to build IP Telephony solutions. OpenSIPS may not be as well-known as Asterisk, but it is widely used by VOIP service providers as a core part of their infrastructure because of its robustness, speed and capacity.

In this article we will take you through the steps needed for downloading OpenSIPS sources and then compiling and installing it on the Ubuntu 15 server. So at the end of this article you'll see a working openSIPS server and able to see that how it will generate a working configuration file based on your desired functionalities.

Prerequisites:

OpenSIPS server installation requires some basic modules to be installed on the Ubuntu server that can be installed using the simple 'apt-get' command. Once your back end server is ready to deploy the OpenSIPS then login using the sudo or root user to perform the following tasks.

1) System Update

Once you are connected to your CentOS 7 server, run the following command as a root user to update your system with latest updates and security patches.

# apt-get update

system update

2) Installing Dependencies:

After system update you need to install the missing packages using the 'apt-get' command if these are not already installed.

# apt-get install build-essential openssl bison flex

To continue the installation you will be asked to type 'y' key. This will install all required missing packages including their dependencies as shown .

OpenSips Dependencies

Still few more dependencies left that need to be installed, to do so run the following command.

# apt-get install perl libdbi-perl libdbd-mysql-perl libdbd-pg-perl libfrontier-rpc-perl libterm-readline-gnu-perl libberkeleydb-perl ncurses-dev

Opesips dependencies

3) Installing MySQL Server:

In order setup database for the OpenSIPS server we need a Database server. So, we are going to use MySQL-Server by using the community repository. Let's run the following commands to install MySQL server and it development libraries.

# apt-get install mysql-server libmysqlclient-dev

Installing Mysql

Now you will be able to install the MySQL local server and MySQL headers by press the 'y' key. During its setup you will be asked to configure the root password for MySQL server, so type your secure password and press 'OK' to proceed.

set mysql password

4) Download OpenSIPS Package:

Open the Official OpenSIPS Source Page to download the package.

OpenSIPS Source

We are going to download the package into the following directory using 'wget' command and the extract within th esame directory.

# cd /usr/src

# wget http://opensips.org/pub/opensips/latest/opensips-2.1.2.tar.gz

# tar -zxvf opensips-2.1.2.tar.gz

download opensips

5) Compiling OpenSIPS Source:

Moving step ahead let's move into the opensips directory and run the command below to start the compilation process.

# cd opensips-2.1.2/
# make all

Compiling Opensips

6) Installing OpenSIPS Source:

Once the compilation process completes, you can start making its installation as shown below.

# make install

make install

7) OpenSIPS Configuration:

The OpenSIPS has been installed, now we are going to configure some of its basic parameters and startup script. Let's first create a new directory for the OpenSIPS run files.

# mkdir /var/run/opensips

Now move to the following 'debians' directory and list the files in it.

# cd packaging/debian/

Debian Files

Here you see the opensips default and init files that we will copying to the '/etc/default/' directory using the following commands.

# cp opensips.default /etc/default/opensips
# cp opensips.init /etc/init.d/opensips

Then run the following commands to give executable permissions to the opensips startup script, create and new user and then update its default boot configurations as shown below.

# chmod +x /etc/init.d/opensips
# useradd opensips
# update-rc.d opensips defaults 99

Opensips settings

Open the default file of Opensips using any of your editor to configure its startup options.

# vim /etc/default/opensips

Here you need to replace the 'RUN_OpenSIPS' to 'Yes'. You can also change the user and group and name that you wish to use for the Opensips services and also change the shared memory to minimum 128 which is recommended for the OpenSIPS server.

Opensips Statup

we also need to update the daemon on OpenSIP and change it location in its startup script and update its state from 'off' to 'on' and then close the file after making changes as shown in the below image.

# vim /etc/init.d/opensips

opensips daemon

Starting OpenSIPS Service:

All necessary configurations has been setup to proceed on starting OpenSIPS service. Simply run the following command to start OpenSIPS and the check its status, that should be active and running as shown in the image.

# /etc/init.d/opensips start

# systemctl status opensips

start opensips

You can also check the state of OpenSIPS services and the port on which its running that is '5060' by using the below commands.

# ps -ef | grep opensips
# netstat -alnp | grep opensips

opensips processes

Conclusion

OpenSIPS server has been installed successfully on Ubuntu 15.04 including of its required dependencies. But there are alot of things to work on and explore. In the next article we show you its web control panel installation. We have you enjoyed following this article and did not face any issue. Feel free to comment us back in case of any difficulty and leave you valuable suggestions.

The post How to Install OpenSIPS Server on Ubuntu 15.04 appeared first on LinOxide.


How to Install PrestaShop on CentOS 7

$
0
0

PrestaShop is the most powerful, dynamic and fully-featured free eCommerce software enriched with innovative tools. It is used by more than 2,50,000 people around the world for making their online stores at no cost. It's been used widely across the globe due to its simplicity and efficiency.

If you're planing to start with an online webstore, then you're on the right place. In this article, I'm providing the guidelines on how I installed PrestaShop on my CentOS 7 server to build up my online store.

Pre-requisites

  •  Disable Selinux
  • Install the LAMP stack
  • Create a Database/User
  • Confirm the installation of the PHP modules GD, Mcrypt, Mbstring and PDO MySQL

1. Disable Selinux

Need to edit the selinux configuration file located at : /etc/selinux/config

Modify the SELINUX parameter to disabled and reboot the server.

2. Install the LAMP stack

I've set a proper hostname for my server and start with the LAMP installation. Firstly, install Apache.

[root@server1 ~]# yum install httpd -y

This will install all the required Apache packages. Make sure it is enabled and working in the server.

root@server1 ~]# systemctl enable httpd
ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service'

[root@server1~]# systemctl status httpd.service
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled)
Active: active (running) since Tue 2016-02-23 09:18:28 UTC; 2s ago
Docs: man:httpd(8)
man:apachectl(8)
Process: 15550 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)
Main PID: 15561 (httpd)
Status: "Processing requests..."
CGroup: /system.slice/httpd.service
├─15561 /usr/sbin/httpd -DFOREGROUND
├─15562 /usr/sbin/httpd -DFOREGROUND
├─15563 /usr/sbin/httpd -DFOREGROUND
├─15564 /usr/sbin/httpd -DFOREGROUND
├─15565 /usr/sbin/httpd -DFOREGROUND
└─15566 /usr/sbin/httpd -DFOREGROUND

Now create the VHOST for the domain which we're planning to install Prestashop. I'm installing Prestashop for my domain saheetha.com.
Here is my Vhost for the domain. Make sure you create the document root and log folders, here it is /var/www/saheetha.com/public_html/ and /var/www/saheetha.com/logs/ before restarting the Apache.

[root@server1 ~]# cat /etc/httpd/conf.d/vhost.conf
NameVirtualHost *:80
<VirtualHost 139.162.54.130:80>
ServerAdmin webmaster@saheetha.com
ServerName saheetha.com
ServerAlias www.saheetha.com
DocumentRoot /var/www/saheetha.com/public_html/
ErrorLog /var/www/saheetha.com/logs/error.log
CustomLog /var/www/saheetha.com/logs/access.log combined
</VirtualHost>

Now install MySQL, I'm installing MySQL 5.5. Download your MySQL Community Repository in your Linux distribution. I downloaded the latest MySQL repo. And installed MySQL 5.5 in my server. Please see the steps I did to choose my required version.

[root@server1 ~]# wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
[root@server1 ~]# yum localinstall mysql57-community-release-el7-7.noarch.rpm
root@server1 ~]# yum install -y yum-utils *//Install the yum-utility packages //*

[root@server1 ~]# yum repolist enabled | grep "mysql.*-community.*" *//Checked the enabled repo before installation //*
mysql-connectors-community/x86_64 MySQL Connectors Community 17
mysql-tools-community/x86_64 MySQL Tools Community 31
mysql57-community/x86_64 MySQL 5.7 Community Server 56

[root@server1 ~]# yum-config-manager --disable mysql57-community *//Disabling MySQL 5.7 repo from installing*//

Loaded plugins: fastestmirror
=========================================================== repo: mysql57-community ===========================================================
[mysql57-community]
async = True
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/7
baseurl = http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/
cache = 0
cachedir = /var/cache/yum/x86_64/7/mysql57-community
check_config_file_age = True
cost = 1000
deltarpm_metadata_percentage = 100
deltarpm_percentage =
enabled = 0
enablegroups = True
exclude =
failovermethod = priority
gpgcadir = /var/lib/yum/repos/x86_64/7/mysql57-community/gpgcadir
gpgcakey =
gpgcheck = True
gpgdir = /var/lib/yum/repos/x86_64/7/mysql57-community/gpgdir
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
hdrdir = /var/cache/yum/x86_64/7/mysql57-community/headers
http_caching = all
includepkgs =
ip_resolve =
keepalive = True
keepcache = False
mddownloadpolicy = sqlite
mdpolicy = group:small
mediaid =
metadata_expire = 21600
metadata_expire_filter = read-only:present
metalink =
minrate = 0
mirrorlist =
mirrorlist_expire = 86400
name = MySQL 5.7 Community Server
old_base_cache_dir =
password =
persistdir = /var/lib/yum/repos/x86_64/7/mysql57-community
pkgdir = /var/cache/yum/x86_64/7/mysql57-community/packages
proxy = False
proxy_dict =
proxy_password =
proxy_username =
repo_gpgcheck = False
retries = 10
skip_if_unavailable = False
ssl_check_cert_permissions = True
sslcacert =
sslclientcert =
sslclientkey =
sslverify = True
throttle = 0
timeout = 30.0
ui_id = mysql57-community/x86_64
ui_repoid_vars = releasever,
basearch
username =

[root@server1 ~]# yum-config-manager --enable mysql55-community *//Enabling the MySQL 5.5 Repo from the Yum repository //*
Loaded plugins: fastestmirror
=========================================================== repo: mysql55-community ===========================================================
[mysql55-community]
async = True
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/7
baseurl = http://repo.mysql.com/yum/mysql-5.5-community/el/7/x86_64/
cache = 0
cachedir = /var/cache/yum/x86_64/7/mysql55-community
check_config_file_age = True
cost = 1000
deltarpm_metadata_percentage = 100
deltarpm_percentage =
enabled = 1
enablegroups = True
exclude =
failovermethod = priority
gpgcadir = /var/lib/yum/repos/x86_64/7/mysql55-community/gpgcadir
gpgcakey =
gpgcheck = True
gpgdir = /var/lib/yum/repos/x86_64/7/mysql55-community/gpgdir
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
hdrdir = /var/cache/yum/x86_64/7/mysql55-community/headers
http_caching = all
includepkgs =
ip_resolve =
keepalive = True
keepcache = False
mddownloadpolicy = sqlite
mdpolicy = group:small
mediaid =
metadata_expire = 21600
metadata_expire_filter = read-only:present
metalink =
minrate = 0
mirrorlist =
mirrorlist_expire = 86400
name = MySQL 5.5 Community Server
old_base_cache_dir =
password =
persistdir = /var/lib/yum/repos/x86_64/7/mysql55-community
pkgdir = /var/cache/yum/x86_64/7/mysql55-community/packages
proxy = False
proxy_dict =
proxy_password =
proxy_username =
repo_gpgcheck = False
retries = 10
skip_if_unavailable = False
ssl_check_cert_permissions = True
sslcacert =
sslclientcert =
sslclientkey =
sslverify = True
throttle = 0
timeout = 30.0
ui_id = mysql55-community/x86_64
ui_repoid_vars = releasever,
basearch
username =

[root@localhost ~]# yum repolist enabled | grep "mysql.*-community.*" *//Confirm the enabled MySQL repo versions //*
mysql-connectors-community/x86_64 MySQL Connectors Community 17
mysql-tools-community/x86_64 MySQL Tools Community 31
mysql55-community/x86_64 MySQL 5.5 Community Server 199
Now install the MySQL 5.5 from the Repo.

[root@server1~]# yum install mysql-community-server

After completing with the installation, start the MySQL service and confirm its status.

[root@server1 ~]# service mysqld start
Redirecting to /bin/systemctl start mysqld.service
[root@server1 ~]#
[root@server1 ~]#
[root@server1 ~]# systemctl status mysqld.service
mysqld.service - MySQL Community Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled)
Active: active (running) since Tue 2016-02-23 09:27:44 UTC; 8s ago
Process: 15717 ExecStartPost=/usr/bin/mysql-systemd-start post (code=exited, status=0/SUCCESS)
Process: 15664 ExecStartPre=/usr/bin/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 15716 (mysqld_safe)
CGroup: /system.slice/mysqld.service
├─15716 /bin/sh /usr/bin/mysqld_safe
└─15862 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mysqld...

Feb 23 09:27:42 server1.centos7-test.com mysql-systemd-start[15664]: Alternatively you can run:
Feb 23 09:27:42 server1.centos7-test.com mysql-systemd-start[15664]: /usr/bin/mysql_secure_installation
Feb 23 09:27:42 server1.centos7-test.com mysql-systemd-start[15664]: which will also give you the option of removing the test
Feb 23 09:27:42 server1.centos7-test.com mysql-systemd-start[15664]: databases and anonymous user created by default. This is
Feb 23 09:27:42 server1.centos7-test.com mysql-systemd-start[15664]: strongly recommended for production servers.
Feb 23 09:27:42 server1.centos7-test.com mysql-systemd-start[15664]: See the manual for more instructions.
Feb 23 09:27:42 server1.centos7-test.com mysql-systemd-start[15664]: Please report any problems at http://bugs.mysql.com/
Feb 23 09:27:42 server1.centos7-test.com mysqld_safe[15716]: 160223 09:27:42 mysqld_safe Logging to '/var/log/mysqld.log'.
Feb 23 09:27:42 server1.centos7-test.com mysqld_safe[15716]: 160223 09:27:42 mysqld_safe Starting mysqld daemon with databases from /v.../mysql
Feb 23 09:27:44 server1.centos7-test.com systemd[1]: Started MySQL Community Server.
Hint: Some lines were ellipsized, use -l to show in full.

[root@server1 ~]# mysql --version
mysql Ver 14.14 Distrib 5.5.48, for Linux (x86_64) using readline 5.1

Now you can run the MySQL secure installation script to secure your MySQL installation by removing remote root login, setting root password, disabling anonymous users etc as needed.

root@server1 ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
... Success!

Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
... Success!

By default, MySQL comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] n
... skipping.

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

Now it's time for PHP. Install the PHP with all required modules.

[root@server1 ~]# yum install php-mcrypt php php-common php-pdo php-cli php-mysql php-gd php-xml libtool-ltdl mhash mcrypt -y

[root@server1 ~]# php -v
PHP 5.4.16 (cli) (built: Jun 23 2015 21:17:27)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

3. Create a Database/User

Now create a database for Prestashop installation. I created a database namely prestashopdb and user prestashopuser prior to the installation. You can do it from MySQL CLI or you can install PhpMyadmin and manage databases using that.

[root@server1 ~]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.5.48 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

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

mysql> create database prestashopdb;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL ON prestashopdb.* TO prestashopuser@localhost IDENTIFIED BY 'prestashop123#';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

4. Confirm the installation of the PHP modules GD, Mcrypt, Mbstring and PDO MySQL

PHP modules like GD and PDO MySQL are installed during the initial PHP setup. I need to enable the Mcrypt and MBstring module to complete the pre-requisites for the Prestashop installation.

Mcrypt Installation:

Install EPEL repo for YUM
yum -y install epel-release
yum install php-mcrypt -y

MBstring installation

yum install php-mbstring -y

Installing Prestashop

Download the latest Prestashop version from the link and extract it in the home folder. Modify the permissions of the folders/files to 755.

root@server1 home]# unzip prestashop_1.6.1.2.zip
root@server1 prestashop]# chmod -R 755 *.*
[root@server1 prestashop]# ll
total 160
drwxr-xr-x 2 root root 4096 Feb 23 09:45 Adapter
drwxr-xr-x 9 root root 4096 Feb 23 09:45 admin
-rwxr-xr-x 1 root root 12320 Oct 29 16:16 architecture.md
drwxr-xr-x 8 root root 4096 Feb 23 09:45 cache
drwxr-xr-x 17 root root 4096 Feb 23 09:45 classes
drwxr-xr-x 3 root root 4096 Feb 23 09:45 config
-rwxr-xr-x 1 root root 3617 Oct 29 16:16 CONTRIBUTING.md
-rwxr-xr-x 1 root root 5847 Oct 29 16:17 CONTRIBUTORS.md
drwxr-xr-x 4 root root 4096 Feb 23 09:45 controllers
drwxr-xr-x 4 root root 4096 Feb 23 09:45 Core
drwxr-xr-x 2 root root 4096 Feb 23 09:45 css
drwxr-xr-x 4 root root 4096 Feb 23 09:45 docs
drwxr-xr-x 2 root root 4096 Feb 23 09:45 download
-rwxr-xr-x 1 root root 2454 Oct 29 16:16 error500.html
-rwxr-xr-x 1 root root 1218 Oct 29 16:16 footer.php
-rwxr-xr-x 1 root root 1247 Oct 29 16:16 header.php
-rwxr-xr-x 1 root root 4717 Oct 29 16:16 images.inc.php
drwxr-xr-x 18 root root 4096 Feb 23 09:45 img
-rwxr-xr-x 1 root root 1068 Oct 29 16:16 index.php
-rwxr-xr-x 1 root root 1154 Oct 29 16:16 init.php
drwxr-xr-x 12 root root 4096 Feb 23 09:45 install
drwxr-xr-x 7 root root 4096 Feb 23 09:45 js
drwxr-xr-x 2 root root 4096 Feb 23 09:45 localization
drwxr-xr-x 2 root root 4096 Feb 23 09:45 log
drwxr-xr-x 3 root root 4096 Feb 23 09:45 mails
drwxr-xr-x 79 root root 4096 Feb 23 09:45 modules
drwxr-xr-x 5 root root 4096 Feb 23 09:45 override
drwxr-xr-x 2 root root 4096 Feb 23 09:45 pdf
-rwxr-xr-x 1 root root 6576 Oct 29 16:16 README.md
drwxr-xr-x 3 root root 4096 Feb 23 09:45 themes
drwxr-xr-x 18 root root 4096 Feb 23 09:45 tools
drwxr-xr-x 3 root root 4096 Feb 23 09:45 translations
drwxr-xr-x 2 root root 4096 Feb 23 09:45 upload
drwxr-xr-x 2 root root 4096 Feb 23 09:45 webservice

root@server1 home]# cp -rp prestashop/* /var/www/saheetha.com/public_html/

Now copy the prestashop folder contents from /home to document root of the required domain which is meant to be our online store. It is this path "/var/www/saheetha.com/public_html/" in my case.

Now open up in your browser the URL >>http://domain.com/install/

Please navigate through the screenshots which describes each installation stage.

Stage 1 : Language Selection

prest1

Stage 2 : License Agreement 

Agree the terms and conditions in the license agreement and click "Next" to proceed further.

 

license2

Stage 3 : System Compatibility check 

It will check for the installation of the required PHP modules and folders/file permissions to continue with the installation.

prestashop3

Stage 4: Creating your own Store information:

Pres5DBconnec

Stage 6 : Installation Stage

pres6config

Stage 7 : Final Stage

It will provide you with the login credentials to manages your Online store.

pres7

Now you're all set with your installation.  Please make sure to delete your "Install" folder from your domain document root for security reasons.

How can we access the Admin Panel?

Before accessing the admin Panel for our installation, you need to rename your "admin" folder under the installation domain document root to some other name for security reasons. Or else you will get a message like this on the browser while accessing your admin panel.

For security reasons, you cannot connect to the back office until you have
renamed the /admin folder (e.g. admin847v0u8kk/)
Please then access this page by the new URL (e.g. http://saheetha.com/admin847v0u8kk/)

I renamed my admin folder and accessed my admin panel with the login credentials.  You can manage your products, orders, customers, price details etc from this.

prestashop_saheethaadmin

Now you can head over to the Prestashop user manuals  to learn more about managing your Online store.

You see how easy you can build up an online webstore using this software. Congratulation on your new venture with e-shops :).  I hope you enjoyed reading this article. I recommend your valuable comments and suggestions on this.

Have a Good Day!

The post How to Install PrestaShop on CentOS 7 appeared first on LinOxide.

How to Install Sysdig System Diagnosing Tool on Ubuntu 15 / CentOS 7

$
0
0

Hello and welcome to our todays article on Linux system exploration and troubleshooting tool Sysdig with first class support for containers. Sysdig capture system state and activity from a running Linux instance, then save, filter and analyze. You can use this awesome tool as a replacement of many Linux troubleshooting commands like top, lsof, strace, iostat, ps, etc. It also combines the benefits of many utilities such as strace, tcpdump, and lsof into one single application which is packed with a set of scripts called Chisels that make it easier to extract useful information and do troubleshooting.

In this article we’ll show you its installation steps and basic usage of sysdig to perform system monitoring and troubleshooting on Linux CentOS 7 and Ubuntu 15 Operating system.

1) Installing Sysdig on Ubuntu 15:

Sysdig included the latest versions of Debian , RHEL and Container based OS; however, it is updated with new functionality all the time. We are going to install Sysdig using 'apt' command, but first we need to setup the apt repository maintained by Draios by running the following 'curl' commands with root user.

Using below commands will trust the Draios GPG key and configure the apt repository.

# curl -s https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public | apt-key add -

# curl -s -o /etc/apt/sources.list.d/draios.list http://download.draios.com/stable/deb/draios.list

Now you need to update the package list by executing the following command.

# apt-get update

installing sysdig

Once your system update is complete you need to install the kernel headers package using the command as shown below.

# apt-get -y install linux-headers-$(uname -r)

Now you can install sysdig on ubuntu using the following command.

# apt-get -y install sysdig

Sysdig installation

2) Installing Sysdig on CentOS 7

The installation process on the CentOS 7 is similar to the one that we have performed for Ubuntu server but you need to repeat the same step by setting up the yum repository that will use its own key to verify the authenticity of the package.

Let's run the following command to use the 'rpm' tool with the '--import' to manually add the Draios key to your RPM key.

# rpm --import https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public

After this download the Draios repository and configure yum to use it on your CentOS 7 server.

# curl -s -o /etc/yum.repos.d/draios.repo http://download.draios.com/stable/rpm/draios.repo

Now you need to update the package list by executing the following command before starting installation of Sysdig package.

# yum update

Sysdig Repo

The EPEL repository is needed in order to download the Dynamic Kernel Module Support (DKMS) package used by sysdig tool. So, the following below commands to enable EPEL repository.

# yum -y install epel-release

Enable EPEL Repo

Now install the kernel headers in order to setup sysdig-probe module and then flow the command to install the Sysdig package on the server.

# yum install kernel-devel-$(uname -r)

# yum install sysdig

Installing Sysdig

3) Using Sysdig

After successful installation of sysdig tool, now we will show you some of its most useful examples to use this for troubleshooting your system. The simplest and easiest method to use sysdig is by invoking it without any argument as shown below.

# sysdig

By default, sysdig prints the information for each captured event on a single line in the format of its event number, event time, event cpu number, name of the process (PID), event direction for out, event type and event arguments.

Using Sysdig

The output is so much huge and mostly not very useful by itself, so you can write the output of the Sysdig in a file by using the '-w' flag and specifying the file name in '.dump' as shown in below command.

# sysdig -w result.dump

Ten run the following command with parameter '-r' to read the output from the saved file.

# sysdig -r result.dump

Sysdig Filters

You can use filters that allow you to filter the output of sysdig results to specific information. run the following command to find a list of available filters as shown.

# sysdig -l

----------------------
Field Class: fd

fd.num the unique number identifying the file descriptor.
fd.cport for TCP/UDP FDs, the client port.
fd.rproto for TCP/UDP FDs, the remote protocol.

----------------------
Field Class: process

proc.pid the id of the process generating the event.
proc.name the name (excluding the path) of the executable generating the
event.
proc.args the arguments passed on the command line when starting the proc
ess generating the event.
proc.env the environment variables of the process generating the event.
proc.cmdline full process command line, i.e. proc.name + proc.args.
proc.exeline full process command line, with exe as first argument, i.e. pro
c.exe + proc.args.
proc.cwd the current working directory of the event.
proc.duration number of nanoseconds since the process started.
proc.fdlimit maximum number of FDs the process can open.
proc.fdusage the ratio between open FDs and maximum available FDs for the pr
ocess.
.
thread.pfminor number of minor page faults since thread start.
thread.ismain 'true' if the thread generating the event is the main one in th
e process.

So you can filter the results using its powerful filtering system. You can use the “proc.name” filter to capture all of the sysdig events for a specific process.
Let's for example filter the process of 'MySQLD' using proc.name argument using below command.

# sysdig -r result.dump proc.name=mysqld

140630 02:20:30.848284977 2 mysqld (2899) io_getevents
140632 02:20:30.848289674 2 mysqld (2899) > switch next=2894(mysqld) pgft_maj=0 pgft_min=1 vm_size=841372 vm_rss=85900 vm_swap=0
140633 02:20:30.848292784 2 mysqld (2894) io_getevents
140635 02:20:30.848297142 2 mysqld (2894) > switch next=2901(mysqld) pgft_maj=0 pgft_min=4 vm_size=841372 vm_rss=85900 vm_swap=0
140636 02:20:30.848300414 2 mysqld (2901) io_getevents
140638 02:20:30.848307954 2 mysqld (2901) > switch next=0 pgft_maj=0 pgft_min=1 vm_size=841372 vm_rss=85900 vm_swap=0
140640 02:20:30.849340499 1 mysqld (2900) io_getevents
140642 02:20:30.849348907 1 mysqld (2900) > switch next=2895(mysqld) pgft_maj=0 pgft_min=1 vm_size=841372 vm_rss=85900 vm_swap=0
140643 02:20:30.849357633 1 mysqld (2895) io_getevents
140645 02:20:30.849362258 1 mysqld (2895) > switch next=26329(tuned) pgft_maj=0 pgft_min=1 vm_size=841372 vm_rss=85900 vm_swap=0
140702 02:20:30.995763869 1 mysqld (2898) io_getevents
140704 02:20:30.995777232 1 mysqld (2898) > switch next=2893(mysqld) pgft_maj=0 pgft_min=1 vm_size=841372 vm_rss=85900 vm_swap=0
140705 02:20:30.995782563 1 mysqld (2893) io_getevents
140707 02:20:30.995795720 1 mysqld (2893) > switch next=0 pgft_maj=0 pgft_min=3 vm_size=841372 vm_rss=85900 vm_swap=0
140840 02:20:31.204456822 1 mysqld (2933) futex addr=7F1453334D50 op=129(FUTEX_PRIVATE_FLAG|FUTEX_WAKE) val=1
140842 02:20:31.204464336 1 mysqld (2933) futex addr=7F1453334D8C op=393(FUTEX_CLOCK_REALTIME|FUTEX_PRIVATE_FLAG|FUTEX_WAIT_BITSET) val=12395
140844 02:20:31.204569972 1 mysqld (2933) > switch next=3920 pgft_maj=0 pgft_min=1 vm_size=841372 vm_rss=85900 vm_swap=0
140875 02:20:31.348405663 2 mysqld (2897) io_getevents

To filter the live process of 'sshd' you can use following command with proc.name argument.

# sysdig proc.name=sshd

Sysdig Filter

Network and System Diagnosing with Sysdig

To see the top processes in terms of network bandwidth usage run the below sysdig command.

# sysdig -c topprocs_net

Bytes Process PID
--------------------------------------------------------------------------------
304B sshd 3194

To capture all processes that open a specific file, use below command.

# sysdig fd.name=/var/log

Capture Process

In order to capturing all processes that open a specific file system you can use the following command. Use comparison operators with filters such as contains, =, !=, =, . You will see that filters can be used for both reading from a file or the live event stream.

# sysdig fd.name contains /etc

Capture All processes

Using Chisels in Sysdig

Sysdig’s chisels are little scripts that analyze the sysdig event stream to perform useful actions. If you’ve used system tracing tools like dtrace, you’re probably familiar with running scripts that trace OS events. Chisels work well on live systems, but can also be used with trace files for offline analysis.

To get the list of available chisels, just type the following command to get a short description for each of the available chisels.

# sysdig -cl

Sysdig Chipsels

To run one of the chisels, you use the '–c' flag. For instance, let’s run the topfiles_bytes chisel as shown below.

# sysdig -c topfiles_bytes

Sysdig topfiles

Or if you want to see the top files in a specific folder then use below command.

# sysdig -c topfiles_bytes "fd.name contains /root"

To see the top files by a specific user use below.

# sysdig -c topfiles_bytes "user.name=admin"

Conclusion

Thank you for reading this detailed article and I hope you have found this much helpful as your favorite system and network diagnosing tool. There are still a lot more features that you can explore using sysdig. Don't forget to share with us about your finding and leave us your valuable comments.

The post How to Install Sysdig System Diagnosing Tool on Ubuntu 15 / CentOS 7 appeared first on LinOxide.

How to Setup Nylas N1 Open Source Mail Client on Modern Web

$
0
0

Hi All, today we are going to setup an awesome and beautiful Mail client on Linux Ubuntu 15 and CentOS 7 Desktops that is called Nylas N1. Nylas N1 is a new open source email client application licensed under GPLv3 which is created by Nylas. This is an extensible mail client that is now available for Linux, Mac and Windows based systems with a user friendly web interface as its designed by clean typography and delightful buttons that feels similar especially for gmail users. It supports rich plugins for different features that are built on fully-supported APIs that are end-to-end tested and compatible with hundreds of email providers, including Gmail, Yahoo, iCloud, Microsoft Exchange, and more. So it's easy to create new experiences and work flows around email using Nylas N1.

Installing Nylas N1 on CentOS 7:

The latest released package of Nylas N1 is available to download for cross platforms. We are going to install it on CentOS 7 Desktop. To download the RPM package you need to go Nylas N1 Dowload Page and copy its source link so that you use 'wget' command to get its package on your system using below command.

$ wget https://github.com/nylas/N1/releases/download/0.4.9/N1-0.4.9.rpm

Nylas rpm

Once the rpm package is downloaded, simply run the installation command using 'rpm' command with '-i' as shown below with sudo user.

$ sudo rpm -i N1-0.4.9.rpm

Installing Nylas N1 on Ubuntu 15:

The installation process of N1 Email client is simple, now we just need to download the Debian package for the N1 email client.Follow the download page of Nylas N1 and click on the N1.deb package your installation N1 Email client on your Ubuntu system.

Nylas Debian

After downloading the package go to the directory where you have downloaded the debian package and run the following command to install the package.

$ sudo dpkg -i N1.deb

Installing Nylas N1

Nylas N1 Application Setup:

Now you have successfully installed N1 Email client on your CentOS 7 and Ubuntu 15 Desktops. To launch the N1 client point to the 'Accessories' bar under Applications tab and click on the 'Nylas N1'.

Nylas N1 Launch

Welcome the Next Generation Email platform, Say hello and click on the Continue button.

Nylas setup

N1 is developed with modern web technologies, so the developers are welcome to add rich functionality to N1 with easy to use JavaScript.

N1 development

N1 has made possible using its Nylas Sysnc Engine that provides secured bank-grade encryption and a modern API layer for email,contacts and calenders. Let's click on the Get Started button to reveal its features.

Nylas Sync Engine

Now choose your email provider to use on Nylas Email Client, here I am going to use my gmail account.

Email Provider

In the next step you need to Allow access to Nylas Email Client for the basic information of you email account.

Allow access

That's it. You are all set and ready to use Nylas N1 Email Client.

N1 set

The uniqueness of Nylas is not that it is open-source or well designed. It’s that it’s extensible like a web-browser. New features, plugins and themes can be added to N1 easily. Developers can write extensions in JavaScript, React, NodeJS, Flux and Electron.

Click on the 'Install' button if you wish to install from the example plugins and click on the Start using N1.

N1 Plugins

Here you will get all your Gmail inbox sysnced with Nylas N1 and have access to your emails on N1 email client.

N1 email Client

Conclusion:

We have you have enjoyed following this article and you will really find this a unique email client. N1 is designed to be hacked on and extended with plugins and extensions. The best thing about N1 is that it’s an open-source project. If a feature is missing,or something needs fixing anyone can dive in an play with the code. You choose your appropriate settings from its multiple available features or do some of its available plugins that best suits your needs to make N1 more important and good looking for you. Do not forget to share your thoughts and leave your valuable comments and suggestions.

The post How to Setup Nylas N1 Open Source Mail Client on Modern Web appeared first on LinOxide.

A Guide to Install and Use ZFS on CentOS 7

$
0
0

ZFS, short form of Zettabyte Filesystem is an advanced and highly scalable filesystem. It was originally developed by Sun Microsystems and is now part of the OpenZFS project. With so many filesystems available on Linux, it is quite natural to ask what is special about ZFS.  Unlike other filesystems, it is not just a filesystem but a logical volume manager as well.  Some of the features of ZFS that make it popular are:

  • Data Integrity -  data consistency and integrity are ensured through copy-on-write and checksum techniques
  • Pooling of storage space - available storage drives can be put together into a single pool called zpool
  • Software RAID - Setting up a raidz array is as simple as issuing a single command.
  • Inbuilt volume manager - ZFS acts as a volume manager as well.
  • Snaphots, clones, compression - these are some of the advanced features that ZFS provides.

ZFS  is a 128-bit filesystem and has the capacity to store 256 zetta bytes!  In this guide, we will be learning how to install, setup and also to use some important ZFS commands on a CentOS 7 server.

NOTE: The installation part is specific to CentOS server while the commands are common on any Linux system

Terminology

Before we move on, let us understand some of the terminologies that are commonly used in ZFS.

Pool

Logical grouping of storage drives. It is the basic building block of ZFS and it is from here that storage space gets allocated for datasets.

Datasets

The components of ZFS filesystem namely filesystem, clones, snapshots and volumes are referred to as datasets.

Mirror

A virtual device storing identical data copies on two or more disks. In situations where one disk fails, same data is available on other disks of that mirror.

Resilvering

Process of copying data from one disk to another in the event of restoring a device.

Scrub

Scrub is used for consistency check in ZFS like how fsck is used in other filesystems

Installing ZFS

In order to install ZFS on CentOS, we need to first setup the EPEL  repository for supporting packages and then the ZFS repository to install the required ZFS packages.

Note: Please prefix sudo to all the commands if you are not the root user. 

yum localinstall --nogpgcheck http://epel.mirror.net.in/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release.el7.noarch.rpm

Now install the kernel development and zfs packages. Kernel development packages are needed as ZFS is built as a module and inserted into the kernel.

yum install kernel-devel zfs

Verify if the zfs module is inserted into the kernel using 'lsmod' command and if not, insert it manually using 'modprobe' command.

[root@li1467-130 ~]# lsmod |grep zfs

[root@li1467-130 ~]# modprobe zfs

[root@li1467-130 ~]# lsmod |grep zfs
zfs 2790271 0
zunicode 331170 1 zfs
zavl 15236 1 zfs
zcommon 55411 1 zfs
znvpair 89086 2 zfs,zcommon
spl 92029 3 zfs,zcommon,znvpair

Let us check if we are able to use the zfs commands:

[root@li1467-130 ~]# zfs list
no datasets available

Administration

ZFS has two main utilities, zpool and zfs.  While zpool deals with creation and maintenance of pools using disks zfs utility is responsible for creation and maintenance of datasets.

zpool utility

Creating and destroying pools

First verify the disks available for you to create a storage pool.

[root@li1467-130 ~]# ls -l /dev/sd*
brw-rw---- 1 root disk 8,  0  Mar 16 08:12 /dev/sda
brw-rw---- 1 root disk 8, 16 Mar 16 08:12 /dev/sdb
brw-rw---- 1 root disk 8, 32 Mar 16 08:12 /dev/sdc
brw-rw---- 1 root disk 8, 48 Mar 16 08:12 /dev/sdd
brw-rw---- 1 root disk 8, 64 Mar 16 08:12 /dev/sde
brw-rw---- 1 root disk 8, 80 Mar 16 08:12 /dev/sdf

Create a pool from a set of drives.

zpool create <option> <pool name. <drive 1> <drive 2> .... <drive n>

[root@li1467-130 ~]# zpool create -f zfspool sdc sdd sde sdf

'zpool status' command displays the status of the available pools

[root@li1467-130 ~]# zpool status
pool: zfspool
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
zfspool ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
sde ONLINE 0 0 0
sdf ONLINE 0 0 0

errors: No known data errors

Verify if the pool creation was successful.

[root@li1467-130 ~]# df -h
Filesystem    Size   Used      Avail  Use%   Mounted on
/dev/sda      19G    1.4G        17G      8%      /
devtmpfs    488M        0      488M      0%     /dev
tmpfs          497M        0      497M      0%    /dev/shm
tmpfs          497M    50M     447M     11%   /run
tmpfs          497M         0     497M      0%   /sys/fs/cgroup
tmpfs          100M         0     100M      0%   /run/user/0
zfspool         3.7G         0       3.7G      0%  /zfspool

As you can see, zpool has created a pool by name 'zfspool' of size 3.7 GB and has also mounted it in /zfspool.

To destroy a pool, use the 'zpool destroy' command

zpool destroy <pool name>

[root@li1467-130 ~]# zpool destroy zfspool
[root@li1467-130 ~]# zpool status
no pools available

Let us now try creating a simple mirror pool.

zpool create <option> <pool name> mirror <drive 1> <drive 2>... <drive n>

We can also create multiple mirrors at the same time by repeating the mirror keyword followed by the drives.

[root@li1467-130 ~]# zpool create -f mpool mirror sdc sdd mirror sde sdf
[root@li1467-130 ~]# zpool status
pool: mpool
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
mpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
sde ONLINE 0 0 0
sdf ONLINE 0 0 0

errors: No known data errors

In the above example, we have created mirror pools each with two disks.

Similarly, we can create a raidz pool.

[root@li1467-130 ~]# zpool create -f rpool raidz sdc sdd sde sdf
[root@li1467-130 ~]# zpool status
pool: rpool
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
sde ONLINE 0 0 0
sdf ONLINE 0 0 0

errors: No known data errors

Managing devices in ZFS pools

Once a pool is created, it is possible to add or remove hot spares and cache  devices from the pool, attach or detach devices from mirrored pools and replace devices. But non-redundant and raidz devices cannot be removed from a pool.  We will see how to perform some of these operations in this section.

I'm first creating a pool called 'testpool' consisting of two devices, sdc and sdd.  Another device sde will then be added to this.

[root@li1467-130 ~]# zpool create -f testpool sdc sdd

[root@li1467-130 ~]# zpool add testpool sde
[root@li1467-130 ~]# zpool status
pool: testpool
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
testpool ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
sde ONLINE 0 0 0

errors: No known data errors

As mentioned earlier, I cannot remove this newly added device as it is not a redundant or raidz pool.

[root@li1467-130 ~]# zpool remove testpool sde
cannot remove sde: only inactive hot spares, cache, top-level, or log devices can be removed

But I can add a spare disk to this pool and remove it.

[root@li1467-130 ~]# zpool add testpool spare sdf
[root@li1467-130 ~]# zpool status
pool: testpool
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
testpool ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
sde ONLINE 0 0 0
spares
sdf AVAIL

errors: No known data errors
[root@li1467-130 ~]# zpool remove testpool sdf
[root@li1467-130 ~]# zpool status
pool: testpool
state: ONLINE
scan: none requested
config:

NAME        STATE       READ  WRITE   CKSUM
testpool    ONLINE       0          0               0
sdc            ONLINE       0           0               0
sdd            ONLINE      0            0               0
sde            ONLINE      0            0               0

errors: No known data errors

Similarly, we can use attach command to attach disks to a mirrored or non-mirrored pool and detach command to detach disks from a mirrored pool.

zpool attach <options> <pool name> <device> <new device>

zpool detach <pool name> <device>

When a device fails or gets corrupted, we can replace it using the 'replace' command.

zpool replace <options> <pool name> <device> <new device>

We will test this by forcefully corrupting a device in a mirrored configuration.

[root@li1467-130 ~]# zpool create -f testpool mirror sdd sde

This creates a mirror pool consisting of disks sdd and sde. Now, let us deliberately corrupt sdd drive by writing zeroes into it.

[root@li1467-130 ~]# dd if=/dev/zero of=/dev/sdd
dd: writing to ‘/dev/sdd’: No space left on device
2048001+0 records in
2048000+0 records out
1048576000 bytes (1.0 GB) copied, 22.4804 s, 46.6 MB/s

We will use the 'scrub' command to detect this corruption.

[root@li1467-130 ~]# zpool scrub testpool
[root@li1467-130 ~]# zpool status
pool: testpool
state: ONLINE
status: One or more devices could not be used because the label is missing or
invalid. Sufficient replicas exist for the pool to continue
functioning in a degraded state.
action: Replace the device using 'zpool replace'.
see: http://zfsonlinux.org/msg/ZFS-8000-4J
scan: scrub repaired 0 in 0h0m with 0 errors on Fri Mar 18 09:59:40 2016
config:

NAME STATE READ WRITE CKSUM
testpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
sdd UNAVAIL 0 0 0 corrupted data
sde ONLINE 0 0 0

errors: No known data errors

We will now replace sdd with sdc.

[root@li1467-130 ~]# zpool replace testpool sdd sdc; zpool status
pool: testpool
state: ONLINE
scan: resilvered 83.5K in 0h0m with 0 errors on Fri Mar 18 10:05:17 2016
config:

NAME STATE READ WRITE CKSUM
testpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
replacing-0 UNAVAIL 0 0 0
sdd UNAVAIL 0 0 0 corrupted data
sdc ONLINE 0 0 0
sde ONLINE 0 0 0

errors: No known data errors

[root@li1467-130 ~]# zpool status
pool: testpool
state: ONLINE
scan: resilvered 74.5K in 0h0m with 0 errors on Fri Mar 18 10:00:36 2016
config:

NAME STATE READ WRITE CKSUM
testpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
sdc ONLINE 0 0 0
sde ONLINE 0 0 0

errors: No known data errors

Migration of pools

We can migrate storage pools between different hosts using export and import commands. For this, the disks used in the pool should be available from both the systems.

[root@li1467-130 ~]# zpool export testpool
[root@li1467-130 ~]# zpool status
no pools available

The command 'zpool import' lists all the pools that are available for importing. Execute this command from the system where you want to import the pool.

[root@li1467-131 ~]# zpool import
pool: testpool
id: 3823664125009563520
state: ONLINE
action: The pool can be imported using its name or numeric identifier.
config:

testpool ONLINE
sdc ONLINE
sdd ONLINE
sde ONLINE

Now import the required pool

[root@li1467-131 ~]# zpool import testpool
[root@li1467-131 ~]# zpool status
pool: testpool
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
testpool ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
sde ONLINE 0 0 0

errors: No known data errors

iostat

One can verify the io statistics of the pool devices using the iostat command.

[root@li1467-130 ~]# zpool iostat -v testpool
capacity          operations                        bandwidth
pool          alloc      free            read     write             read   write
----------    -----     -----            -----     -----                -----   -----
testpool    1.80M  2.86G        22            27               470K  417K
sdc             598K   975M           8              9               200K  139K
sdd             636K  975M            7              9                135K  139K
sde             610K   975M           6              9                 135K 139K
----------   -----     -----           -----          -----               -----  -----

zfs utility

We will now move on to the zfs utility.  Here we will take a look at how to create, destroy datasets, filesystem compression, quotas and snapshots.

Creating and destroying filesystem

ZFS filesystem can be created using the zfs create command

zfs create <filesystem>

 

[root@li1467-130 ~]# zfs create testpool/students
[root@li1467-130 ~]# zfs create testpool/professors
[root@li1467-130 ~]# df -h
Filesystem                    Size             Used          Avail          Use%          Mounted on
/dev/sda                       19G              1.4G          17G             8%                     /
devtmpfs                   488M                  0      488M             0%                    /dev
tmpfs                          497M                  0       497M            0%                   /dev/shm
tmpfs                          497M            50M       447M           11%                  /run
tmpfs                          497M                 0        497M            0%                /sys/fs/cgroup
testpool                       2.8G                  0         2.8G            0%               /testpool
tmpfs                          100M                  0        100M            0%             /run/user/0
testpool/students     2.8G                   0         2.8G             0%            /testpool/students
testpool/professors  2.8G                   0         2.8G             0%           /testpool/professors

From the above output, observe that though there is no mount point given at the time of filesystem creation, mountpoint is created using the same path relationship as that of the pool.

zfs create allows  using -o with it using which we can specify options like mountpoint, compression, quota, exec etc.

One can list the available filesystem using zfs list:

[root@li1467-130 ~]# zfs list
NAME                           USED     AVAIL     REFER    MOUNTPOINT
testpool                         100M       2.67G       19K         /testpool
testpool/professors        31K     1024M   20.5K        /testpool/professors
testpool/students        1.57M     98.4M   1.57M      /testpool/students

We can destroy a filesystem using the destroy option

zfs destroy <filesystem>

Compression

We will now understand how compression works in ZFS. Before we start using compression, we need to enable it using 'set compression'

zfs set <compression=value> <filesystem|volume|snapshot>

Once this is done, compression and decompression happens on the filesystem on the fly transparently.

In our example, I will be enabling compression on the students directory using lz4 compression algorithm.

[root@li1467-130 ~]# zfs set compression=lz4 testpool/students

I will now copy a file of size 15M into this filesystem and check the size once it is copied.

[root@li1467-130 /]# cd /var/log
[root@li1467-130 log]# du -h secure
15M secure

[root@li1467-130 ~]# cp /var/log/secure /testpool/students/

[root@li1467-130 students]# df -h .
Filesystem               Size     Used   Avail    Use%      Mounted on
testpool/students   100M   1.7M   99M        2%      /testpool/students

Notice that the size used in the filesystem is only 1.7M while the file size was 15M. We can check the compression ratio as well..

[root@li1467-130 ~]# zfs get compressratio testpool
NAME      PROPERTY         VALUE            SOURCE
testpool    compressratio     9.03x                     -

 Quotas and reservation

Let me explain quotas with a real life example. Suppose we have a requirement in a university to limit the disk space used by the filesystem for professors and students. Let us assume that we need to allocate 100MB for students and 1GB for professors. We can make use of 'quotas' in ZFS to fulfill this requirement. Quotas ensure that the amount of disk space used by a filesystem doesn't exceed the limits set. Reservation helps in actually allocating and guaranteeing that the required amount of disk space is available for the filesystem.

zfs set quota=<value> <filesystem|volume|snapshot>

zfs set reservation=<value> <filesystem|volume|snapshot>

 

[root@li1467-130 ~]# zfs set quota=100M testpool/students
[root@li1467-130 ~]# zfs set reservation=100M testpool/students
[root@li1467-130 ~]# zfs list
NAME                          USED      AVAIL    REFER    MOUNTPOINT
testpool                        100M       2.67G       19K        /testpool
testpool/professors      19K       2.67G        19K       /testpool/professors
testpool/students      1.57M       98.4M    1.57M    /testpool/students

[root@li1467-130 ~]# zfs set quota=1G testpool/professors
[root@li1467-130 ~]# zfs list
NAME                           USED     AVAIL    REFER    MOUNTPOINT
testpool                         100M     2.67G       19K          /testpool
testpool/professors       19K    1024M       19K         /testpool/professors
testpool/students       1.57M    98.4M    1.57M       /testpool/students

In the above example, we have allocated 100MB for students and 1GB for professors. Observe the 'AVAIL' column in 'zfs list'.  Initially they had the size of 2.67GB each and after setting the quota, the values have changed accordingly.

Snapshots

Snapshots are read-only copy of the ZFS filesystem at a given point in time. They do not consume any extra space in zfs pool. We can either roll back to the same state at a later stage or extract only a single or a set of files as per the user requirement.

I will now create some directories and a file under '/testpool/professors' from our previous example and then take a snapshot of this filesystem.

[root@li1467-130 ~]# cd /testpool/professors/

[root@li1467-130 professors]# mkdir maths physics chemistry

[root@li1467-130 professors]# cat > qpaper.txt
Question paper for the year 2016-17
[root@li1467-130 professors]# ls -la
total 4
drwxr-xr-x  5  root root    6   Mar 19 10:34 .
drwxr-xr-x  4  root root    4   Mar 19 09:59 ..
drwxr-xr-x  2  root root    2   Mar 19 10:33 chemistry
drwxr-xr-x  2  root root    2   Mar 19 10:32 maths
drwxr-xr-x  2  root root    2   Mar 19 10:32 physics
-rw-r--r--     1  root root  36   Mar 19 10:35 qpaper.txt

To take a snapshot, use the following syntax:

zfs snapshot <filesystem|volume@<snap>>

 

[root@li1467-130 professors]# zfs snapshot testpool/professors@03-2016
[root@li1467-130 professors]# zfs list -t snapshot
NAME                                             USED         AVAIL     REFER     MOUNTPOINT
testpool/professors@03-2016       0                -                20.5K          -

I'll now delete the file that was created and extract it from the snapshots

[root@li1467-130 professors]# rm -rf qpaper.txt
[root@li1467-130 professors]# ls
chemistry maths physics
[root@li1467-130 professors]# cd .zfs
[root@li1467-130 .zfs]# cd snapshot/03-2016/
[root@li1467-130 03-2016]# ls
chemistry maths physics qpaper.txt

[root@li1467-130 03-2016]# cp -a qpaper.txt /testpool/professors/
[root@li1467-130 03-2016]# cd /testpool/professors/
[root@li1467-130 professors]# ls
chemistry maths physics qpaper.txt

The deleted file is back in its place.

We can list all the available snapshots using zfs list:

[root@li1467-130 ~]# zfs list -t snapshot
NAME                                             USED     AVAIL    REFER    MOUNTPOINT
testpool/professors@03-2016    10.5K       -              20.5K       -

Finally, let's destroy the snapshot using the zfs destroy command:

zfs destroy <filesystem|volume@<snap>>

 

[root@li1467-130 ~]# zfs destroy testpool/professors@03-2016

[root@li1467-130 ~]# zfs list -t snapshot
no datasets available

Conclusion

In this article, you have learnt how to install ZFS on CentOS 7 and use some basic and important commands from zpool and zfs utilities. This is not a comprehensive list. ZFS has much more capabilities and you can explore them further from its official page.

The post A Guide to Install and Use ZFS on CentOS 7 appeared first on LinOxide.

How to Setup Centralized Backup Server with Amanda On CentOS 7

$
0
0

Amanda (Advanced Maryland Automatic Network Disk Archiver) is the most popular open source backup and recovery software in the world that protects more than a million servers and desktops running various versions of Linux, UNIX, BSD, Mac OS-X and Microsoft Windows operating systems worldwide. Amanda supports tapes, disks, optical media and changers. It gives us the capability to use disk storage as backup media. Configuring, initiating and verifying a backup will complete the backup cycle within 30 minutes. Amanda has been used successfully in environments from one standalone machine to hundreds of clients. It can save you from expensive proprietary backup software and those custom backup scripts that have a propensity to break at the worst times.

In this article we will show how you can :

  • Install and configure the Amanda backup server.
  • Set backup parameters.
  • Verify the configuration and Verify the backup.
  • Install and configure the Amanda Linux clients for backup.

Step 1: Installing Amanda on CentOS 7

We are going to start from our first step by installing Amanda backup server on CentOS 7 server. Open the command line terminal of your CentOS 7 host using your root user credentials and setup its IP and FQDN. Run the following commands to setup the hostname of your Amanda backup server.

# hostnamectl set-hostname amanda-server

# vi /etc/hosts
192.168.10.177 amanda-server amanda-server.linoxide.com

Make sure that you are connected to the Internet for installing updates and Amanda server packages. Run the following command to update your system with latest updates and patches.

# yum update

Once your system is updated you can start installation of Amanda Backup Server using 'yum' command as its packages are available its default EPEL repository. Go ahead by running the following command and press 'y' key to proceed its installation including its dependencies.

[root@amanda-server ~]# yum install amanda*

Amanda Installation

Amanda will be executed by xinetd, so we need to install this along with some of its required packages for Amanda on the system.

# yum install xinetd gnuplot perl-ExtUtils-Embed

Amanda Dependencies

Step 2: Starting Xinetd Service

Now we have xinetd and Amanda backup server installed on our CentOS 7 Operating system. Let's start the 'xinetd' service using the command as shown below.

[root@amanda ~]# service xinetd restart

Verify the amanda installation after its successful installation using the following command.

[root@amanda ~]# amadmin --version
amadmin-3.3.3

xinetd start

Step 3: Amanda Configurations Setup

First we will make some directories uisng the root user, but make sure and confirm your Amanda user, that probably "amandabackup" or "amanda" or "backup", depending on how you installed Amanda. We are using the default 'amandabackup' here to assign the ownership of the following directory structure.

[root@amanda ~]# mkdir -p /amanda /etc/amanda

[root@amanda ~]# chown amandabackup /amanda /etc/amand

Now switch to your 'amandabackup' user and run the following commands.

[root@amanda ~]# su - amandabackup

-bash-4.2$ mkdir -p /amanda/vtapes/slot{1,2,3,4}

-bash-4.2$ mkdir -p /amanda/holding

-bash-4.2$ mkdir -p /amanda/state/{curinfo,log,index}

-bash-4.2$ mkdir -p /etc/amanda/MyConfig

So, all of the data will be under '/amanda' folder but you can put them wherever you would like to do. Now, we are going to add an 'amanda.conf' file at '/etc/amanda/MyConfig/' directory with the following contents.
This is the main configuration file for Amanda, the Advanced Maryland Automatic Network Disk Archiver. Lets open this configuration file using your best editor and put the following contents in it. Keep in mind that you should edit 'dumpuser' appropriately if your Amanda user has another name.

-bash-4.2$ vi /etc/amanda/MyConfig/amanda.conf

org "MyConfig"
infofile "/amanda/state/curinfo"
logdir "/amanda/state/log"
indexdir "/amanda/state/index"
dumpuser "amandabackup"

tpchanger "chg-disk:/amanda/vtapes"
labelstr "MyData[0-9][0-9]"
autolabel "MyData%%" EMPTY VOLUME_ERROR
tapecycle 4
dumpcycle 3 days
amrecover_changer "changer"

tapetype "TEST-TAPE"
define tapetype TEST-TAPE {
length 100 mbytes
filemark 4 kbytes
}

define dumptype simple-gnutar-local {
auth "local"
compress none
program "GNUTAR"
}

holdingdisk hd1 {
directory "/amanda/holding"
use 50 mbytes
chunksize 1 mbyte
}

There are a number of configuration parameters that control the behavior of the Amanda programs. All have default values, so you need not specify the parameter in amanda.conf if the default is suitable. You can find the orginal Amanda configuration file under the '/etc/amanda/DailySet1/' directory.

Next, we will add a 'disklist' file with a single disk list entry (DLE). The 'disklist' file determines which disks will be backed up by Amanda. The file contains includefile directive or disklist entry (DLE). General usage was to describe a DLE as a partition, or file system.

-bash-4.2$ vi /etc/amanda/MyConfig/disklist

localhost /etc simple-gnutar-local

Save and close the file using ':wq!' when you are using 'vi' or 'vim' editor. So, we have done the configurations let's move to the next step.

Step 4: Check Amanda Configuration

Amanda has a nice utility called 'amcheck' which can check a configuration for you. Running it on to test configuration that gives you the results of your configurations. Note that almost all Amanda commands take the configuration name as the first argument like in our case it is "MyConfig".

Let's run the following command to check the Tape Host Server configurations.

-bash-4.2$ amcheck MyConfig

Check configuration

Amcheck runs a number of self-checks on both the Amanda tape server host and the Amanda client hosts.
On the tape server host, amcheck can go through the same tape checking used at the start of the nightly amdump run to verify the correct tape for the next run is mounted. It can also do a self-check on all client hosts to make sure each host is running and that permissions on filesystems to be backed up are correct.

You can specify many host/disk expressions, only disks that match an expression will be checked. All disks are checked if no expressions are given.

Step 5: Run Test Backup

The test results are positive as we have seen that there is no such error found that forced us to move forward. The tool to run backups is 'amdump'. It takes only the configuration name which doesn't print anything to the terminal in its out put. Let's run as the Amanda user as shown below.

-bash-4.2$ amdump MyConfig

It will took few seconds then you probably will get not output. On the very next line, run the following command and that should give '0' in output. if you see something other than zero, then the backup failed.

-bash-4.2$ echo $?
0

Amdump is the main interface to the Amanda backup process. It loads the specified configuration and attempts to back up every disk specified by the 'disklist'. Amdump is normally run by 'cron' that we will show you in next steps.

But, if you see something other than the zero, then it means you backup failed. In that case, you can see a handy report of what happened to the backup by using the 'amreport' command along with your configuration file.

-bash-4.2$ amreport MyConfig

Amreport will generates a summary report of an Amanda backup run as shown in the below image.

Amanda Backup Report

Step 6: Amanda Backup Scheduling

For daily execution of 'amdump', it can be scheduled via cron daemon. Nobody wants to remember to run the backups every night. That's why we have cron! Let's Add the following lines .

-bash-4.2$ crontab -e

0 17 * * * amandabackup /usr/sbin/amcheck -m MyConfig
15 2 * * * amandabackup /usr/sbin/amdump MyConfig

Save and close the crontab editor. These lines will schedule a backup everyday at 17:00 and 2:15.

If you login to your root user then you can use the following command to add cron job for your Amada user.

# su amadabackup -c "crontab -e"

But depending on how you've installed Amanda, you may need to change '/usr/sbin' to something else after finding out where your distro has put the Amanda tool. You can use 'which amcheck' on the command line to find the process location.

# which amcheck
/usr/sbin/amcheck

Amcheck can email you for problems for what we have used the '-m' flag in the crontab, and amdump will happily email you a report every night. Automation is no good if you never find out something is broken. So, just add a 'mailto' configuration to your 'amanda.conf' file.

-bash-4.2$ vi /etc/amanda/MyConfig/amanda.conf

mailto "user@domain.com"
:wq!

Step 7: Amanda Backup Client Installation

In this section we will describes on how to install and configure our virtual machines in order to get backed up by the Amanda backup servers we have just setup in previous steps.

We are going to use another CentOS 7 server to setup Amanda Client backup installation. To install the amanda Client package run the following command.

[root@centos-bk1 ~]# yum install amanda-client xinetd

Amanda Client

Step 8: Amanda Backup Client Configuration

The '/var/lib/amanda/.amandahosts' file used to specify Amanda server location, open the same file using your editor and add the following entry and then save the changes.

[root@centos-bk1 ~]# vi /var/lib/amanda/.amandahosts

amanada_server amandabackup
:wq!

Then make sure that the same file '/var/lib/amanda/.amandahosts' must contain entries with the hostname of each AMANDA client that is allowed to use the amrecover command and 'amrecover' must be run as root.

Conclusion

Amanda simplifies the life of a System Administrator who can easily set up a single server to back up multiple networked clients to a tape- or disk-based storage system. A unique scheduler optimizes backup level for different clients in such a way that total backup time is about the same for every backup run. It frees the System Administrators from having to guess the rate of data change in their environments. I hope have have found this article much helpful, but still there are many things left to do and we will discuss those in next articles. Thank you for reading and don't forget to leave your valuable comments.

The post How to Setup Centralized Backup Server with Amanda On CentOS 7 appeared first on LinOxide.

Viewing all 181 articles
Browse latest View live