How to Install and Configure vsftpd FTP Server on Ubuntu 14.04

The File Transfer Protocol (FTP) is a standard network protocol used to transfer files from one machine to another machine or server. If you plan to manage your own virtual private server (VPS) or dedicated server to host your blog or website, i would suggest you install ftp service. It will be easy for you to retrieved and upload any files to the VPS server. This post describes the steps to install and configure vsftpd FTP Server on Ubuntu 14.04.

1. Install vsftpd FTP service :

ehowstuff@ubuntu14:~$ sudo apt-get install vsftpd -y

2. Open vsftpd.conf and uncomment the following :

ehowstuff@ubuntu14:~$ sudo vi /etc/vsftpd.conf

Uncomment below and add two last line :

..
write_enable=YES
..
ascii_upload_enable=YES
ascii_download_enable=YES
..
chroot_local_user=YES
chroot_list_enable=YES
..
chroot_list_file=/etc/vsftpd.chroot_list
..
ls_recurse_enable=YES
..
local_root=public_html
seccomp_sandbox=NO

3. Allow user to access their home directory :

ehowstuff@ubuntu14:~$ sudo vi /etc/vsftpd.chroot_list

Add ehowstuff :

ehowstuff

4. Restart vsftpd to take afffect :

ehowstuff@ubuntu14:~$ sudo initctl restart vsftpd
vsftpd start/running, process 1988

5. Verify the ftp port listening or not :

ehowstuff@ubuntu14:~$ telnet localhost 21
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 (vsFTPd 3.0.2)
^]
telnet> quit

6. Test from Windows Client :

D:\>ftp 192.168.0.114
Connected to 192.168.0.114.
220 (vsFTPd 3.0.2)
User (192.168.0.114:(none)): ehowstuff
331 Please specify the password.
Password:
230 Login successful.
ftp> pwd
257 "/home/ehowstuff/public_html"
ftp>

Thats all.

 

OpenStack’s Growth Remains in Private Cloud

OpenStack seems to have found its niche in the cloud computing market. An ever-increasing number of major vendors and cloud providers are turning to OpenStack to build out their own offerings and provide cloud infrastructure for customers. But, according to one analyst, OpenStack has its limitations, and it will stay within the private cloud world.

Battery Ventures technical fellow Adrian Cockcroft’s analysis on OpenStack was recently reported on at GigaOM. And Cockcroft, a former cloud expert who was most recently working at Netflix before moving to Battery Ventures, noted that OpenStack is really catching on in the private cloud. For those who have joined the growing open source cloud movement, this is great, as Cockcroft noted that the brand will dominate in the private cloud world.

Forget about the public cloud, though. OpenStack is going to be a minor player, at best. As Cockcroft noted, Amazon Web Services (AWS) will continue to be reigning king of the public cloud, with others like Microsoft (MSFT) and Google (GOOG) slowly catching up on the public cloud giant’s market share.

But in the private cloud realm, you’d better get used to people talking about open source and, in particular, OpenStack. With vendors including Hewlett-Packard (HPQ) and IBM (IBM) jumping onto the OpenStack bandwagon, it’s clear there is an incredible, growing movement when it comes to OpenStack, but the real success for the platform is solely in private cloud. As Cockcroft noted, OpenStack lacks the scale for public cloud platforms.

Consider OpenStack’s bright and shiny future as we would have more than a decade ago when Linux really first started catching in within the vendor space. Linux has become critical to the IT world and a lot of IT infrastructure, including cloud. Now, take OpenStack, which is seeing a similar growth but strictly within the private cloud realm of infrastructure.

Click here for full Story

Red Hat Buys French OpenStack Service Provider eNovance

Red Hat, a provider of Linux and other open-source solutions, has entered into an agreement to buy a French provider of open-source cloud computing services, eNovance. The move increases Red Hat’s position inenterprise  cloud solutions for the open-source cloud platform OpenStack.

eNovance, founded in 2008, assists service providers and large companies in building and deploying cloud infrastructures, and works with organizations to manage customer  Web applications. It has more than 150 global customers, and is one of the contributors to the OpenStack project. Red Hat is the top contributor to the last two distributions of OpenStack, according to the company.

“Red Hat is all in on OpenStack,” the company says on its Web site. It has been touting its Enterprise Linux OpenStack Platform, which, it says, provides “all the benefits you’ve come to expect from Red Hat Enterprise Linux, plus the fastest-growing cloudinfrastructure  platform from OpenStack.” Its OpenStack Cloud Infrastructure Partner Network is, according to Red Hat, the world’s largest commercial OpenStack ecosystem.

‘World Class’ Provider

The price for the acquisition is 50 million euros in cash and 20 million euros in Red Hat common stock, totaling about $95 million. eNovance has offices in Paris, Montreal and Bangalore, India, and Red Hat is based in Raleigh, North Carolina.

Arun Oberoi, Red Hat executive vice president, said in a statement that eNovance was “a world-class cloud computing services provider with a proven track record of successful global deployments.”

For its part, eNovance co-founder and CEO Raphael Ferreira told news media that both companies understand “the transformative power  OpenStack can have on the enterprise market when it is both deployed and integrated in the right fashion.”

Both companies have worked together since last year to provide OpenStack implementation and integration to joint customers, and in May they announced an expanded collaboration to foster Network Functions Virtualization and telecommunications innovations in OpenStack.

‘Coalition Building’

Roger Kay, an analyst with industry research firm Endpoint Technologies Associates, told us that the acquisition is “part of the coalition building that’s going on right now as large enterprises shift to a hybrid/cloud model.” OpenStack, he said, is welcomed by IT departments that don’t want to deal with another multi-standard environment.

