SK 发布的文章

正如你所知道的,在openSUSE/SUSE系统上,不是所有的服务是激活并且默认允许的。例如,ssh服务是默认不允许通过防火墙的。当然,这是一个安全措施,但是有时我们必须需要ssh服务从远程地点来连接服务器。

这个小教程将会展示如何允许服务,不单是ssh,也包括所有其他的服务,如http,ftp等,通过服务器。我们可以使用YaST命令允许服务通过防火墙,YaST命令是openSUSE和其企业版,默认安装配置工具。

首先,在菜单中打开YaST控制中心。选择Security and Users(安全和用户) -> Firewall(防火墙)

接下来,打开Allowed Services(已允许服务)选项卡;从Service to Allow(选择需要允许的服务)下拉框中选择Secure Shell Service(ssh服务),然后 Add(增加)Next(下一步),最后Finish(完成),搞定。

就是如此简单!ssh服务已经允许通过防火墙,这样你就可以在远程系统连接这个系统了。就像这样,我们可以同样设置其他服务。

鼓掌!!


via: http://www.unixmen.com/quick-tip-allow-services-firewall-opensuse/

作者:SK 译者:VicYu/Vic020 校对:wxy

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

LEMP是一个操作系统和几个开源软件包的合称。缩写LEMP来自 Linux,Nginx(发音是 engine-x)HTTP服务器, MySQL数据库,和 PHP/ Perl/ Python的首字母。

在这篇教程里,让我们看一下如何在 Ubuntu 14.10 上安装 Nginx,MySQL 或 MariaDB,PHP 和 phpMyAdmin。

安装Nginx

Nginx (发音是engine-x)是一个免费的、开源的、高性能HTTP服务器和反向代理,也可以用作IMAP/POP3代理服务器,它是由Igor Sysoev开发。

要安装Nginx,在你的终端里输入下面的命令:

注意:如果你的系统里已经安装了apache2,先卸载掉以避免冲突。要卸载apache,运行下面的命令:

sudo apt-get purge apache2*
sudo apt-get autoremove -y

现在,用下面的命令安装nginx:

sudo apt-get install nginx

用下面的命令启用Nginx服务:

sudo service nginx start

测试 nginx

打开你的浏览器访问http://IP地址/或者http://localhost/。将可以看到类似下面的截图。

配置 Nginx

用任意文本编辑器打开文件/etc/nginx/nginx.conf

sudo nano /etc/nginx/nginx.conf

设置 worker\_processes(例如,你系统里CPU数目)。查看CPU数目,可以使用命令“lscpu”。在我这里是“1”。所以我把这个值设为1。

worker_processes 1;

重启 Nginx 服务:

sudo service nginx restart

默认虚拟主机(服务器模块)定义在文件/etc/nginx/sites-available/default里。

用任意文本编辑器打开文件/etc/nginx/sites-available/default。

sudo nano /etc/nginx/sites-available/default

在Server区域里,按如下设置服务器FQDN或IP地址。确保你增加了index.php这一行。

