Ubuntu安装apache+Yii2
1.下载Yii2
https://www.yiichina.com/download
2.将解压后的文件放在指定的位置,这里是/home/www/yii/
3.安装apache2
sudo apt-get iinstall apache2
3.启动和查看apache2
启动:
sudo /etc/init.d/apache2 start
查看:
ps -ef |grep "apache"

4.配置虚拟主机 www.feiquan.com
sudo touch /etc/apache2/sites-enabled/www.feiquan.com.conf
sudo vim/etc/apache2/sites-enabled/www.feiquan.com.conf
<VirtualHost *:>
ServerName www.feiquan.com
DocumentRoot /home/www/yii/web
<Directory " /home/www/yii/web">
Require all granted
Allow from all
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
</Directory>
</VirtualHost>
5.配置hosts文件(记得这里是hosts不是host)
ifconfig
得到IP地址 192.168.0.100
sudo vim /etc/hosts
在其中添加IP和域名
192.168.0.100 www.feiquan.com
6.重启apche2服务(失败)
sudo /etc/init.d/apache2 start

需要启动apache2的rewrite模块
sudo a2enmod rewrite

然后重启apche2服务
7.然后打开浏览器,查看www.feiquan.com

可以看到提示,是PHP语言
8.安装apache2的PHP模块
sudo apt-get install libapache2-mod-php
然后重启apache服务
9.打开浏览器刷新www.feiquan.com
然后可以看到YII的报错信息

10.设置cookieValidationKey
根据时间戳来生成cookieValidationKey
PHP -r "echo md5( time () );"
将生成的信息,复制到Yii2的解压目录下的,config\web.php 中,

刷新浏览器,www.feiquan.com
此时会展示,首页

11.改变路由规则
将web.php中的urlManager的注释去掉,在config目录下新建一个router.php路由文件,为了单独管理PHP的路由。然后将urlManager下的代码复制到router.php中,
router.php
<?php
return
[
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
],
];
web.php
'urlManager' => require(__DIR__."/router.php"),
之后要修改文件路由的话直接改router.php文件
12.修改默认首页
修改路由规则:
router.php
<?php
return [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
"/"=>"/default/index"
],
];
在controllers文件夹下新建默认首页:
DefaultController.php
<?php namespace app\controllers; use yii\web\Controller; class DefaultController extends Controller
{
public function actionIndex(){
return "index";
}
}
访问www.feiquan.com

Ubuntu安装apache+Yii2的更多相关文章
- Ubuntu安装Apache+PHP
1.Ubuntu 安装Apache 安装Apache sudo apt-get install apache2 修改端口号 打开 etc/apache2/port.config 修改 port 80 ...
- Ubuntu安装Apache
在虚拟机上安装了Ubuntu13.10 ,然后使用命令 sudo apt-get install apache2 安装apache总提示“E: 未找到软件包...”,不知所踪,这可能是新手容易的犯 的 ...
- linux -- ubuntu 安装apache后,修改默认路径
默认由apt方式安装的Apache,指定网页主目录位于:/var/www 而系统/var所分到的空间太少,所以要换路径 1.修改默认网站目录 ubuntu8.10下修改apache2的默认文档目录 默 ...
- Ubuntu安装Apache 2.4.7常见问题解答
环境:Apache 2.4.7 on Ubuntu 14.04 启动apache服务报错:Unknown Authz provider: ip 进入mod模块目录 cd /etc/apache2/mo ...
- ubuntu 下安装 apache php mysql
ubuntu 安装 apache+php+mysql1.打开终端,输入“sudo apt-get install apache2”,回车;(安装apache2.0或2.x新版本,系统会自动查找新的版本 ...
- Ubuntu杂记——Apache+PHP+MySQL的安装
昨天晚上,参考博客园的另一篇文章,在自己的Ubuntu上搭建了一个Apache+PHP+MySQL的服务器,在此谨记,以备不时之需. 一.安装Apache sudo apt-get install a ...
- Ubuntu下Apache的安装
Ubuntu下可快速安装LAMP server(Apache+MySQL+PHP5),参见<Ubuntu下快速安装LAMP server>一文. 也可以手动安装Apache.本文介绍如何手 ...
- 在Ubuntu下安装Apache
在Ubuntu下安装软件其实非常方便,Ubuntu提供了apt-get工具,可以使用该工具直接下载安装软件. 在Linux里,系统最高权限账户为root账户,而默认登录的账户并非root账户,例如不具 ...
- 记录在Ubuntu 18.04系统中安装Apache, MySQL和PHP环境
虽然我们在Linux VPS.服务器安装WEB环境比较方便,可以选择面板或者一键包,但是有些我们需要深入学习的网友不会选择一键安装,而是会尝试编译安装.这样可以学到一些内在的技术.一般我们较为习惯选择 ...
随机推荐
- namespace------------https://www.cnblogs.com/linhaifeng/p/6657119.html
PHP支持两种抽象的访问当前命名空间内部元素的方法,__NAMESPACE__ 魔术常量和namespace关键字. 常量__NAMESPACE__的值是包含当前命名空间名称的字符串.在全局的,不包括 ...
- PAT1113: Integer Set Partition
1113. Integer Set Partition (25) 时间限制 150 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue ...
- SSM-Spring-22:Spring+Mybatis+JavaWeb的整合
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 众所周知,框架Spring来整合别的框架,但是Mybatis出现的晚,Spring就没有给他提供支持,那怎么办 ...
- SSM-MyBatis-12:Mybatis中添加单个对象返回主键id列
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 实体类 public class Book { private Integer bookID; private ...
- union 的两个用处
1 节约内存: 这一功能可以参考我的其它博文: https://i.cnblogs.com/EditPosts.aspx?postid=8545190&update=1 2 测试机器大小端: ...
- js实现html截图生成图片
没有华丽的开场,直入主题,这就是题主随笔风格.随笔既是日常工作积累,也可理解是个工作笔记,方便日后用到之处快速的有方可寻. 先讲一个需求场景: 定制网页截图传给服务器端保存,用户关注公众号后自 ...
- Doctype作用?标准模式与兼容模式各有什么区别?
Doctype作用?标准模式与兼容模式各有什么区别? DOCTYPE是document type(文档类型)的简写,用来告诉浏览器的解析器使用哪种HTML或XHTML规范解析页面.DOCTYPE不存在 ...
- Python-分支循环- if elif for while
分支与循环 条件是分支与循环中最为核心的点,解决的问题场景是不同的问题有不同的处理逻辑.当满足单个或者多个条件或者不满足条件进入分支和循环,这里也就说明这个对相同问题处理执行逻辑依据具体参数动态变化, ...
- admin-handlers.go
package],,) ],,) ],,) ],,) ],,) ]) if err == redis.Nil { http.NotFound(w, r) } else ...
- VS编译代码未通过,常见问题。
问题一:LNK2028 这个问题一般是什么函数在哪里被引用.修改的方法是:先检查是否包含头文件,如果已经包含了头文件,则检查在源文件的"import.cpp"中是否包含了该lib文 ...