Sunday, March 12, 2017

Linux | NextCloud | Ubuntu 14.04

Linux | NextCloud (Media Temple VPS or Dedicated Server)

Overview
This article explains how to install Nextcloud on your Media Temple VPS or dedicated server with Ubuntu 14.04. Nextcloud is an open source cloud solution that wants to be the secure home for all of your media. Often touted as the successor to the extremely popular ownCloud, Nextcloud includes many great features that anyone may find useful.


• File storage & sharing
• Mobile & dektop clients
• Calendar and contacts management
• Secure audio and video calls
• Collabora Online Office (LibreOffice)

Requirements:
• A VPS with Ubuntu 14.04 installed
• Root SSH Access
• Familiarity with basic shell commands

Instructions:
These installation instructions assume that you have a fresh Ubuntu 14.04 install on your Media Temple VPS or dedicated server. To change your Media Temple VPS operating system through the Account Center, see these instructions. If you already have a standard LAMP stack or a web server and database software installed, you can skip to step 3. For more in-depth instructions for installing and configuring a LAMP stack, check out this community article. Begin by connecting to your server via SSH as either root or a user with sudo access. Connect via SSH - Community article with instructions.

Step 1: First make sure that all your system packages are up-to-date by running these following apt-get commands in the terminal.

     apt-get update
     apt-get upgrade

Step 2: Install Apache and the required PHP modules

     apt-get install apache2 libapache2-mod-php5
     apt-get install php5-gd php5-json php5-mysql php5-curl
     apt-get install php5-intl php5-mcrypt php5-imagick

Step 3: Install MariaDB

Nextcloud requires a database to work properly. These instructions are for MariaDB, which is a powerful database utility. There's no reason to change to MariaDB if you already have a different database utility installed.
 

      apt-get install mariadb-server 

Configuring MariaDB for Nextcloud.

By default, MariaDB is not hardened. You can secure MariaDB using the mysql_secure_installation script. You should read and below each steps carefully which will set root password, remove anonymous users, disallow remote root login, and remove the test database and access to secure MariaDB.
 

mysql_secure_installation

Configure it like this:
- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y
 

Next we will need to log in to the MariaDB console and create a database for the Nextcloud. Run the following command:

mysql -u root -p


This will prompt you for a password, so enter your MariaDB root password and hit Enter. Once you are logged in to your database server you need to create a database for Nextcloud installation:

===========================================================================================================
MariaDB [(none)]> CREATE DATABASE nextcloud;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'strong_password';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> \q
 
===========================================================================================================
Disable MariaDB binary logging by commenting the following lines:

     vim /etc/mysql/my.cnf

Add the following three lines in [mysqld] section:

log-bin        = /var/log/mysql/mariadb-bin
log-bin-index  = /var/log/mysql/mariadb-bin.index
binlog_format  = mixed

Step 4: Download and unzip Nextcloud's files

Use 'wget' to download Nextcloud's installation files directly to your server. You may also download them to your computer and upload via S/FTP.

      wget https://download.nextcloud.com/server/releases/nextcloud-9.0.53.zip


 Unzip the installation files.

     unzip nextcloud-9.0.53.zip


Copy Nextcloud's files into your doc root

      cp -r nextcloud /var/www/html/

Step 5: Create a Nextcloud configuration file

Use your preferred shell editor to create and modify a Nextcloud configuration file.

      vim /etc/apache2/sites-available/nextcloud.conf

Add the following lines:

=========================================================================================================== <VirtualHost *:80>
ServerAdmin admin@yourdomain.com
DocumentRoot "/var/www/html/nextcloud/"
ServerName your-domain.com
ServerAlias www.your-domain.com
<Directory "/var/www/html/nextcloud/">
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/your-domain.com-error_log
CustomLog /var/log/apache2/your-domain.com-access_log common
</VirtualHost>