[...]
server {
      listen 80 default_server;
      listen [::]:80 default_server ipv6only=on;
      root /usr/share/nginx/html;
      index index.php index.html index.htm;
      # Make site accessible from http://localhost/
      server_name server.unixmen.local;
[...]

这里面

  • listen 80; –> 监听ipv4端口
  • listen [::]:80 default\_server ipv6only=on; –> 监听ipv6宽口
  • root /usr/share/nginx/html; –> 文件根目录
  • server\_name server.unixmen.local; –> 服务器FQDN

现在,向下滚动找到区域#location ~ .php$。去掉注释并按如下修改:

 location ~ \.php$ {
         try_files $uri =404;   ---------> Add this line
         fastcgi_split_path_info ^(.+\.php)(/.+)$;
         #       # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
         #
         #       # With php5-cgi alone:
         #       fastcgi_pass 127.0.0.1:9000;
         #       # With php5-fpm:
         fastcgi_pass unix:/var/run/php5-fpm.sock;
         fastcgi_index index.php;
         include fastcgi.conf;
    }

这里面,我增加了额外一行‘try\_files $uri =404;’用于避免0day漏洞。

保存文件并退出。

测试 nginx 配置

使用下面的命令测试nginx配置是否存在语法错误:

sudo nginx -t

典型输出:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

最后重启nginx服务

sudo service nginx restart

安装 MySQL

MySQL是一个关系型数据库管理系统(RDBMS),作为服务启动提供给多用户访问多种数据库,尽管SQLite可能有更多的嵌入式部署。

sudo apt-get install mysql-server mysql-client

在安装过程中,会提示你设置MySQL超级用户密码。输入密码并按确认。

重新输入密码。

现在,MySQL服务器就安装好了。

你可以用下面的命令检查 MySQL 服务器状态:

sudo service mysql status

典型输出:

mysql start/running, process 5671

注意:如果你希望使用MariaDB而不是MySQL,可以参考下面的步骤。

安装 MariaDB

MariaDB是 MySQL 的一个直接替代软件。它是一个稳定、可扩展又可靠的SQL服务器,包含许多增强功能。

首先,如果有的话你得先卸载掉 MySQL。要完全卸载 MySQL 包括配置文件,输入如下命令:

sudo apt-get purge mysql*

运行如下命令清除不需要的软件包。

sudo apt-get autoremove

在卸载完MySQL后,运行如下命令安装MariaDB。

sudo apt-get install mariadb-server mariadb-client

另外,如果你希望体验最新版的MariaDB,可以从MariaDB仓库安装。运行下面的命令添加PPA。在写这篇文章的时候,MariaDB PPA还没有更新 Ubuntu 14.10。不过,我们还是可以使用 Ubuntu 14.04 的仓库来替代。

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
sudo add-apt-repository 'deb http://sgp1.mirrors.digitalocean.com/mariadb/repo/5.5/ubuntu trusty main'

用如下命令更新一下软件源列表,然后安装MariaDB:

sudo apt-get update
sudo apt-get install mariadb-server mariadb-client -y

在安装过程中,会提示你设置数据库‘root’用户密码。

重新输入一次密码:

点击‘是’迁移到 MariaDB。注意一下,如果在安装MariaDB之前没有装过 MySQL 的话,不会提示你这个问题。

你可以用如下命令检查 MariaDB 版本:

sudo mysql -v -u root -p

典型输出:

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 34
Server version: 5.5.39-MariaDB-2 (Ubuntu)

Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others.

Reading history-file /home/sk/.mysql_history
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

用如下命令检查MariaDB是否已经开始运行:

sudo service mysql status

典型输出:

 * /usr/bin/mysqladmin  Ver 9.0 Distrib 5.5.39-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others.

Server version        5.5.39-MariaDB-2
Protocol version    10
Connection        Localhost via UNIX socket
UNIX socket        /var/run/mysqld/mysqld.sock
Uptime:            2 min 21 sec

Threads: 1  Questions: 566  Slow queries: 0  Opens: 330  Flush tables: 4  Open tables: 22  Queries per second avg: 4.014

安装 PHP

PHP(PHP: Hypertext Preprocessor的递归缩写)是一个应用广泛的开源通用脚本语言,特别适合于网页开发,可以直接嵌入到 HTML 中。

使用如下命令安装PHP:

sudo apt-get install php5 php5-fpm php5-mysql

配置PHP

用任意文本编辑器打开php.ini文件:

sudo nano /etc/php5/fpm/php.ini

找到这一行‘cgi.fix\_pathinfo=1′,去掉注释并把值1改为0。

cgi.fix_pathinfo=0

现在重启php-fpm服务。

sudo service php5-fpm restart

测试 PHP

在nginx文档根目录下创建一个测试文件“testphp.php”。

sudo nano /usr/share/nginx/html/testphp.php

加入下面几行。

<?php
 phpinfo();
?>

保存文件并退出。

访问地址http://server-ip-address/testphp.php。将显示出所有关于 php 的信息,比如版本、构建日期以及命令等等。

PHP-FPM会默认监听套接字/var/run/php5-fpm.sock。如果你希望PHP-FPM使用TCP连接,打开文件/etc/php5/fpm/pool.d/www.conf

sudo nano /etc/php5/fpm/pool.d/www.conf

找到这一行listen = /var/run/php5-fpm.sock,

;listen = /var/run/php5-fpm.sock

把它改成listen = 127.0.0.1:9000

listen = 127.0.0.1:9000

保存退出。重启 php5-fpm 服务。

sudo service php5-fpm restart

现在打开 nginx 配置文件:

sudo nano /etc/nginx/sites-available/default

找到这一行fastcgi\_pass unix:/var/run/php5-fpm.sock;,参考下面把它改成 fastcgi\_pass 127.0.0.1:9000;。

location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;fastcgi_pass 127.0.0.1:9000;
        #       # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        #
        #       # With php5-cgi alone:
        fastcgi_pass 127.0.0.1:9000;
        #       # With php5-fpm:
        #        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
   }

