ubuntu16.04 配置php生产环境
安装Apache2与配置
sudo apt-get update
sudo apt-get install apache2
在浏览器中访问主机所对应的ip和端口。如果看到“it works”.第一搭建成功!
但是Apache2的默认监听端口为80.如果该端口被占用,则需要更滑Apache的监听端口,步骤如下:
更改apache2的监听端口
- 编辑/etc/apahce2/ports.conf文件
- 编辑/etc/apache2/sites-enabled/000-default。将中的端口号改成自己需要的即可
- 重启apache
安装php7.0
sudo apt-get install php7.0
-
使用php -v 来测试php是否 安装成功
-
安装libapache2-mod-php7.0
sudo apt-get install libapache2-mod-php7.0
-
在Apache.conf 文件后面追加
-
LoadModule php7_module /usr/lib/apache2/modules/libphp7.0.so AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
-
重启apache
更改网站目录
- 修改配置文件
在/etc/apache2/sites-enabled/000-default
中找到DoucumentRoot在后面修改你要放置网页文件的目录。
- 修改默认网页
修改/etc/apache2/mods-available/dir.conf中DirectoryIndex后面的内容 。
- 重启服务器
service apache2 restart
问题汇总:
Forbidden
You don’t have permission to access / on this server.
解决方法:chmod -R 777 yourdoucument
问题原因主要是documentroot 的权限不够
在apache2.conf中添加对应的文件夹权限
然后在对应的文件夹下编写index.php文件进行测试:
<?php
phpinfo();
?>
为apache添加ssl证书
- 下载CA证书的压缩包,我ca证书压缩包是这样的!使用Apache文件夹中的证书
-
加载openssl模块,在终端中输入openssl,如果出现下图这种情况,说明已经安装了
-
加载Apache的ssl模块,使用命令
sudo a2enmod ssl
- 安装证书
Apache加载SSL模块后,会在/etc/apache2/sites-available下生成default-ssl.conf文件,我们在终端使用sudo权限编辑
<VirtualHost *:443 >
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key
SSLCertificateChainFile /etc/apache2/ssl/ca.crt
- 把default-ssl.conf映射至/etc/apache2/sites-enabled文件夹
sudo ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/001-ssl.conf
- 安装php的常用扩展
sudo apt-get install curl libcurl3 libcurl3-dev php7.0-curl
sudo apt install php7.0-mysql
sudo apt install php7.0-mysqli
- 重启服务器,并使用https进行测试
问题:
ubuntu16.04环境下php 项目部署之后验证码图片无法显示问题
是因为宿主机系统中php 缺少相关的组件gd2.只要安装该组件重启服务器即可。
sudo apt-get install php7.0-gd
sudo apt-get install php7.1-gd