Centos7下如何部署Apache+PHP+MariaDB

安装CentOS 7操作系统

将CentOS7iso文件放进VMware中,建立CentOS7操作系统。如果VMware识别不出操作系统是什么类型,手动选择”Linux(L)”客户机操作系统,”CentOS 64位”版本。如图2.1.1所示。

Centos7下如何部署Apache+PHP+MariaDB


图2.1.1 新建CentOS7虚拟机

另外,推荐:虚拟内存给1024M;使用网络地址转换(NAT);最大磁盘大小给40G;虚拟磁盘存为单个文件;其它选择默认或者推荐的就好。

 


启用Intel VT-x


在建立CentOS时,很有可能出现一个错误提示框”已将该虚拟机配置为使用64客户机操作系统。但是,无法执行64位操作”,并且提示”此主机支持Intel VT-x,但Intel VT-x处于禁用状态”;

解决方法:先将虚拟机关闭;重启自己的电脑进入BIOS,进入方法根据自己电脑品牌去找;进入后,会在BIOS界面的上面看到”Configuration”选项,按向右方向键,到达此选项;然后会在下面看到”Intel Virtual Technology”选项,将此选项后面的”Disabled”改成”Enabled”就可以了。然后保存BIOS设置退出即可。如图2.1.2所示。

Centos7下如何部署Apache+PHP+MariaDB

图2.1.2 进BIOS启用Intel VT-x

然后再次开启CentOS7虚拟机,会进入图2.1.3.1所示的界面。然后只要等待即可。

进入如图2.1.3.2的界面,等待最下面显示”Checking:100%”即可。

Centos7下如何部署Apache+PHP+MariaDB


图2.1.3.1 进入安装CentOS 7.0界面

 

 

 

Centos7下如何部署Apache+PHP+MariaDB

图2.1.3.2 CentOS7自检中

 

 

 


2.1.4 看到如图所示2.1.4的界面,就进入CentOS7的设置界面了。选择”中文 Chinese”—”简体中文(中国)”即可。


Centos7下如何部署Apache+PHP+MariaDB

图2.1.4 选择语言

2.1.5 然后进入图2.1.5 的”安装信息摘要”部分,下面依次把”安装位置”、”网络和主机名”、”软件选择”设置好。

Centos7下如何部署Apache+PHP+MariaDB


图2.1.5 安装信息摘要

2.1.6 “安装位置”设置,建议点击图2.1.6蓝色的区域,选中它后会变成蓝色;然后选择”自动配置分区”。最后点击左上角的”完成”即可。

Centos7下如何部署Apache+PHP+MariaDB


图2.1.6 设置安装分区

 

 

 

2.1.7 如图2.1.7,只要将将右上角设置为开启就行了。

Centos7下如何部署Apache+PHP+MariaDB


图 2.1.7 网络连接配置

 

2.1.8 部署服务器环境的话,建议选择”基础设施服务器”或者”带GUI的服务器”,至于附加选项,见人见智,没有固定的选择。如图2.1.8,选择一个基本环境和它的附加选项。

Centos7下如何部署Apache+PHP+MariaDB


图2.1.8 选择操作系统基本环境

 

2.1.9 完成上述的步骤后,点击右下角的”开始安装”就到了最后的用户配置界面,如图2.1.9,分别设置好”root密码”和”创建用户”,root密码要牢记;等待安装完成就好了,选的附加选项不同,需要时间不同。正常的话CentOS 7到此就安装完成了,安装好后CentOS会重启,就去简单按要求设置一下就可以了。

Centos7下如何部署Apache+PHP+MariaDB

图2.1.9 设置用户和root密码

 

 

 

2.2 CentOS 7配置网络

2.2.1 如图2.2.1,鼠标右击桌面,点击”在终端中打开”。

Centos7下如何部署Apache+PHP+MariaDB


图 2.2.1 打开终端

 

2.2.2 然后如图2.2.2所示,输入:su,按回车后输入自己的root密码;注意,输密码的时候密码区域并不显示任何东西,自己输错了就多按几次backspace就行了,成功后在输命令前的符号就变成了#。