Earlier this week, Red Hat announced the global availability of its Enterprise Virtualization 3.4, which provided enhancements forvirtualization  infrastructure and guest support in Red Hat Enterprise Linux 7. Version 3.4 also offered tech previews of OpenStack features, including the importation of a Glance image as a template to provision a new virtual machine.

The company also recently partnered with Cisco and a financial group based in Durham, North Carolina, to create a $26 million venture fund, the Bull City Venture Partners, to support North Carolina-based endeavors. Other participants included Blue Cross Blue Shield of North Carolina and Capitol Broadcasting Company.

Click here for full Story

How to Install Lighttpd With PHP5 (PHP-FPM) and MySQL on CentOS 6.5

Lighttpd (pronounced “lighty”) is an open-source web server as an alternative to Apache and Nginx. It is a secure, flexible, fast and designed for speed-critical environments. It has a low memory footprint and can handle large number of connections in one server especially for busier sites.

PHP is an acronym for “PHP Hypertext Preprocessor”; PHP is a widely-used server-side scripting language executed on the server.

PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation with some additional features useful for sites of any size, especially busier sites.

MySQL is a popular database solution for use in web applications.

This post will show you how to install Lighttpd With PHP5 (PHP-FPM) and MySQL on CentOS 6.5 VPS or dedicated server.

1. EPEL repository is another extra repository that creates, maintains, and manages a high quality set of additional packages for Enterprise Linux, including, but not limited to, Red Hat Enterprise Linux (RHEL) and CentOS server. How to Configure EPEL Repository on CentOS.

2. Install Lighttpd, MySQL and PHP5 work in Lighttpd through PHP-FPM :

[root@centos6-05 ~]# yum install lighttpd php php-fpm lighttpd-fastcgi php-mysql mysql mysql-server -y

3. Configure Lighttpd :

[root@centos6-05 ~]# vi /etc/lighttpd/lighttpd.conf
server.use-ipv6 = "enable"

Change to :

server.use-ipv6 = "disable"

4. Make lighttpd start at boot and also start lighttpd service:

[root@centos6-05 ~]# chkconfig --levels 235 lighttpd on
[root@centos6-05 ~]# /etc/init.d/lighttpd start

Browse your web server and Lighttpd welcome page should be displayed :
lighttpd-centos6.5-1

5. Configure PHP to work in Lighttpd through PHP-FPM :

[root@centos6-05 ~]# vi /etc/php-fpm.d/www.conf

Enable PHP-FPM use a TCP connection instead of unix socket :

;   '/path/to/unix/socket' - to listen on a unix socket.
; Note: This value is mandatory.
listen = 127.0.0.1:9000

Configure user and group to lighttpd :

..
..
; RPM: apache Choosed to be able to access some dir as httpd
user = lighttpd
; RPM: Keep a group allowed to write in log dir.
group = lighttpd
..
..

6. Make php-fpm start at boot and also start the php-fpm service :

[root@centos6-05 ~]# chkconfig --levels 235 php-fpm on
[root@centos6-05 ~]# /etc/init.d/php-fpm start

7. Open and modify /etc/php.ini :

[root@centos6-05 ~]# vi /etc/php.ini

Uncomment the line cgi.fix_pathinfo=1

..
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo
cgi.fix_pathinfo=1
..

8. Open and modify /etc/lighttpd/modules.conf :

[root@centos6-05 ~]# vi /etc/lighttpd/modules.conf

Uncomment the line include “conf.d/fastcgi.conf”:

..
## FastCGI (mod_fastcgi)
##
include "conf.d/fastcgi.conf"
..

9. Open and modify /etc/lighttpd/conf.d/fastcgi.conf :

Add below fastcgi.server at bottom of the file :

..
fastcgi.server += ( ".php" =>
        ((
                "host" => "127.0.0.1",
                "port" => "9000",
                "broken-scriptfilename" => "enable"
        ))
)
..

10. Reload the PHP-FPM and Lighttpd service :

[root@centos6-05 ~]# /etc/init.d/php-fpm reload
[root@centos6-05 ~]# /etc/init.d/lighttpd reload

11. Since MySQl has been install, dont forget to make MySQL start at boot and start the MySQL service :

[root@centos6-05 ~]# chkconfig --levels 235 mysqld on
[root@centos6-05 ~]# /etc/init.d/mysqld start

12. Create info.php under ligghttpd document root :

[root@centos6-05 ~]# vi /var/www/lighttpd/info.php
<?php
phpinfo();
?>

Browse your page http://IP-Adress/info.php. Thats all.

How to Upgrade Zimbra Collaboration Suite 8.0.6 to 8.0.7 on CentOS 6.5 x86_64

Zimbra Collaboration Suite (ZCS) is one of the popular open source email solution. Zimbra has released new version of ZCS 8.0.7. This new version consist of many new features and enhancements. I would suggest you to review the known issues that had been fixed before perform zimbra version upgrade. This post assumed that full backup has been performed successfully before upgrade.

Enhancements in 8.0.7
-When a delegated user deletes a folder, a warning is given that this action will also delete the owner’s copy.
-zmsoap supports JSON format from a file.
-Integrated latest version of the touch client.
-Log generated with EntryID for items that fail while fetching MAPI properties

1. Install addional package :

[root@mail ~]# yum install libaio -y

2. Verify current zimbra version :

[zimbra@mail ~]$ zmcontrol -v
Release 8.0.6_GA_5922.RHEL6_64_20131203103705 RHEL6_64 FOSS edition.

3. Download ZCS 8.0.7 :

[root@mail ~]# wget http://files2.zimbra.com/downloads/8.0.7_GA/zcs-8.0.7_GA_6021.RHEL6_64.20140408123911.tgz\

4. Extract the zcs tgz file and enter extracted folder :

[root@mail ~]# tar xzvf zcs-8.0.7_GA_6021.RHEL6_64.20140408123911.tgz
[root@mail ~]# cd zcs-8.0.7_GA_6021.RHEL6_64.20140408123911