保存退出。最后重启 nginx 服务。

sudo service nginx restart

使用 phpMyAdmin 管理 MySQL 数据库(可选)

phpMyAdmin是一个免费的开源网页界面工具,用来管理你的 MySQL 数据库。

安装 phpMyAdmin

在 Debian 官方仓库里就有。所以可以用下面的命令安装:

sudo apt-get install phpmyadmin

选择一个网页服务器。默认情况下,这里不会显示 nginx。所以,选择 apache 或者 lighttpd,然后我们再把 phpMyAdmin 和 nginx 连接起来工作。

选择‘是’通过dbconfig-common为phpMyAdmin配置数据库。

输入数据库的管理员账号密码。

输入 phpmyadmin 帐号的 MySQL 密码:

重新输入一次密码。

phpMyAdmin 就安装完成了。

创建一个 phpMyAdmin 的软连接到网站根目录。这里我们的网站根文档目录是/usr/share/nginx/html/。

sudo ln -s /usr/share/phpmyadmin/ /usr/share/nginx/html

重启 nginx 服务。

sudo service nginx restart

访问 phpMyAdmin 网页控制台

现在你可以在浏览器中通过地址http://server-ip-address/phpmyadmin/访问 phpMyAdmin 的控制台了。

输入你在前面步骤里留下的 MySQL 用户名和密码。在我这里是“root”和“ubuntu”。

就可以重定向到 phpMyAdmin 的网页管理首页。

src="https://img.linux.net.cn/data/attachment/album/201411/15/170711vy3tvt3cvv27bv8v.png" />

现在你就可以在 phpMyAdmin 网页里管理你的 MyQL 数据库了。

就这样。你的 LEMP 服务器已经配置完毕,可以使用了。


via: http://www.unixmen.com/install-lemp-server-nginx-mysql-mariadb-php-phpmyadmin-ubuntu-14-1014-0413-10/

作者:SK 译者:zpl1025 校对:Caroline

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

Betty 是一个将类英语短语翻译成Linux命令的开源工具。这个项目的主要目的是让大家可以通过输入自然语言来使用强大的Linux系统。让我们来看一下它是怎么工作的。

安装

Betty的安装非常简单直接。首先确认你已经安装了下面这些依赖包[LCTT译注,需要安装至少Ruby1.9以上版本]。

对于基于Debian的系统:

sudo apt-get install git curl ruby

对于基于RPM的系统:

yum install git curl ruby

现在用git工具把Betty库clone到你自定义的任何路径。这里我克隆到我的home目录,例如 /home/sk/.

git clone https://github.com/pickhardt/betty

添加betty的别名到你的bashrc配置文件。

sudo nano ~/.bashrc

将下列行添加到文件的末尾:

alias betty="/home/sk/betty/main.rb"

确保你已经正确地设置好了betty的路径。

好了,现在是时候和betty好好地玩耍了。

用法

