%{User-Agent}i"" %I %O" combinedio

CustomLog "logs/access_log" combined //客户端访问服务器的日志会记在/etc/httpd/logs/access_log

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

//ScriptAlias会将URL路径映射到指定目录,并且让该目录具有CGI脚本执行权限(因此CGI脚本都可放置在该目录下)。
//以这里的设定举个例子,假如在浏览器中输入http://example.com/cgi-bin/foo,此时就会执行/var/www/cgi-bin/foo这个
//CGI脚本。


AllowOverride None
Options None
Require all granted

//这部分是关于MIME的 TypesConfig /etc/mime.types AddType application/x-compress .Z AddType application/x-gzip .gz .tgz AddType text/html .shtml AddOutputFilter INCLUDES .shtml

AddDefaultCharset Off
//AddDefaultCharset会强制客户端浏览器使用指定的字符集编码方式。这可能会有问题,所以要将它关闭。实际上,所使用的编
//码方式在网页里有声明。

MIMEMagicFile conf/magic

EnableSendfile on //允许Apache使用系统核心支持的sendfile来传送文件给客户端
IncludeOptional conf.d/*.conf //在/etc/httpd/conf.d目录下以.conf结尾的配置文件也会被读取

从上面也可以知道,默认情况下,网页文档可以放置在/var/www/html目录下,CGI脚本可以放置在/var/www/cgi-bin目录下;错误日志在/etc/httpd/logs/error_log,访问日志在/etc/httpd/logs/access_log。

设定好配置文件后,要测试配置文件语法有没有问题,可使用命令:

[root@localhost ~]#apachectl configtest

然后,重启httpd服务:

[root@localhost ~]# systemctl restart httpd

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

[root@localhost ~]# yum install php

安装完成后,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。

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

SetHandler application/x-httpd-php

//

:文件名与正则表达式相匹配的文件,将适用这里设定的语句。
//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:

LoadModule php5_module modules/libphp5.so

//如果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服务:

[root@localhost~]# systemctl restart httpd

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

vi /var/www/html/phpinfo.php

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

安装sqlite

yum install sqlite*
yum install php-sqlite*

会自动匹配安装包。
重启一次apache的httpd服务:

systemctl restart httpd.service

完毕。