5. Proceed to update the zimbra. The steps and command almost similar with the installation :

[root@mail zcs-8.0.7_GA_6021.RHEL6_64.20140408123911]# ./install.sh --platform-override

Full Installation screenshot :

[root@mail zcs-8.0.7_GA_6021.RHEL6_64.20140408123911]# ./install.sh --platform-override

Operations logged to /tmp/install.log.15721
Checking for existing installation...
    zimbra-ldap...FOUND zimbra-ldap-8.0.6_GA_5922
    zimbra-logger...FOUND zimbra-logger-8.0.6_GA_5922
    zimbra-mta...FOUND zimbra-mta-8.0.6_GA_5922
    zimbra-snmp...FOUND zimbra-snmp-8.0.6_GA_5922
    zimbra-store...FOUND zimbra-store-8.0.6_GA_5922
    zimbra-apache...FOUND zimbra-apache-8.0.6_GA_5922
    zimbra-spell...FOUND zimbra-spell-8.0.6_GA_5922
    zimbra-convertd...NOT FOUND
    zimbra-memcached...FOUND zimbra-memcached-8.0.6_GA_5922
    zimbra-proxy...FOUND zimbra-proxy-8.0.6_GA_5922
    zimbra-archiving...NOT FOUND
    zimbra-cluster...NOT FOUND
    zimbra-core...FOUND zimbra-core-8.0.6_GA_5922
ZCS upgrade from 8.0.6 to 8.0.7 will be performed.

Saving existing configuration file to /opt/zimbra/.saveconfig


PLEASE READ THIS AGREEMENT CAREFULLY BEFORE USING THE SOFTWARE.
ZIMBRA, INC. ("ZIMBRA") WILL ONLY LICENSE THIS SOFTWARE TO YOU IF YOU
FIRST ACCEPT THE TERMS OF THIS AGREEMENT. BY DOWNLOADING OR INSTALLING
THE SOFTWARE, OR USING THE PRODUCT, YOU ARE CONSENTING TO BE BOUND BY
THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS
AGREEMENT, THEN DO NOT DOWNLOAD, INSTALL OR USE THE PRODUCT.

License Terms for the Zimbra Collaboration Suite:
  http://www.zimbra.com/license/zimbra_public_eula_2.4.html



Do you agree with the terms of the software license agreement? [N] y




Oracle Binary Code License Agreement for the Java SE Platform Products

ORACLE  AMERICA, INC. ("ORACLE"), FOR AND ON BEHALF OF ITSELF AND ITS SUBSIDIARIES AND AFFILIATES UNDER COMMON CONTROL, IS WILLING TO  LICENSE  THE SOFTWARE  TO YOU ONLY UPON THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS  CONTAINED IN THIS BINARY CODE LICENSE AGREEMENT AND SUPPLEMENTAL  LICENSE TERMS (COLLECTIVELY "AGREEMENT").  PLEASE READ THE AGREEMENT  CAREFULLY.  BY SELECTING THE "ACCEPT LICENSE AGREEMENT" (OR THE EQUIVALENT) BUTTON AND/OR BY USING THE SOFTWARE YOU ACKNOWLEDGE THAT YOU HAVE READ THE TERMS AND AGREE TO THEM.  IF YOU ARE AGREEING TO THESE TERMS ON BEHALF OF A  COMPANY OR OTHER LEGAL ENTITY, YOU REPRESENT THAT YOU HAVE THE LEGAL  AUTHORITY TO BIND THE LEGAL ENTITY TO THESE TERMS.  IF YOU DO NOT HAVE SUCH  AUTHORITY, OR IF YOU DO NOT WISH TO BE BOUND BY THE TERMS, THEN SELECT THE "DECLINE LICENSE AGREEMENT" (OR THE EQUIVALENT) BUTTON AND YOU MUST NOT USE THE SOFTWARE ON THIS SITE OR ANY OTHER MEDIA ON WHICH THE SOFTWARE IS CONTAINED.

1.  DEFINITIONS.  "Software" means the Java SE Platform Products in binary form that you selected for download, install or use from Oracle or its authorized licensees, any other machine readable materials (including, but not limited to,  libraries,  source  files,  header  files, and data  files), any updates or error corrections provided by Oracle, and any user manuals, programming guides and other documentation provided to you by Oracle under this Agreement.  "General Purpose Desktop Computers and Servers" means computers,  including desktop and laptop computers, or servers, used for general  computing functions under end user control (such as but not specifically  limited to email, general purpose Internet browsing, and office suite  productivity tools).  The use of Software in systems and solutions that provide dedicated functionality (other than as mentioned above) or designed  for use in embedded or function-specific software applications, for example but not limited to: Software embedded in or bundled with industrial control systems, wireless mobile telephones, wireless handheld devices, netbooks, kiosks, TV/STB, Blu-ray Disc devices, telematics and network control switching equipment, printers and storage management systems, and other related systems are excluded from this definition and not licensed under this  Agreement.  "Programs" means Java technology applets and applications  intended to run on the Java Platform, Standard Edition platform on Java-enabled General Purpose Desktop Computers and Servers.  ?Commercial Features? means those features identified in Table 1-1 (Commercial Features In Java SE Product Editions) of the Software documentation accessible at  http://www.oracle.com/technetwork/java/javase/documentation/index.html.  ?README File? means the README file for the Software accessible at http://www.oracle.com/technetwork/java/javase/terms/readme/index.html.

