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环境比较方便,可以选择面板或者一键包,但是有些我们需要深入学习的网友不会选择一键安装,而是会尝试编译安装.这样可以学到一些内在的技术.一般我们较为习惯选择 ...
随机推荐
- python识别图片文字
因为学校要求要刷一门叫<包装世界>的网课,而课程里有200多道选择题,而且只能在手机完成,网页版无法做题,而看视频是不可能看视频的,这辈子都不可能看...所以写了几行代码来进行百度搜答案. ...
- MySql中innodb存储引擎事务日志详解
分析下MySql中innodb存储引擎是如何通过日志来实现事务的? Mysql会最大程度的使用缓存机制来提高数据库的访问效率,但是万一数据库发生断电,因为缓存的数据没有写入磁盘,导致缓存在内存中的数据 ...
- Collections.synchronizedMap()、ConcurrentHashMap、Hashtable之间的区别
为什么要比较Hashtable.SynchronizedMap().ConcurrentHashMap之间的关系?因为常用的HashMap是非线程安全的,不能满足在多线程高并发场景下的需求. 那么为什 ...
- Java 8 异常该进
try-with-resources 这个特性是在JDK7中出现的,我们在之前操作一个流对象的时候大概是这样的: try { // 使用流对象 stream.read(); stream.write( ...
- linux几种定时函数的使用
Linux定时函数介绍: 在程序开发过程中,我们时不时要用到一些定时器,通常如果时间精度要求不高,可以使用sleep,uslepp函数让进程睡眠一段时间来实现定时, 前者单位为秒(s),后者为微妙(u ...
- 基于opencv3.0下的运动车辆识别
在opencv的初等应用上,对运动物体的识别主要有帧差或背景差两种方式. 帧差法主要的原理是当前帧与前一帧作差取绝对值: 背景差主要的原理是当前帧与背景帧作差取绝对值: 在识别运动车辆上主要需要以下9 ...
- CSS选择器详细总结
一.基本选择器 序号 选择器 含义 1. * 通用元素选择器,匹配任何元素 2. E 标签选择器,匹配所有使用E标签的元素 3. .info class选择器,匹配所有class属性中包含info的元 ...
- Android 不规则图像填充 小玩着色游戏
转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/45788433: 本文出自:[张鸿洋的博客] 一.概述 近期群里偶然看到一哥们在 ...
- Javascript 进阶 面向对象编程 继承的一个例子
Javascript的难点就是面向对象编程,上一篇介绍了Javascript的两种继承方式:Javascript 进阶 继承,这篇使用一个例子来展示js如何面向对象编程,以及如何基于类实现继承. 1. ...
- JFree图表
************************************************************************************* 使用JFree生成统计图片, ...