CentOS 7 x64基本软件(LAMP)安装及配置

小柊 发表于 2015年10月21日 23时14分53秒

大概在九月份的时候,我也拥有了人生中第一台Linux服务器,跑的是CentOS 7 x64。

然而服务器刚刚到手的时候都是干干净净——除了系统以外就没有什么软件了。这就意味着要我们手动去安装类似于Apache、php、MySQL之类的软件。不过好在Linux下有一个好用的工具Yum:

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。

利用这个工具可以轻松的安装我们所需要的绝大部分软件,下面就由笔者我来进行一个简单的演示。

1.更换默认防火墙

在安装前,我们有一些小问题要处理一下:在CentOS中,系统默认的防火墙是firewall,我们在这里改为更加常用的iptables防火墙。

 

首先是停用原先的firewall防火墙服务:

systemctl stop firewalld.service

 

然后禁用firewall防火墙的开机自启:

systemctl disable firewalld.service

 

然后是安装iptables:

yum install iptables-services

然后Yum插件会自动检查所需要的依赖项,然后会列出所需要下载的所有文件及其大小,然会提示用户是否继续,输入y并回车即可。

 

有时候可能会提示安装包的公钥未安装,老样子,按个y并回车即可。

 

等到提示“完毕!”即可。

 

接下来我们需要对iptables进行一些必要的配置。

vim /etc/sysconfig/iptables

上面的命令将启动Vim编辑器编辑iptables的配置文件,先按i键进入编辑模式,把里面原有内容全部删除,将以下内容输入。输入结束后按Esc键退出编辑模式,并输入:wq保存并退出。

(关于FTP,我会在以后的文章里讲解)

# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
#SSH
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
#HTTP
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
#MySQL
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

 

 

配置文件编辑完成之后记得进行以下两个操作:

重启iptables服务以使用新的配置文件:

systemctl restart iptables.service

设置iptables服务开机自启动:

systemctl enable iptables.service

 

注:上面的iptables配置已经开启了22,80和3306端口(SSH、HTTP、MySQL端口)

 

2.关闭SELinux

除了需要更改系统默认的防火墙以外,我们还需要关闭SELinux,这个步骤是可选的。

SELinux是一个由美国国家安全局和SCC开发的 Linux的一个扩张强制访问控制安全模块。它可以保护Linux,但是开着SELinux有时候会发生一些莫名其妙的问题。所以在这里还是关掉算了。

 

先修改一下配置文件

vim /etc/selinux/config

在Vim编辑器中找到

#SELINUX=enforcing                  (在前面加#注释掉)

#SELINUXTYPE=targeted           (在前面加#注释掉)

SELINUX=disabled                      (增加此行)

 

修改结束后保存退出

 

 

修改配置文件之后并不能立即关闭SELinux,我们还需要键入以下命令来立即关闭SELinux:

setenforce 0

 

3.安装Apache

安装Apache只需要在SSH中键入命令:

yum install httpd

安装过程和安装iptables差不多,先检查依赖项和用户确认。一般来说需要用户确认的地方直接按y继续就可以了。

当提示“完成”的时候就代表Apache安装结束。

 

安装结束之后记得启动Apache服务以及设置Apache服务开机自启。

启动Apache服务

systemctl start httpd.service

设置Apache服务开机自启

systemctl enable httpd.service

 

完成以上步骤之后,就可以在浏览器中直接输入服务器的IP地址并访问了,大概是这么个界面,Apache的测试页。

 

至此Apache安装结束。

 

4.安装MySQL

在CentOS 7上安装MySQL就有点麻烦了,因为在CentOS的yum源中貌似没有正常安装MySQL时的Mysql-sever文件。这个问题在网上找了一圈之后说是因为CentOS 7默认将MariaDB视作MysSQL。因为MySQL被Oracle收购后,原作者担心MySQL闭源,所以又写了一个MariaDB,这个数据库可以理解为MySQL的分支。

虽然MariaDB和MySQL的差距并不大,但为了潜在的兼容性问题,还是装MySQL比较好。

这次的步骤比较繁琐,需要四步。

 

从MySQL官网下载MySQL的rpm包

wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