2.  LICENSE TO USE.  Subject to the terms and conditions of this Agreement   including, but not limited to, the Java Technology Restrictions of the  Supplemental License Terms, Oracle grants you a non-exclusive, non-transferable, limited license without license fees to reproduce and use internally the Software complete and unmodified for the sole purpose of  running Programs.  THE LICENSE SET FORTH IN THIS SECTION 2 DOES NOT EXTEND TO THE COMMERCIAL FEATURES.  YOUR RIGHTS AND OBLIGATIONS RELATED TO THE COMMERCIAL FEATURES ARE AS SET FORTH IN THE SUPPLEMENTAL TERMS ALONG WITH ADDITIONAL LICENSES FOR DEVELOPERS AND PUBLISHERS.

3.  RESTRICTIONS.  Software is copyrighted.  Title to Software and all associated intellectual property rights is retained by Oracle and/or its licensors.  Unless enforcement is prohibited by applicable law, you may not modify, decompile, or reverse engineer Software.  You acknowledge that the Software is developed for general use in a variety of information management applications; it is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use the Software in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use.  Oracle disclaims any express or implied warranty of fitness for such uses.  No right, title or interest in or to any trademark,  service mark, logo or trade name of Oracle or its licensors is granted under this  Agreement.  Additional restrictions for developers and/or publishers licenses are set forth in the Supplemental License Terms.

4.  DISCLAIMER OF WARRANTY.  THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.  ORACLE FURTHER DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.

5.  LIMITATION OF LIABILITY.  IN NO EVENT SHALL ORACLE BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, OR DAMAGES FOR LOSS OF PROFITS, REVENUE, DATA OR DATA USE, INCURRED BY YOU OR ANY THIRD PARTY, WHETHER IN AN ACTION IN CONTRACT OR TORT, EVEN IF ORACLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. ORACLE'S ENTIRE LIABILITY FOR DAMAGES HEREUNDER SHALL IN NO EVENT EXCEED ONE THOUSAND DOLLARS (U.S. $1,000).

6.  TERMINATION.  This Agreement is effective until terminated.  You may terminate this Agreement at any time by destroying all copies of Software.  This Agreement will terminate immediately without notice from Oracle if you  fail to comply with any provision of this Agreement.  Either party may  terminate this Agreement immediately should any Software become, or in either party's opinion be likely to become, the subject of a claim of infringement  of any intellectual property  right.  Upon termination, you must destroy all copies of Software.

7.  EXPORT  REGULATIONS.  You agree that U.S. export control laws and other applicable export and import laws govern your use of the Software, including technical data; additional information can be found on Oracle's Global Trade Compliance web site (http://www.oracle.com/products/export). You agree that neither the Software nor any direct product thereof will be exported, directly, or indirectly, in violation of these laws, or will be used for any purpose prohibited by these laws including, without limitation, nuclear, chemical, or biological weapons proliferation.

8.  TRADEMARKS AND LOGOS.  You acknowledge and agree as between you
and Oracle that Oracle owns the ORACLE and JAVA trademarks and all ORACLE- and JAVA-related trademarks, service marks, logos and other brand
designations ("Oracle Marks"), and you agree to comply with the Third
Party Usage Guidelines for Oracle Trademarks currently located at
http://www.oracle.com/us/legal/third-party-trademarks/index.html.  Any use you make of the Oracle Marks inures to Oracle's benefit.

9.  U.S.  GOVERNMENT LICENSE RIGHTS.  If Software is being acquired by or on  behalf of the U.S. Government or by a U.S. Government prime contractor or  subcontractor (at any tier), then the Government's rights in Software and accompanying documentation shall be only those set forth in this Agreement.

10.  GOVERNING  LAW.  This agreement is governed by the substantive and procedural laws of California. You and Oracle agree to submit to the exclusive jurisdiction of, and venue in, the courts of San Francisco, or Santa Clara counties in California in any dispute arising out of or relating to this agreement.

11.  SEVERABILITY.  If any  provision of this  Agreement is held to be unenforceable, this Agreement will remain in effect with the provision omitted, unless omission would frustrate the intent of the parties, in which case this Agreement will immediately terminate.

12.  INTEGRATION.  This Agreement is the entire agreement  between you and Oracle relating to its subject matter.  It supersedes all prior or contemporaneous oral or written communications, proposals, representations  and warranties and prevails over any  conflicting  or additional  terms  of  any  quote, order, acknowledgment, or other communication between the parties  relating to its subject matter during the term of this Agreement.  No modification of this Agreement will be  binding,  unless  in  writing  and  signed  by an  authorized representative of each party.

SUPPLEMENTAL LICENSE TERMS

These  Supplemental  License  Terms add to or modify  the terms of the Binary Code License Agreement.  Capitalized terms not defined in these Supplemental  Terms shall have the same meanings ascribed to them in the Binary Code License Agreement.  These Supplemental Terms shall supersede any  inconsistent or conflicting terms in the Binary Code License Agreement, or in any license contained within the Software.

A.  COMMERCIAL FEATURES.  You may not use the Commercial Features for running Programs, Java applets or applications in your internal business operations or for any commercial or production  purpose, or for any purpose other than as set forth in Sections B, C, D and E of these Supplemental Terms.  If You want to use the Commercial Features for any purpose other than as permitted in this Agreement, You must obtain a separate license from Oracle.

B.  SOFTWARE INTERNAL USE FOR DEVELOPMENT LICENSE GRANT.  Subject to the terms and conditions of this Agreement and restrictions and exceptions set forth in the README File incorporated herein by reference,  including, but not limited to the Java Technology Restrictions of these  Supplemental Terms, Oracle grants you a non-exclusive, non-transferable,  limited license without fees to reproduce internally and use internally the Software complete and unmodified for the purpose of designing, developing, and testing your Programs.

