首页 > 代码库 > centos 搭建lamp环境

centos 搭建lamp环境

1)、安装Apache

Apache软件的软件包名称叫做httpd,因此,要安装Apache软件,就使用下述命令:

[root@localhost ~]# yum install httpd

 

当出现提示的时候一路 y +回车就OK了

技术分享

 

如上图所示,安装的Apache 软件版本为2.4版。根据红帽官方文档说明,RHEL 7 (或CentOS 7)上可用的Apache版本正是2.4版的。

 

安装完成后,Apache是以httpd服务的形式存在的。因此,要启动Apache并将其设置为开机启动,就使用命令:

[root@localhost ~]# systemctl start httpd.service

[root@localhost ~]# systemctl enable httpd.service

 

然后,检查httpd服务状态:

# systemctl status httpd.service

 

技术分享

 

如上图所示,“enabled”表示httpd服务已设为开机启动,“active(running)”则表示httpd服务正在运行中。

 

这样的话,HTTP协议就已被启动起来了,由于HTTP协议使用到tcp端口80,因此防火墙要放通tcp端口80:

[root@localhost ~]#w fireall-cmd --zone=public --add-port=80/tcp --permanent

重启防火墙以让更改立刻生效:

# firewall-cmd --reload

使用以下命令检查配置是否成功:

# firewall-cmd --list-all

 

技术分享

 

如上图所示,tcp端口80已放通。

然后这个时候,就可以在物理机上使用浏览器来访问刚刚搭建的web服务器了。不过,因为这个时候还未创建任何页面,所以它显示的是Apache软件自带的测试页面:

通过命令ip addr查询当前系统的ip地址,得到ip地址后再物理机浏览器地址栏输入该ip地址

技术分享

 

 
查看apache错误
cat /var/log/messages | grep httpd

 

 
 
2)安装PHP

使用以下命令安装PHP软件:

# yum install php

 

技术分享

从上图可以看到,安装的PHP版本为5.4版。

安装完成后,PHP会生成配置文件/etc/httpd/conf.d/php.conf,因为该配置文件在/etc/httpd/conf.d目录下,所以它会被Apache所读取。PHP还会生成配置文件/etc/httpd/conf.modules.d/10-php.conf,

该配置文件也会被Apache所读取,它的设定让Apache可以加载PHP模块。不过,PHP软件本身的配置文件其实是/etc/php.ini。该配置文件也会被Apache所读取,它的设定让Apache可以加载PHP模块。

不过,PHP软件本身的配置文件其实是/etc/php.ini。

 (大家看一下配置文件的介绍就好,没有需要的话基本不用做任何修改,不过建议将php.ini中upload_max_filesize = 20M//上传文件所允许的最大值。可按照需要进行调整   的

值改的大一些,当你准备搭建一个wordpress网站时此值过小将限制你所上传的图片、视频等多媒体素材的大小)

下面介绍一下配置文件/etc/httpd/conf.d/php.conf:

<FilesMatch \.php$>                                                                                                                                       

   SetHandler application/x-httpd-php                                                                                                               

</FilesMatch>                                                                                                                                                

//<FilesMatch 正则表达式>和</FilesMatch>:文件名与正则表达式相匹配的文件,将适用这里设定的语句。                   

//SetHandler:强制所有匹配的文件使用指定handler进行处理。                                                                                                                                                                                                                                            
AddType text/html .php                          //设定扩展名为.php的档案的类型为text/html                                            

DirectoryIndex index.php                         //默认网页档名增加index.php                                                               

php_value session.save_handler"files"                                                                                                               

php_value session.save_path    "/var/lib/php/session" 

下面介绍一下配置文件/etc/httpd/conf.modules.d/10-php.conf:

<IfModule prefork.c>                                                                                                                                     

 LoadModule php5_module modules/libphp5.so                                                                                               

</IfModule>                                                                                                                                                  

//如果Apache使用的多处理模块(MPM)是prefork(默认),那么Apache就会加载LoadModule指定的模块(PHP模块)       

 

 

最后,来看看配置文件/etc/php.ini。在该文件的开头处,有说明针对生产环境和开发环境,有一些设定值可以进行修改,以提高PHP的效能。假设该web服务器是用于生产环境的,将下面的这些设定值改成这样(或确认这些设定值是这样的):

display_errors = Off                                       //当发生错误时,不将错误信息显示出来(到浏览器上)                          

display_startup_errors = Off                               //不将PHP启动时发生的错误信息显示出来(到浏览器上)                    

error_reporting = E_ALL &~E_DEPRECATED & ~E_STRICT   //这一项设定PHP会告知的错误或信息类型                       

html_errors = On                                         //当PHP显示或记录错误信息时,将该信息格式化成HTML格式                

log_errors = On                                           //这让PHP可以将错误信息日志记录到日志文件里                                 

ignore_repeated_errors = On                              //忽略重复的错误信息                                                               

ignore_repeated_source = On                             //当忽略重复的错误信息时忽略信息源                                          

post_max_size = 25M                                      //PHP所允许的POST数据的最大值。可按照需要进行调整                    

file_uploads = On                                          //允许文件上传,默认为On                                                             

upload_max_filesize = 20M                                 //上传文件所允许的最大值。可按照需要进行调整                            

memory_limit = 128M                                     //PHP可用的最大内存。可按照需要进行调整   

然后,重启httpd服务:

# systemctl restart httpd

 

 

为了测试Apache能不能正常调用PHP,在/var/www/html目录下新建一个phpinfo.php文档,内容如下所示:

技术分享

 

其中的<?php   ?>是PHP程序的语法,phpinfo ();则是PHP程序提供的一个函式库,该函式库可以显示出你这个web服务器的相关信息。然后,使用浏览器来访问服务器的这个文件,看看页面能不能正常打开。如果正常的话,应该可以看到下面这个页面:

技术分享

 

测试完后,因为这个页面里面的信息还挺重要的,所以应该把phpinfo.php这个档案删除。

3)、安装MariaDB(从RHEL 7开始Red Hat公司推荐使用MariaDB替换MySQL)

Red Hat Enterprise Linux/CentOS 7.0 使用 MariaDB 替换 MySQL 为默认数据库管理系统。使用如下命令安装 MariaDB 数据库。
#yum install mariadb-server mariadb

 

技术分享

 

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


# systemctl start mariadb
# mysql_secure_installation

 

技术分享

 

启动 MariaDB 数据库

技术分享

 

MariaDB 安全设置

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


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

 

技术分享

到此为止所有的工作已经做完了,一个Linux服务器环境已经安装完毕

centos 搭建lamp环境