Thursday, July 6, 2017

MikroTik | PPTP Server Configuration

PPTP is a secure tunnel for transporting IP traffic using PPP. PPTP encapsulates PPP in virtual lines that run over IP. PPTP incorporates PPP and MPPE (Microsoft Point to Point Encryption) to make encrypted links. The purpose of this protocol is to make well-managed secure connections between routers as well as between routers and PPTP clients (clients are available for and/or included in almost all OSs including Windows).

Multilink PPP (MP) is supported in order to provide MRRU (the ability to transmit full-sized 1500 and larger packets) and bridging over PPP links (using Bridge Control Protocol (BCP) that allows the sending of raw Ethernet frames over PPP links). This way it is possible to setup bridging without EoIP. The bridge should either have an administratively set MAC address or an Ethernet-like interface in it, as PPP links do not have MAC addresses. 

For more information: Wiki MikroTik | PPTP

Step 1: Login the Mikrotik router using the winbox and please done the necessary configuration like set ip address, dns, nat and dhcp server etc.

Step 2: After login the router, please follow the below screenshot.

Step 3: Edit the profiles for PPTP server.

Step 4: Crate the secrets for PPTP users.

Explanation: First we give a code snippet and then explain what it actually does.

/interface pptp-server server
set authentication=pap,chap,mschap1,mschap2 enabled=yes


/ppp profile
set *0 dns-server=202.84.32.22,202.84.33.23 local-address=192.168.1.1 \
    use-encryption=yes


/ppp secret
add local-address=192.168.1.1 name=1 password=1 remote-address=192.168.1.2 \
    service=pptp

Thank You

Tuesday, June 20, 2017

MikroTik | L2TP Server Configuration With IPsec

L2TP is a secure tunnel protocol for transporting IP traffic using PPP. L2TP encapsulates PPP in virtual lines that run over IP, Frame Relay and other protocols (that are not currently supported by MikroTik RouterOS). L2TP incorporates PPP and MPPE (Microsoft Point to Point Encryption) to make encrypted links. The purpose of this protocol is to allow the Layer 2 and PPP endpoints to reside on different devices interconnected by a packet-switched network. With L2TP, a user has a Layer 2 connection to an access concentrator - LAC (e.g., modem bank, ADSL DSLAM, etc.), and the concentrator then tunnels individual PPP frames to the Network Access Server - NAS. This allows the actual processing of PPP packets to be separated from the termination of the Layer 2 circuit. From the user's perspective, there is no functional difference between having the L2 circuit terminate in a NAS directly or using L2TP.

For more information: Wiki Mikrotik | L2TP

Step 1: Login the Mikrotik router using the winbox and please done the necessary configuration like set ip address, dns, nat and dhcp server etc.

Step 2: After login the router, please follow the below screenshot.

Step 3: Follow the below screenshot.


Step 4:  Edit the profiles for L2TP server.


Step 5: Crate the Secrets for L2TP users.


Explanation: First we give a code snippet and then explain what it actually does.

/ip ipsec peer
add address=0.0.0.0/0 dh-group=modp2048 enc-algorithm=aes-256,aes-128,3des \
exchange-mode=main-l2tp generate-policy=port-override secret=12345 \
send-initial-contact=no

/interface l2tp-server server
set authentication=mschap1,mschap2 enabled=yes ipsec-secret=12345 use-ipsec=\
yes

/ppp profile
set *FFFFFFFE dns-server=202.84.32.22,8.8.8.8 local-address=192.168.1.1 \
remote-address=dhcp_pool1 use-compression=no use-encryption=required \
use-mpls=no

/ppp secret
add local-address=192.168.1.1 name=111 password=1 profile=\
default-encryption service=l2tp

END

Wednesday, May 3, 2017

Linux | NextCloud | Ubuntu 16.04

Linux | NextCloud (Media Temple VPS or Dedicated Server)


