标签 Linux 下的文章

通过这个简短的教程,让我来指导你如何安装支持SSL的Apache。以下是我的试验机的详细说明:

系统信息

root@ubuntu-unixmen:~# ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:b8:b4:87
inet addr:10.1.1.110 Bcast:10.1.1.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:feb8:b487/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1738 errors:0 dropped:0 overruns:0 frame:0
TX packets:69 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:168845 (168.8 KB) TX bytes:9767 (9.7 KB)

-

root@ubuntu-unixmen:~# cat /etc/issue
Ubuntu 13.10 \n \l

安装apache

运行如下命令:

$ sudo apt-get install apache2 apache2-doc apache2-utils
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following extra packages will be installed:
apache2-bin apache2-data libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap ssl-cert

apache测试页面

打开浏览器,转到http://你的测试机的IP地址/。你应该会看到类似以下的信息。

创建目录

创建一个名为ssl的目录

$ sudo mkdir /etc/apache2/ssl

创建一个自签名凭证

$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

Generating a 2048 bit RSA private key.......................................................................................+++....................................+++writing new private key to '/etc/apache2/ssl/apache.key'-----You are about to be asked to enter information that will be incorporatedinto your certificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----Country Name (2 letter code) [AU]:

开启Apache SSL模块

运行以下命令开启ssl模块

$ a2enmod ssl
Considering dependency setenvif for ssl:
Module setenvif already enabled
Considering dependency mime for ssl:
Module mime already enabled
Considering dependency socache_shmcb for ssl:
Enabling module socache_shmcb.
Enabling module ssl

编辑 /etc/apache2/sites-enabled/default-ssl.conf 文件,

ServerAdmin webmaster@localhost
ServerName www.unixmen.com:443

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key

启用Apache缺省的SSL虚拟主机:

$ a2ensite default-ssl
Enabling site default-ssl.
To activate the new configuration, you need to run:
service apache2 reload

重启Apache:

$ sudo service apache2 restart

测试SSL连接

打开浏览器,转到https://你的测试机IP

安装完成,尽情享用!

via: http://www.unixmen.com/install-apache-ssl-ubuntu-13-10/

译者:Luoxcat 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出

译者按:

本文作者戴文.科利尔.约翰逊(Devyn Collier Johnson)今年才19岁,但是他在Linux内核、人工智能、编程语言方面拥有丰富的经验,本文是其在linux.org上连载的一系列关于内核的文章。文章写的深入浅出,本站不揣浅陋,由LCTT成员geekpi进行了系列翻译,以分享给广大Linux爱好者。

在1991年,一个叫林纳斯·本纳第克特·托瓦兹的芬兰学生制作了一个现在非常流行的操作系统的内核。他于1991年9月发布了Linux 0.01,并且于1992年以GPL许可证的方式授权了该内核。GNU通用许可证(GPL)允许人们使用、拥有、修改,以及合法和免费的分发源代码。这使得内核变得非常流行,因为任何人都可以免费地下载。现在任何人都可以生成他们自己的内核,这有助于人们学习如何获取、编辑、配置、编译并安装Linux内核。

内核是操作系统的核心。操作系统是一系列的管理硬件并允许用户在电脑上运行应用的程序。内核控制着硬件和应用。应用并不直接和硬件打交道,而是首先和内核交互。总之,软件运行在内核上,而内核操作着硬件。没有内核,电脑就是一个没用的物件。

用户制作他们自己的内核有各种各样的原因。许多用户也许想要一个只包含他们需要的代码的系统内核。比如说我的内核包含了火线设备驱动,但是我的电脑缺乏这些端口。当系统启动时,时间和内存就会浪费在那些我系统上并没有安装的设备上。如果我想要简化我的内核,我会制作自己不包含火线驱动的内核。至于另外一个理由,某个用户可能拥有一台有特殊硬件的设备,但是最新的Ubuntu版本中的内核缺乏所需的驱动。这个用户可以下载最新的内核(比当前Ununtu的Linux内核要新),并制作他们自己的有相应驱动的内核。不管怎样,这两个原因是用户想要制作自己的Linux内核的普遍原因。