C.  LICENSE TO DISTRIBUTE SOFTWARE.  Subject to the terms and conditions of this Agreement and restrictions and exceptions set forth in the   README File, including, but not limited to the Java Technology Restrictions of these Supplemental Terms, Oracle grants you a non-exclusive, non-transferable, limited license without fees to reproduce and distribute the  Software, provided that (i) you distribute the Software complete and  unmodified and only bundled as part of, and for the sole purpose of running, your Programs, (ii) the Programs add significant and primary functionality  to the Software, (iii) you do not distribute additional  software intended to replace any component(s) of the Software, (iv) you do not remove or alter any proprietary legends or notices contained in the Software, (v) you only distribute the Software subject to a license agreement that: (a) is a complete, unmodified reproduction of this Agreement; or (b) protects Oracle's  interests consistent with the terms contained in this Agreement and that includes the notice set forth in Section G, and (vi) you agree to defend and indemnify Oracle and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including  attorneys' fees)  incurred in connection  with any claim, lawsuit or action by any third party that arises or results from the use or distribution of any and all Programs and/or Software.

D.  LICENSE TO DISTRIBUTE REDISTRIBUTABLES.  Subject to the terms and conditions of this Agreement and restrictions and exceptions set forth in the README  File, including but not limited to the Java Technology Restrictions of these Supplemental Terms, Oracle grants you a non-exclusive,  non-transferable, limited license without fees to reproduce and distribute  those files specifically identified as redistributable in the   README File ("Redistributables") provided that: (i) you distribute the  Redistributables complete and unmodified, and only bundled as part of Programs, (ii) the Programs add significant and primary functionality to the  Redistributables, (iii) you do not distribute additional software intended to supersede any component(s) of the Redistributables (unless otherwise specified in the applicable README File), (iv) you do not remove or alter any proprietary legends or notices contained in or on the Redistributables, (v)  you only distribute the Redistributables pursuant to a license agreement  that: (a) is a complete, unmodified reproduction of this Agreement; or (b) protects Oracle's interests consistent with the terms contained in the Agreement and includes the notice set forth in Section G, (vi) you agree to defend and indemnify Oracle and its licensors from and against any damages,  costs, liabilities, settlement amounts and/or expenses (including  attorneys'  fees) incurred in connection with any claim, lawsuit or action by any third  party that arises or results from the use or distribution of any and all Programs and/or Software.

E.  DISTRIBUTION BY PUBLISHERS.  This section pertains to your distribution  of the JavaTM SE Development Kit Software with your printed book or magazine (as those terms are commonly used in the industry) relating to Java technology ("Publication").  Subject to and conditioned upon your compliance  with the restrictions and obligations contained in the Agreement, Oracle hereby grants to you a non-exclusive, nontransferable limited right to reproduce complete and unmodified copies of the Software on electronic  media (the "Media") for the sole purpose of inclusion and distribution with your Publication(s), subject to the following terms: (i) You may not distribute  the Software on a stand-alone basis; it must be distributed with your Publication(s); (ii) You are responsible for downloading the Software from the applicable Oracle web site; (iii) You must refer to the Software as JavaTM SE Development Kit; (iv) The Software must be reproduced in its entirety and without any modification whatsoever (including with respect to all proprietary notices) and distributed with your Publication subject to a license agreement that is a complete, unmodified reproduction of this Agreement; (v) The Media label shall include the following information:  Copyright 2011, Oracle America, Inc.  All rights reserved.  Use is subject to license terms.  ORACLE and JAVA trademarks and all ORACLE- and JAVA-related trademarks, service marks, logos and other brand
designations are trademarks or registered  trademarks of Oracle in the U.S. and other countries.  This information must be placed on the Media  label in such a manner as to only apply to the Oracle  Software;  (vi) You must clearly identify the Software as Oracle's product on the Media  holder or Media label, and you may not state or imply that Oracle is responsible for any third-party software contained on the Media; (vii) You may not include any third  party software on the Media which is intended to be a  replacement or substitute for the Software; (viii) You agree to defend and indemnify Oracle and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including  attorneys'  fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of the Software and/or the Publication; ; and (ix) You shall provide Oracle with a written notice for each Publication; such notice shall include the following information: (1) title of Publication, (2) author(s), (3) date of Publication,  and (4)  ISBN or ISSN  numbers.  Such notice shall be sent to  Oracle America, Inc.,  500 Oracle  Parkway, Redwood Shores,  California  94065 U.S.A , Attention:  General Counsel.

F.  JAVA TECHNOLOGY RESTRICTIONS.  You may not create, modify, or change the behavior of, or authorize your licensees to create, modify, or change the behavior of, classes, interfaces, or subpackages that are in any way  identified  as  "java", "javax", "sun", ?oracle? or similar convention as   specified by Oracle in any naming convention designation.

G.  COMMERCIAL FEATURES NOTICE.  For purpose of complying with Supplemental Term Section  C.(v)(b) and D.(v)(b), your license agreement shall include the following notice, where the notice is displayed in a manner that anyone using the Software will see the notice:

Use of the Commercial Features for any commercial or production purpose requires a separate license from Oracle.  ?Commercial Features? means those features identified Table 1-1 (Commercial Features In Java SE Product Editions) of the Software documentation accessible at http://www.oracle.com/technetwork/java/javase/documentation/index.html

H.  SOURCE CODE.  Software may contain source code that, unless expressly   licensed for other purposes, is provided solely for reference purposes  pursuant to the terms of this Agreement.  Source code may not be redistributed  unless  expressly  provided for in this Agreement.

I.  THIRD PARTY CODE.  Additional copyright notices and license terms applicable to portions of the Software are set forth in the THIRDPARTYLICENSEREADME file accessible at http://www.oracle.com/technetwork/java/javase/documentation/index.html.  In addition to any terms and conditions of any third party opensource/freeware license identified in the  THIRDPARTYLICENSEREADME file, the disclaimer of warranty and limitation of liability  provisions in  paragraphs 4 and 5 of the Binary Code License Agreement shall apply to all Software in this distribution.