Overview:
In this tutorial we will show you how to install and configuration of Nextcloud on your Ubuntu 16.04 server. For those of you who didn’t know, Nextcloud is open source self-hosted file sync and share application (Calendar, Contacts, Documents, Email, and more). The developers at Nextcloud are doing their best to give the users a more secure platform, fewer bugs and overall a better product.

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 Nextcloud on a Ubuntu 16.04 LTS (Xenial Xerus) server.

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

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

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: Download and unzip Nextcloud's files:

First thing to do is to go to Nextcloud’s download page and download the latest stable version of Nextcloud, At the moment of writing this article it is version 9.0.53:

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
      apt-get install unzip

Unpack the Nextcloud archive to the document root directory on your server:

      unzip nextcloud-9.0.53.zip

      mv nextcloud /var/www/html

We will need to change some folders permissions:

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


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

A Ubuntu 16.04 LAMP server is required. If you do not have LAMP installed. Also install all required PHP modules.

Installing Apache on Ubuntu 16.04:

I will be installing Apache with apt-get, which is the default package manager for ubuntu. Your also required to install libapache2-mod-php module to work PHP with Apache2:

      apt-get install apache2 libapache2-mod-php
     
After installing apache services on your system, start all required services:

      systemctl enable apache2

      systemctl start apache2
      systemctl status apache2

You can verify that Apache is really running by opening your favorite web browser and entering the URL http://[your-domain.com/] or http://192.168.10.6/ (192.168.10.6 this my server IP address), if it is installed, then you will see this:
Configuring Apache web server for Nextcloud:Create a new virtual host directive in Apache. For example, create a new Apache configuration file named ‘nextcloud.conf’ on your virtual server:

      a2enmod rewrite

      touch /etc/apache2/sites-available/nextcloud.conf
      ln -s /etc/apache2/sites-available/nextcloud.conf /etc/apache2/sites-enabled/nextcloud.conf
      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>
===========================================================================================================
Now, we can restart Apache web server so that the changes take place:

      systemctl restart apache2.service 

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

- 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

Installing PHP 7 on Ubuntu 16.04

PHP 7.0 is now the default PHP package shipping in Ubuntu LTS 16.04 (Xenial Xerus), Now install PHP 7 with the following command:

      apt-get install php7.0 php7.0-mysql php7.0-curl php7.0-gd php7.0-json php7.0-opcache php7.0-xml mcrypt php7.0-mcrypt


      apt-get install imagemagick php7.0-mbstring php7.0-mysql libapache2-mod-php7.0  php7.0-bz2 php7.0-zip


If you like to search all the available PHP 7 modules you can use to command:

      apt-cache search php7-*


Your server should restart Apache automatically after the installation of both MySQL and PHP. If it doesn’t, execute this command:

      systemctl restart apache2

      systemctl restart mysql

To test PHP, create a test file named info.php with he content below. Save the file, then browse to it to see if PHP is working:

      vim /var/www/html/info.php


<?php
phpinfo();
?>

Try to access it at http://[your-domain.com/] or http://192.168.10.6/info.php (192.168.10.6 this my server IP address) . If the PHP info page is rendered in your browser then everything looks good and you are ready to proceed further.

Step 4: Accessing Nextcloud.
To configure NextCloud, we will use the web interface.  So, go ahead and open up a web browser and point it to http://[your-domain.com/] or http://192.168.10.6/nextcloud (192.168.10.6 this my server IP address) You should see a web page like this. 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’. 

You can install the Android app for NexCloud


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


The home page will look like below; you can start uploading the contents using “+ sign” button.


Congratulation’s! You have successfully installed & configured NextCloud.

How to extended upload & download file speed 

After installing the NextCloud 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 /etc/php/7.0/apache2/php.ini

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/php/7.0/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 16.04

Linux | OwnCloud (Media Temple VPS or Dedicated Server)


Overview:
In this tutorial I will show you how to install and configuration OwnCloud on Ubuntu 16.04. For those of you who didn’t know, 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 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 OwnCloud on a Ubuntu 16.04 (Xenial Xerus) server.