(最新的下载链接可以去 http://dev.mysql.com/downloads/repo/yum/ 找,以后不再更新)

安装所下载的rpm包

rpm -ivh mysql-community-release-el7-5.noarch.rpm

rpm -ivh mysql57-community-release-el7-8.noarch.rpm

yum install mysql-community-server

删除下载下来的rpm包

rm mysql-community-release-el7-5.noarch.rpm

rm mysql57-community-release-el7-8.noarch.rpm

 

至此MySQL安装结束。

 

5.安装php

php的安装和Apache差不多,也只要几个Yum命令即可。

 

安装php本体

yum install php

安装php的几个组件,使php可以获得MySQL支持。

yum install php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash

 

重启一下Apache服务和MySQL服务

systemctl restart mysqld.service

systemctl restart httpd.service

 

至此php安装结束。

 

6.为MySQL设置root密码

注:MySQL 5.7以上安装时将随机生成root密码,MySQL 5.7以上请参照此博客:《MySQL 5.7以上 root用户默认密码问题》)

在第4步中里,我们安装了MySQL,但是在默认情况下,安装结束后MySQL的root密码是空着的,为了保证安全,我们需要给MySQL的root账户设置密码。

进入MySQL控制台:

mysql –uroot

设置root密码为123456

set password for 'root'@'localhost' = password('123456');

退出MySQL控制台

exit;

 

7.配置Apache并调试php

首先用Vim编辑器打开Apache的配置文件

vim /etc/httpd/conf/httpd.conf

 

一般来说没有什么需要特别改动的地方,我们只需要在最后面加一下自己的网站就行了,假设我们的网站文件放在了“/var/www/html/default”文件夹下。那我们只需要在Apache的配置文件最后面添加这么一段

<VirtualHost *:80>

ServerName localhost

DocumentRoot /var/www/html/default

<Directory "/var/www/html/default">

Options FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

</Directory>

</VirtualHost>

然后保存退出。

 

然后重启Apache服务使配置文件生效

systemctl restart httpd.service

 

这个时候如果直接使用浏览器访问服务器的IP地址的话,会得到HTTP 404的错误提示。

 

因为我们还没有在网站的文件夹中放置自己的首页文件。网站文件可以通过FTP上传到服务器中,如何在CentOS 7中搭建FTP服务器笔者将会在以后的博客中详细说明。我们今天就先自己写一个php测试页放在网站目录中当首页,测试php环境是正常。

进入网站目录

cd /var/www/html/default

一般来说安装完Apache之后就会自动生成/var/www/html文件夹,但本例中的default文件夹需要自己去创建,创建文件夹的命令是mkdir

例如在/var/www/html文件夹中创建default文件夹

 

进入/var/www/html文件夹

cd /var/www/html

创建default文件夹

mkdir default

进入/var/www/html/default文件夹

cd /var/www/html/default

 

现在网站的文件夹就已经创建好了,接下来我们在网站文件夹中创建一个php测试页。

在进入/var/www/html/default文件夹之后执行以下命令

 

创建一个index.php文件

touch index.php

使用Vim编辑器编辑index.php文件

vim index.php

 

在Vim编辑器中输入

<?php

phpinfo();

?>

 

好了,保存之后就可以回到浏览器里按F5刷新网页,如果出现以下页面的话则说明Apache和php环境运行正常。

 

 

以上就是本文所有的内容,恳请各位看官批评指正!

 

小柊

2015年10月21日 22:36:01

相关文章

  8 条评论发布于 “CentOS 7 x64基本软件(LAMP)安装及配置

  1. ec
    2016年9月18日 at 14:04


    # vim /etc/sysconfig/iptables
    前加上
    # service iptables save

    • 2016年9月19日 at 01:23

      我当时找资料的时候是用的“iptables-save > /etc/sysconfig/iptables”。
      使用后感觉可能是因为新装的iptables所以只是生成了一个空的配置文件。
      如果不执行这句直接用vim /etc/sysconfig/iptables的话vim也会自动创建iptables文件。所以感觉没什么必要写这文章的时候就没加。

  2. 唐玄昭
    2016年9月30日 at 19:25

    grep ‘temporary password’ /var/log/mysqld.log
    获取临时的mysql密码

    • 2016年10月1日 at 00:27

      当时MySQL安装是没有密码的,所以文章里没有,后来发现有密码了,我就专门写了一篇《MySQL 5.7以上 root用户默认密码问题(https://www.yanning.wang/archives/379.html)》

  3. 唐玄昭
    2016年10月1日 at 12:32

    我在域名服务商绑定了我的域名的a记录道我的vps,但是不知道为什么我始终无法通过我的域名访问到我的服务器,只能输入ip地址来进行访问,费解。

    • 2016年10月1日 at 20:56

      Windows系统的话可以用nslookup命令查看自己的域名有没有被正确的解析,再根据结果决定是该和域名服务商算账还是跟空间商算账。

发表评论

电子邮件地址不会被公开。 必填项已用*标注