lamp + mssql环境部署之二: 配置apache

修改网站根目录

  1. 创建存放网站文件的根文件夹
    mkdir /website

  2. 修改配置前,先备份httpd.conf文件.

cp /etc/httpd/conf/httpd.conf  /etc/httpd/conf/httpd.conf.bak

  1. 运行以下命令,修改配置文件,
vim /etc/httpd/conf/httpd.conf

有两个地方要修改

DocumentRoot "/website"  #apache的根目录,把/var/www/html 这个目录改为/var/www

<Directory "/website">   #把/var/www/html改成/var/www
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
  1. 重启apache
systemctl restart httpd
  1. 在网站根目录website中创建phpinfo.php文件.
echo "<?php phpinfo(); ?>" > /website/phpinfo.php
  1. 打开http://ip地址/phpinfo.php能看到以下页面,配置成功.

去掉tp5项目url地址中的index.php

例如原路径是 http://localhost/test/index.php/index/add
简化后地址是 http://localhost/test/index/add

解决办法: AllowOverride None 讲None改为 All //在APACHE里面去配置 (注意其他地方的AllowOverride也统统设置为ALL),代码如下:

DocumentRoot "/website"
<Directory "/website">
    Options Indexes FollowSymLinks
    AllowOverride all
    Require all granted
</Directory> 

alias 别名配置

Web网站别名配置是被经常使用的一个特性。为站点URI定义一个路径映射关系,简化url路径

简化前的url http://localhost/api/public/模块/方法
简化后的url http://localhost/api/模块/方法

Alias /api   "/website/api/public"
<Directory "/website/api/public">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Require all granted
</Directory>

Apache禁止显示目录结构

参考我的另一篇博客:https://www.cnblogs.com/panbin2006/p/16517378.html

配置https访问

  1. apache增加SSL模块,打开httpd.conf,增加下面这行
LoadModule ssl_module modules/mod_ssl.so # 增加SSL支持模块
IncludeOptional conf.d/*.conf  # 导入扩展配置文件,ssl.conf在conf.d目录下,没有这句读取不到ssl配置文件
  1. 修改ssl配置文件前,先备份
cp /etc/httpd/conf.d/ssl.conf  /etc/httpd/conf.d/ssl.conf.bak

  1. 创建证书存放目录,把下载的3个证书文件保存到该目录下。
mkdir /etc/httpd/cert
  1. 修改ssl.conf文件为
vim  /etc/httpd/conf.d/ssl.conf

修改后的ssl.conf文件

Listen 0.0.0.0:443
Listen [::0]:443
<VirtualHost *:443>
    ServerName   www.example.com
    DocumentRoot  /webiste
    SSLEngine on
    SSLCertificateFile  /etc/httpd/cert/www.example.com_public.crt
    SSLCertificateKeyFile  /etc/httpd/cert/www.example.com.key
    SSLCertificateChainFile  /etc/httpd/cert/www.example.com_chain.crt
</VirtualHost>
    SSLHonorCipherOrder on
    SSLProtocol all -SSLv2 -SSLv3

  1. 重启apache服务
systemctl restart  httpd
posted @ 2022-07-27 21:36  panbin_2006  阅读(32)  评论(0编辑  收藏  举报