前面我们写了 公司OA项目服务器配置注意点 ,迫于公司的系统只有现成apache的rewirte规则,而且我对apache并不熟而且使用得很少,所以这里我们记录一下如何在Docker容器中配置apache+php7.3的环境,废话不多说直接看配置。
在powershell终端中部署容器
docker run -d -p 8081:80 --name japache --link jmysql -v D:\wwwroot:/data/wwwroot -v D:\DockerConfig\apache2\sites-enabled\:/etc/apache2/sites-enabled/ --restart=always php:7.3-apache
网站文件跟目录在 D:\wwwroot
请注意容器与主机之间映射文件的对应关系。
进入Docker容器
docker exec -it japache /bin/bash
在容器中安装php扩展mysqli,启用rewrite功能
docker-php-ext-install mysqli
a2enmod rewrite
配置apache文件
在 D:\DockerConfig\apache2\sites-enabled\
目录下配置一个名为 poweridc.conf
的文件,内容如下:
<VirtualHost *:80>
ServerName poweridc
ServerAdmin webmaster@localhost
DocumentRoot /data/wwwroot/POWER_IDC
<Directory /data/wwwroot/POWER_IDC>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
RewriteRule !(^/static|\.(gif|swf|exe|png|jpg|js|css)$) /index.php [L]
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
修改hosts(可选)
Linux Windows MacOS 等系统中hosts的原理及作用