===========================================================================================================
Step 6: Create a symlink for nextcloud.conf
 

      ln -s /etc/apache2/sites-available/nextcloud.conf /etc/apache2/sites-enabled/nextcloud.conf

Step 7: Make sure that the Nextcloud installation files are web accessible

      chown -R www-data:www-data /var/www/html/nextcloud/

Step 8:
Remember to restart all services related to Apache server.

       service apache2 restart
 
Step 9: Use your browser to complete the installation

 

Navigate to http://[your-domain.com/] or http://192.168.0.5/owncloud (192.168.0.5 this my server IP address) and follow the easy instructions.

1. Create a new admin user. It is recommended that you use an original password for the admin user.
2. Leave the Data folder as the default directory. (/var/www/html/nextcloud/data)
3. Your database user should be root and use the password you created during MariaDB's installation.
4. Use the default localhost setting.


The next page is the login page. The first time you log into OwnCloud, use the administrator user name and password.


Congratulation’s! You have successfully installed NextCloud.

How to extended upload & download file speed
 After installing the OwnCloud you might be facing file upload & download related problem. Now I am describing how fix the problem. 
Let's stat and you should follow below steps:
Step 1:To create a file with this command, first change into the directory that contains your website files. For example, the default directory for webpage files for Apache on Ubuntu 14.04 is /var/www/html/:
    cd /var/www/html

Then, create the info.php file:

    vim /var/www/html/info.php

Paste the following lines into this file and save it: info.php

<?php
phpinfo();
?>
Step 02: Modifying the PHP Configuration.

The php.ini file can be edited to change the settings and configuration of how PHP functions. This section gives a few common examples.

Sometimes a PHP application might need to allow for larger upload files such as uploading  hemes and plugins on a WordPress site. To allow larger uploads for your PHP application, edit the php.ini file with the following command (Change the path and file to match your Loaded Configuration File. This example shows the path for Apache on Ubuntu 14.04.):

   vim /etc/php5/apache2/php.ini

The default lines that control the file size upload are:

post_max_size = 8M
upload_max_filesize = 2M
Change these default values to your desired maximum file upload size. For example, if you needed to upload a 16000M file you would changes these lines to:

post_max_size = 16000M
upload_max_filesize = 16000M 
output_buffering = 0
max_input_time 7200
max_execution_time, which defines how many seconds a PHP process can run for:
max_execution_time 7200 

Other common resource settings include the amount of memory PHP can use as set by memory_limit:
memory_limit = 1024M
When you have the php.ini file configured for your needs, save the changes, and exit the text editor. 



Restart the web server to enable the changes. For Apache on Ubuntu 14.04, this command will restart the web server:
      
      service apache2 restart
Refreshing the info.php page should now show your updated settings. Remember to remove the info.php when you are done changing your PHP configuration. 

END

Linux | OwnCloud | Ubuntu 14.04

Linux | OwnCloud (Media Temple VPS or Dedicated Server)

Overview:
OwnCloud is a free and open-source software which enables you to create a private “file-hosting” cloud. OwnCloud is similar to DropBox service with the diference of being free to download and install on your private server. Owncloud made by PHP and backend database MySQL (MariaDB), SQLLite or PostgreSQL. OwnCloud also enables you to easily view and sync address book, calendar events, tasks and bookmarks. You can access it via the good looking and easy to use web interface or install OwnCloud client on your Desktop or Laptop machine (supports Linux, Windows and Mac OSX).

This article assumes you have at least basic knowledge of linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple. I will show you through the step by step installation OwnCloud 8 on Ubuntu 14.04.

• File storage & sharing
• Mobile & desktop clients

Requirements:
• A VPS with Ubuntu 14.04 installed
• Root SSH Access
• Familiarity with basic shell commands


Instructions:
These installation instructions assume that you have a fresh Ubuntu 14.04 install on your Media Temple VPS or dedicated server. To change your Media Temple VPS operating system through the Account Center, see these instructions. If you already have a standard LAMP stack or a web server and database software installed, you can skip to step 3. For more in-depth instructions for installing and configuring a LAMP stack, check out this community article. Begin by connecting to your server via SSH as either root or a user with sudo access. Connect via SSH - Community article with instructions.