J.  TERMINATION FOR INFRINGEMENT.  Either party may terminate this Agreement immediately should any Software become, or in either party's opinion be likely to become, the subject of a claim of infringement of any intellectual property right.

K.  INSTALLATION AND AUTO-UPDATE.  The Software's installation and auto-update processes transmit a limited amount of data to Oracle (or its service  provider) about those specific processes to help Oracle understand and optimize them.  Oracle does not associate the data with personally  identifiable  information.  You can find more  information about the data Oracle collects as a result of your Software download at http://www.oracle.com/technetwork/java/javase/documentation/index.html.

For inquiries please contact:  Oracle America, Inc., 500 Oracle Parkway,
Redwood Shores, California 94065, USA.

Last updated May 17, 2011




Do you agree with the terms of the software license agreement? [N] y

Checking for prerequisites...
     FOUND: NPTL
     FOUND: nc-1.84-22
     FOUND: sudo-1.8.6p3-12
     FOUND: libidn-1.18-2
     FOUND: gmp-4.3.1-7
     FOUND: libaio-0.3.107-10
     FOUND: /usr/lib64/libstdc++.so.6

Checking for suggested prerequisites...
     FOUND: perl-5.10.1
     FOUND: sysstat
     FOUND: sqlite
Prerequisite check complete.
Checking current number of databases...

Do you want to verify message store database integrity? [Y] y
Verifying integrity of message store databases.  This may take a while.
mysqld is alive
No errors found

Checking for installable packages

Found zimbra-core
Found zimbra-ldap
Found zimbra-logger
Found zimbra-mta
Found zimbra-snmp
Found zimbra-store
Found zimbra-apache
Found zimbra-spell
Found zimbra-memcached
Found zimbra-proxy


The Zimbra Collaboration Server appears already to be installed.
It can be upgraded with no effect on existing accounts,
or the current installation can be completely removed prior
to installation for a clean install.

Do you wish to upgrade? [Y]

Select the packages to install
    Upgrading zimbra-core
    Upgrading zimbra-ldap
    Upgrading zimbra-logger
    Upgrading zimbra-mta
    Upgrading zimbra-snmp
    Upgrading zimbra-store
    Upgrading zimbra-apache
    Upgrading zimbra-spell
    Upgrading zimbra-memcached
    Upgrading zimbra-proxy
Checking required space for zimbra-core
Checking space for zimbra-store

Installing:
    zimbra-core
    zimbra-ldap
    zimbra-logger
    zimbra-mta
    zimbra-snmp
    zimbra-store
    zimbra-apache
    zimbra-spell
    zimbra-memcached
    zimbra-proxy

The system will be modified.  Continue? [N] y

Shutting down zimbra mail

Backing up the ldap database...done.

Removing existing packages

   zimbra-ldap...done
   zimbra-logger...done
   zimbra-mta...done
   zimbra-snmp...done
   zimbra-store...done
   zimbra-spell...done
   zimbra-memcached...done
   zimbra-proxy...done
   zimbra-apache...done
   zimbra-core...done

Removing deployed webapp directories
Installing packages

    zimbra-core......zimbra-core-8.0.7_GA_6021.RHEL6_64-20140408123911.x86_64.rpm...done
    zimbra-ldap......zimbra-ldap-8.0.7_GA_6021.RHEL6_64-20140408123911.x86_64.rpm...done
    zimbra-logger......zimbra-logger-8.0.7_GA_6021.RHEL6_64-20140408123911.x86_64.rpm...done
    zimbra-mta......zimbra-mta-8.0.7_GA_6021.RHEL6_64-20140408123911.x86_64.rpm...done
    zimbra-snmp......zimbra-snmp-8.0.7_GA_6021.RHEL6_64-20140408123911.x86_64.rpm...done
    zimbra-store......zimbra-store-8.0.7_GA_6021.RHEL6_64-20140408123911.x86_64.rpm...done
    zimbra-apache......zimbra-apache-8.0.7_GA_6021.RHEL6_64-20140408123911.x86_64.rpm...done
    zimbra-spell......zimbra-spell-8.0.7_GA_6021.RHEL6_64-20140408123911.x86_64.rpm...done
    zimbra-memcached......zimbra-memcached-8.0.7_GA_6021.RHEL6_64-20140408123911.x86_64.rpm...done
    zimbra-proxy......zimbra-proxy-8.0.7_GA_6021.RHEL6_64-20140408123911.x86_64.rpm...done

Setting defaults from saved config in /opt/zimbra/.saveconfig/config.save
   HOSTNAME=centos65.ehowstuff.local
   LDAPHOST=centos65.ehowstuff.local
   LDAPPORT=389
   SNMPTRAPHOST=centos65.ehowstuff.local
   SMTPSOURCE=admin@ehowstuff.local
   SMTPDEST=admin@ehowstuff.local
   SNMPNOTIFY=yes
   SMTPNOTIFY=yes
   LDAPROOTPW=35WrLoqhzZ
   LDAPZIMBRAPW=35WrLoqhzZ
   LDAPPOSTPW=35WrLoqhzZ
   LDAPREPPW=35WrLoqhzZ
   LDAPAMAVISPW=35WrLoqhzZ
   LDAPNGINXPW=35WrLoqhzZ
Restoring existing configuration file from /opt/zimbra/.saveconfig/localconfig.xml...done
Operations logged to /tmp/zmsetup.06122014-000552.log
Upgrading from 8.0.6_GA_5922 to 8.0.7_GA_6021
Stopping zimbra services...done.
Starting mysql...done.
This appears to be 8.0.6_GA
Checking ldap status...not running.
Running zmldapapplyldif...done.
Checking ldap status...not running.
Starting ldap...done.
Stopping mysql...done.
Updating from 8.0.7_GA
Updating global config and COS's with attributes introduced after 8.0.6_GA...done.
Stopping ldap...done.
Upgrade complete.