Centos7下如何部署Apache+PHP+MariaDB


图2.2.2 切换root账户操作

 

2.2.3 如图2.2.3所示,输入:ls /etc/sysconfig/network-scripts/,注意画红线的部分,你的可能和我的不太一样,记住或复制下来都行,下面要多次用到,把下面步骤中的”eno16777736″都换成自己的就行了。

Centos7下如何部署Apache+PHP+MariaDB


图2.2.3 查看有关目录内容

 

 

2.2.4 然后输入,cat /etc/sysconfig/network-scripts/ifcfg-eno16777736,这里的”eno16777736″换成自己的就行了,下面步骤也是如此。注意图2.2.4的红圈部分,如果显示的”ONBOOT=no”,就不能上网。下面先把它改为”yes”。

Centos7下如何部署Apache+PHP+MariaDB


图2.2.4 显示网络配置文件内容

 

2.2.5 接着输入:vi  /etc/sysconfig/network-scripts/ifcfg-eno16777736,或者把vi换成gedit,更方便修改。在vi下,把”no”改成”yes”,然后输入”:w”;如果不会修改的话,就按照上面的提示,把vi改成gedit,更容易修改,修改后保存就可以了。

Centos7下如何部署Apache+PHP+MariaDB


图2.2.5 修改配置文件

 

2.2.6 然后进入终端,同样用root账户,输入“shutdown -r now”,然后系统就重启了。开机后输密码进入操作系统,电脑就能正常上网了。Centos7下如何部署Apache+PHP+MariaDB


图2.2.6 正常联网

 

2.3

操作环境预配置

2.3.1 关闭firewall防火墙

进入终端,切换root账户,输入:

systemctl stop firewalld.service (停止firewall)

systemctl disable firewalld.service (禁止firewall开机启动)

2.3.2 安装iptables防火墙

yum install iptables-services (安装iptables防火墙,需要联网)

gedit /etc/sysconfig/iptables (编辑iptables防火墙配置文件)

对照以下文本修改添加或复制下来直接代替原来的文本:

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT

-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT

-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT

-A INPUT -j REJECT –reject-with icmp-host-prohibited

-A FORWARD -j REJECT –reject-with icmp-host-prohibited

COMMIT

完成后保存退出;终端输入:

systemctl restart iptables.service (重启防火墙使配置生效)

systemctl enable iptables.service (设置iptables防火墙开机启动)

2.3.3 关闭SELINUX (Security-Enhanced Linux)

终端、root下输入:

gedit /etc/selinux/config

在打开的配置文件下,做以下操作:

#SELINUX=enforcing (在原来的部分前面加#,注释掉该语句)#SELINUXTYPE=targeted (在原来的部分前面加#,注释掉该语句) SELINUX=disabled (增加此条语句)

然后保存退出;
终端root
下输入:setenforce 0 (使配置即刻生效) 2.4 安装Apache服务器 2.4.1 终端root下,输入:yum install httpd

如图2.4.1,根据提示,输入y确定即可成功安装,自动解决依赖关系。

Centos7下如何部署Apache+PHP+MariaDB

图2.4.1 yum安装Apache

2.4.2 设置开机启动Apache

终端root下,依次输入:

systemctl start httpd.service (启动apache)

systemctl stop httpd.service (停止apache)

systemctl restart httpd.service (重启apache)

systemctl enable httpd.service (设置apache开机启动)

2.4.3 打开系统中的浏览器,输入127.0.0.1,见到图2.4.3的界面,即Apache安装成功。

Centos7下如何部署Apache+PHP+MariaDB

图2.4.3 Apache安装成功

2.5 安装MariaDB

在CentOS 7.0中,已经使用MariaDB替代了MySQL数据库,所以下面安装的是Mariadb数据库。

2.5.1 yum安装Mariadb

终端root下,输入:

yum install mariadb mariadb-server

询问是否安装,输入y即可自动安装完成(需要联网),如图2.5.1。

Centos7下如何部署Apache+PHP+MariaDB