你应该在英语短语之前加上单词“betty” [LCTT译注,你自然可以用你的小甜心的名字来替换这个不是知道是谁的Betty :>]。你也许已经知道,如果我们想知道在系统中我们的用户名,应该运行下面的命令:

whoami

输出是这样的:

sk

如你所见,我当前登录的用户名是 sk. 现在我也可以通过下面的betty命令获取相同的结果。

betty whats my username

输出是这样的:

Betty: Running whoami
sk

真的好酷,是不是?Betty理解我输入的“whats my username”短语,然后运行“whoami”命令,最后输出结果。

让我们也来看其他命令。

如果你的输入不够准确,Betty也能以多种方式回应你。例如,我们运行下面的命令:

betty whats my name

Betty不确定她应该查找系统用户名还是用户全名。这种情况下,她会询问你多个问题来找到准确的结果。如你下面所见,Betty问我想要运行哪一条命令(whoami 还是 finger $(whoami) | sed 's/.://;q')[LCTT译注,需要你的系统已经安装finger]。我只想知道我的用户名,所以我选择数字1

Betty: Okay, I have multiple ways to respond.
Betty: Enter the number of the command you want me to run, or N (no) if you don't want me to run any.
[1] whoami
Gets your system username.
[2] finger $(whoami) | sed 's/.*: *//;q'
Gets your full name.
1
Betty: Running whoami
sk

压缩和解压缩文件夹

如果你想要压缩一个文件或者文件夹,用下面的命令。例如,我想压缩我home目录下的“test”文件夹。

betty compress test/ test.tar.gz

输出是这样的:

Betty: Running tar -czvf test.tar.gz test/
test/
test/home/
test/home/sk/
test/home/sk/test/
test/home/sk/test/sample

类似的,我们可以用下面的命令来解压缩一个归档文件。

betty uncompress test.tar.gz

输出是这样的:

Betty: Running mkdir test &&  tar -zxvf test.tar.gz -C test
test/
test/home/
test/home/sk/
test/home/sk/test/
test/home/sk/test/sample

完整的Betty命令行列表

Betty工具有一些命令格式。如果你输入“what is my user name”而不是“whats my username”,它是不能识别的。所以,你只能输入Betty支持的英语短语。

下面给出一个Betty支持的完整的命令行列表。

Count:
betty how many words are in this directory
betty how many characters are in myfile.py
betty count lines in this folder
(Note that there's many ways to say more or less the same thing.)

Config:
betty change your name to Joe
betty speak to me
betty stop speaking to me

Datetime:
betty what time is it
betty what is todays date
betty what month is it
betty whats today

Find:
betty find me all files that contain california

Internet:
betty download http://www.mysite.com/something.tar.gz to something.tar.gz
betty uncompress something.tar.gz
betty unarchive something.tar.gz to somedir
(You can use unzip, unarchive, untar, uncompress, and expand interchangeably.)
betty compress /path/to/dir

iTunes:
betty mute itunes
betty unmute itunes
betty pause the music
betty resume itunes
betty stop my music
betty next song
betty prev track
betty what song is playing
(Note that the words song, track, music, etc. are interchangeable)

Fun:
betty go crazy
betty whats the meaning of life
...and more that are left for you to discover!

Map:
betty show me a map of mountain view

Meta:
betty what version are you (or just betty version)
betty whats your github again

Permissions:
betty give me permission to this directory
betty give anotheruser ownership of myfile.txt

Process:
betty show me all processes by root containing grep
betty show me all my processes containing netbio

Sizes:
betty show size for myfile.txt

Spotify:
betty play spotify
betty pause spotify
betty next spotify
betty previous spotify

User:
betty whats my username
betty whats my real name
betty whats my ip address
betty who else is logged in
betty whats my version of ruby

Web queries:
betty turn web on
betty please tell me what is the weather like in London

对Linux初级使用者来说,Betty似乎是一个非常nice的工具。希望这个工具对你也会非常有用。

Cheers!

源代码:


via: http://www.unixmen.com/betty-translate-english-phrases-linux-commands/

译者:love\_daisy\_love 校对:wxy

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