千家信息网

LAMP环境搭建小结

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,1. 为什么下载源码包需要到官网上去下载?简单说就是为了安全,如果是非官方下载的源码包,有可能被别有用心的人动过手脚,毕竟是源码的,任何人都可以修改代码。2. 64位机器是否可以安装32位rpm包?6
千家信息网最后更新 2025年02月04日LAMP环境搭建小结

1. 为什么下载源码包需要到官网上去下载?
简单说就是为了安全,如果是非官方下载的源码包,有可能被别有用心的人动过手脚,毕竟是源码的,任何人都可以修改代码。

2. 64位机器是否可以安装32位rpm包?64位机器是否可以安装32位的mysql二进制免编译包?
64位机器是可以安装32位rpm包的,同样的64位机器也能安装32位的mysql二进制免编译包(centos5.x的确是支持,但是centos6.x不支持)。

3. 编译安装apache时, 如果不加-with-included-apr 会有什么问题?
会报错,Cannot use an external APR with the bundled APR-util,因为apr是一个底层的接口库,编译apache必须要有这个支持。

4. 编译php时,必须加上 -with-apxs2=/usr/local/apache2/bin/apxs 这是什么意思呢?
apxs是apache编译动态模块并自动配置加载到httpd.conf文件的一个工具,由于php也是作为apache的一个动态加载模块,我们编译php的目的就是为了生成这个模块,所以必须要指定apxs的地址。

5. 当配置好apache的配置文件后,如何检验配置文件是否正确?
/usr/local/apache2/bin/apachectl -t

6. 如何查看80端口是否启动?
netstat -lnp |grep ':80'

7. 更改apache配置文件httpd.conf后,如何重新加载配置文件?
/usr/local/apache2/bin/apachectl graceful

8. 如何查看apache加载了哪些模块?
/usr/local/apache2/bin/apachectl -M

9. 怎么查看php加载了哪些模块?
/usr/local/php/bin/php -m

10. 简单描述静态加载和动态共享模块的区别。
不管编译httpd还是php,都会有一个静态模块和动态模块的概念。首先,动态和静态模块宏观上分析,静态会直接编译进httpd这个可执行文件内,而动态的模块是单独的一个文件;其次,静态模块是和httpd这个文件一同加载的,只要服务一开启就会加载所有的静态模块,而动态模块是根据需求什么时候用什么时候加载。

11. 当我们配置好lamp环境后,访问php程序无法解析,你如何去排查这个问题呢?
(1) apachectl -M 看是否加载了libphp5.so
(2) 如果没有加载,那查看/usr/local/apache2/modules/是否有libphp5.so,然后查看httpd.conf 中是否有LoadModule libphp5.so
(3) 再看httpd.conf中是否有 AddType application/x-httpd-php .php
(4) apache一定要重启服务

12. 如何配置apache的虚拟主机(Apache的主配置文件: /usr/local/apache2/conf/httpd.conf)
vim httpd.conf
#Include conf/extra/httpd-vhosts.conf
把该行最前面的#去掉,然后修改:

Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all

改为

Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all

再 vim conf/extra/httpd-vhosts.conf 根据实际需求修改

13. 如何配置apache的用户验证
vi httpd.conf
在相应的虚拟主机配置文件段,加入

AllowOverride AuthConfig
AuthName "自定义的"
AuthType Basic
AuthUserFile /data/.htpasswd // 这个目录你可以随便写一个,没有限制
require valid-user

保存后,然后创建apache的验证用户 htpasswd -c /data/.htpasswd test

14. 如何配置apache的日志以及日志按天切割
在httpd.conf 在相应的虚拟主机配置段,加入
CustomLog "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/logs/www.yourdomain.com-access_%Y%m%d.log 86400" combined
注意,需要写成绝对路径,写成相对的路径可能不生效

15. 如何配置apache的图片等静态文件的过期时间

httpd.conf 中加入


ExpiresActive on
ExpiresByType p_w_picpath/gif "access plus 1 days"
ExpiresByType p_w_picpath/jpeg "access plus 24 hours"
ExpiresByType p_w_picpath/png "access plus 24 hours"
ExpiresByType text/css "now plus 2 hour"
ExpiresByType application/x-javascript "now plus 2 hours"
ExpiresByType application/x-shockwave-flash "now plus 2 hours"
ExpiresDefault "now plus 0 min"

16. 如何限定某个目录下的php文件没有执行权限
vim httpd.conf
在相关的虚拟主机段,加入

php_admin_flag engine off

其中 /www/htdocs/path 为要限制的目录

17. 如何配置apache的域名重定向
要把访问域名 www.domain1.com 的域名转发到 www.domain2.com 上
实现:
在相关的虚拟主机中增加

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.domain1.com$
RewriteRule ^(.*)$ http://www.domain2.com/$1 [R=301,L]

如果是多个域名重定向到一个域名

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.domain.com[OR]
RewriteCond %{HTTP_HOST} ^www.domain1.com$
RewriteRule ^(.*)$ http://www.domain2.com/$1 [R=301,L]

18. 如何配置php的错误日志
vim php.ini 检查并配置如下两项
log_errors = On
error_log = logs/error.log

19. 如何在php中配置open_basedir, 是否可以在httpd.conf 中针对虚拟主机配置open_basedir?
vim php.ini
加入 open_basedir=/var/www/
httpd.conf中也可以针对虚拟主机限制openbasedir:
在相对应的虚拟主机配置文件中加入:
php_admin_value open_basedir "/var/www/htdocs"

20. 如何禁止php的函数exec
vim php.ini 找到
disable_functions =
改为
disable_functions = exec 如果是多个函数,可以在exec后面继续增加函数名用逗号分开即可

21. 我们以源码安装LAMP环境时,先安装哪个,后安装哪个?为什么呢?
安装顺序可以是 mysql apache php 也可以是 apache mysql php
把php放到最后,这是因为安装php时,需要指定mysql安装目录,也需要指定apache的apxs工具

22. 怎么确定你的php.ini 在哪个目录下?
php -i |grep 'Configuration File'

23. 怎么确定你的php的extension_dir 在哪里?
php -i |grep 'extension_dir'


配置 文件 模块 编译 主机 虚拟主机 动态 静态 域名 目录 机器 源码 函数 日志 支持 限制 环境 二进制 多个 就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 服务器数据库远程转发 学术专著进数据库 云服务器端口映射延迟高 重庆北碚dns服务器云服务器 香港服务器 试用 i华大网络技术中心 全省网络安全工作先进事迹 数据库连接池的使用 湖南竞网智赢网络技术有限公 未转变者服务器没有 数据库原理中信息名词解释 服务器非标机箱价格 网络安全上的手抄报写什么 小学网络安全教育班会简报 北京市软件开发公司 去年成立 戴尔机架式服务器r440 苏州阿里云服务器售前技术 北京市网络安全法规 计算机网络技术人工智能区块链 服务器不连显示器可以远程吗 安徽通信软件开发服务五星服务 网络安全宣传周预防冒充公检法 数据库结构 展示系统 手机的网络安全密钥在哪里找 数据库撤稿论文 网络安全宣传周海报漫画 公司网络服务器费用计入哪个科目 上海啸南网络技术有限公司苏州 网络安全措施有 伍子行网络技术有限公司
0