diff --git a/sources/news/Let's Encrypt--Entering Public Beta.md b/sources/news/Let's Encrypt--Entering Public Beta.md
new file mode 100644
index 0000000000..5c5c61ebbd
--- /dev/null
+++ b/sources/news/Let's Encrypt--Entering Public Beta.md
@@ -0,0 +1,44 @@
+Let's Encrypt:Entering Public Beta
+================================================================================
+We’re happy to announce that Let’s Encrypt has entered Public Beta. Invitations are no longer needed in order to get free
+certificates from Let’s Encrypt.
+
+It’s time for the Web to take a big step forward in terms of security and privacy. We want to see HTTPS become the default.
+Let’s Encrypt was built to enable that by making it as easy as possible to get and manage certificates.
+
+We’d like to thank everyone who participated in the Limited Beta. Let’s Encrypt issued over 26,000 certificates during the
+Limited Beta period. This allowed us to gain valuable insight into how our systems perform, and to be confident about moving
+to Public Beta.
+
+We’d also like to thank all of our [sponsors][1] for their support. We’re happy to have announced earlier today that
+[Facebook is our newest Gold sponsor][2]/
+
+We have more work to do before we’re comfortable dropping the beta label entirely, particularly on the client experience.
+Automation is a cornerstone of our strategy, and we need to make sure that the client works smoothly and reliably on a
+wide range of platforms. We’ll be monitoring feedback from users closely, and making improvements as quickly as possible.
+
+Instructions for getting a certificate with the [Let’s Encrypt client][3] can be found [here][4].
+
+[Let’s Encrypt Community Support][5] is an invaluable resource for our community, we strongly recommend making use of the
+site if you have any questions about Let’s Encrypt.
+
+Let’s Encrypt depends on support from a wide variety of individuals and organizations. Please consider [getting involved][6]
+, and if your company or organization would like to sponsor Let’s Encrypt please email us at [sponsor@letsencrypt.org][7].
+--------------------------------------------------------------------------------
+
+via: https://letsencrypt.org/2015/12/03/entering-public-beta.html
+
+作者:[Josh Aas][a]
+译者:[译者ID](https://github.com/译者ID)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
+
+[a]:https://letsencrypt.org/2015/12/03/entering-public-beta.html
+[1]:https://letsencrypt.org/sponsors/
+[2]:https://letsencrypt.org/2015/12/03/facebook-sponsorship.html
+[3]:https://github.com/letsencrypt/letsencrypt
+[4]:https://letsencrypt.readthedocs.org/en/latest/
+[5]:https://community.letsencrypt.org/
+[6]:https://letsencrypt.org/getinvolved/
+[7]:mailto:sponsor@letsencrypt.org
diff --git a/sources/share/20151204 Review EXT4 vs. Btrfs vs. XFS.md b/sources/share/20151204 Review EXT4 vs. Btrfs vs. XFS.md
new file mode 100644
index 0000000000..d370b87822
--- /dev/null
+++ b/sources/share/20151204 Review EXT4 vs. Btrfs vs. XFS.md
@@ -0,0 +1,65 @@
+Review EXT4 vs. Btrfs vs. XFS
+================================================================================
+
+
+To be honest, one of the things that comes last in people’s thinking is to look at which file system on their PC is being used. Windows users as well as Mac OS X users even have less reason for looking as they have really only 1 choice for their operating system which are NTFS and HFS+. Linux operating system, on the other side, has plenty of various file system options, with the current default is being widely used ext4. However, there is another push for changing the file system to something other which is called btrfs. But what makes btrfs better, what are other file systems, and when can we see the distributions making the change?
+
+Let’s first have a general look at file systems and what they really do, then we will make a small comparison between famous file systems.
+
+### So, What Do File Systems Do? ###
+
+Just in case if you are unfamiliar about what file systems really do, it is actually simple when it is summarized. The file systems are mainly used in order for controlling how the data is stored after any program is no longer using it, how access to the data is controlled, what other information (metadata) is attached to the data itself, etc. I know that it does not sound like an easy thing to be programmed, and it is definitely not. The file systems are continually still being revised for including more functionality while becoming more efficient in what it simply needs to do. Therefore, however, it is a basic need for all computers, it is not quite as basic as it sounds like.
+
+### Why Partitioning? ###
+
+Many people have a vague knowledge of what the partitions are since each operating system has an ability for creating or removing them. It can seem strange that Linux operating system uses more than 1 partition on the same disk, even while using the standard installation procedure, so few explanations are called for them. One of the main goals of having different partitions is achieving higher data security in the disaster case.
+
+By dividing your hard disk into partitions, the data may be grouped and also separated. When the accidents occur, only the data stored in the partition which got the hit will only be damaged, while data on the other partitions will survive most likely. These principles date from the days when the Linux operating system didn’t have a journaled file system and any power failure might have led to a disaster.
+
+The using of partitions will remain for security and the robustness reasons, then the breach on 1 part of the operating system does not automatically mean that whole computer is under risk or danger. This is currently most important factor for the partitioning process. For example, the users create scripts, the programs or web applications which start filling up the disk. If that disk contains only 1 big partition, then entire system may stop functioning if that disk is full. If the users store data on separate partitions, then only that data partition can be affected, while system partitions and the possible other data partitions will keep functioning.
+
+Mind that to have a journaled file system will only provide data security in case if there is a power failure as well as sudden disconnection of the storage devices. Such will not protect the data against the bad blocks and the logical errors in the file system. In such cases, the user should use a Redundant Array of Inexpensive Disks (RAID) solution.
+
+### Why Switch File Systems? ###
+
+The ext4 file system has been an improvement for the ext3 file system that was also an improvement over the ext2 file system. While the ext4 is a very solid file system which has been the default choice for almost all distributions for the past few years, it is made from an aging code base. Additionally, Linux operating system users are seeking many new different features in file systems which ext4 does not handle on its own. There is software which takes care of some of such needs, but in the performance aspect, being able to do such things on the file system level could be faster.
+
+### Ext4 File System ###
+
+The ext4 has some limits which are still a bit impressive. The maximum file size is 16 tebibytes (which is roughly 17.6 terabytes) and is much bigger than any hard drive a regular consumer can currently buy. While, the largest volume/partition you can make with ext4 is 1 exbibyte (which is roughly 1,152,921.5 terabytes). The ext4 is known to bring the speed improvements over ext3 by using multiple various techniques. Like in the most modern file systems, it is a journaling file system that means that it will keep a journal of where the files are mainly located on the disk and of any other changes that happen to the disk. Regardless all of its features, it doesn’t support the transparent compression, the data deduplication, or the transparent encryption. The snapshots are supported technically, but such feature is experimental at best.
+
+### Btrfs File System ###
+
+The btrfs, many of us pronounce it different ways, as an example, Better FS, Butter FS, or B-Tree FS. It is a file system which is completely made from scratch. The btrfs exists because its developers firstly wanted to expand the file system functionality in order to include snapshots, pooling, as well as checksums among the other things. While it is independent from the ext4, it also wants to build off the ideas present in the ext4 that are great for the consumers and the businesses alike as well as incorporate those additional features that will benefit everybody, but specifically the enterprises. For the enterprises who are using very large programs with very large databases, they are having a seemingly continuous file system across the multiple hard drives could be very beneficial as it will make a consolidation of the data much easier. The data deduplication could reduce the amount of the actual space data could occupy, and the data mirroring could become easier with the btrfs as well when there is a single and broad file system which needs to be mirrored.
+
+The user certainly can still choose to create multiple partitions so that he does not need to mirror everything. Considering that the btrfs will be able for spanning over the multiple hard drives, it is a very good thing that it can support 16 times more drive space than the ext4. A maximum partition size of the btrfs file system is 16 exbibytes, as well as maximum file size is 16 exbibytes too.
+
+### XFS File System ###
+
+The XFS file system is an extension of the extent file system. The XFS is a high-performance 64-bit journaling file system. The support of the XFS was merged into Linux kernel in around 2002 and In 2009 Red Hat Enterprise Linux version 5.4 usage of the XFS file system. XFS supports maximum file system size of 8 exbibytes for the 64-bit file system. There is some comparison of XFS file system is XFS file system can’t be shrunk and poor performance with deletions of the large numbers of files. Now, the RHEL 7.0 uses XFS as the default filesystem.
+
+### Final Thoughts ###
+
+Unfortunately, the arrival date for the btrfs is not quite known. But officially, the next-generation file system is still classified as “unstable”, but if the user downloads the latest version of Ubuntu, he will be able to choose to install on a btrfs partition. When the btrfs will be classified actually as “stable” is still a mystery, but users shouldn’t expect the Ubuntu to use the btrfs by default until it’s indeed considered “stable”. It has been reported that Fedora 18 will use the btrfs as its default file system as by the time of its release a file system checker for the btrfs should exist. There is a good amount of work still left for the btrfs, as not all the features are yet implemented and the performance is a little sluggish if we compare it to the ext4.
+
+So, which is better to use? Till now, the ext4 will be the winner despite the identical performance. But why? The answer will be the convenience as well as the ubiquity. The ext4 is still excellent file system for the desktop or workstation use. It is provided by default, so the user can install the operating system on it. Also, the ext4 supports volumes up to 1 Exabyte and files up to 16 Terabyte in size, so there’s still a plenty of room for the growth where space is concerned.
+
+The btrfs might offer greater volumes up to 16 Exabyte and improved fault tolerance, but, till now, it feels more as an add-on file system rather than one integrated into the Linux operating system. For example, the btrfs-tools have to be present before a drive will be formatted with the btrfs, which means that the btrfs is not an option during the Linux operating system installation though that could vary with the distribution.
+
+Even though the transfer rates are so important, there’s more to a just file system than speed of the file transfers. The btrfs has many useful features such as Copy-on-Write (CoW), extensive checksums, snapshots, scrubbing, self-healing data, deduplication, as well as many more good improvements that ensure the data integrity. The btrfs lacks the RAID-Z features of ZFS, so the RAID is still in an experimental state with the btrfs. For pure data storage, however, the btrfs is the winner over the ext4, but time still will tell.
+
+Till the moment, the ext4 seems to be a better choice on the desktop system since it is presented as a default file system, as well as it is faster than the btrfs when transferring files. The btrfs is definitely worth to look into, but to completely switch to replace the ext4 on desktop Linux might be few years later. The data farms and the large storage pools could reveal different stories and show the right differences between ext4, XCF, and btrfs.
+
+If you have a different or additional opinion, kindly let us know by commenting on this article.
+
+--------------------------------------------------------------------------------
+
+via: http://www.unixmen.com/review-ext4-vs-btrfs-vs-xfs/
+
+作者:[M.el Khamlichi][a]
+译者:[译者ID](https://github.com/译者ID)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
+
+[a]:http://www.unixmen.com/author/pirat9/
diff --git a/sources/talk/20150820 Why did you start using Linux.md b/sources/talk/20150820 Why did you start using Linux.md
index 5fb6a8d4fe..58b89e1f74 100644
--- a/sources/talk/20150820 Why did you start using Linux.md
+++ b/sources/talk/20150820 Why did you start using Linux.md
@@ -1,3 +1,4 @@
+[bazz2222]
Why did you start using Linux?
================================================================================
> In today's open source roundup: What got you started with Linux? Plus: IBM's Linux only Mainframe. And why you should skip Windows 10 and go with Linux
diff --git a/sources/tech/20150806 Installation Guide for Puppet on Ubuntu 15.04.md b/sources/tech/20150806 Installation Guide for Puppet on Ubuntu 15.04.md
deleted file mode 100644
index 59a243f0e5..0000000000
--- a/sources/tech/20150806 Installation Guide for Puppet on Ubuntu 15.04.md
+++ /dev/null
@@ -1,430 +0,0 @@
-Translating by ivowang
-Installation Guide for Puppet on Ubuntu 15.04
-================================================================================
-Hi everyone, today in this article we'll learn how to install puppet to manage your server infrastructure running ubuntu 15.04. Puppet is an open source software configuration management tool which is developed and maintained by Puppet Labs that allows us to automate the provisioning, configuration and management of a server infrastructure. Whether we're managing just a few servers or thousands of physical and virtual machines to orchestration and reporting, puppet automates tasks that system administrators often do manually which frees up time and mental space so sysadmins can work on improving other aspects of your overall setup. It ensures consistency, reliability and stability of the automated jobs processed. It facilitates closer collaboration between sysadmins and developers, enabling more efficient delivery of cleaner, better-designed code. Puppet is available in two solutions configuration management and data center automation. They are **puppet open source and puppet enterprise**. Puppet open source is a flexible, customizable solution available under the Apache 2.0 license, designed to help system administrators automate the many repetitive tasks they regularly perform. Whereas puppet enterprise edition is a proven commercial solution for diverse enterprise IT environments which lets us get all the benefits of open source puppet, plus puppet apps, commercial-only enhancements, supported modules and integrations, and the assurance of a fully supported platform. Puppet uses SSL certificates to authenticate communication between master and agent nodes.
-
-In this tutorial, we will cover how to install open source puppet in an agent and master setup running ubuntu 15.04 linux distribution. Here, Puppet master is a server from where all the configurations will be controlled and managed and all our remaining servers will be puppet agent nodes, which is configured according to the configuration of puppet master server. Here are some easy steps to install and configure puppet to manage our server infrastructure running Ubuntu 15.04.
-
-### 1. Setting up Hosts ###
-
-In this tutorial, we'll use two machines, one as puppet master server and another as puppet node agent both running ubuntu 15.04 "Vivid Vervet" in both the machines. Here is the infrastructure of the server that we're gonna use for this tutorial.
-
-puppet master server with IP 44.55.88.6 and hostname : puppetmaster
-puppet node agent with IP 45.55.86.39 and hostname : puppetnode
-
-Now we'll add the entry of the machines to /etc/hosts on both machines node agent and master server.
-
- # nano /etc/hosts
-
- 45.55.88.6 puppetmaster.example.com puppetmaster
- 45.55.86.39 puppetnode.example.com puppetnode
-
-Please note that the Puppet Master server must be reachable on port 8140. So, we'll need to open port 8140 in it.
-
-### 2. Updating Time with NTP ###
-
-As puppet nodes needs to maintain accurate system time to avoid problems when it issues agent certificates. Certificates can appear to be expired if there is time difference, the time of the both the master and the node agent must be synced with each other. To sync the time, we'll update the time with NTP. To do so, here's the command below that we need to run on both master and node agent.
-
- # ntpdate pool.ntp.org
-
- 17 Jun 00:17:08 ntpdate[882]: adjust time server 66.175.209.17 offset -0.001938 sec
-
-Now, we'll update our local repository index and install ntp as follows.
-
- # apt-get update && sudo apt-get -y install ntp ; service ntp restart
-
-### 3. Puppet Master Package Installation ###
-
-There are many ways to install open source puppet. In this tutorial, we'll download and install a debian binary package named as **puppetlabs-release** packaged by the Puppet Labs which will add the source of the **puppetmaster-passenger** package. The puppetmaster-passenger includes the puppet master with apache web server. So, we'll now download the Puppet Labs package.
-
- # cd /tmp/
- # wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb
-
- --2015-06-17 00:19:26-- https://apt.puppetlabs.com/puppetlabs-release-trusty.deb
- Resolving apt.puppetlabs.com (apt.puppetlabs.com)... 192.155.89.90, 2600:3c03::f03c:91ff:fedb:6b1d
- Connecting to apt.puppetlabs.com (apt.puppetlabs.com)|192.155.89.90|:443... connected.
- HTTP request sent, awaiting response... 200 OK
- Length: 7384 (7.2K) [application/x-debian-package]
- Saving to: ‘puppetlabs-release-trusty.deb’
-
- puppetlabs-release-tr 100%[===========================>] 7.21K --.-KB/s in 0.06s
-
- 2015-06-17 00:19:26 (130 KB/s) - ‘puppetlabs-release-trusty.deb’ saved [7384/7384]
-
-After the download has been completed, we'll wanna install the package.
-
- # dpkg -i puppetlabs-release-trusty.deb
-
- Selecting previously unselected package puppetlabs-release.
- (Reading database ... 85899 files and directories currently installed.)
- Preparing to unpack puppetlabs-release-trusty.deb ...
- Unpacking puppetlabs-release (1.0-11) ...
- Setting up puppetlabs-release (1.0-11) ...
-
-Then, we'll update the local respository index with the server using apt package manager.
-
- # apt-get update
-
-Then, we'll install the puppetmaster-passenger package by running the below command.
-
- # apt-get install puppetmaster-passenger
-
-**Note**: While installing we may get an error **Warning: Setting templatedir is deprecated. See http://links.puppetlabs.com/env-settings-deprecations (at /usr/lib/ruby/vendor_ruby/puppet/settings.rb:1139:in `issue_deprecation_warning')** but we no need to worry, we'll just simply ignore this as it says that the templatedir is deprecated so, we'll simply disbale that setting in the configuration. :)
-
-To check whether puppetmaster has been installed successfully in our Master server not not, we'll gonna try to check its version.
-
- # puppet --version
-
- 3.8.1
-
-We have successfully installed puppet master package in our puppet master box. As we are using passenger with apache, the puppet master process is controlled by apache server, that means it runs when apache is running.
-
-Before continuing, we'll need to stop the Puppet master by stopping the apache2 service.
-
- # systemctl stop apache2
-
-### 4. Master version lock with Apt ###
-
-As We have puppet version as 3.8.1, we need to lock the puppet version update as this will mess up the configurations while updating the puppet. So, we'll use apt's locking feature for that. To do so, we'll need to create a new file **/etc/apt/preferences.d/00-puppet.pref** using our favorite text editor.
-
- # nano /etc/apt/preferences.d/00-puppet.pref
-
-Then, we'll gonna add the entries in the newly created file as:
-
- # /etc/apt/preferences.d/00-puppet.pref
- Package: puppet puppet-common puppetmaster-passenger
- Pin: version 3.8*
- Pin-Priority: 501
-
-Now, it will not update the puppet while running updates in the system.
-
-### 5. Configuring Puppet Config ###
-
-Puppet master acts as a certificate authority and must generate its own certificates which is used to sign agent certificate requests. First of all, we'll need to remove any existing SSL certificates that were created during the installation of package. The default location of puppet's SSL certificates is /var/lib/puppet/ssl. So, we'll remove the entire ssl directory using rm command.
-
- # rm -rf /var/lib/puppet/ssl
-
-Then, we'll configure the certificate. While creating the puppet master's certificate, we need to include every DNS name at which agent nodes can contact the master at. So, we'll edit the master's puppet.conf using our favorite text editor.
-
- # nano /etc/puppet/puppet.conf
-
-The output seems as shown below.
-
- [main]
- logdir=/var/log/puppet
- vardir=/var/lib/puppet
- ssldir=/var/lib/puppet/ssl
- rundir=/var/run/puppet
- factpath=$vardir/lib/facter
- templatedir=$confdir/templates
-
- [master]
- # These are needed when the puppetmaster is run by passenger
- # and can safely be removed if webrick is used.
- ssl_client_header = SSL_CLIENT_S_DN
- ssl_client_verify_header = SSL_CLIENT_VERIFY
-
-Here, we'll need to comment the templatedir line to disable the setting as it has been already depreciated. After that, we'll add the following line at the end of the file under [main].
-
- server = puppetmaster
- environment = production
- runinterval = 1h
- strict_variables = true
- certname = puppetmaster
- dns_alt_names = puppetmaster, puppetmaster.example.com
-
-This configuration file has many options which might be useful in order to setup own configuration. A full description of the file is available at Puppet Labs [Main Config File (puppet.conf)][1].
-
-After editing the file, we'll wanna save that and exit.
-
-Now, we'll gonna generate a new CA certificates by running the following command.
-
- # puppet master --verbose --no-daemonize
-
- Info: Creating a new SSL key for ca
- Info: Creating a new SSL certificate request for ca
- Info: Certificate Request fingerprint (SHA256): F6:2F:69:89:BA:A5:5E:FF:7F:94:15:6B:A7:C4:20:CE:23:C7:E3:C9:63:53:E0:F2:76:D7:2E:E0:BF:BD:A6:78
- ...
- Notice: puppetmaster has a waiting certificate request
- Notice: Signed certificate request for puppetmaster
- Notice: Removing file Puppet::SSL::CertificateRequest puppetmaster at '/var/lib/puppet/ssl/ca/requests/puppetmaster.pem'
- Notice: Removing file Puppet::SSL::CertificateRequest puppetmaster at '/var/lib/puppet/ssl/certificate_requests/puppetmaster.pem'
- Notice: Starting Puppet master version 3.8.1
- ^CNotice: Caught INT; storing stop
- Notice: Processing stop
-
-Now, the certificate is being generated. Once we see **Notice: Starting Puppet master version 3.8.1**, the certificate setup is complete. Then we'll press CTRL-C to return to the shell.
-
-If we wanna look at the cert information of the certificate that was just created, we can get the list by running in the following command.
-
- # puppet cert list -all
-
- + "puppetmaster" (SHA256) 33:28:97:86:A1:C3:2F:73:10:D1:FB:42:DA:D5:42:69:71:84:F0:E2:8A:01:B9:58:38:90:E4:7D:B7:25:23:EC (alt names: "DNS:puppetmaster", "DNS:puppetmaster.example.com")
-
-### 6. Creating a Puppet Manifest ###
-
-The default location of the main manifest is /etc/puppet/manifests/site.pp. The main manifest file contains the definition of configuration that is used to execute in the puppet node agent. Now, we'll create the manifest file by running the following command.
-
- # nano /etc/puppet/manifests/site.pp
-
-Then, we'll add the following lines of configuration in the file that we just opened.
-
- # execute 'apt-get update'
- exec { 'apt-update': # exec resource named 'apt-update'
- command => '/usr/bin/apt-get update' # command this resource will run
- }
-
- # install apache2 package
- package { 'apache2':
- require => Exec['apt-update'], # require 'apt-update' before installing
- ensure => installed,
- }
-
- # ensure apache2 service is running
- service { 'apache2':
- ensure => running,
- }
-
-The above lines of configuration are responsible for the deployment of the installation of apache web server across the node agent.
-
-### 7. Starting Master Service ###
-
-We are now ready to start the puppet master. We can start it by running the apache2 service.
-
- # systemctl start apache2
-
-Here, our puppet master is running, but it isn't managing any agent nodes yet. Now, we'll gonna add the puppet node agents to the master.
-
-**Note**: If you get an error **Job for apache2.service failed. See "systemctl status apache2.service" and "journalctl -xe" for details.** then it must be that there is some problem with the apache server. So, we can see the log what exactly has happened by running **apachectl start** under root or sudo mode. Here, while performing this tutorial, we got a misconfiguration of the certificates under **/etc/apache2/sites-enabled/puppetmaster.conf** file. We replaced **SSLCertificateFile /var/lib/puppet/ssl/certs/server.pem with SSLCertificateFile /var/lib/puppet/ssl/certs/puppetmaster.pem** and commented **SSLCertificateKeyFile** line. Then we'll need to rerun the above command to run apache server.
-
-### 8. Puppet Agent Package Installation ###
-
-Now, as we have our puppet master ready and it needs an agent to manage, we'll need to install puppet agent into the nodes. We'll need to install puppet agent in every nodes in our infrastructure we want puppet master to manage. We'll need to make sure that we have added our node agents in the DNS. Now, we'll gonna install the latest puppet agent in our agent node ie. puppetnode.example.com .
-
-We'll run the following command to download the Puppet Labs package in our puppet agent nodes.
-
- # cd /tmp/
- # wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb\
-
- --2015-06-17 00:54:42-- https://apt.puppetlabs.com/puppetlabs-release-trusty.deb
- Resolving apt.puppetlabs.com (apt.puppetlabs.com)... 192.155.89.90, 2600:3c03::f03c:91ff:fedb:6b1d
- Connecting to apt.puppetlabs.com (apt.puppetlabs.com)|192.155.89.90|:443... connected.
- HTTP request sent, awaiting response... 200 OK
- Length: 7384 (7.2K) [application/x-debian-package]
- Saving to: ‘puppetlabs-release-trusty.deb’
-
- puppetlabs-release-tr 100%[===========================>] 7.21K --.-KB/s in 0.04s
-
- 2015-06-17 00:54:42 (162 KB/s) - ‘puppetlabs-release-trusty.deb’ saved [7384/7384]
-
-Then, as we're running ubuntu 15.04, we'll use debian package manager to install it.
-
- # dpkg -i puppetlabs-release-trusty.deb
-
-Now, we'll gonna update the repository index using apt-get.
-
- # apt-get update
-
-Finally, we'll gonna install the puppet agent directly from the remote repository.
-
- # apt-get install puppet
-
-Puppet agent is always disabled by default, so we'll need to enable it. To do so we'll need to edit /etc/default/puppet file using a text editor.
-
- # nano /etc/default/puppet
-
-Then, we'll need to change value of **START** to "yes" as shown below.
-
- START=yes
-
-Then, we'll need to save and exit the file.
-
-### 9. Agent Version Lock with Apt ###
-
-As We have puppet version as 3.8.1, we need to lock the puppet version update as this will mess up the configurations while updating the puppet. So, we'll use apt's locking feature for that. To do so, we'll need to create a file /etc/apt/preferences.d/00-puppet.pref using our favorite text editor.
-
- # nano /etc/apt/preferences.d/00-puppet.pref
-
-Then, we'll gonna add the entries in the newly created file as:
-
- # /etc/apt/preferences.d/00-puppet.pref
- Package: puppet puppet-common
- Pin: version 3.8*
- Pin-Priority: 501
-
-Now, it will not update the Puppet while running updates in the system.
-
-### 10. Configuring Puppet Node Agent ###
-
-Next, We must make a few configuration changes before running the agent. To do so, we'll need to edit the agent's puppet.conf
-
- # nano /etc/puppet/puppet.conf
-
-It will look exactly like the Puppet master's initial configuration file.
-
-This time also we'll comment the **templatedir** line. Then we'll gonna delete the [master] section, and all of the lines below it.
-
-Assuming that the puppet master is reachable at "puppet-master", the agent should be able to connect to the master. If not we'll need to use its fully qualified domain name ie. puppetmaster.example.com .
-
- [agent]
- server = puppetmaster.example.com
- certname = puppetnode.example.com
-
-After adding this, it will look alike this.
-
- [main]
- logdir=/var/log/puppet
- vardir=/var/lib/puppet
- ssldir=/var/lib/puppet/ssl
- rundir=/var/run/puppet
- factpath=$vardir/lib/facter
- #templatedir=$confdir/templates
-
- [agent]
- server = puppetmaster.example.com
- certname = puppetnode.example.com
-
-After done with that, we'll gonna save and exit it.
-
-Next, we'll wanna start our latest puppet agent in our Ubuntu 15.04 nodes. To start our puppet agent, we'll need to run the following command.
-
- # systemctl start puppet
-
-If everything went as expected and configured properly, we should not see any output displayed by running the above command. When we run an agent for the first time, it generates an SSL certificate and sends a request to the puppet master then if the master signs the agent's certificate, it will be able to communicate with the agent node.
-
-**Note**: If you are adding your first node, it is recommended that you attempt to sign the certificate on the puppet master before adding your other agents. Once you have verified that everything works properly, then you can go back and add the remaining agent nodes further.
-
-### 11. Signing certificate Requests on Master ###
-
-While puppet agent runs for the first time, it generates an SSL certificate and sends a request for signing to the master server. Before the master will be able to communicate and control the agent node, it must sign that specific agent node's certificate.
-
-To get the list of the certificate requests, we'll run the following command in the puppet master server.
-
- # puppet cert list
-
- "puppetnode.example.com" (SHA256) 31:A1:7E:23:6B:CD:7B:7D:83:98:33:8B:21:01:A6:C4:01:D5:53:3D:A0:0E:77:9A:77:AE:8F:05:4A:9A:50:B2
-
-As we just setup our first agent node, we will see one request. It will look something like the following, with the agent node's Domain name as the hostname.
-
-Note that there is no + in front of it which indicates that it has not been signed yet.
-
-Now, we'll go for signing a certification request. In order to sign a certification request, we should simply run **puppet cert sign** with the **hostname** as shown below.
-
- # puppet cert sign puppetnode.example.com
-
- Notice: Signed certificate request for puppetnode.example.com
- Notice: Removing file Puppet::SSL::CertificateRequest puppetnode.example.com at '/var/lib/puppet/ssl/ca/requests/puppetnode.example.com.pem'
-
-The Puppet master can now communicate and control the node that the signed certificate belongs to.
-
-If we want to sign all of the current requests, we can use the -all option as shown below.
-
- # puppet cert sign --all
-
-### Removing a Puppet Certificate ###
-
-If we wanna remove a host from it or wanna rebuild a host then add it back to it. In this case, we will want to revoke the host's certificate from the puppet master. To do this, we will want to use the clean action as follows.
-
- # puppet cert clean hostname
-
- Notice: Revoked certificate with serial 5
- Notice: Removing file Puppet::SSL::Certificate puppetnode.example.com at '/var/lib/puppet/ssl/ca/signed/puppetnode.example.com.pem'
- Notice: Removing file Puppet::SSL::Certificate puppetnode.example.com at '/var/lib/puppet/ssl/certs/puppetnode.example.com.pem'
-
-If we want to view all of the requests signed and unsigned, run the following command:
-
- # puppet cert list --all
-
- + "puppetmaster" (SHA256) 33:28:97:86:A1:C3:2F:73:10:D1:FB:42:DA:D5:42:69:71:84:F0:E2:8A:01:B9:58:38:90:E4:7D:B7:25:23:EC (alt names: "DNS:puppetmaster", "DNS:puppetmaster.example.com")
-
-### 12. Deploying a Puppet Manifest ###
-
-After we configure and complete the puppet manifest, we'll wanna deploy the manifest to the agent nodes server. To apply and load the main manifest we can simply run the following command in the agent node.
-
- # puppet agent --test
-
- Info: Retrieving pluginfacts
- Info: Retrieving plugin
- Info: Caching catalog for puppetnode.example.com
- Info: Applying configuration version '1434563858'
- Notice: /Stage[main]/Main/Exec[apt-update]/returns: executed successfully
- Notice: Finished catalog run in 10.53 seconds
-
-This will show us all the processes how the main manifest will affect a single server immediately.
-
-If we wanna run a puppet manifest that is not related to the main manifest, we can simply use puppet apply followed by the manifest file path. It only applies the manifest to the node that we run the apply from.
-
- # puppet apply /etc/puppet/manifest/test.pp
-
-### 13. Configuring Manifest for a Specific Node ###
-
-If we wanna deploy a manifest only to a specific node then we'll need to configure the manifest as follows.
-
-We'll need to edit the manifest on the master server using a text editor.
-
- # nano /etc/puppet/manifest/site.pp
-
-Now, we'll gonna add the following lines there.
-
- node 'puppetnode', 'puppetnode1' {
- # execute 'apt-get update'
- exec { 'apt-update': # exec resource named 'apt-update'
- command => '/usr/bin/apt-get update' # command this resource will run
- }
-
- # install apache2 package
- package { 'apache2':
- require => Exec['apt-update'], # require 'apt-update' before installing
- ensure => installed,
- }
-
- # ensure apache2 service is running
- service { 'apache2':
- ensure => running,
- }
- }
-
-Here, the above configuration will install and deploy the apache web server only to the two specified nodes having shortname puppetnode and puppetnode1. We can add more nodes that we need to get deployed with the manifest specifically.
-
-### 14. Configuring Manifest with a Module ###
-
-Modules are useful for grouping tasks together, they are many available in the Puppet community which anyone can contribute further.
-
-On the puppet master, we'll gonna install the **puppetlabs-apache** module using the puppet module command.
-
- # puppet module install puppetlabs-apache
-
-**Warning**: Please do not use this module on an existing apache setup else it will purge your apache configurations that are not managed by puppet.
-
-Now we'll gonna edit the main manifest ie **site.pp** using a text editor.
-
- # nano /etc/puppet/manifest/site.pp
-
-Now add the following lines to install apache under puppetnode.
-
- node 'puppet-node' {
- class { 'apache': } # use apache module
- apache::vhost { 'example.com': # define vhost resource
- port => '80',
- docroot => '/var/www/html'
- }
- }
-
-Then we'll wanna save and exit it. Then, we'll wanna rerun the manifest to deploy the configuration to the agents for our infrastructure.
-
-### Conclusion ###
-
-Finally we have successfully installed puppet to manage our Server Infrastructure running Ubuntu 15.04 "Vivid Vervet" linux operating system. We learned how puppet works, configure a manifest configuration, communicate with nodes and deploy the manifest on the agent nodes with secure SSL certification. Controlling, managing and configuring repeated task in several N number of nodes is very easy with puppet open source software configuration management tool. If you have any questions, suggestions, feedback please write them in the comment box below so that we can improve or update our contents. Thank you ! Enjoy :-)
-
---------------------------------------------------------------------------------
-
-via: http://linoxide.com/linux-how-to/install-puppet-ubuntu-15-04/
-
-作者:[Arun Pyasi][a]
-译者:[译者ID](https://github.com/译者ID)
-校对:[校对者ID](https://github.com/校对者ID)
-
-本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出
-
-[a]:http://linoxide.com/author/arunp/
-[1]:https://docs.puppetlabs.com/puppet/latest/reference/config_file_main.html
diff --git a/sources/tech/20150817 How to Install OsTicket Ticketing System in Fedora 22 or Centos 7.md b/sources/tech/20150817 How to Install OsTicket Ticketing System in Fedora 22 or Centos 7.md
index 515b15844a..7a56750804 100644
--- a/sources/tech/20150817 How to Install OsTicket Ticketing System in Fedora 22 or Centos 7.md
+++ b/sources/tech/20150817 How to Install OsTicket Ticketing System in Fedora 22 or Centos 7.md
@@ -1,3 +1,4 @@
+translated by iov-wang
How to Install OsTicket Ticketing System in Fedora 22 / Centos 7
================================================================================
In this article, we'll learn how to setup help desk ticketing system with osTicket in our machine or server running Fedora 22 or CentOS 7 as operating system. osTicket is a free and open source popular customer support ticketing system developed and maintained by [Enhancesoft][1] and its contributors. osTicket is the best solution for help and support ticketing system and management for better communication and support assistance with clients and customers. It has the ability to easily integrate with inquiries created via email, phone and web based forms into a beautiful multi-user web interface. osTicket makes us easy to manage, organize and log all our support requests and responses in one single place. It is a simple, lightweight, reliable, open source, web-based and easy to setup and use help desk ticketing system.
@@ -176,4 +177,4 @@ via: http://linoxide.com/linux-how-to/install-osticket-fedora-22-centos-7/
[a]:http://linoxide.com/author/arunp/
[1]:http://www.enhancesoft.com/
[2]:http://osticket.com/download
-[3]:https://github.com/osTicket/osTicket-1.8/releases
\ No newline at end of file
+[3]:https://github.com/osTicket/osTicket-1.8/releases
diff --git a/sources/tech/20151201 How to use Mutt email client with encrypted passwords.md b/sources/tech/20151201 How to use Mutt email client with encrypted passwords.md
deleted file mode 100644
index 758fe7c8b2..0000000000
--- a/sources/tech/20151201 How to use Mutt email client with encrypted passwords.md
+++ /dev/null
@@ -1,139 +0,0 @@
-wyangsun translating
-How to use Mutt email client with encrypted passwords
-================================================================================
-Mutt is an open-source email client written for Linux/UNIX terminal environment. Together with [Alpine][1], Mutt has the most devoted followers among Linux command-line enthusiasts, and for good reasons. Think of anything you expect from an email client, and Mutt has it: multi-protocol support (e.g., POP3, IMAP and SMTP), S/MIME and PGP/GPG integration, threaded conversation, color coding, customizable macros/keybindings, and so on. Besides, terminal-based Mutt is a lightweight alternative for accessing emails compared to bulky web browser-based (e.g., Gmail, Ymail) or GUI-based email clients (e.g., Thunderbird, MS Outlook).
-
-When you want to use Mutt to access or send emails via corporate SMTP/IMAP servers or replace web mail services, one concern you may have is how to protect your email credentials (e.g., SMTP/IMAP passwords) stored in a plain-text Mutt configuration file (~/.muttrc).
-
-For those who are security-conscious, there is actually an easy way to **encrypt Mutt configuration** to prevent such risk. In this tutorial, I describe how you can encrypt sensitive Mutt configuration such as SMTP/IMAP passwords using GnuPG (GPG), an open-source implementation of OpenPGP.
-
-### Step One (Optional): Create GPG Key ###
-
-Since we are going to use GPG to encrypt Mutt configuration, the first step is to create a GPG key (public/private keypair) if you don't have one. If you do, skip this step.
-
-To create a new GPG key, type the following.
-
- $ gpg --gen-key
-
-Choose the key type (RSA), keysize (2048 bits), and expiration date (0: no expiration). When prompted for a user ID, type your name (Dan Nanni) and email address (myemail@email.com) to be associated with the private/public keypair. Finally, type a passphrase to protect your private key.
-
-
-
-Generating a GPG key requires a lot of random bytes for entropy, so make sure to perform some random actions on your system (e.g., type on a keyboard, move a mouse or read/write a disk) during key generation. Depending on keysize, it may take a few minutes or more to generate a GPG key.
-
-
-
-### Step Two: Encrypt Sensitive Mutt Configuration ###
-
-Next, create a new text file in ~/.mutt directory, and put in the file any sensitive Mutt configuration you want to hide. In this example, I specify SMTP/IMAP passwords.
-
- $ mkdir ~/.mutt
- $ vi ~/.mutt/password
-
-----------
-
- set smtp_pass="XXXXXXX"
- set imap_pass="XXXXXXX"
-
-Now encrypt this file with gpg using your public key as follows.
-
- $ gpg -r myemail@email.com -e ~/.mutt/password
-
-This will create ~/.mutt/password.gpg, which is a GPG-encrypted version of the original file.
-
-Go ahead and remove ~/.mutt/password, leaving only the GPG-encrypted version.
-
-### Step Three: Create Full Mutt Configuration ###
-
-Now that you have encrypted sensitive Mutt configuration in a separate file, you can specify the rest of your Mutt configuration in ~/.muttrc. Then add the following line at the end of ~/.muttrc.
-
- source "gpg -d ~/.mutt/password.gpg |"
-
-This line will decrypt ~/.mutt/password.gpg when you launch Mutt, and apply the decrypted content to your Mutt configuration.
-
-The following shows an example of full Mutt configuration which allows you to access Gmail with Mutt, without revealing your SMTP/IMAP passwords. Replace yourgmailaccount with your Gmail ID.
-
- set from = "yourgmailaccount@gmail.com"
- set realname = "Your Name"
- set smtp_url = "smtp://yourgmailaccount@smtp.gmail.com:587/"
- set imap_user = "yourgmailaccount@gmail.com"
- set folder = "imaps://imap.gmail.com:993"
- set spoolfile = "+INBOX"
- set postponed = "+[Google Mail]/Drafts"
- set trash = "+[Google Mail]/Trash"
- set header_cache =~/.mutt/cache/headers
- set message_cachedir =~/.mutt/cache/bodies
- set certificate_file =~/.mutt/certificates
- set move = no
- set imap_keepalive = 900
-
- # encrypted IMAP/SMTP passwords
- source "gpg -d ~/.mutt/password.gpg |"
-
-### Step Four (Optional): Configure GPG-agent ###
-
-At this point, you will be able to use Mutt with encrypted IMAP/SMTP passwords. However, every time you launch Mutt, you will first be prompted to enter a GPG passphrase in order to decrypt IMAP/SMTP passwords using your private key.
-
-
-
-If you want to avoid such GPG passphrase prompts, you can set up gpg-agent. Running as a daemon, gpg-agent securely caches your GPG passphrase, so that gpg automatically obtains your GPG passphrase from gpg-agent without you typing it manually. If you are using Linux desktop, you can use desktop-specific ways to configure something equivalent to gpg-agent, for example, gnome-keyring-daemon for GNOME desktop.
-
-You can install gpg-agent on Debian-based systems with:
-
-$ sudo apt-get install gpg-agent
-
-gpg-agent comes pre-installed on Red Hat based systems.
-
-Now add the following to your .bashrc file.
-
- envfile="$HOME/.gnupg/gpg-agent.env"
- if [[ -e "$envfile" ]] && kill -0 $(grep GPG_AGENT_INFO "$envfile" | cut -d: -f 2) 2>/dev/null; then
- eval "$(cat "$envfile")"
- else
- eval "$(gpg-agent --daemon --allow-preset-passphrase --write-env-file "$envfile")"
- fi
- export GPG_AGENT_INFO
-
-Reload .bashrc, or simply log out and log back in.
-
- $ source ~/.bashrc
-
-Now confirm that GPG_AGENT_INFO environment variable is set properly.
-
- $ echo $GPG_AGENT_INFO
-
-----------
-
- /tmp/gpg-0SKJw8/S.gpg-agent:942:1
-
-Also, when you type gpg-agent command, you should see the following message.
-
- $ gpg-agent
-
-----------
-
- gpg-agent: gpg-agent running and available
-
-Once gpg-agent is up and running, it will cache your GPG passphrase the first time you type it at the passphrase prompt. Subsequently when you launch Mutt multiple times, you won't be prompted for a GPG passphrase (as long as gpg-agent is up and the cache entry does not expire).
-
-
-
-### Conclusion ###
-
-In this tutorial, I presented a way to encrypt sensitive Mutt configuration such as SMTP/IMAP passwords using GnuPG. Note that if you want to use GnuPG within Mutt to encrypt or sign your email message, you can refer to the [official guide][2] on using GPG with Mutt.
-
-If you know of any security tips for using Mutt, feel free to share it.
-
---------------------------------------------------------------------------------
-
-via: http://xmodulo.com/mutt-email-client-encrypted-passwords.html
-
-作者:[Dan Nanni][a]
-译者:[译者ID](https://github.com/译者ID)
-校对:[校对者ID](https://github.com/校对者ID)
-
-本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
-
-[a]:http://xmodulo.com/author/nanni
-[1]:http://xmodulo.com/gmail-command-line-linux-alpine.html
-[2]:http://dev.mutt.org/trac/wiki/MuttGuide/UseGPG
diff --git a/sources/tech/20151202 How to use the Linux ftp command to up- and download files on the shell.md b/sources/tech/20151202 How to use the Linux ftp command to up- and download files on the shell.md
index 54b69555c4..e2ddf0cb2a 100644
--- a/sources/tech/20151202 How to use the Linux ftp command to up- and download files on the shell.md
+++ b/sources/tech/20151202 How to use the Linux ftp command to up- and download files on the shell.md
@@ -1,3 +1,5 @@
+Vic020
+
How to use the Linux ftp command to up- and download files on the shell
================================================================================
In this tutorial, I will explain how to use the Linux ftp command on the shell. I will show you how to connect to an FTP server, up- and download files and create directories. While there are many nice desktops FTP clients available, the FTP command is still useful when you work remotely on a server over an SSH session and e.g. want to fetch a backup file from your FTP storage.
@@ -143,4 +145,4 @@ via: https://www.howtoforge.com/tutorial/how-to-use-ftp-on-the-linux-shell/
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
-本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
\ No newline at end of file
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
diff --git a/sources/tech/20151204 How to Install Laravel PHP Framework on CentOS 7 or Ubuntu 15.04.md b/sources/tech/20151204 How to Install Laravel PHP Framework on CentOS 7 or Ubuntu 15.04.md
new file mode 100644
index 0000000000..10b3b02303
--- /dev/null
+++ b/sources/tech/20151204 How to Install Laravel PHP Framework on CentOS 7 or Ubuntu 15.04.md
@@ -0,0 +1,175 @@
+How to Install Laravel PHP Framework on CentOS 7 / Ubuntu 15.04
+================================================================================
+Hi All, In this article we are going to setup Laravel on CentOS 7 and Ubuntu 15.04. If you are a PHP web developer then you don't need to worry about of all modern PHP frameworks, Laravel is the easiest to get up and running that saves your time and effort and makes web development a joy. Laravel embraces a general development philosophy that sets a high priority on creating maintainable code by following some simple guidelines, you should be able to keep a rapid pace of development and be free to change your code with little fear of breaking existing functionality.
+
+Laravel's PHP framework installation is not a big deal. You can simply follow the step by step guide in this article for your CentOS 7 or Ubuntu 15 server.
+
+### 1) Server Requirements ###
+
+Laravel depends upon a number of prerequisites that must be setup before installing it. Those prerequisites includes some basic tuning parameter of server like your system update, sudo rights and installation of required packages.
+
+Once you are connected to your server make sure to configure the fully qualified domain name then run the commands below to enable EPEL Repo and update your server.
+
+#### CentOS-7 ####
+
+ # yum install epel-release
+
+----------
+
+ # rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
+ # rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
+
+----------
+
+ # yum update
+
+#### Ubuntu ####
+
+ # apt-get install python-software-properties
+ # add-apt-repository ppa:ondrej/php5
+
+----------
+
+ # apt-get update
+
+----------
+
+ # apt-get install -y php5 mcrypt php5-mcrypt php5-gd
+
+### 2) Firewall Setup ###
+
+System Firewall and SELinux setup is an important part regarding the security of your applications in production. You can make firewall off if you are working on test server and keep SELinux to permissive mode using the below command, so that you installing setup won't be affected by it.
+
+ # setenforce 0
+
+### 3) Apache, MariaDB, PHP Setup ###
+
+Laravel installation requires a complete LAMP stack with OpenSSL, PDO, Mbstring and Tokenizer PHP Extensions. If you are already running LAMP server then you can skip this step to move on and just make sure that the required PHP extensions are installed.
+
+To install AMP stack you can use the below commands on your respective server.
+
+#### CentOS ####
+
+ # yum install httpd mariadb-server php56w php56w-mysql php56w-mcrypt php56w-dom php56w-mbstring
+
+To start and enable Apache web and MySQL/Mariadb services at bootup on CentOS 7 , we will use below commands.
+
+ # systemctl start httpd
+ # systemctl enable httpd
+
+----------
+
+ #systemctl start mysqld
+ #systemctl enable mysqld
+
+After starting MariaDB service, we will configure its secured password with below command.
+
+ #mysql_secure_installation
+
+#### Ubuntu ####
+
+ # apt-get install mysql-server apache2 libapache2-mod-php5 php5-mysql
+
+### 4) Install Composer ###
+
+Now we are going to install composer that is one of the most important requirement before starting the Laravel installation that helps in installing Laravel's dependencies.
+
+#### CentOS/Ubuntu ####
+
+Run the below commands to setup 'composer' in CentOS/Ubuntu.
+
+ # curl -sS https://getcomposer.org/installer | php
+ # mv composer.phar /usr/local/bin/composer
+ # chmod +x /usr/local/bin/composer
+
+
+
+### 5) Installing Laravel ###
+
+Laravel's installation package can be downloaded from github using the command below.
+
+# wget https://github.com/laravel/laravel/archive/develop.zip
+
+To extract the archived package and move into the document root directory use below commands.
+
+ # unzip develop.zip
+
+----------
+
+ # mv laravel-develop /var/www/
+
+Now use the following compose command that will install all required dependencies for Laravel within its directory.
+
+ # cd /var/www/laravel-develop/
+ # composer install
+
+
+
+### 6) Key Encryption ###
+
+For encrypter service, we will be generating a 32 digit encryption key using the command below.
+
+ # php artisan key:generate
+
+ Application key [Lf54qK56s3qDh0ywgf9JdRxO2N0oV9qI] set successfully
+
+Now put this key into the 'app.php' file as shown below.
+
+ # vim /var/www/laravel-develop/config/app.php
+
+
+
+### 7) Virtua Host and Ownership ###
+
+After composer installation assign the permissions and apache user ownership to the document root directory as shown.
+
+ # chmod 775 /var/www/laravel-develop/app/storage
+
+----------
+
+ # chown -R apache:apache /var/www/laravel-develop
+
+Open the default configuration file of apache web server using any editor to add the following lines at the end file for new virtual host entry.
+
+ # vim /etc/httpd/conf/httpd.conf
+
+----------
+
+ ServerName laravel-develop
+ DocumentRoot /var/www/laravel/public
+
+ start Directory /var/www/laravel
+ AllowOverride All
+ Directory close
+
+Now the time is to restart apache web server services as shown below and then open your web browser to check your localhost page.
+
+#### CentOS ####
+
+ # systemctl restart httpd
+
+#### Ubuntu ####
+
+ # service apache2 restart
+
+### 8) Laravel 5 Web Access ###
+
+Open your web browser and give your server IP or Fully Qualified Domain name and you will see the default web page of Laravel 5 frame work.
+
+
+
+### Conclusion ###
+
+Laravel Framework is a great tool to develop your web applications. So, at the end of this article you have learned its installation setup on Ubuntu 15 and CentOS 7 , Now start using this awesome PHP framework that provides you a lot of more features and comfort in your development work. Feel free to comment us back for your valuable suggestions an feedback to guide you in more specific and easiest way.
+
+--------------------------------------------------------------------------------
+
+via: http://linoxide.com/linux-how-to/install-laravel-php-centos-7-ubuntu-15-04/
+
+作者:[Kashif][a]
+译者:[译者ID](https://github.com/译者ID)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
+
+[a]:http://linoxide.com/author/kashifs/
\ No newline at end of file
diff --git a/sources/tech/20151204 How to Remove Banned IP from Fail2ban on CentOS 6 or CentOS 7.md b/sources/tech/20151204 How to Remove Banned IP from Fail2ban on CentOS 6 or CentOS 7.md
new file mode 100644
index 0000000000..38d3d89735
--- /dev/null
+++ b/sources/tech/20151204 How to Remove Banned IP from Fail2ban on CentOS 6 or CentOS 7.md
@@ -0,0 +1,60 @@
+How to Remove Banned IP from Fail2ban on CentOS 6 / CentOS 7
+================================================================================
+
+
+[Fail2ban][1] is an intrusion prevention software framework that able to protect your server from brute-force attacks. Fail2ban written in the Python programming language and is widely used by most of the VPS servers. Fail2ban will scan log files and IP blacklists that shows signs of malicious, too many password failures, web server exploitation, WordPress plugin attacks and other vulnerabilities. If you already installed and used fail2ban to protect your web server, you may be wondering how to find the IP banned or blocked by Fail2ban, or you may want to remove banned ip from fail2ban jail on CentOS 6, CentOS 7, RHEL 6, RHEL 7 and Oracle Linux 6/7.
+
+### How to List of Banned IP address ###
+
+To see all the blocked ip addresses, run the following command :
+
+ # iptables -L
+ Chain INPUT (policy ACCEPT)
+ target prot opt source destination
+ f2b-AccessForbidden tcp -- anywhere anywhere tcp dpt:http
+ f2b-WPLogin tcp -- anywhere anywhere tcp dpt:http
+ f2b-ConnLimit tcp -- anywhere anywhere tcp dpt:http
+ f2b-ReqLimit tcp -- anywhere anywhere tcp dpt:http
+ f2b-NoAuthFailures tcp -- anywhere anywhere tcp dpt:http
+ f2b-SSH tcp -- anywhere anywhere tcp dpt:ssh
+ f2b-php-url-open tcp -- anywhere anywhere tcp dpt:http
+ f2b-nginx-http-auth tcp -- anywhere anywhere multiport dports http,https
+ ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
+ ACCEPT icmp -- anywhere anywhere
+ ACCEPT all -- anywhere anywhere
+ ACCEPT tcp -- anywhere anywhere tcp dpt:EtherNet/IP-1
+ ACCEPT tcp -- anywhere anywhere tcp dpt:http
+ REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
+
+ Chain FORWARD (policy ACCEPT)
+ target prot opt source destination
+ REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
+
+ Chain OUTPUT (policy ACCEPT)
+ target prot opt source destination
+
+
+ Chain f2b-NoAuthFailures (1 references)
+ target prot opt source destination
+ REJECT all -- 64.68.50.128 anywhere reject-with icmp-port-unreachable
+ REJECT all -- 104.194.26.205 anywhere reject-with icmp-port-unreachable
+ RETURN all -- anywhere anywhere
+
+### How to Remove Banned IP from Fail2ban jail ###
+
+ # iptables -D f2b-NoAuthFailures -s banned_ip -j REJECT
+
+I hope this article gives you some ideas and quick guide on remove banned IP from Fail2ban jail on on CentOS 6, CentOS 7, RHEL 6, RHEL 7 and Oracle Linux 6/7.
+
+--------------------------------------------------------------------------------
+
+via: http://www.ehowstuff.com/how-to-remove-banned-ip-from-fail2ban-on-centos/
+
+作者:[skytech][a]
+译者:[译者ID](https://github.com/译者ID)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
+
+[a]:http://www.ehowstuff.com/author/skytech/
+[1]:http://www.fail2ban.org/wiki/index.php/Main_Page
diff --git a/sources/tech/20151204 Install and Configure Munin monitoring server in Linux.md b/sources/tech/20151204 Install and Configure Munin monitoring server in Linux.md
new file mode 100644
index 0000000000..314d721e38
--- /dev/null
+++ b/sources/tech/20151204 Install and Configure Munin monitoring server in Linux.md
@@ -0,0 +1,145 @@
+Install and Configure Munin monitoring server in Linux
+================================================================================
+
+
+Munin is an excellent system monitoring tool similar to [RRD tool][1] which will give you ample information about system performance in multiple fronts like **disk, network, process, system and users**. These are some of the default properties Munin monitors.
+
+### How Munin works? ###
+
+Munin works in a client-server model. Munin server process on main server try to collect data from client daemon which is running locally(Munin can monitor it’ss own resources) or from remote client(Munin can monitor hundreds of machines) and displays them in graphs on its web interface.
+
+### Configuring Munin in nutshell ###
+
+This is of two steps as we have to configure both server and client.
+1)Install Munin server package and configure it so that it get data from clients.
+2)Configure Munin client so that server will connect to client daemon for data collocation.
+
+### Install munin server in Linux ###
+
+Munin server installation on Ubuntu/Debian based machines
+
+ apt-get install munin apache2
+
+Munin server installation on Redhat/Centos based machines. Make sure that you [enable EPEL repo][2] before installing Munin on Redhat based machines as by default Redhat based machines do not have Munin in their repos.
+
+ yum install munin httpd
+
+### Configuring Munin server in Linux ###
+
+Below are the steps we have to do in order to bring server up.
+
+1. Add host details which need monitoring in /etc/munin/munin.conf
+1. Configure apache web server to include munin details.
+1. Create User name and password for web interface
+1. Restart apache server
+
+**Step 1**: Add hosts entry in this file in **/etc/munin/munin.conf**. Go to end of the file and a client to monitor. Here in this example, I added my DB server and its IP address to monitor
+
+Example:
+
+ [db.linuxnix.com]
+ address 192.168.1.25
+ use_node_name yes
+
+Save the file and exit.
+
+**Step 2**: Edit/create munin.conf file in /etc/apache2/conf.d folder to include Munin Apache related configs. In another note, by default other Munin web related configs are kept in /var/www/munin folder.
+
+ vi /etc/apache2/conf.d/munin.conf
+
+Content:
+
+ Alias /munin /var/www/munin
+
| Option | +Description | +
| -l | +Show process id's in addition to the normal information. | +
| -p | +Show process id's only. | +
| -n | +Show only processes that have changed status since the last notification are printed. | +
| -r | +Restrict output to running jobs only. | +
| -s | +Restrict output to stopped jobs only. | +
| -x | +COMMAND is run after all job specifications that appear in ARGS have been replaced with the process ID of that job's process group leader./td> | +