Let's stat and you should follow below steps:


Step 1: First of all log in to your server as root and make sure that all packages are up to date.

      apt-get update
      apt-get upgrade
 

Step 2: Install Apache web server on your Ubuntu 14.04 VPS if it is not already installed.

      apt-get install apache2
 

Step 3: Next, install PHP on your server.

      apt-get install php5 php5-mysql

Once the installation is done add the following PHP modules required by OwnCloud:

      apt-get install php5-gd php5-json php5-curl php5-intl php5-mcrypt php5-imagick


Step 4: Install MySQL database server.

      apt-get install mysql-server

By default, MySQL is not hardened. You can secure MySQL using the mysql_secure_installation script. you should read and below each steps carefully which will set root password, remove anonymous users, disallow remote root login, and remove the test database and access to secure MySQL.


Step 5: Create a new MySQL database for OwnCloud using the following commands

      mysql -u root -p
      Enter password:

mysql> CREATE USER 'ownclouduser'@'localhost' IDENTIFIED BY 'YOURPASSWORD';
mysql> CREATE DATABASE ownclouddb;
mysql> GRANT ALL ON ownclouddb.* TO 'ownclouduser'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> exit


Step 6: Installing Owncloud 9.1.4.

First we will need to download the latest stable release of OwnCloud on your server (at the time version 9.1.4).
Plesae browsing OwnCloud website "https://owncloud.org/install/" and download the (.tar.bz2 / .zip) package.

Past the .tar.bz2 file in /etc & then extract

      tar -xvf owncloud-8.0.0.tar.bz2 -C /var/www/html/

Set the directory permissions:

      chown www-data:www-data -R /var/www/html/owncloud/


Step 7: Configuring Apache for OwnCloud.

While configuring Apache web server, it is recommended that you to enable .htaccess to get a enhanced security features, by default .htaccess is disabled in Apache server. To enable it, open your virtual host file and make AllowOverride is set to All.For example, here i used external config file instead of modifying main file.


      vim /etc/apache2/sites-available/owncloud.conf
 
===========================================================================================================
 <IfModule mod_alias.c>
Alias /owncloud /var/www/html/owncloud
</IfModule>
<Directory “/var/www/html/owncloud”>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
 

===========================================================================================================

Remember to restart all services related to Apache server.
 

      service apache2 restart

Step 8: Access OwnCloud application.

Navigate to http://[your-domain.com/] or http://192.168.0.5/owncloud (192.168.0.5 this my server IP address) and follow the easy instructions. Enter username and password for the administrator user account, click on the ‘Advanced options’ hyperlink and enter the data directory (or leave the default setting), then enter database username, database password, database name, host (localhost) and click ‘Finish setup’.

 
The next page is the login page. The first time you log into OwnCloud, use the administrator user name and password.


Congratulation’s! You have successfully installed OwnCloud.

How to extended upload & download file speed

After installing the OwnCloud you might be facing file upload & download related problem. Now I am describing how fix the problem. 

Let's stat and you should follow below steps:

Step 1:To create a file with this command, first change into the directory that contains your website files. For example, the default directory for webpage files for Apache on Ubuntu 14.04 is /var/www/html/:
    cd /var/www/html

Then, create the info.php file:

    vim /var/www/html/info.php

Paste the following lines into this file and save it: info.php

<?php
phpinfo();
?>
Step 02: Modifying the PHP Configuration.

The php.ini file can be edited to change the settings and configuration of how PHP functions. This section gives a few common examples.

Sometimes a PHP application might need to allow for larger upload files such as uploading  hemes and plugins on a WordPress site. To allow larger uploads for your PHP application, edit the php.ini file with the following command (Change the path and file to match your Loaded Configuration File. This example shows the path for Apache on Ubuntu 14.04.):

   vim /etc/php5/apache2/php.ini

