大概在九月份的时候,我也拥有了人生中第一台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)安装及配置”