以下命令是在centos 7.9版本下,不同系统和版本命令和文件位置会不同
1. 基础命令
启动:systemctl start httpd
停止:systemctl stop httpd
重启:systemctl restart httpd
查看状态:systemctl status httpd
2. 增加虚拟主机
2.1 编辑配置文件
vi /etc/httpd/conf/httpd.conf
2.2 增加如下代码
<VirtualHost *:80>
DocumentRoot "/var/www/html/"
ServerName localhost:80
ErrorLog /var/www/html/logs/error.log
CustomLog /var/www/html/logs/access.log combined
</VirtualHost>
3、 打开rewrite模块
3.1 编辑配置文件
vi /etc/httpd/conf/httpd.conf
3.2 去除httpd.conf文件中”#LoadModule rewrite_module modules/mod_rewrite.so”前面的”#”号;
3.3 修改httpd.conf文件中的”AllowOverride None”为”AllowOverride all”,同时最好将AllowOverride Options也置为”all”,否则可能会出问题。
3.4 在需要重写的目录中新建.htaccess文件,代码如下
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
4、使用SSL证书
4.1 建立证书存放目录
cd /etc/httpd/
mkdir cert
4.2 将证书文件和私钥传上传到/etc/httpd/cert/
4.3 检查 /etc/httpd/conf/httpd.conf 中以下代码是否被注释,如果被注释需删除#注释
Include conf.modules.d/*.conf
4.4 检测 /etc/httpd/conf.modules.d/00-ssl.conf代码是否被注释,如果被注释需删除#注释
LoadModule ssl_module modules/mod_ssl.so
如果仍未找到以上参数,请确认您的Apache服务器中是否已经安装mod_ssl.so模块。如未安装,可执行yum install -y mod_ssl命令安装,安装后,可执行httpd -M | grep ‘ssl’命令检查mod_ssl.so是否安装成功。
4.5 编辑 ssl.conf文件
vim /etc/httpd/conf.d/ssl.conf
找到部分进行修改,参考如下。如果有多个域名就多复制几个
<VirtualHost *:443>
DocumentRoot "/var/www/html"
ServerName a.com
SSLCertificateFile /etc/httpd/cert/a.com.crt #证书
SSLCertificateKeyFile /etc/httpd/cert/a.com.key #私钥
</VirtualHost>