标签 CentOS 7 下的文章

跳过 LAMP 的介绍,因为我认为你们大多数已经知道了。这个教程会集中在如何在升级到 Apache 2.4 的 Red Hat Enterprise Linux 7.0 和 CentOS 7.0 中安装和配置 LAMP:Linux、Apache、 MariaDB、 PHP/PhpMyAdmin。

Install LAMP in CentOS 7

在 RHEL/CentOS 7.0 中安装 LAMP

前置要求

根据使用的发行版是 RHEL 还是 CentOS 7.0,按照下面的链接来进行最小化的系统安装,网络使用静态 IP。

对于 RHEL 7.0

对于 CentOS 7.0

第一步:使用基本配置安装apache

1、在完成最小化系统安装,并在 RHEL/CentOS 7.0 上配置静态 IP 后,就可以使用下面的命令从官方仓库安装最新的 Apache 2.4 httpd 服务了。

# yum install httpd

Install Apache in CentOS 7

安装 apache 服务

2、安装完成后,使用下面的命令来管理apache守护进程,因为 RHEL 和 CentOS 7.0 都将 init 脚本从 SysV 升级到了systemd,所以同时你还可以使用 SysV 脚本和 Apache 脚本来管理服务。

# systemctl status|start|stop|restart|reload httpd
或者 
# service httpd status|start|stop|restart|reload
或者 
# apachectl configtest| graceful

Start Apache in CentOS 7

启动apache服务

3、在使用 systemd 初始化脚本来启动 apache 服务后,要用 firewall-cmd 打开 RHEL/CentOS 7.0 防火墙规则, 这是通过 firewalld 守护进程管理 iptables 的默认命令。**

# firewall-cmd --add-service=http

注意:上面的命令会在系统重启或者 firewalld 服务重启后失效,因为它是即时的规则,它不会永久生效。要使 iptables 规则在 fiewalld 中持久化,使用 --permanent 选项并重启 firewalld 服务来生效。(LCTT 译注:也可以不重启 firewalld 服务,而是再执行一遍不带 --permanent 选项的命令。)

# firewall-cmd --permanent --add-service=http
# systemctl restart firewalld

Enable Firewall in CentOS 7

在 CentOS 7 中启用防火墙

下面是 firewalld 其他的重要选项:

# firewall-cmd --state
# firewall-cmd --list-all
# firewall-cmd --list-interfaces
# firewall-cmd --get-service
# firewall-cmd --query-service service_name
# firewall-cmd --add-port=8080/tcp