Running zmldapapplyldif...done.
Checking ldap status....not running.
Starting ldap...done.
Setting defaults...done.
Setting defaults from existing config...done.
Checking for port conflicts
Setting defaults from ldap...done.
Saving config in /opt/zimbra/config.28549...done.
Operations logged to /tmp/zmsetup.06122014-000552.log
Setting local config values...done.
Initializing core config...Setting up CA...done.
Deploying CA to /opt/zimbra/conf/ca ...done.
Setting replication password...done.
Setting Postfix password...done.
Setting amavis password...done.
Setting nginx password...done.
Creating server entry for centos65.ehowstuff.local...already exists.
Setting Zimbra IP Mode...done.
Saving CA in ldap ...done.
Saving SSL Certificate in ldap ...done.
Setting spell check URL...done.
Setting service ports on centos65.ehowstuff.local...done.
Adding centos65.ehowstuff.local to zimbraMailHostPool in default COS...done.
Setting Keyboard Shortcut Preferences...done.
Setting zimbraFeatureTasksEnabled=TRUE...done.
Setting zimbraFeatureBriefcasesEnabled=FALSE...done.
Setting MTA auth host...done.
Setting TimeZone Preference...done.
Initializing mta config...done.
Setting services on centos65.ehowstuff.local...done.
Creating user spam.wc5ohhoylp@ehowstuff.local...already exists.
Creating user ham.ypxiyleoyj@ehowstuff.local...already exists.
Creating user virus-quarantine.kl6ejsnmd@ehowstuff.local...already exists.
Setting spam training and Anti-virus quarantine accounts...done.
Configuring SNMP...done.
Setting up syslog.conf...done.
Starting servers...done.
Checking for deprecated zimlets...done.
Checking for network zimlets in LDAP...done.
Removing network zimlets...
Finished removing network zimlets.
Installing common zimlets...
        com_zimbra_webex...done.
        com_zimbra_date...done.
        com_zimbra_adminversioncheck...done.
        com_zimbra_cert_manager...done.
        com_zimbra_tooltip...done.
        com_zimbra_proxy_config...done.
        com_zimbra_attachcontacts...done.
        com_zimbra_viewmail...done.
        com_zimbra_bulkprovision...done.
        com_zimbra_clientuploader...done.
        com_zimbra_phone...done.
        com_zimbra_attachmail...done.
        com_zimbra_ymemoticons...done.
        com_zimbra_srchhighlighter...done.
        com_zimbra_url...done.
        com_zimbra_email...done.
Finished installing common zimlets.
Getting list of all zimlets...done.
Updating non-standard zimlets...
Finished updating non-standard zimlets.
Restarting mailboxd...done.
Skipping creation of default domain GAL sync account - existing install detected.

You have the option of notifying Zimbra of your installation.
This helps us to track the uptake of the Zimbra Collaboration Server.
The only information that will be transmitted is:
        The VERSION of zcs installed (8.0.7_GA_6021_RHEL6_64)
        The ADMIN EMAIL ADDRESS created (admin@ehowstuff.local)

Notify Zimbra of your installation? [Yes] no
Notification skipped
Setting up zimbra crontab...done.


Moving /tmp/zmsetup.06122014-000552.log to /opt/zimbra/log


Configuration complete - press return to exit

6. Check Zimbra Version :

[zimbra@mail ~]$ zmcontrol -v
Release 8.0.7_GA_6021.RHEL6_64_20140408123911 RHEL6_64 FOSS edition.

7. As per Release Notes for ZCS 8.0.7, please run zmldapupgrade -b 66387 after upgrading. Beginning with 8.0, zimbraAllowFromAddress attribute cannot be set for internal accounts or distribution lists. Running this script will change zimbraAllowFromAddress values to grants.

[zimbra@mail ~]$ zmldapupgrade -b 66387


--------------
com.zimbra.cs.account.ldap.upgrade.LdapUpgrade -b 66387
--------------
Number of accounts using zimbraAllowFromAddress: 0
Number of accounts migrated: 0
Migration completed


--------------
done 66387

8. Verify zimbra status :

[zimbra@mail ~]$ zmcontrol status
Host centos65.ehowstuff.local
        antispam                Running
        antivirus               Running
        ldap                    Running
        logger                  Running
        mailbox                 Running
        memcached               Running
        mta                     Running
        opendkim                Running
        proxy                   Running
        snmp                    Running
        spell                   Running
        stats                   Running
        zmconfigd               Running

Done!!

How to Install Nginx With PHP5 (and PHP-FPM) and MySQL (LEMP) On Ubuntu 14.04

NGINX, pronounced “Engine X” is an alternate web server for Apache. NGINX is an open source web server and a reverse proxy server for HTTP, SMTP, POP3 and IMAP protocols. If you plan to run a very busy and high concurrency websites but with low memory usage, i would suggest you to setup NGINX as a web server on your Virtual Private Server (VPS) or dedicated server.

1. Install nginx, PHP and MySQL :

ehowstuff@ubuntu14:~$ sudo apt-get install nginx php5 php5-fpm php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl mysql-server-5.6 -y

During this installation, you will require to set MySQL’s root password :
1

2

2. Open /etc/php5/fpm/php.ini and set cgi.fix_pathinfo=0:

ehowstuff@ubuntu14:~$ sudo vi /etc/php5/fpm/php.ini
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=0

; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate
; securi

3. Set date.timezone in /etc/php5/fpm/php.ini :

ehowstuff@ubuntu14:~$ sudo vi /etc/php5/fpm/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "Asia/Kuala_Lumpur"