• File storage & sharing
• Mobile & desktop clients

Requirements:
• A VPS with Ubuntu 16.04 installed
• Root SSH Access
• Familiarity with basic shell commands
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 LAMP (Linux, Apache, MySQL (MariaDB), PHP) server.

A Ubuntu 16.04 LAMP server is required. If you do not have LAMP installed. Also install all required PHP modules.


Installing Apache on Ubuntu 16.04:

I will be installing Apache with apt-get, which is the default package manager for ubuntu. Your also required to install libapache2-mod-php module to work PHP with Apache2:

      apt-get install apache2 libapache2-mod-php

After installing apache services on your system, start all required services:

      systemctl enable apache2
      systemctl start apache2
      systemctl status apache2

You can verify that Apache is really running by opening your favorite web browser and entering the URL http://[your-domain.com/] or http://192.168.10.6/ (192.168.10.6 this my server IP address), if it is installed, then you will see this:

 Installing MySQL on Ubuntu 16.04:

Now that we have our web server up and running, it is time to install MySQL. MySQL is a database management system. Basically, it will organize and provide access to databases where our site can store information:


Now that we have our web server up and running, it is time to install MySQL. MySQL is a database management system. Basically, it will organize and provide access to databases where our site can store information:

      apt-get install mysql-server php7.0-mysql

Once complete, you can verify MySQL is installed by running the below command:

      systemctl status mysql
      systemctl start mysql

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:

mysql_secure_installation

- 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
 
To log into MySQL, use the following command (note that it’s the same command you would use to log into a MySQL database):

mysql -u root -p

This will prompt you for a password, so enter your MySQL root password and hit Enter. Once you are logged in to your database server you need to create a database for OwnCloud installation:
===========================================================================================================
mysql> CREATE DATABASE ownclouddb;
mysql> CREATE USER 'ownclouduser'@'localhost' IDENTIFIED BY 'YOURPASSWORD';
mysql> GRANT ALL ON ownclouddb.* TO 'ownclouduser'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> exit
===========================================================================================================

Installing PHP 7 on Ubuntu 16.04

PHP 7.0 is now the default PHP package shipping in Ubuntu LTS 16.04 (Xenial Xerus), Now install PHP 7 with the following command:


      apt-get install php7.0 php7.0-mysql php7.0-curl php7.0-gd php7.0-json php7.0-opcache php7.0-xml mcrypt php7.0-mcrypt

      apt-get install imagemagick php7.0-mbstring php7.0-mysql libapache2-mod-php7.0  php7.0-bz2 php7.0-zip 

If you like to search all the available PHP 7 modules you can use to command:

      apt-cache search php7-*

Your server should restart Apache automatically after the installation of both MySQL and PHP. If it doesn’t, execute this command:

      systemctl restart apache2
      systemctl restart mysql

To test PHP, create a test file named info.php with he content below. Save the file, then browse to it to see if PHP is working:

      vim /var/www/html/info.php

<?php
phpinfo();
?>

Try to access it at http://[your-domain.com/] or http://192.168.10.6/info.php (192.168.10.6 this my server IP address) . If the PHP info page is rendered in your browser then everything looks good and you are ready to proceed further.

Step 3: Installing OwnCloud 9.1.5.

OwnCloud provides you the official deb packages for the installation of ownCloud. Setup ownCloud repository using the following command:
 

wget -nv https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/Release.key -O Release.key
apt-key add - < Release.key
sh -c "echo 'deb http://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/ /' > /etc/apt/sources.list.d/owncloud.list"

Install ownCloud using the following command:

      apt-get update
      apt-get install owncloud

Step 5: OwnCloud Configuration.

To configure ownCloud, we will use the web interface.  So, go ahead and open up a web browser and point it to http://[your-domain.com/] or http://192.168.10.6/owncloud (192.168.10.6 this my server IP address) You should see a web page like this. 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.


The home page will look like below; you can start uploading the contents using “+ sign” button.


Congratulation’s! You have successfully installed OwnCloud.
END

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