The default lines that control the file size upload are:

post_max_size = 8M
upload_max_filesize = 2M

Change these default values to your desired maximum file upload size. For example, if you needed to upload a 16000M file you would changes these lines to:

post_max_size = 16000M
upload_max_filesize = 16000M 

output_buffering = 0
max_input_time 7200

max_execution_time, which defines how many seconds a PHP process can run for:

max_execution_time 7200 

Other common resource settings include the amount of memory PHP can use as set by memory_limit:

memory_limit = 1024M

When you have the php.ini file configured for your needs, save the changes, and exit the text editor. 

Restart the web server to enable the changes. For Apache on Ubuntu 14.04, this command will restart the web server:
      
      service apache2 restart

Refreshing the info.php page should now show your updated settings. Remember to remove the info.php when you are done changing your PHP configuration.

END

Thursday, March 9, 2017

Linux | Network Monitoring & Graphing Tool (Cacti)

Platform: Ubuntu Server 14.04

I have been install and configuration Cacti Monitoring on Ubuntu 14.04 LTS. For those of you who didn’t know, Cacti is an open-source, web-based network monitoring and graphing tool designed as a front-end application for the open-source, industry-standard data logging tool RRDtool. It is used by IT businesses and stores all of the necessary information about bandwidth, hard disk usage, CPU usage, load average, RAM statistics etc in a MySQL database. Cacti creates graphs and populates them with data. It offers SNMP support, 3rd party templates and plugins and has built in user authentications and user permission features.


This article assumes you have at least basic knowledge of linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo’ to the commands to get root privileges. I will show you through the step by step installation Cacti Monitoring on a Ubuntu 14.04 (Xenial Xerus) server.
Let's stat and you should follow below steps:

Step 01: First make sure that all your system packages are up-to-date by running these following apt-get commands in the terminal. 


      apt-get update
      apt-get upgrade

Step 02: Install LAMP (Linux, Apache, MariaDB, PHP) server.

A Ubuntu 14.04 LAMP server is required. If you do not have LAMP installed, you can follow our guide here. Cacti only supports MySQL 5.6, whereas the current version in the Ubuntu default repository is MySQL 5.7. In order to install this older version of MYSQL, you will need to add this repository and grab it from there:

      vim /etc/apt/sources.list

      deb http://archive.ubuntu.com/ubuntu trusty universe
      apt-get update

Now install the following packages for Cacti setup on your Ubuntu server with the help of given below command:

      apt-get install apache2 mysql-server-5.6 php5 libapache2-mod-php5

Step 03: Installing the Cacti packages.

Install SNMP and SNMP and RRDtools:

      apt-get install snmp snmpd rrdtool

Now use the following command to install Cacti:

      apt-get install cacti cacti-spine

During the installation process you will be prompted to configure Cacti with few options to select from available options. First of all Choose the web server that you wish to use for configure with Cacti like we are using Apache and then press ‘OK’ key to continue:



Now it will ask you for a webserver that you will use it, we choose Apache2 since that’s what we installed in the dependencies.


 
Next it will ask to configure the Cacti database, select Yes.

  
Now it will ask for your root password of MySQL/MariaDB database.


Step 04: Accessing cacti. 

Cacti will be available on HTTP port 80 by default. Open your favorite browser and navigate to http://[yourdomain.com]/cacti or http://192.168.0.5/cacti (192.168.0.5 this my server IP address) and complete the required the steps to finish the installation. You will get the “Cacti Installation Guide” on screen. Click on ‘Next’ button.


In next screen, you will get drop down button. Because this fresh installation select ‘New Install’ and click ‘Next’ button.


Cacti will now check for the packages it needs to run properly. Make sure all the checks appear with an “OK” status, and then click Finish.


The next page is the login page. The first time you log into Cacti, use admin as username and password.


Congratulation’s! You have successfully installed Cacti.

END