; http://php.net/date.default-latitude
;date.default_latitude = 31.7667

4. By default PHP-FPM is listening on the socket /var/run/php5-fpm.sock. We have an option to make PHP-FPM use a TCP connection. Open and add “listen = 127.0.0.1:9000” and comment out “listen = /var/run/php5-fpm.sock”

ehowstuff@ubuntu14:~$ sudo vim /etc/php5/fpm/pool.d/www.conf

Change as below :

..
..
;   '/path/to/unix/socket' - to listen on a unix socket.
; Note: This value is mandatory.
;listen = /var/run/php5-fpm.sock
listen = 127.0.0.1:9000
..
..

5. Restart PHP-FPM :

ehowstuff@ubuntu14:~$ sudo service php5-fpm restart
stop: Unknown instance:
php5-fpm start/running, process 7314

6. Backup NGINX config file :

ehowstuff@ubuntu14:~$ sudo cp -p /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

7. Check Number CPU on your VPS server. This will will require to adjust NGINX Worker Processes & Connections. NGINX workers is equal to the number of processors :

ehowstuff@ubuntu14:~$ lscpu | grep '^CPU(s)'
CPU(s):                1

8. Configure worker_processes on nginx.conf as below :

..
..
worker_processes 1;
..
..

Full nginx configuration should like below :

user www-data;
worker_processes 1;
pid /run/nginx.pid;

events {
        worker_connections 768;
        # multi_accept on;
}

http {

        ##
        # Basic Settings
        ##

        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 65;
        types_hash_max_size 2048;
        # server_tokens off;

        # server_names_hash_bucket_size 64;
        # server_name_in_redirect off;

        include /etc/nginx/mime.types;
        default_type application/octet-stream;

        ##
        # Logging Settings
        ##

        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;

        ##
        # Gzip Settings
        ##

        gzip on;
        gzip_disable "msie6";

        # gzip_vary on;
        # gzip_proxied any;
        # gzip_comp_level 6;
        # gzip_buffers 16 8k;
        # gzip_http_version 1.1;
        # gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

        ##
        # nginx-naxsi config
        ##
        # Uncomment it if you installed nginx-naxsi
        ##

        #include /etc/nginx/naxsi_core.rules;

        ##
        # nginx-passenger config
        ##
        # Uncomment it if you installed nginx-passenger
        ##

        #passenger_root /usr;
        #passenger_ruby /usr/bin/ruby;

        ##
        # Virtual Host Configs
        ##

        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;
}


#mail {
#       # See sample authentication script at:
#       # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
#       # auth_http localhost/auth.php;
#       # pop3_capabilities "TOP" "USER";
#       # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
#       server {
#               listen     localhost:110;
#               protocol   pop3;
#               proxy      on;
#       }
#
#       server {
#               listen     localhost:143;
#               protocol   imap;
#               proxy      on;
#       }
#}

9. Under your home directory, create public_html and change owner to www-data. This will be your document root directory :

ehowstuff@ubuntu14:~$ sudo mkdir public_html/
ehowstuff@ubuntu14:~$ sudo chown -R www-data:www-data public_html/

10. Create index.php under document root directory :

ehowstuff@ubuntu14:~$ sudo vim public_html/index.php

Insert the following :

<?php
phpinfo();
?>

11. Now it’s turn to setup your NGINX. Please modify the default site.

ehowstuff@ubuntu14:~$ sudo vim /etc/nginx/sites-available/default

Kindly update the root directory and comment out the required lines as below :

# You may add here your
# server {
#	...
# }
# statements for each of your virtual hosts to this file

##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##

server {
	listen 80 default_server;
	listen [::]:80 default_server ipv6only=on;

	root /home/ehowstuff/public_html;
	index index.html index.htm index.php;

	# Make site accessible from http://localhost/
	server_name localhost;

	location / {
		# First attempt to serve request as file, then
		# as directory, then fall back to displaying a 404.
		try_files $uri $uri/ =404;
		# Uncomment to enable naxsi on this location
		# include /etc/nginx/naxsi.rules
	}

	# Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests
	#location /RequestDenied {
	#	proxy_pass http://127.0.0.1:8080;    
	#}

        error_page 404 /404.html;

	# redirect server error pages to the static page /50x.html
	#
	error_page 500 502 503 504 /50x.html;
	location = /50x.html {
		root /usr/share/nginx/html;
	}

	# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
	#
	location ~ \.php$ {
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
	#	# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
	#
	#	# With php5-cgi alone:
		fastcgi_pass 127.0.0.1:9000;
	#	# With php5-fpm:
	#	fastcgi_pass unix:/var/run/php5-fpm.sock;
		fastcgi_index index.php;
		include fastcgi_params;
	}

	# deny access to .htaccess files, if Apache's document root
	# concurs with nginx's one
	#
	location ~ /\.ht {
		deny all;
	}
}


# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
#	listen 8000;
#	listen somename:8080;
#	server_name somename alias another.alias;
#	root html;
#	index index.html index.htm;
#
#	location / {
#		try_files $uri $uri/ =404;
#	}
#}


# HTTPS server
#
#server {
#	listen 443;
#	server_name localhost;
#
#	root html;
#	index index.html index.htm;
#
#	ssl on;
#	ssl_certificate cert.pem;
#	ssl_certificate_key cert.key;
#
#	ssl_session_timeout 5m;
#
#	ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
#	ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
#	ssl_prefer_server_ciphers on;
#
#	location / {
#		try_files $uri $uri/ =404;
#	}
#}

12. Restart your nginx and php5-fpm service to take effect all changes :

ehowstuff@ubuntu14:~$ sudo service nginx restart
ehowstuff@ubuntu14:~$ sudo service php5-fpm restart

13. Test your NGINX site by visit http://IP-Adress :
ubuntu-lemp

Done!!!