图2.5.1 安装Mariadb数据库

然后依次输入:

systemctl start mariadb.service (启动MariaDB)

systemctl stop mariadb.service (停止MariaDB)

systemctl restart mariadb.service (重启MariaDB)

systemctl enable mariadb.service (设置开机启动Mariadb)

接着输入:

cp /usr/share/mysql/my-huge.cnf /etc/my.cnf

如果提示询问是否覆盖,覆盖即可。

2.5.2 设置数据库root账户密码

终端root下输入:

mysql_secure_installation

根据提示输入y,待出现输入密码提示时,输入两次密码即可。

完成后接着跟着提示输入y,直到最后出现:Thanks for using MySQL!

如图2.5.2所示。

Centos7下如何部署Apache+PHP+MariaDB

图2.5.2 设置好Mysql密码

然后输入:

systemctl restart mariadb.service(重启Mariadb)

 

2.6 安装PHP

2.6.1
yum安装php

终端root下,输入:

yum install php

根据提示输入y即可安装完成。

 

2.6.2 安装php组件

终端root下,输入:

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

根据提示输入y回车即可。(安装组件来支持Mariadb)

 

2.6.3 重启数据库和服务器

终端root下,输入:

systemctl restart mariadb.service (重启MariaDB)

systemctl restart httpd.service (重启apache)

 

 

 

 

 

 

 

 

 

配置LAMP

3.1 配置Apache

3.1.1 终端root下,输入:

gedit /etc/httpd/conf/httpd.conf

 

如图3.1.1所示,打开配置文件:

Centos7下如何部署Apache+PHP+MariaDB


图3.1.1 打开Apache配置文件

 


然后,进行以下操作:

 

ServerSignature On (添加此项,在错误页中显示Apache的版本)

Options Indexes FollowSymLinks 修改为:Options Includes ExecCGI FollowSymLinks (允许服务器执行CGI及SSI,禁止列出目录)

#AddHandler cgi-script .cgi  修改为:AddHandler cgi-script .cgi .pl (允许扩展名为.pl的CGI脚本运行)

AllowOverride None  修改为:AllowOverride All (允许.htaccess)

AddDefaultCharset UTF-8  修改为:AddDefaultCharset GB2312 (添加GB2312为默认编码)

DirectoryIndex index.html 修改为:DirectoryIndex index.html index.htm
Default.html Default.htm index.php (设置默认首页文件,增加index.php)

MaxKeepAliveRequests 100 添加MaxKeepAliveRequests 100 (增加同时连接数)

 

最后保存退出。

3.1.2 终端root下,依次输入:

systemctl restart httpd.service(重启apache)

rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html (删除默认测试页)

 

Apache配置完成。

 

 

 

 

 

3.2 配置PHP

3.2.1 终端root下,输入:

gedit /etc/php.ini

如图3.2.1所示,打开了php编辑文件。

Centos7下如何部署Apache+PHP+MariaDB

图3.2.1 打开php编辑文件

然后按下面操作:

date.timezone = PRC (把前面的分号去掉,改为date.timezone = PRC)

expose_php = Off (禁止显示php版本的信息)

short_open_tag =On (支持php短标签)

注意:下面两条视情况而定,我没有修改

  1. open_basedir = .:/tmp/

    (设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止php木马跨站,如果改了之后安装程序有问题(例如:织梦内容管理系统),可以注销此行,或者直接写上程序的目录/data/www.osyunwei.com/:/tmp/)

    2)disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

    (列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用)

    最后保存修改退出。

    3.2.2 终端root下,依次输入:

    systemctl restart mariadb.service(重启MariaDB)

    systemctl restart httpd.service (重启apache)

     

    PHP配置完成。

     

    3.3 测试

    终端root下,依次输入:

    cd /var/www/html

    gedit index.php

    在打开的文本中输入以下内容:

    <?php

    phpinfo();

    ?>

    完成后保存退出。

    在操作系统的浏览器中输入:127.0.0.1,打开后出现介绍php的界面,则配置成功。