在下载内核前,我们应该讨论一些重要的术语和事实。Linux内核是一个宏内核,这意味着整个操作系统都运行在内核预留的内存里。说的更清楚一些,内核是放在内存里的。内核所使用的空间是内核预留的。只有内核可以使用预留的内核空间。内核拥有这些内存空间,直到系统关闭。与内核空间相对应的还是用户空间。用户空间是内存上用户程序拥有的空间。比如浏览器、电子游戏、文字处理器、媒体播放器、壁纸、主题等都是放在内存里的用户空间。当一个程序关闭的时候,任何程序都可以使用新释放的空间。在内核空间,一旦内存被占用,则没有任何其他程序可以使用这块空间。

Linux内核也是一个抢占式多任务内核。这意味该内核可以暂停一些任务来保证任何应用都有机会来使用CPU。举个例子,如果一个应用正在运行但是正在等待一些数据,内核会把这个应用暂停并允许其他的程序使用新释放的CPU资源,直到数据到来。否则的话,系统就会浪费资源给那些正在等待数据或者其他程序执行的的任务。内核将会强制程序去等待或者停止使用CPU。没有内核的允许,应用程序不能脱离暂停或者使用CPU。

Linux内核使得设备作为文件显示在/dev文件夹下。举个例子,USB端口位于/dev/bus/usb。硬盘分区则位于/dev/disk/分区。因为这个特性,许多人说:“在Linux上,一切皆文件”。(不过这些设备文件不能被直接使用,——译者补充)举个例子,如果一个用户想要访问在存储卡上的数据,他们是不能通过设备文件访问到这些数据的。(译注:此处原文是“If a user wanted to access data on their memory card, for example, they cannot access the data through these device files.”,但根据上下文,此处语境不对,所以做了相应补充。据“食梦-”的提示,原文也有人对此提出了质疑,作者做了如下解释:http://www.linux.org/threads/%EF%BB%BFthe-linux-kernel-introduction.4203/#post-12623

Linux内核是可移植的。可移植性是Linux流行的一个最重要的原因。可移植性使得内核可以工作在各种处理器和系统上。一些内核支持的处理器的型号包括:Alpha、AMD、ARM、C6X、Intel、x86、Microblaze、MIPS、PowerPC、SPARC、UltraSPARC等,这还不是全部的列表。

在引导文件夹(/boot),用户会看到诸如“vmlinux”或者“vmlinuz”的文件。这两者都是已编译的Linux内核。以“z”结尾的是已压缩的。“vm”代表虚拟内存。在SPARC处理器的系统上,用户可以看见一个zImage文件。一小部分用户可以发现一个bzImage文件,这也是一个已压缩的Linux内核。无论用户有哪个文件,这些引导文件都是不能更改的,除非用户知道他们正在做什么。否则系统会变成无法引导,也就是说系统启动不了了。

内核源代码就是程序编码。有了源代码,程序员可以修改内核并能观察到内核是如何工作的。

下载内核:

现在我们想更多地了解了内核,就要下载内核源代码了。进入kernel.org并点击那个巨大的下载按钮。下载完成后,解压下载的文件。

对于本文,我使用的源代码是Linux kernel 3.9.4.这个文章系列的所有指导对于所有的内核版本是相同的(或者非常相似的)

via: http://www.linux.org/threads/%EF%BB%BFthe-linux-kernel-introduction.4203/

译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

前段时间,Canonical发布了功能强大、高质量的Ubuntu13.10,为广大用户、开发者和公司提供了快速、灵活、强劲的使用体验。

13.10的发布刚刚过去没多久,近日,Ubuntu社区开发者宣布可靠的塔尔羊(Trusty Tahr)官方开发已经开放,同时开始的还有LTS软件包的开发。

除此以外,Trusty的daily builds版已经出现,可安装的镜像内封装了Ubuntu14.04 LTS新的开发重点。

尽管目前Trusty的daily builds版和Ubuntu13.10没有什么太大区别,但是从项目最开始,Trusty就表现出了格外的开发活性,而且Trusty是一个LTS(长期支持)版本,因此,根据传统,与标准版相比,官方提供的Trusty其实是一个更加稳定的Ubuntu版本。

可靠的塔尔羊(Trusty Tahr)daily builds版的下载地址:http://cdimage.ubuntu.com/daily-live/current/

via: http://iloveubuntu.net/trusty-tahr-daily-builds-available-download

译者:Mr小眼儿 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

本文又是一篇为Ubuntu新用户和新手准备的文章,将会指导你怎样在使用Ubuntu时轻松更改你的计算机名字,许多用户从来不会考虑在Ubuntu更改计算机名字或者主机名,那是他们最不用考虑担心的事情。

许多用户会使用安装Ubuntu过程中创建或设定的名字,但是对于想要知道怎么更改名字的新用户,可以继续接下来的学习。本文不是为Ubuntu专家所准备,是为那些刚刚开始使用Ubuntu的初学者用户。

那么,为什么你又想要更改你的计算机名字?如果除了想要学习怎样操作,你没有一个好的理由,那么就不要学了,反之,如果你有一个好的理由或者想要学习怎样操作,那么请继续。

按下 Ctrl - Alt - T 组合键,打开终端。 当终端打开,输入下列命令,使用gedit编辑hostname文件

sudo gedit /etc/hostname

接下来,无论旧的计算机名字是什么,换一个新的吧。例如,如果你想要你的计算机名字为“RDOMNU”,先删除文件内容,输入 RDOMNU,然后保存文件。

然后,再输入下列命令来打开hosts文件

sudo gedit /etc/hosts

更改第二行箭头标记位置的值,使它与你刚才输入的计算机名字相符,完成后保存文件。

就是这样!重启你的计算机,然后你的机器将会显示新的名字。这就是怎么改变Ubuntu机器的名字。

试一试吧!

via: http://www.liberiangeek.net/2013/10/daily-ubuntu-tips-change-computer-name/

译者:Vic\_\_\_ 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Linux内核是所有Linux系统的核心。如果有任何恶意代码控制或破害了内核的任何一部分,那么系统会严重受损,文件可能被删除或损坏,私人信息可能被盗等等。很明显,保持内核安全涉及到用户的最大利益。值得庆幸的是,由于Linux内核极其安全,Linux是一个非常安全的系统。在用户比例上,Linux病毒比Windows病毒更少,并且Linux用户比Windows用户个人更少感染病毒。(这就是为什么许多公司使用Linux来管理他们的服务器的一个原因。) 然而,我们仍然没有借口去忽视内核的安全。Linux有几个安全特性和程序,但本文只讨论Linux安全模块(LSM)及其它的内核安全特性。

AppArmor(应用盔甲)最初是由Immunix写的安全模块。自从2009年以来,Canonical维护着这些代码(Novell在Immunix之后,Canonical以前管理这些代码)。这个安全模块已经从2.6.36版本进入Linux主分支之中。AppArmor限制了程序的能力。AppArmor使用文件路径来跟踪程序限制。许多Linux管理员称AppArmor是最容易配置的安全模块。然而,而许多Linux用户觉得这个模块与其它的替代品相比很糟糕。

安全增强Linux(SELinux)是AppArmor的替代品,它最初由美国国家安全局开发(NSA)。SELinux自从2.6版本就进入内核主分支中。SELinux是限制修改内核和用户空间的工具。SELinux给可执行文件(主要是守护进程和服务端程序)最小特权去完成它们的任务。SELinux也可以用来控制用户权限。SELinux不像AppArmor那样使用文件路径,而SELinux在追踪权限时使用文件系统去标记可执行文件。因为SElinux本身使用文件系统管理可执行文件,所以SELinux不能像AppArmor那样对整个文件系统提供保护。

注意:守护进程是在后台运行的程序

注意:虽然在内核中有AppArmor、SELinux及其它安全模块,但只能有一个安全模块被激活。

Smack是安全模块的另一种选择。Smack从2.6.25起进入内核主分支。Smack应能比AppArmor更安全,但比SELinux更容易配置。

TOMOYO,是另外一个安全模块,在2.6.30进入内核主分支。TOMOYO可以提供安全防护,但是它的主要用途是分析系统安全缺陷。

AppArmor、SELinux、Smack和TOMYO组成了四个标准Linux安全模块。这些都通过使用强制访问控制(MAC : mandatory access control)工作,这种访问控制是通过限制程序或者用户执行一些任务来实现的。安全模块还有某些形式的列表规定了它们可以做什么不可以做什么。

Yama在Linux内核中一个新安全模块。Yama还没有作为标准的安全模块,但是在将来他会成为第5个标准安全模块。Yama和其他安全模块一样使用相同的机制。

“grsecurity”是一系列Linux内核安全补丁的集合。多数补丁用于处理远程网络连接和缓冲区溢出的安全问题(以后讨论)。grsecurity中有一个叫PaX的有趣组件。PaX补丁允许内存里的代码使用最少的所需权限。例如,存储程序的内存段被标为不可写。想想看,为什么一个可执行的程序需要在内存中是可写的?通过这个补丁,恶意代码就不能修改目前正在执行的程序。缓冲区溢出是一种当程序由于bug或者恶意代码在内存上写入数据,并让它的内存边界超出到其他程序的内存页上的安全事件。当Pax被激活时,它会帮助阻止这些缓冲区溢出,因为程序没有写到其他内存页上的权限了。

Linux入侵检测系统(LIDS)是一个内核安全补丁,提供了强制访问控制(MAC)的特性。这个补丁就像扮演LSM模块的角色。

Systrace是一个减少和控制应用程序访问系统文件和系统调用的工具。系统调用是对内核的服务请求。比如,当一个文本编辑器写入一个文件到硬盘上时,程序将会发送一个系统请求让内核写入文件到硬盘中。

这些是在Linux安全系统中非常重要的组件。这些安全模块和补丁使内核免于受到恶意代码的攻击。没有这些特性,Linux系统将会变成一个不安全的操作系统。

via: http://www.linux.org/threads/the-linux-kernel-security.4223/

译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Ubuntu Touch 13.10是Canonical公司针对手机新推出的一款操作系统,但是相对于桌面而言,它安装到手机并不是那么容易。

Canonical提供了安装Ubuntu Touch 13.10所有必要的工具。这真是个好消息,因为手动安装操作系统可是相当麻烦的。

首先提醒,此操作系统并非任何手机都能使用。因开发原因,Canonical限制其只能使用在Nexus 4设备上(代号金枪鱼和灰鲭鲨) ,而且手机必须已被解锁。

要安装工具,你将需要在终端输入几个简单的命令:

sudo add-apt-repository ppa:phablet-team/tools

sudo apt-get update

sudo apt-get install phablet-tools android-tools-adb android-tools-fastboot

用户还必须确保他们的手机已被设置成开发使用。进入“设置项/关于手机”,点击“软件版本”7次。如果你操作正确,将会收到一条提示消息。

你必须从新菜单——“开发者选项”中启用USB调试,该菜单通过前面的方法已被解锁。在手机上勾选该选项时,会出现一条消息,通知用户正在配对。同意,那么你准备得差不多了。

在开始安装前的最后一步是备份你的Android系统。同样使用adb工具。只要打开终端,输入以下命令:

adb backup -apk -shared -all

如果你要重新安装原来的Android系统,打开一个终端,运行以下命令:

adb restore backup.ab

最后的命令至关重要,你应该使用sudo运行,以确保正确执行该命令。打开一个终端,输入以下命令:

sudo phablet-flash ubuntu-system --no-backup

运行过程中应该没有任何问题,设备将最终引导到Ubuntu Touch。不要停止终端也不要中断此过程。

以上就是你需要遵照的简单步骤,这样,在所支持的设备上运作应该没有任何问题了。

来源于: http://news.softpedia.com/news/How-to-Install-Ubuntu-Touch-13-10-On-Your-Phone-392828.shtml

译者:coolpigs 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出