mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-25 23:11:02 +08:00
清除过期文章
This commit is contained in:
parent
8c6523556d
commit
6c6dfb31b4
@ -1,71 +0,0 @@
|
||||
[Translating by SteveArcher]
|
||||
Are Open Source Developers Too Demanding?
|
||||
================================================================================
|
||||
**Open source invites participation, including criticism. But do developers sometimes take it too far?**
|
||||
|
||||
![](http://readwrite.com/files/opencola_wikipedia.jpg)
|
||||
|
||||
Developers can be a fickle bunch. Gifted with mountains of free, open-source code of ever-improving quality, some developers can’t help but complain that there’s not more, and even more free, software. But the problem often isn't the code itself, but poorly calibrated expectations and scanty training.
|
||||
|
||||
### What? Me Pay? ###
|
||||
|
||||
One sometimes unrealistic expectation is that software should be free. All of it.
|
||||
|
||||
So, for example, we have [one young developer berating nginx][1] for building “admittedly amazing software” but then having the audacity to charge for it.
|
||||
|
||||
No, really. Those nginx people are trying to make money by writing software that people want. Can you believe the gall?
|
||||
|
||||
Actually, his problem is more nuanced than this. Despite electing not to use Apache httpd, the Hip Young Startup blog author complains that nginx "took a feature that Apache httpd has had literally forever and put it behind a pay wall." It's unclear why he doesn't just use Apache to solve his problem, given that he also says "the performance difference between nginx and httpd in this scenario is negligible."
|
||||
|
||||
Or maybe he could fix nginx himself, given that, by his own admission, it's "trivial" to make the changes himself to get around nginx's attempts to sustain product development by charging for some features. The problem, as he acknowledges, is that he "shouldn’t have to do any of this [crap]."
|
||||
|
||||
In other words, the world (or nginx) owes this developer a living. Who knew?
|
||||
|
||||
Let's be clear: one of the ways open source succeeds is by dramatically lowering the bar to adoption. Charging money, even a negligible fee, can hinder that adoption. But getting uppity about the primary developer of an open-source project charging money for value? As programmer Brendan Loudermilk ([@bloudermilk][2]) [tells][3] the Hip Young Startup blogger, "You could always pay for and support the software that serves as a core dependency of your app."
|
||||
|
||||
Imagine that.
|
||||
|
||||
### Documentation? Of Course I Didn’t Read The Documentation! ###
|
||||
|
||||
Then there are the countless others who take to Hacker News to complain about software they often don’t understand, quite often because they haven’t bothered to read the documentation. I completely get that great software should be approachable, and great products, generally, should be somewhat self-explanatory.
|
||||
|
||||
But much of the best open-source software can be complex to run, at least, at scale. If the software isn't working for someone, it's not obvious that the software is the problem. Vlad Mihalcea, founder of the Struts open-source framework, nails this, [arguing][4] that “if there is someone to blame, it’s usually us” as much of the available open-source software tends to be high-quality code.
|
||||
|
||||
What it isn’t, he goes on to argue, is a free lunch in terms of a learning curve. Any software, whether open source or proprietary, requires some investment in learning how to be productive with it. As he notes of Hibernate and other open-source technologies, “If you want to employ them [successfully], be prepared to learn a lot. There is no other way.”
|
||||
|
||||
This won’t resonate with the hacker crowd whose first instinct is to complain when software doesn’t work the way they want, even if it wasn’t designed to do what they want it to do. But it’s true, all the same.
|
||||
|
||||
### Healthcare.gov Vs. Gov.UK ###
|
||||
|
||||
Just look at the Healthcare.gov debacle for proof. Recently NoSQL database vendor MarkLogic has been [taking bullets][5] over its alleged role in Healthcare.gov’s many technical problems. [Some have gone so far as to argue][6] that NoSQL databases, in general, are faulty because of the Healthcare.gov debacle.
|
||||
|
||||
This is stupid.
|
||||
|
||||
MarkLogic is a fine database. While not perfect, it’s silly to blame Healthcare.gov’s problems on this legacy database. Code isn’t the primary problem.
|
||||
|
||||
As [I’ve argued][7], Healthcare.gov’s problems aren’t really about code, but instead about process. For proof, look no further than Healthcare.gov’s British peer, Gov.UK, [which credits NoSQL technologies][8] as a significant reasons for its success.
|
||||
|
||||
The difference isn’t in the code the two websites used, but rather their respective approaches: Gov.UK is iterative, agile. Healthcare.gov is top-down, waterfall.
|
||||
|
||||
### A Poor Craftsman Blames Her Tools ###
|
||||
|
||||
Open source invites criticism by laying bare its strengths and weaknesses in a way proprietary software never did. Developers today have a level of accessibility to the code they use that previous generations of developers lacked, with a megaphone (the Internet) that allows them to broadcast complaints about that code.
|
||||
|
||||
But let’s not lose sight of just how blessed we are to have this code, or forget our obligation to apply it appropriately in order to be successful. In other words, read the documentation before you complain that open-source software doesn’t “work.” More often than not, it works just fine, but not for the ill-conceived purpose you have in mind.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://readwrite.com/2013/11/26/are-open-source-developers-too-demanding#awesm=~ooy2qPfuR2PvIx
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://readwrite.com/2013/11/26/%E2%80%9Chttp://www.hipyoungstartup.com/2013/11/we-should-ditch-nginx/%E2%80%9C
|
||||
[2]:https://twitter.com/bloudermilk
|
||||
[3]:http://www.hipyoungstartup.com/2013/11/we-should-ditch-nginx/#comment-17
|
||||
[4]:http://readwrite.com/2013/11/26/%E2%80%9Chttp://java.dzone.com/articles/why-i-never-blame-open-source%E2%80%9D
|
||||
[5]:http://gigaom.com/2013/11/25/how-the-use-of-a-nosql-database-played-a-role-in-the-healthcare-gov-snafu/
|
||||
[6]:http://developers.slashdot.org/story/13/11/24/1437203/nyt-healthcaregov-project-chaos-due-partly-to-unorthodox-database-choice
|
||||
[7]:http://readwrite.com/2013/11/04/sorry-open-source-isnt-the-panacea-for-healthcaregov#awesm=~oojDQ8fiVXrjGP
|
||||
[8]:http://digital.cabinetoffice.gov.uk/colophon-beta/
|
@ -1,141 +0,0 @@
|
||||
How to setup Remi repository on CentOS 5/6 and Fedora 18/19/20
|
||||
================================================================================
|
||||
Remi repository
|
||||
|
||||
The [Remi (Les RPM de Remi) repository][1] provides the latest version of various software packages related to php and mysql for redhat based linux distros like centos, fedora and RHEL. It provides php, mysql, pecl packages, pear packages any many other open source/free php applications and libraries and many other php related packages. So its designed to assist in setting up apache+php based web servers with various kinds of open source applications. The default centos/fedora distros do no have the latest versions of these packages so repositories like Remi do the job.
|
||||
|
||||
The repository can be easily setup on CentOS/Fedora through the installer rpm which will setup the repository configuration.
|
||||
|
||||
### Setup on CentOS 5.x/6.x ###
|
||||
|
||||
The Remi installer rpm file is available for both 5.x and 6.x versions of CentOS. The urls are as follows
|
||||
|
||||
CentOS 5.x - [http://rpms.famillecollet.com/enterprise/remi-release-5.rpm][2]
|
||||
CentOS 6.x - [http://rpms.famillecollet.com/enterprise/remi-release-6.rpm][3]
|
||||
|
||||
On CentOS The Remi repository depends on the Epel repository which must be installed along with it, for it to work. If you already have epel repository setup then execute the following command
|
||||
|
||||
$ wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
|
||||
$ rpm -Uvh remi-release-6*.rpm
|
||||
|
||||
If you do not already have Epel setup then run the following command. It will download the Epel installer file and install it along with Remi
|
||||
|
||||
$ wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
|
||||
$ wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
|
||||
$ rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
|
||||
|
||||
For CentOS 5.x
|
||||
|
||||
$ wget http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
|
||||
$ wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
|
||||
$ rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm
|
||||
|
||||
Thats it. Now the remi repository should be setup on your CentOS system.
|
||||
|
||||
### Setup on Fedora 18/19 ###
|
||||
|
||||
On Fedora, Remi depends on the [Rpmfusion][4] repository. So first setup the rpmfusion repository.
|
||||
|
||||
## Remi Dependency on Fedora 19 / 18 / 17 ##
|
||||
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
|
||||
rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
|
||||
|
||||
The rpm file and configuration instructions for rpmfusion can be found here.
|
||||
|
||||
After rpmfusion is setup, move ahead to setting up Remi.
|
||||
|
||||
$ wget http://rpms.famillecollet.com/remi-release-19.rpm
|
||||
$ yum install remi-release-19.rpm
|
||||
|
||||
Or directly
|
||||
|
||||
## Fedora 20 ##
|
||||
rpm -Uvh http://rpms.famillecollet.com/remi-release-20.rpm
|
||||
|
||||
## Fedora 19 ##
|
||||
rpm -Uvh http://rpms.famillecollet.com/remi-release-19.rpm
|
||||
|
||||
## Fedora 18 ##
|
||||
rpm -Uvh http://rpms.famillecollet.com/remi-release-18.rpm
|
||||
|
||||
## Fedora 17 ##
|
||||
rpm -Uvh http://rpms.famillecollet.com/remi-release-17.rpm
|
||||
|
||||
Make sure to use the correct url for your Fedora version. That should finish setting up the Remi repository on Fedora.
|
||||
|
||||
### Verify Remi ###
|
||||
|
||||
After setting up the Remi repository, its time to check if its properly done. The Remi repository is disabled by default. If you want to enable it permanently then edit the file /etc/yum.repos.d/remi.repo
|
||||
|
||||
$ sudo nano /etc/yum.repos.d/remi.repo
|
||||
|
||||
> [remi]
|
||||
> name=Les RPM de remi pour Enterprise Linux 6 - $basearch
|
||||
> #baseurl=http://rpms.famillecollet.com/enterprise/6/remi/$basearch/
|
||||
> mirrorlist=http://rpms.famillecollet.com/enterprise/6/remi/mirror
|
||||
> enabled=0
|
||||
> gpgcheck=1
|
||||
> gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
|
||||
|
||||
The very first section that starts with [remi] is the main repository. Change the value of enabled from 0 to 1 to enable it.
|
||||
|
||||
Otherwise it can be enabled via yum when needed using the enablerepo option.
|
||||
|
||||
# yum repolist --enablerepo=remi
|
||||
Loaded plugins: fastestmirror
|
||||
Loading mirror speeds from cached hostfile
|
||||
* base: virror.hanoilug.org
|
||||
* epel: mirror.unej.ac.id
|
||||
* extras: mirrors.fibo.vn
|
||||
* remi: mirror.smartmedia.net.id
|
||||
* updates: mirrors.fibo.vn
|
||||
repo id repo name status
|
||||
base CentOS-6 - Base 6,381
|
||||
epel Extra Packages for Enterprise Linux 6 - x86_64 10,031
|
||||
extras CentOS-6 - Extras 13
|
||||
nginx nginx repo 47
|
||||
remi Les RPM de remi pour Enterprise Linux 6 - x86_64 1,320
|
||||
updates CentOS-6 - Updates 1,555
|
||||
repolist: 19,347
|
||||
#
|
||||
|
||||
Using the enablerepo option is sufficient when needed. As can be seen, the remi repository provides around 1320 packages. There are 2 more repos, namely remi-php55 and remi-test that provide even more packages.
|
||||
|
||||
### List all packages ###
|
||||
|
||||
To list out all the packages provided by the Remi repo, use the following command.
|
||||
|
||||
# yum --disablerepo=* --enablerepo=remi,remi-php55,remi-test list available | less
|
||||
|
||||
### Install packages from Remi repository ###
|
||||
|
||||
To install packages from Remi repo, use the enablerepo option again
|
||||
|
||||
# yum --enablerepo=remi,remi-php55 install php
|
||||
|
||||
### Resources ###
|
||||
|
||||
Remi repository official site
|
||||
[http://rpms.famillecollet.com/][5]
|
||||
|
||||
Remi FAQ
|
||||
[http://blog.famillecollet.com/pages/English-FAQ][6]
|
||||
|
||||
Remi repository configuration instructions
|
||||
[http://blog.famillecollet.com/pages/Config-en][7]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.binarytides.com/setup-remi-repository-centos-fedora/
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://rpms.famillecollet.com/
|
||||
[2]:http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
|
||||
[3]:http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
|
||||
[4]:http://rpmfusion.org/
|
||||
[5]:http://rpms.famillecollet.com/
|
||||
[6]:http://blog.famillecollet.com/pages/English-FAQ
|
||||
[7]:http://blog.famillecollet.com/pages/Config-en
|
@ -1,33 +0,0 @@
|
||||
Linux Top 3: Shuttleworth Leaves Upstart, Arch Assaults Security and Android x86 4.4
|
||||
================================================================================
|
||||
#### 1) Shuttleworth on Upstart ####
|
||||
|
||||
Finding the successor to init has been an interesting debate in recent years, but it is now clear who the winner is and it's not Upstart. Last week, Debian voted in favor of systemd and now Ubuntu has followed suit.
|
||||
|
||||
> "I know the many people who work on Upstart appreciated the high praise for its code quality, rigorous testing and clarity of purpose expressed even by members who voted against it; from my perspective, it has been a pleasure to support the efforts of people who want to create truly great free software, and do it properly," Mark Shuttleworth wrote in a [blog post][1]. " Upstart has served Ubuntu extremely well – it gave us a great competitive advantage at a time when things became very dynamic in the kernel, it’s been very stable (it is after all the init used in both Ubuntu and RHEL 6 ;) and has set a high standard for Canonical-lead software quality of which I am proud."
|
||||
|
||||
#### 2) Arch Assault ####
|
||||
|
||||
A new Arch based security distribution is now surfacing, for penetration testers.
|
||||
|
||||
> "The ArchAssault Project is an Arch Linux derivative for penetration testers, security professionals and all-around Linux enthusiasts," the main [project page states][2]."We aim to give you everything you love about Arch Linux but designed around the needs and wants of security professionals."
|
||||
|
||||
Arch Assault isn't just for x86 either, there is also support for ARMv6h and ARMv7h.
|
||||
|
||||
#### 3) Android x86 4.4 ####
|
||||
|
||||
While desktop type distros like Arch continue to make inroads into ARM, Android, which is essentially an ARM Linux distro is going the other way.
|
||||
|
||||
> "The 4.4-RC1 release is based on the Android 4.4.2 (KitKat-MR1 release)," the project page [states][3]. "We have fixed and added x86 specified code to let the system runs smoothly on x86 platforms, especially for netbooks or tablets. "
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.linuxplanet.com/news/linux-top-3-shuttleworth-leaves-upstart-arch-assaults-security-and-android-x86-4-4.html
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.markshuttleworth.com/archives/1316
|
||||
[2]:https://archassault.org/
|
||||
[3]:http://www.android-x86.org/releases/releasenote-4-4-rc1
|
@ -1,73 +0,0 @@
|
||||
[翻译中]zsJacky
|
||||
|
||||
Linux pwd command - Know Your Current Working Directory
|
||||
================================================================================
|
||||
Where you are inside a deep directory, sometimes you may want to know where exactly you are. With this pwd command, you can do it.
|
||||
|
||||
### What is pwd ###
|
||||
|
||||
Pwd is a command to print name of current / working directory. When we are “lost” into a deep directory, we can always reveal where we are.
|
||||
|
||||
### How to use it ###
|
||||
|
||||
Since pwd command is intended to only print name of current / working directory, pwd does not have a lot of parameter to add. To use it, you just can type :
|
||||
|
||||
$ pwd
|
||||
|
||||
And it will print where you are. For a shell like bash, sometimes this information already print after host-name. Take a look at below picture.
|
||||
|
||||
![Pwd in bash](http://linoxide.com/wp-content/uploads/2014/01/pwd_bash.png)
|
||||
|
||||
As you can see above, the **/lib/udev/rules.d** is printed a hostname. When we type pwd, it will print **/lib/udev/rules.d** again. But when you are using another shell such as **csh**, pwd may help you to tell where are you. Here’s a sample of it.
|
||||
|
||||
% pwd
|
||||
|
||||
![Pwd in csh shell](http://linoxide.com/wp-content/uploads/2014/01/pwd_csh.png)
|
||||
|
||||
### Print physical directory avoid all symlinks ###
|
||||
|
||||
When you are in directory which is a symbolic links to another directory, you will find that pwd will print the alias / symbolic links to it. To print the real directory name, we can use **-P** parameter.
|
||||
|
||||
$ pwd -P
|
||||
|
||||
![Physical pwd](http://linoxide.com/wp-content/uploads/2014/01/pwd_P1.png)
|
||||
|
||||
![Physicall pwd](http://linoxide.com/wp-content/uploads/2014/01/pwd_P2.png)
|
||||
|
||||
![Physical pwd](http://linoxide.com/wp-content/uploads/2014/01/pwd_P3.png)
|
||||
|
||||
At the screenshot above, we are change the directory to **PlayOnLinux’s virtual drives**. This directory is located in **/home/pungki** and its a symbolic link to wineprefix directory. When we do pwd command, the shell return **/home/pungki/PlayOnLinux’s virtual drives**. But if we add **-P** parameter, the we will know that the real directory is **/home/pungki/.PlayOnLinux’s/wineprefix**
|
||||
|
||||
### Reveal which pwd ###
|
||||
|
||||
On bash shell, pwd may already built-in inside it. To know it, we can use this command :
|
||||
|
||||
$ type -a pwd
|
||||
|
||||
![pwd type](http://linoxide.com/wp-content/uploads/2014/01/pwd_type.png)
|
||||
|
||||
You see that there are **two** pwd’s. When you use pwd, you may use the built-in pwd command on your shell. This pwd will override the original pwd. Here’s a sample.
|
||||
|
||||
![Symlink pwd](http://linoxide.com/wp-content/uploads/2014/01/pwd_L.png)
|
||||
|
||||
On the screenshot above, we are now inside **/home/pungki./PlayOnLinux/wineprefix**. When we use **/bin/pwd**, it will return the real name of current directory. But when we add **-L** parameter, it will return a symbolic link name of current directory.
|
||||
|
||||
This **-L** parameter output the same result if we just type pwd, which use built-in shell pwd.
|
||||
|
||||
### Print pwd version ###
|
||||
|
||||
To print pwd version, we can use **--version** parameter. But for bash shell, we need to use **/bin/pwd** instead of pwd. Otherwise, it will return an error message.
|
||||
|
||||
![pwd version](http://linoxide.com/wp-content/uploads/2014/01/pwd_version.png)
|
||||
|
||||
### Conclusion ###
|
||||
|
||||
pwd may help you to know where your current directory when your bash don’t print it directly on command prompt. As usual, you can always type **man pwd** to explore pwd usage more detail.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://linoxide.com/linux-command/linux-pwd-command/
|
||||
|
||||
译者:[zsJacky](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
@ -1,209 +0,0 @@
|
||||
没人领我就继续做吧
|
||||
Setup Apache 2.4 and Php FPM with mod proxy fcgi on Ubuntu 13.10
|
||||
================================================================================
|
||||
### mod_proxy_fcgi ###
|
||||
|
||||
The module mod_proxy_fcgi is a new one and it allows apache to connect to/forward requests to an external fastcgi process manager like php fpm. This allows for a complete separation between the running of php scripts and Apache. Earlier we had to use modules like mod_fcgid and mod_fastcgi which all had some limitations. Mod_fcgid for example did not properly utilise the process management capability of php-cgi whereas mod_fastcgi is a third party module.
|
||||
|
||||
With the arrival of mod_proxy_fcgi Apache finally gets the ability to neatly talk to external fastcgi process managers making it more efficient at the task. Delegating php requests to external fpm servers greatly reduces the load on web servers like apache resulting into efficient utilisation of machine resources and faster processing speed for users on the other end. Along with all that, php fpm can run opcode caching engines like apc in a very stable manner.
|
||||
|
||||
So in this post, our task is to setup apache + php-fpm using the mod_proxy_fcgi connector.
|
||||
|
||||
### 1. Setup Apache ###
|
||||
|
||||
Ubuntu 13.10 already ships with apache 2.4 so all installables are in the repository itself.
|
||||
|
||||
Install Apache if not already done
|
||||
|
||||
$ sudo apt-get install apache2
|
||||
|
||||
Enable mod_proxy_fcgi
|
||||
|
||||
$ sudo a2enmod proxy_fcgi
|
||||
Considering dependency proxy for proxy_fcgi:
|
||||
Enabling module proxy.
|
||||
Enabling module proxy_fcgi.
|
||||
To activate the new configuration, you need to run:
|
||||
service apache2 restart
|
||||
|
||||
Restart Apache
|
||||
|
||||
$ sudo service apache2 restart
|
||||
|
||||
### Configure virtual host ###
|
||||
|
||||
Next task is to configure a vhost to use mod fcgi proxy to communicate with fpm. The vhost configuration files are stored in the following location
|
||||
|
||||
/etc/apache2/sites-available
|
||||
|
||||
Get inside there any create your new vhost configuration file by copying the 000-default.conf file which comes with apache.
|
||||
|
||||
$ cd /etc/apache2/sites-available
|
||||
$ sudo cp 000-default.conf mysite.conf
|
||||
$ sudo nano mysite.conf
|
||||
|
||||
Now its time to configure the virtualhost. Here is how I configured the file
|
||||
|
||||
> <VirtualHost *:80>
|
||||
> # The ServerName directive sets the request scheme, hostname and port that
|
||||
> # the server uses to identify itself. This is used when creating
|
||||
> # redirection URLs. In the context of virtual hosts, the ServerName
|
||||
> # specifies what hostname must appear in the request's Host: header to
|
||||
> # match this virtual host. For the default virtual host (this file) this
|
||||
> # value is not decisive as it is used as a last resort host regardless.
|
||||
> # However, you must set it for any further virtual host explicitly.
|
||||
>
|
||||
> ServerName fpm.localhost
|
||||
>
|
||||
> ServerAdmin webmaster@localhost
|
||||
> DocumentRoot /var/www/mysite
|
||||
>
|
||||
> # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
|
||||
> # error, crit, alert, emerg.
|
||||
> # It is also possible to configure the loglevel for particular
|
||||
> # modules, e.g.
|
||||
> #LogLevel info ssl:warn
|
||||
>
|
||||
> ErrorLog ${APACHE_LOG_DIR}/error.log
|
||||
> CustomLog ${APACHE_LOG_DIR}/access.log combined
|
||||
>
|
||||
> # For most configuration files from conf-available/, which are
|
||||
> # enabled or disabled at a global level, it is possible to
|
||||
> # include a line for only one particular virtual host. For example the
|
||||
> # following line enables the CGI configuration for this host only
|
||||
> # after it has been globally disabled with "a2disconf".
|
||||
> #Include conf-available/serve-cgi-bin.conf
|
||||
>
|
||||
> ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/mysite/$1
|
||||
>
|
||||
> <Directory "/var/www/mysite">
|
||||
> Order allow,deny
|
||||
> Allow from all
|
||||
> AllowOverride FileInfo All
|
||||
> # New directive needed in Apache 2.4.3:
|
||||
> Require all granted
|
||||
> </Directory>
|
||||
>
|
||||
> </VirtualHost>
|
||||
|
||||
The important things to note are :
|
||||
|
||||
1. **ServerName** - This is the domain or the subdomain of your vhost. In this example I used fpm.localhost so that when using that sub domain on localhost, php fpm is used. Its just an example.
|
||||
|
||||
2. **DocumentRoot** - This is the root of this vhost from where the web files shall be served.
|
||||
|
||||
3. **ProxyPassMatch** - This is the directive that tells forward all requests for ".php" files to fcgi server at 127.0.0.1:9000. This is where our php fpm process manager would be running. More on this in the next section.
|
||||
The fcgi url must contain the exact path to the document root. Otherwise it would say "File Not Found" when requesting for files.
|
||||
|
||||
> ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/mysite/$1
|
||||
|
||||
The first parameter is the pattern to match. So all urls that have a ".php" in them followed by an option slash and anything else are matched and the matched part is forwarded to the fcgi server running at 127.0.0.1:9000.
|
||||
|
||||
4. **Require all granted** - After the ProxyPassMatch line we added a section with Require and AllowOverride directives. It is necessary as of Apache 2.4
|
||||
|
||||
Save the file and enable it using the a2ensite command which saves the effort to create the symlink in sites-enabled directory.
|
||||
|
||||
$ sudo a2ensite mysite
|
||||
Enabling site mysite.
|
||||
To activate the new configuration, you need to run:
|
||||
service apache2 reload
|
||||
|
||||
Now reload apache configuration
|
||||
|
||||
$ sudo service apache2 reload
|
||||
* Reloading web server apache2
|
||||
|
||||
That completes the apache configuration. The other half of the task is to configure php fpm so that it can finally work.
|
||||
|
||||
### 2. Setup Php-FPM ###
|
||||
|
||||
Next thing is to setup php fpm. Install it via synaptic, if not already done so.
|
||||
|
||||
$ sudo apt-get install php5-fpm
|
||||
|
||||
The configuration files for fpm are located at
|
||||
|
||||
> /etc/php5/fpm
|
||||
|
||||
/etc/php5/fpm$ ls
|
||||
conf.d php-fpm.conf php.ini pool.d
|
||||
|
||||
The pool.d directory contains the configuration file for each fpm pool and php-fpm.conf is the main configuration file. Our only work is to configure a fpm pool that is to be used with apache or the specific virtual host.
|
||||
|
||||
The configuration file for a pool is quite large and there are many parameters that can be configured. But in this post we shall be talking about only the important fields that need be set to get fpm up and running
|
||||
|
||||
> ; Start a new pool named 'www'.
|
||||
> ; the variable $pool can we used in any directive and will be replaced by the
|
||||
> ; pool name ('www' here)
|
||||
> [www]
|
||||
>
|
||||
> ; Per pool prefix
|
||||
> ; It only applies on the following directives:
|
||||
> ; - 'slowlog'
|
||||
> ; - 'listen' (unixsocket)
|
||||
> ; - 'chroot'
|
||||
> ; - 'chdir'
|
||||
> ; - 'php_values'
|
||||
> ; - 'php_admin_values'
|
||||
> ; When not set, the global prefix (or /usr) applies instead.
|
||||
> ; Note: This directive can also be relative to the global prefix.
|
||||
> ; Default Value: none
|
||||
> ;prefix = /path/to/pools/$pool
|
||||
>
|
||||
> ; Unix user/group of processes
|
||||
> ; Note: The user is mandatory. If the group is not set, the default user's group
|
||||
> ; will be used.
|
||||
> user = enlightened
|
||||
> group = enlightened
|
||||
>
|
||||
> ; The address on which to accept FastCGI requests.
|
||||
> ; Valid syntaxes are:
|
||||
> ; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific address on
|
||||
> ; a specific port;
|
||||
> ; 'port' - to listen on a TCP socket to all addresses on a
|
||||
> ; specific port;
|
||||
> ; '/path/to/unix/socket' - to listen on a unix socket.
|
||||
> ; Note: This value is mandatory.
|
||||
> listen = 127.0.0.1:9000
|
||||
>
|
||||
> ; Set listen(2) backlog.
|
||||
> ; Default Value: 128 (-1 on FreeBSD and OpenBSD)
|
||||
> ;listen.backlog = 128
|
||||
|
||||
Create a new configuration file by copying the www.conf file. And edit the fields as explained next.
|
||||
|
||||
1. The first options is the name of the pool. We named it 'www' over here. Name it to anything you like or after the domain name it is going to be used with. 'yoursite' for example. That way it would be easier to remember.
|
||||
|
||||
2. Setup the user and group that this pool will run with. When you are setting up multiple sites/domains/virtualhosts on a server, you would always want to setup separate user accounts and corresponding pool for each of those. This is an essential security measure, so that every pool has privileges of its own user only.
|
||||
|
||||
3. Setup the listening socket. This is the socket on which the master fpm process shall listen for incoming requests. This can be a unix socket or a tcp socket. However [mod_proxy_fcgi does not yet support unix sockets][1], so we are limited to tcp sockets.
|
||||
Over here its port number 9000 on localhost.
|
||||
|
||||
Now restart fpm
|
||||
|
||||
$ sudo service php5-fpm restart
|
||||
|
||||
Now the new fpm pool should take effect. You can see the new pool process in htop for example.
|
||||
|
||||
### 3. Test the setup ###
|
||||
|
||||
Now that both apache and php fpm are configured and setup, its time to test. Get inside the document root directory and create a php file containing a call to phpinfo() function and open it in your browser.
|
||||
The "Server API" should be reported as "FPM/FastCGI".
|
||||
|
||||
Now that apache and php are setup, you may want to install other things like APC, mariadb database, phpmyadmin etc. Move around this site to find how-to guides on those.
|
||||
|
||||
### Resources ###
|
||||
|
||||
Check out the following links to learn more
|
||||
[https://wiki.apache.org/httpd/PHP-FPM][2]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.binarytides.com/setup-apache-php-fpm-mod-proxy-fcgi-ubuntu/
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://issues.apache.org/bugzilla/show_bug.cgi?id=54101
|
||||
[2]:https://wiki.apache.org/httpd/PHP-FPM
|
@ -1,43 +0,0 @@
|
||||
Ubuntu Wallpaper Contest Offers Artists Chance to Feature on Millions of Desktops
|
||||
================================================================================
|
||||
**Ubuntu is giving amateur and professional artists alike the chance to have their work seen by millions of people across the world.**
|
||||
|
||||
![](http://www.omgubuntu.co.uk/wp-content/uploads/2014/02/ggg-350x200.png)
|
||||
|
||||
The Ubuntu 14.04 wallpaper contest [has opened for entries][1], and invites anyone with an interest in photography or digital design to imprint their passion into pixel form and take part.
|
||||
|
||||
A selection of the best submissions will be selected to ship as part of the stock Ubuntu 14.04 LTS desktop, due for release in April.
|
||||
|
||||
Ubuntu’s wallpaper competition has become a traditional fixture of the development cycle having run twice a year since 2009 and the release of Ubuntu 9.10 Karmic Koala.
|
||||
|
||||
### No Theme ###
|
||||
|
||||
Despite [earlier discussions][2] hinting at a thematic arc, the 14.04 contest **does not feature an over-arching theme** or brief to which submissions should adhere — which is good news for fans of diverse and varied backgrounds.
|
||||
|
||||
That’s not to say it’s a free for all. Those taking part should keep to the set of sensible guidelines listed on the Ubuntu Wallpaper Contest Wiki page.
|
||||
|
||||
Entries should be added to the [Ubuntu 14.04 Wallpaper pool on photo-sharing site Flickr][3] and are limited to one submission per person.
|
||||
|
||||
Submissions must be licensed under [Creative Commons ShareAlike 3.0][4], with all attribution declared if elements are remixing or riffing off of other work.
|
||||
|
||||
Other than that the usual straightforward guidelines apply:
|
||||
|
||||
- Keep it simple: avoid busy designs, too many shapes or clashing colours
|
||||
- Use a single point of focus to draw the eye in
|
||||
- Design around the Unity interface elements
|
||||
- Ensure you’re designing at a minimum resolution of 2560 x 1600
|
||||
|
||||
Deadline for all submissions is **March 5, 2014 at 18:00 GMT**. Winning entries will be selected by a panel comprising of the previous releases’ chosen artists, with their final choices revealed on March 11, 2014, ahead of the Trusty Tahr UI freeze.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2014/02/ubuntu-14-04-lts-wallpaper-contest
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://hungfu.wordpress.com/2014/02/10/ubuntu-14-04-needs-a-splash-of-colour-and-you-can-help/
|
||||
[2]:http://www.omgubuntu.co.uk/2014/02/ubuntu-14-04-wallpaper-contest-changes
|
||||
[3]:http://www.flickr.com/groups/2535978@N21
|
||||
[4]:http://creativecommons.org/licenses/by-sa/3.0/
|
@ -1,33 +0,0 @@
|
||||
Finally: Ubuntu 14.04 Will Include ‘Minimise On Click’ Option for Unity Launcher
|
||||
================================================================================
|
||||
**Well this is unexpected: [after years][1] of refusing to budge on the issue, Canonical will, finally, offer up an option for ‘minimise on click’ behaviour on the Unity Launcher.**
|
||||
|
||||
![](http://www.omgubuntu.co.uk/wp-content/uploads/2012/05/screen-shot-2012-05-05-at-22.08.46.jpg)
|
||||
|
||||
The long-sought feature allows app windows to be minimised by clicking its respective icon in the Unity Launcher, and restore it on subsequent click. Despite the demand for such an option, Canonical had previously rejected several community patches that would’ve added it sooner.
|
||||
|
||||
Its arrival is the latest in a string of out standing user experience issues to be patched up ahead of the Ubuntu 14.04 LTS release, joining a newly unified lockscreen, support for locally-integrated menus and the reintroduction of borderless app windows.
|
||||
|
||||
### Coming, But In What Form? ###
|
||||
|
||||
[Confirming the news][2] on the bug report requesting the feature, Ubuntu developer Chris Townsend gave further details on what to expect:
|
||||
|
||||
> We are going to put in as an unsupported option to allow clicking the Launcher icon of single windowed apps and minimize that window. By unsupported, I mean that functionality is “as-is” and no more tweaks or enhancements to it.
|
||||
|
||||
It’s currently unclear how or where the option will surface in the main UI (or if it ever will) it is unlikely to be put anywhere where Joe User can accidentally activate it.The current code points to it being available through the Unity plugin pane of the Compiz Config Settings Manager.
|
||||
|
||||
The feature will also only work on applications when they have a single window open. Clicking on an app icon with more than once window open will continue to open the App Spread, the standard Unity behaviour.
|
||||
|
||||
Good news? It certainly will be to a large chunk of you. [In a poll we ran last month][3] almost 58% of you said you thought minimize on click should be added to Unity.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2014/03/minimize-click-launcher-option-ubuntu-14-04
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:https://bugs.launchpad.net/ayatana-design/+bug/733349
|
||||
[2]:https://bugs.launchpad.net/ayatana-design/+bug/733349/comments/403
|
||||
[3]:http://www.omgubuntu.co.uk/2014/02/poll-unity-bring-back-minimize-click-feature
|
@ -1,43 +0,0 @@
|
||||
Mir Display Server May Not Arrive on Desktops As Default Until 2016
|
||||
================================================================================
|
||||
**Ubuntu’s next generation display server Mir, developed by Canonical as a flexible alternative to Wayland and XServer, could be facing another delay on its way to the desktop. **
|
||||
|
||||
![](http://www.omgubuntu.co.uk/wp-content/uploads/2013/06/mir2.jpg)
|
||||
|
||||
The technology was initially positioned as a candidate for shipping by default on the desktop later this year but, [in a video address][1] to developers, Mark Shuttleworth has now intimated that Mir may not find its way on to the Ubuntu desktop until the release of Ubuntu 16.04 LTS — in 2016.
|
||||
|
||||
Responding to a question asking when users could expect to find it available on PCs, Shuttleworth replied:
|
||||
|
||||
> “I expect Mir to be the display server [to be default] as soon as it’s rock solid and we have a story we’re really proud of on it. You can run it on your desktop [now], but we don’t want to let a love of technology interfere with our mission to be great for the user. This is a great place for us to set the bar very high in terms of performance…where we have freedom to get it right, without having to worry too much about compatibility.
|
||||
>
|
||||
> By 16.04 it’ll be the default display server…That’s the kind of timeline we’re looking at.”
|
||||
|
||||
### Mir Oh Mir ###
|
||||
|
||||
It’s not immediately clear what impact, if any, such a delay would mean for Unity 8, scheduled to arrive on desktops this October.
|
||||
|
||||
Similarly, it’s also not clear from his words whether the ‘by 16.04′ references a pure Mir experience or something akin to the Mir + Xmir hybrid proposed for Ubuntu 13.10. Either way a slip in timeframe is a hazard of any development process. Display servers are not easy technologies to build, particularly when designing one to span all manner of screen sizes and form factors.
|
||||
|
||||
This delay, if as assured as some news outlets are reporting it as being, won’t be the first to scupper Canonical’s plans. Ubuntu [originally intended to land a Mir Hybrid in Ubuntu 13.10][2], but technical flaws prevented that from happened. Its inclusion in the upcoming release of 14.04 LTS [was also ruled][3] out early on.
|
||||
|
||||
### Mir As It Is ###
|
||||
|
||||
As disappointing as the above may read Mir is continuing to evolve at breakneck pace. In fact, while it won’t be default, it will be possible to install a Mir session in Ubuntu 14.04 LTS, bundled with an in-progress version of the Unity 8 desktop. It’s also rocking out as the default on Ubuntu Touch for both phones and tablets.
|
||||
|
||||
But on the desktop it looks like things may take a little longer. Unlike on phones and tablets, where Ubuntu is able to make use of Android device drivers [via Hybris][4], there are currently no proprietary AMD, Intel or Nvidia desktop graphics drivers supporting Mir. Upstream support in open-source drivers remain patchy at best, with Canonical [being forced][5] to carry patches to enable functionality.
|
||||
|
||||
**The more time Canonical has to refine, iterate and improve on the technology in its desktop form, the better the end user experience of it will be.**
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2014/03/mir-default-display-server-ubuntu-2016
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://www.youtube.com/watch?v=dWTVe5Mdv0Y&feature=share&t=29m19s
|
||||
[2]:http://www.omgubuntu.co.uk/2013/10/xmir-longer-default-supported-cards-13-10
|
||||
[3]:http://www.omgubuntu.co.uk/2013/11/expect-ubuntu-14-04-lts
|
||||
[4]:http://en.wikipedia.org/wiki/Hybris_(software)
|
||||
[5]:http://www.omgubuntu.co.uk/2013/09/intel-remove-xmir-support-in-xorg-video-driver
|
@ -1,44 +0,0 @@
|
||||
Puzzle Game ’2048′ Packaged Up For Ubuntu
|
||||
================================================================================
|
||||
Hold on, I’ll be with you in 2 secs. Make that 4. Maybe 8. What? It’s been 16 minutes? Crikey!
|
||||
|
||||
![Easy To Play, Hard to Put Down](http://www.omgubuntu.co.uk/wp-content/uploads/2014/03/Screen-Shot-2014-03-30-at-16.02.24.png)
|
||||
|
||||
[2048][1] mania [has swept the world][2] (though by the time you read this it may have dissipated, such is the fickle nature of viral gaming in a post-Flappy Bird landscape).
|
||||
|
||||
The game, inspired by an equally popular game called ‘threes’, is simple in aim: you move tiles around a grid, combining those with matching numbers to create a new tile with a larger number, and so on until you reach the 2048 tile.
|
||||
|
||||
Moving tiles is done using keyboard **arrow keys**. When two squares with the same number touch they merge into a one tile or a larger number (2 + 2 = 4, 4 + 4 = 8, and so on).
|
||||
|
||||
Note that the goal is to reach the 2048 tile, not score. So many <del>Facebook status brags</del> seem to miss that distinction.
|
||||
|
||||
As games go 2048 certainly falls in the ‘pick up and pass time’ category, being both addictively simple and fiendishly annoying. Prepare to lose hours to it.
|
||||
|
||||
*“Just one more go…”*
|
||||
|
||||
### Install 2048 on Ubuntu ###
|
||||
|
||||
The game can be played freely on any device with internet access and a modern browser by visiting the website ([link][3]). There is also [a gazillion mobile clones][4] available to grab from the Google Play, Apple App, and Windows Phone Stores.
|
||||
|
||||
But if you want to have it available to launch locally in Ubuntu with offline play support, you’re in luck. The (very awesome) folks over at Lffl [have packaged][5] the open-source puzzler, which is distributed via GitHub, as a .deb installer for Debian-based distros.
|
||||
|
||||
Once installed, you can launch the game from the Unity Dash (or other DE menu alternative). While it continues to open in a browser (minor annoyance) installing it locally does preserve your high score between sessions — which is pretty handy should you like to best yourself.
|
||||
|
||||
The .deb installer can be downloaded below and will work on Ubuntu 12.04 or later.
|
||||
|
||||
- [Download 2048 for Ubuntu][6]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://www.omgubuntu.co.uk/2014/03/install-2048-on-ubuntu-download
|
||||
|
||||
译者:[译者ID](https://github.com/译者ID) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
[1]:http://gabrielecirulli.github.io/2048/
|
||||
[2]:http://www.latimes.com/business/technology/la-fi-tn-2048-hit-game-creator-gabriele-cirulli-20140327,0,3285397.story#axzz2xGiZCbkl
|
||||
[3]:http://gabrielecirulli.github.io/2048/
|
||||
[4]:http://www.usatoday.com/story/tech/columnist/talkingtech/2014/03/28/talking-tech-2048/6951781/
|
||||
[5]:http://www.lffl.org/2014/03/giocare-2048-su-linux-window-e-mac.html
|
||||
[6]:http://sourceforge.net/projects/linuxfreedomfor/files/ubuntu/2048_1_all.deb/download
|
Loading…
Reference in New Issue
Block a user