4、要验证 apache 的功能,打开一个远程浏览器并使用 http 协议访问你服务器的 IP 地址(http://server\_IP), 应该会显示下图中的默认页面。

Apache Default Page

Apache 默认页

5、现在 apache 的根地址在 /var/www/html,该目录中没有提供任何索引文件。如果你想要看见根目录下的文件夹列表,打开 apache 欢迎配置文件并设置 <LocationMach>Indexes 前的状态从-+,下面的截图就是一个例子。

# nano /etc/httpd/conf.d/welcome.conf

Apache Directory Listing

Apache 目录列出

6、关闭文件,重启 apache 服务来使设置生效,重载页面来看最终效果。

# systemctl restart httpd

Apache Index File

Apache 索引文件

第二步:为 Apache 安装 php5 支持

7、在为 apache 安装 php 支持之前,使用下面的命令的得到所有可用的php模块和扩展。

# yum search php

Install PHP in CentOS 7

在 CentOS 7 上安装 PHP*

8、根据你所要使用的应用类型,安装上述列表中所需的 PHP 模块。对于 PHP 中的基本的 MariaDB 支持和 PhpMyAdmin,你需要安装如下模块。

# yum install php php-mysql php-pdo php-gd php-mbstring

Install PHP Modules in CentOS 7

安装 PHP 模块

Install PHP mbstring Module

安装 PHP mbstring 模块

9、 要在你的浏览器上显示 PHP 的全部信息,用 root 账号执行如下命令在 Apache 的文档根目录下创建一个 info.php 文件,然后重启 httpd 服务,并在你的浏览器里面访问 http://server\_IP/info.php 。

# echo "<?php phpinfo(); ?>" > /var/www/html/info.php
# systemctl restart httpd

Check PHP Info in CentOS 7

查看 CentOS 7 上的 PHP 信息

10、如果你得到一个 PHP 的日期和时区错误,打开配置文件 php.ini,取消 date.timezone 语句的注释,加上你的实际时区参数,然后重启 Apache 守护进程。

# nano /etc/php.ini

找到并如下修改date.timezone,参考 PHP 支持的时区列表。(LCTT 译注:对于中国,可以使用 Asia/Shanghai、Asia/Chongqing 等,但是不建议使用向后兼容而保留的 PRC。)

date.timezone = Continent/City

Set Timezone in PHP

设置 PHP 的时区

第三步:安装和配置 MariaDB 数据库

11、 Red Hat Enterprise Linux/CentOS 7.0 使用 MariaDB 替换 MySQL 为默认数据库管理系统。使用如下命令安装 MariaDB 数据库。

# yum install mariadb-server mariadb

Install MariaDB in CentOS 7

在 CentOS 7中安装 MariaDB

12、安装 MariaDB 后,启动数据库守护进程并使用 mysqlsecureinstallation 脚本来保护数据库(设置数据库的 root 密码、禁止远程 root 登录、移除测试数据库、移除匿名用户等)。

# systemctl start mariadb
# mysql_secure_installation

Start MariaDB Database

启动 MariaDB 数据库

Secure MySQL Installation

MariaDB 安全设置

13、要测试数据库功能,使用 root 账户登录 MariaDB 并用 quit 退出。

mysql -u root -p
MariaDB > SHOW VARIABLES;
MariaDB > quit

Connect MySQL Database in CentOS

连接 MariaDB 数据库

第四步:安装 PhpMyAdmin

14、 RHEL 7.0 或者 CentOS 7.0 仓库默认没有提供 PhpMyAdmin 二进制安装包。如果你不适应使用 MySQL 命令行来管理你的数据库,你可以通过下面的命令启用 CentOS 7.0 rpmforge 仓库来安装 PhpMyAdmin。

# yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

启用 rpmforge 仓库后,下面安装 PhpMyAdmin。

# yum install phpmyadmin

Enable RPMForge in CentOS 7

启用 RPMForge 仓库

15、下面配置 PhpMyAdmin 的 phpmyadmin.conf 来允许远程连接,它位于 Apache 的 conf.d 目录下,并注释掉下面的行。

# nano /etc/httpd/conf.d/phpmyadmin.conf

使用#来注释掉下列行。

# Order Deny,Allow
# Deny from all
# Allow from 127.0.0.1

Allow Remote PhpMyAdmin Access

允许远程 PhpMyAdmin 访问

16、 要使用 cookie 验证来登录 PhpMyAdmin,像下面的截图那样使用生成的秘密字符串来添加一个 blowfish 字符串到 config.inc.php 文件中,重启 apache 服务并打开 URL:http://server\_IP/phpmyadmin/。

# nano /etc/httpd/conf.d/phpmyadmin.conf
# systemctl restart httpd

Add Blowfish in PhpMyAdmin

在 PhpMyAdmin 中添加 Blowfish

PhpMyAdmin Dashboard

PhpMyAdmin 面板

第五步:在系统范围内启用 LAMP

17、 如果你需要在重启后自动运行 MariaDB 和 Apache 服务,你需要在系统级地启用它们。

# systemctl enable mariadb
# systemctl enable httpd

Enable Services System Wide

系统级启用服务

这就是在 Red Hat Enterprise 7.0 或者 CentOS 7.0 中安装 LAMP 的过程。在 CentOS/RHEL 7.0 上关于 LAMP 的系列文章接下来将会讨论在 Apache 中创建虚拟主机,生成 SSL 证书、密钥和添加 SSL 事务支持。


via: http://www.tecmint.com/install-lamp-in-centos-7/

作者:Matei Cezar 译者:geekpi 校对:wxy

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

30. 用密码保护 GRUB

用密码保护你的 boot 引导程序这样你就可以在启动时获得额外的安全保障。同时你也可以在实物层面获得保护。通过在引导时给 GRUB 加锁防止任何无授权访问来保护你的服务器。

首先备份两个文件,这样如果有任何错误出现,你可以有回滚的选择。备份 ‘/etc/grub2/grub.cfg’ 为 ‘/etc/grub2/grub.cfg.old’。

# cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.old

同样,备份 ‘/etc/grub.d/10\_linux’ 为 ‘/etc/grub.d/10\_linux.old’。

# cp /etc/grub.d/10_linux /etc/grub.d/10_linux.old

打开文件 ‘/etc/grub.d/10\_linux’ 并在文件末尾添加下列行。

cat <<EOF
set superusers="tecmint"
Password tecmint avi@123
EOF

密码保护 Grub

密码保护 Grub

注意在上面的文件中,用你自己的用户名和密码代替 “tecmint” 和 “avi@123”。

现在通过运行下面的命令生成新的 grub.cfg 文件。

# grub2-mkconfig --output=/boot/grub2/grub.cfg

生成 Grub 文件

生成 Grub 文件

创建 grub.cfg 文件之后,重启机器并敲击 ‘e’ 进入编辑。你会发现它会要求你输入 “有效验证” 来编辑 boot 菜单。

有密码保护的 Boot 菜单

有密码保护的 Boot 菜单

输入登录验证之后,你就可以编辑 grub boot 菜单。

Grub 菜单文件

Grub 菜单文件

你也可以用加密的密码代替上一步的明文密码。首先按照下面推荐的生成加密密码。

# grub2-mkpasswd-pbkdf2

[两次输入密码]

生成加密的 Grub 密码

生成加密的 Grub 密码

打开 ‘/etc/grub.d/10\_linux’ 文件并在文件末尾添加下列行。

cat <<EOF
set superusers=”tecmint”
Password_pbkdf2 tecmint
grub.pbkdf2.sha512...你的加密密码...
EOF

加密 Grub 密码

加密 Grub 密码

用你系统上生成的密码代替原来的密码,别忘了交叉检查密码。

同样注意在这种情况下你也需要像上面那样生成 grub.cfg。重启并敲击 ‘e’ 进入编辑,会提示你输入用户名和密码。

我们已经介绍了大部分工业标准发行版 RHEL 7 和 CentOS 7 安装后必要的操作。如果你发现我们缺少了一些点或者你有新的东西可以扩充这篇文章,你可以和我们一起分享,我们会通过扩充在这篇文章中包括你的分享。


via: http://www.tecmint.com/things-to-do-after-minimal-rhel-centos-7-installation/6/

作者:vishek Kumar 译者:ictlyh 校对:wxy

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

25. 安装 Linux Malware Detect (LMD)

Linux Malware Detect (LMD) 是 GNU GPLv2 协议下发布的开源 Linux 恶意程序扫描器,它是特别为面临威胁的主机环境所设计的。LMD 完整的安装、配置以及使用方法可以查看:

26. 用 Speedtest-cli 测试服务器带宽

speedtest-cli 是用 python 写的用于测试网络下载和上传带宽的工具。关于 speedtest-cli 工具的完整安装和使用请阅读我们的文章用命令行查看 Linux 服务器带宽

27. 配置 Cron 任务

这是最广泛使用的软件工具之一。它是一个任务调度器,比如,现在安排一个以后可以自动运行的作业。它用于未处理记录的日志和维护,以及其它日常工作,比如常规备份。所有的调度都写在文件 /etc/crontab 中。

crontab 文件包含下面的 6 个域:

    分          时                日期                      月份                  星期                  命令
(0-59)           (0-23)       (1-31)                (1/jan-12/dec)       (0-6/sun-sat)          Command/script

Crontab 域

Crontab 域

要在每天 04:30 运行一个 cron 任务(比如运行 /home/$USER/script.sh)。

分             时         日期              月份      星期                  命令
30              4             *              *       *            speedtest-cli

就把下面的条目增加到 crontab 文件 ‘/etc/crontab/’。

30  4  *  *  *  /home/$user/script.sh

把上面一行增加到 crontab 之后,它会在每天的 04:30 am 自动运行,输出取决于脚本文件的内容。另外脚本也可以用命令代替。关于更多 cron 任务的例子,可以阅读Linux 上的 11 个 Cron 任务例子

28. 安装 Owncloud

Owncloud 是一个基于 HTTP 的数据同步、文件共享和远程文件存储应用。更多关于安装 owncloud 的内容,你可以阅读这篇文章:在 Linux 上创建个人/私有云存储

29. 启用 Virtualbox 虚拟化

虚拟化是创建虚拟操作系统、硬件和网络的过程,是当今最热门的技术之一。我们会详细地讨论如何安装和配置虚拟化。

我们的最小化 CentOS 服务器是一个无用户界面服务器(LCTT 译注:无用户界面[headless]服务器指没有监视器和鼠标键盘等外设的服务器)。我们通过安装下面的软件包,让它可以托管虚拟机,虚拟机可通过 HTTP 访问。

# yum groupinstall 'Development Tools' SDL kernel-devel kernel-headers dkms

安装开发工具

安装开发工具

更改工作目录到 ‘/etc/yum.repos.d/’ 并下载 VirtualBox 库。

# wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc

安装刚下载的密钥。

# rpm --import oracle_vbox.asc

升级并安装 VirtualBox。

# yum update && yum install virtualbox-4.3

下一步,下载和安装 VirtualBox 扩展包。

# wget http://download.virtualbox.org/virtualbox/4.3.12/Oracle_VM_VirtualBox_Extension_Pack-4.3.12-93733.vbox-extpack
# VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.3.12-93733.vbox-extpack

安装 VirtualBox 扩展包

安装 VirtualBox 扩展包

正在安装 VirtualBox 扩展包

正在安装 VirtualBox 扩展包

添加用户 ‘vbox’ 用于管理 VirtualBox 并把它添加到组 vboxusers 中。

# adduser vbox
# passwd vobx
# usermod -G vboxusers vbox

安装 HTTPD 服务器。

# yum install httpd

安装 PHP (支持 soap 扩展)。

# yum install php php-devel php-common php-soap php-gd

下载 phpVirtualBox(一个 PHP 写的开源的 VirtualBox 用户界面)。

# wget http://sourceforge.net/projects/phpvirtualbox/files/phpvirtualbox-4.3-1.zip

解压 zip 文件并把解压后的文件夹复制到 HTTP 工作目录。

# unzip phpvirtualbox-4.*.zip
# cp phpvirtualbox-4.3-1 -R /var/www/html

下一步,重命名文件 /var/www/html/phpvirtualbox/config.php-example 为 var/www/html/phpvirtualbox/config.php。

# mv config.php.example config.php

打开配置文件并添加我们上一步创建的 ‘username ’ 和 ‘password’。

# vi config.php

最后,重启 VirtualBox 和 HTTP 服务器。

# service vbox-service restart
# service httpd restart

转发端口并从一个有用户界面的服务器上访问它。

http://192.168.0.15/phpvirtualbox-4.3-1/

登录 PHP Virtualbox

登录 PHP Virtualbox

PHP Virtualbox 面板

PHP Virtualbox 面板


via: http://www.tecmint.com/things-to-do-after-minimal-rhel-centos-7-installation/5/

作者:Avishek Kumar 译者:ictlyh 校对:wxy

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

17. 安装 Webmin

Webmin 是基于 Web 的 Linux 配置工具。它像一个中央系统,用于配置各种系统设置,比如用户、磁盘分配、服务以及 HTTP 服务器、Apache、MySQL 等的配置。

# wget http://prdownloads.sourceforge.net/webadmin/webmin-1.740-1.noarch.rpm
# rpm -ivh webmin-*.rpm

在 CentOS 7 上安装 Webmin

安装 Webmin

安装完 webmin 后,你会在终端上得到一个消息,提示你用 root 密码在端口 10000 登录你的主机 (http://ip-address:10000)。 如果运行的是无用户界面服务器你可以转发端口然后从有用户界面的机器上访问它。(LCTT 译注:无用户界面[headless]服务器指没有监视器和鼠标键盘等外设的服务器,在此次场景,你可以用其他有显示器和键盘鼠标的机器上访问它。)

18. 启用第三方库

添加不受信任的库并不是一个好主意,尤其是在生产环境中,这可能导致致命的问题。但仅作为例子在这里我们会添加一些社区证实可信任的库,以安装第三方工具和软件包。

为企业版 Linux(EPEL)库添加额外的软件包。

# yum install epel-release

添加社区企业版 Linux (Community Enterprise Linux)库:

# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

安装 Epel 库

安装 Epel 库

注意! 添加第三方库的时候尤其需要注意。

19. 安装 7-zip 工具

在最小化安装 CentOS 时你并没有获得类似 unzip 或者 untar 的工具。我们可以选择根据需要来安装每个工具,或一个能处理所有格式的工具。7-zip 就是一个能压缩和解压所有已知类型文件的工具。

# yum install p7zip

安装 7zip 工具

安装 7zip 工具

注意: 该软件包从 Fedora EPEL 7 的库中下载和安装。

20. 安装 NTFS-3G 驱动

NTFS-3G,一个很小但非常有用的 NTFS 驱动,在大部分类 UNIX 发行版上都可用。它对于挂载和访问 Windows NTFS 文件系统很有用。尽管也有其它可用的替代品,比如 Tuxera,但 NTFS-3G 是使用最广泛的。

# yum install ntfs-3g

在 CentOS 上安装 NTFS-3G

安装 NTFS-3G 用于挂载 Windows 分区

ntfs-3g 安装完成之后,你可以使用以下命令挂载 Windows NTFS 分区(我的 Windows 分区是 /dev/sda5)。

# mount -ro ntfs-3g /dev/sda5 /mnt
# cd /mnt
# ls -l

21. 安装 Vsftpd FTP 服务器

VSFTPD 表示 Very Secure File Transfer Protocol Daemon,是用于类 UNIX 系统的 FTP 服务器。它是现今最高效和安全的 FTP 服务器之一。

# yum install vsftpd

在 CentOS 7 上安装 Vsftpd

安装 Vsftpd FTP

编辑配置文件 ‘/etc/vsftpd/vsftpd.conf’ 用于保护 vsftpd。

# vi /etc/vsftpd/vsftpd.conf

编辑一些值并使其它行保留原样,除非你知道自己在做什么。

anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES

你也可以更改端口号,记得让 vsftpd 端口通过防火墙。

# firewall-cmd --add-port=21/tcp
# firewall-cmd --reload

下一步重启 vsftpd 并启用开机自动启动。

# systemctl restart vsftpd
# systemctl enable vsftpd

22. 安装和配置 sudo

sudo 通常被称为 super do 或者 suitable user do,是一个类 UNIX 操作系统中用其它用户的安全权限执行程序的软件。让我们来看看怎样配置 sudo。

# visudo

这会打开 /etc/sudoers 并进行编辑

sudoers 文件

sudoers 文件

  1. 给一个已经创建好的用户(比如 tecmint)赋予所有权限(等同于 root)。
tecmint   ALL=(ALL)    ALL
  1. 如果给一个已经创建好的用户(比如 tecmint)赋予除了重启和关闭服务器以外的所有权限(等同于 root)。

首先,再一次打开文件并编辑如下内容:

cmnd_Alias nopermit = /sbin/shutdown, /sbin/reboot

然后,用逻辑操作符(!)添加该别名。

tecmint   ALL=(ALL)    ALL,!nopermit
  1. 如果准许一个组(比如 debian)运行一些 root 权限命令,比如(增加或删除用户)。
cmnd_Alias permit = /usr/sbin/useradd, /usr/sbin/userdel

然后,给组 debian 增加权限。

debian ALL=(ALL) permit

23. 安装并启用 SELinux

SELinux 表示 Security-Enhanced Linux,是内核级别的安全模块。

# yum install selinux-policy

在 CentOS 7 上安装 SElinux

安装 SElinux 策略

查看 SELinux 当前模式。

# getenforce

查看 SELinux 模式

查看 SELinux 模式

输出是 Enforcing,意味着 SELinux 策略已经生效。

如果需要调试,可以临时设置 selinux 模式为允许。不需要重启。

# setenforce 0

调试完了之后再次设置 selinux 为强制模式,无需重启。

# setenforce 1

(LCTT 译注:在生产环境中,SELinux 固然会提升安全,但是也确实会给应用部署和运行带来不少麻烦。具体是否部署,需要根据情况而定。)

24. 安装 Rootkit Hunter

Rootkit Hunter,简写为 RKhunter,是在 Linux 系统中扫描 rootkits 和其它可能有害攻击的程序。

# yum install rkhunter

安装 Rootkit Hunter

安装 Rootkit Hunter

在 Linux 中,从脚本文件以计划作业的形式运行 rkhunter 或者手动扫描有害攻击。

# rkhunter --check

扫描 rootkits

扫描 rootkits

RootKit 扫描结果

RootKit 扫描结果


via: http://www.tecmint.com/things-to-do-after-minimal-rhel-centos-7-installation/4/

作者:Avishek Kumar 译者:ictlyh 校对:wxy

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

12. 安装 Apache Tomcat

Tomcat 是由 Apache 设计的用来运行 Java HTTP web 服务器的 servlet 容器。按照下面的方法安装 tomcat,但需要指出的是安装 tomcat 之前必须先安装 Java。

# yum install tomcat

安装 Apache Tomcat

安装 Apache Tomcat

安装完 tomcat 之后,启动 tomcat 服务。

# systemctl start tomcat

查看 tomcat 版本。

# /usr/sbin/tomcat version

查看 tomcat 版本

查看 tomcat 版本

允许 tomcat 服务和默认端口(8080) 通过防火墙并重新加载设置。

# firewall-cmd –zone=public –add-port=8080/tcp --permanent
# firewall-cmd –reload

现在该保护 tomcat 服务器了,添加一个用于访问和管理的用户和密码。我们需要编辑文件 ‘/etc/tomcat/tomcat-users.xml’。查看类似下面的部分:

<tomcat-users>
....
</tomcat-users>


 <role rolename="manager-gui"/>
 <role rolename="manager-script"/>
 <role rolename="manager-jmx"/>
 <role rolename="manager-status"/>
 <role rolename="admin-gui"/>
 <role rolename="admin-script"/>
 <user username="tecmint" password="tecmint" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-gui,admin-script"/>
</tomcat-users>

保护 Tomcat

保护 Tomcat

我们在这里添加用户 “tecmint” 到 tomcat 的管理员/管理组中,使用 “tecmint” 作为密码。先停止再启动 tomcat 服务以使更改生效,并添加 tomcat 服务到随系统启动。

# systemctl stop tomcat
# systemctl start tomcat
# systemctl enable tomcat.service

请阅读: 在 RHEL/CentOS 7.0/6.x 中安装和配置 Apache Tomcat 8.0.9

13. 安装 Nmap 监视开放端口

Nmap 网络映射器用来分析网络,通过运行它可以发现网络的映射关系。nmap 并没有默认安装,你需要从库中安装它。

# yum install nmap

安装 Nmap 监视工具

安装 Nmap 监视工具

列出主机中所有的开放端口以及对应使用它们的服务。

# namp 127.0.01

!监视开放端口](http://www.tecmint.com/wp-content/uploads/2015/04/Monitor-Open-Ports.jpeg)

监视开放端口

你也可以使用 firewall-cmd 列出所有端口,但我发现 nmap 更有用。

# firewall-cmd –list-ports

在防火墙中检查开放端口

在防火墙中检查开放端口

请阅读: Nmap 监视开放端口的 29 个有用命令

14. 配置 FirewallD

firewalld 是动态管理服务器的防火墙服务。在 CentOS 7 中 Firewalld 移除了 iptables 服务。在红帽企业版 Linux 和它的衍生版中默认安装了 Firewalld。如果有 iptables 的话为了使每个更改生效需要清空所有旧的规则然后创建新规则。

然而用firewalld,不需要清空并重新创建新规则就可以实现更改生效。

检查 Firewalld 是否运行。

# systemctl status firewalld
或
# firewall-cmd –state

检查 Firewalld 状态

检查 Firewalld 状态

获取所有的区域列表。

# firewall-cmd --get-zones

检查 Firewalld 区域

检查 Firewalld 区域

在切换之前先获取区域的详细信息。

# firewall-cmd --zone=work --list-all

检查区域详情

检查区域详情

获取默认区域。

# firewall-cmd --get-default-zone

Firewalld 默认区域

Firewalld 默认区域

切换到另一个区域,比如 ‘work’。

# firewall-cmd --set-default-zone=work

切换 Firewalld 区域

切换 Firewalld 区域

列出区域中的所有服务。

# firewall-cmd --list-services

列出 Firewalld 区域的服务

列出 Firewalld 区域的服务

添加临时服务,比如 http,然后重载 firewalld。

# firewall-cmd  --add-service=http
# firewall-cmd –reload

添加临时 http 服务

添加临时 http 服务

添加永久服务,比如 http,然后重载 firewalld。

# firewall-cmd --add-service=http --permanent
# firewall-cmd --reload

添加永久 http 服务

添加永久 http 服务

删除临时服务,比如 http。

# firewall-cmd  --remove-service=http
# firewall-cmd --reload

删除临时 Firewalld 服务

删除临时 Firewalld 服务

删除永久服务,比如 http

# firewall-cmd --zone=work --remove-service=http --permanent
# firewall-cmd --reload

删除永久服务

删除永久服务

允许一个临时端口(比如 331)。

# firewall-cmd --add-port=331/tcp
# firewall-cmd --reload

打开临时 Firewalld 端口

打开临时端口

允许一个永久端口(比如 331)。

# firewall-cmd --add-port=331/tcp --permanent
# firewall-cmd --reload

打开永久 Firewalld 端口

打开永久端口

阻塞/移除临时端口(比如 331)。

# firewall-cmd --remove-port=331/tcp
# firewall-cmd --reload

移除 Firewalld 临时端口

移除临时端口

阻塞/移除永久端口(比如 331)。

# firewall-cmd --remove-port=331/tcp --permanent
# firewall-cmd --reload

移除 Firewalld 永久端口

移除永久端口

停用 firewalld。

# systemctl stop firewalld
# systemctl disable firewalld
# firewall-cmd --state

在 CentOS 7 中停用 Firewalld

停用 Firewalld 服务

启用 firewalld。

# systemctl enable firewalld
# systemctl start firewalld
# firewall-cmd --state

在 CentOS 7 中取消 Firewalld

启用 Firewalld

15. 安装 Wget

Wget 是从 web 服务器获取(下载)内容的命令行工具。它是你使用 wget 命令获取 web 内容或下载任何文件必须要有的重要工具。

# yum install wget

安装 Wget 工具

安装 Wget 工具

关于在终端中如何使用 wget 命令下载文件的方法和实际例子,请阅读10 个 Wget 命令例子

16. 安装 Telnet 客户端

Telnet 是通过 TCP/IP 允许用户登录到相同网络上的另一台计算机的网络协议。和远程计算机的连接建立后,它就成为了一个允许你在自己的计算机上用所有提供给你的权限和远程主机交互的虚拟终端。(LCTT 译注:除非你真的需要,不要安装 telnet 服务,也不要用 telnet 客户端连接另外一个 telnet 服务,因为 telnet 是明文传输的。不过如下用 telnet 客户端检测另外一个服务的端口是否工作是常用的操作。)

Telnet 对于检查远程计算机或主机的监听端口也非常有用。

# yum install telnet
# telnet google.com 80

Telnet 端口检查

Telnet 端口检查


via: http://www.tecmint.com/things-to-do-after-minimal-rhel-centos-7-installation/3/

作者:Avishek Kumar 译者:ictlyh 校对:校对者ID

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

7. 安装 PHP

PHP 是用于 web 基础服务的服务器端脚本语言。它也经常被用作通用编程语言。在最小化安装的 CentOS 中安装 PHP:

# yum install php

安装完 php 之后,确认重启 Apache 服务以便在 Web 浏览器中渲染 PHP。

# systemctl restart httpd.service

下一步,通过在 Apache 文档根目录下创建下面的 php 脚本验证 PHP。

# echo -e "<?php\nphpinfo();\n?>"  > /var/www/html/phpinfo.php

现在在 Linux 命令行中查看我们刚才创建的 PHP 文件(phpinfo.php)。

# php /var/www/html/phpinfo.php
或者
# links http://127.0.0.1/phpinfo.php

验证 PHP

验证 PHP

8. 安装 MariaDB 数据库

MariaDB 是 MySQL 的一个分支。RHEL 以及它的衍生版已经从 MySQL 迁移到 MariaDB。这是一个主流的数据库管理系统,也是一个你必须拥有的工具。不管你在配置怎样的服务器,或迟或早你都会需要它。在最小化安装的 CentOS 上安装 MariaDB,如下所示:

# yum install mariadb-server mariadb

安装 MariaDB 数据库

安装 MariaDB 数据库

启动 MariaDB 并配置它开机时自动启动。

# systemctl start mariadb.service
# systemctl enable mariadb.service

允许 mysql(mariadb) 服务通过防火墙(LCTT 译注:如果你的 MariaDB 只用在本机,则务必不要设置防火墙允许通过,使用 UNIX Socket 连接你的数据库;如果需要在别的服务器上连接数据库,则尽量使用内部网络,而不要将数据库服务暴露在公开的互联网上。)

# firewall-cmd –add-service=mysql

现在是时候确保 MariaDB 服务器安全了(LCTT 译注:这个步骤主要是设置 mysql 管理密码)。

# /usr/bin/mysql_secure_installation

保护 MariaDB 数据库

保护 MariaDB 数据库

请阅读:

9. 安装和配置 SSH 服务器

SSH 即 Secure Shell,是 Linux 远程管理的默认协议。 SSH 是随最小化 CentOS 服务器中安装运行的最重要的软件之一。

检查当前已安装的 SSH 版本。

# SSH -V

检查 SSH 版本

检查 SSH 版本

使用更安全的 SSH 协议,而不是默认的协议,并更改端口号进一步加强安全。编辑 SSH 的配置文件 ‘/etc/ssh/ssh\_config’。

去掉下面行的注释或者从协议行中删除 1,然后行看起来像这样(LCTT 译注: SSH v1 是过期废弃的不安全协议):

# Protocol 2,1 (原来)
Protocol 2 (现在)

这个改变强制 SSH 使用 协议 2,它被认为比协议 1 更安全,同时也确保在配置中更改端口号 22 为其它。

保护 SSH 登录

保护 SSH 登录

取消 SSH 中的‘root login’, 只允许通过普通用户账号登录后才能使用 su 切换到 root,以进一步加强安全。请打开并编辑配置文件 ‘/etc/ssh/sshd\_config’ 并更改 PermitRootLogin yes 为 PermitRootLogin no。

# PermitRootLogin yes (原来) 
PermitRootLogin no (现在)

取消 SSH Root 登录

取消 SSH Root 直接登录

最后,重启 SSH 服务启用更改。

# systemctl restart sshd.service

请查看:

10. 安装 GCC (GNU 编译器集)

GCC 即 GNU 编译器集,是一个 GNU 项目开发的支持多种编程语言的编译系统(LCTT 译注:在你需要自己编译构建软件时需要它)。在最小化安装的 CentOS 没有默认安装。运行下面的命令安装 gcc 编译器。

# yum install gcc

在 CentOS 上安装 GCC

在 CentOS 上安装 GCC

检查安装的 gcc 版本。

# gcc --version

检查 GCC 版本

检查 GCC 版本

11. 安装 Java

Java是一种通用的基于类的,面向对象的编程语言。在最小化 CentOS 服务器中没有默认安装(LCTT 译注:如果你没有任何 Java 应用,可以不用装它)。按照下面命令从库中安装 Java。

# yum install java

在 CentOS 上安装 Java

安装 Java

检查安装的 Java 版本。

# java -version

检查 Java 版本

检查 Java 版本


via: http://www.tecmint.com/things-to-do-after-minimal-rhel-centos-7-installation/2/

作者:Avishek Kumar 译者:ictlyh 校对:wxy

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