使用命令行安装FastAdmin的详细步骤

1. 为什么要写这篇文章

  • 首先,FastAdmin是个好东西,值得一用和一学。
  • 第二,官方推荐使用命令行安装FastAdmin,因为采用命令行安装的方式可以和FastAdmin随时保持更新同步。
  • 官方默认你已经对以下这些知识和概念有了解:PHP、Git、Node.js、Composer、Bower。然而事实情况是,很多人只是了解PHP,对其它几个技术不甚了解,或者说的直白点,压根没听过。其实这不是什么丢人的事情,因为对于做中小项目的PHPer而言,搞清楚PHP的常规用法就足够了。
  • 写这篇文章的一个主要意图是通过安装过程让大家明白Git、Node.js、Composer、Bower这四个东东都是做什么的。

2. 官方给出的安装说明

强烈建议使用命令行安装,因为采用命令行安装的方式可以和FastAdmin随时保持更新同步。使用命令行安装请提前准备好Git、Node.js、Composer、Bower环境,Linux下FastAdmin的安装请使用以下命令进行安装。
1. 克隆FastAdmin到你本地
git clone https://gitee.com/karson/fastadmin.git
2. 进入目录
cd fastadmin
3. 下载前端插件依赖包
bower install
4. 下载PHP依赖包
composer install
5. 一键创建数据库并导入数据
php think install -u 数据库用户名 -p 数据库密码
6. 添加虚拟主机并绑定到项目的public目录
7. 为了安全,安装完成后会在public目录生成随机后台入口,请通过随机后台入口登录管理后台

3. 分步详细解释

3.1 克隆FastAdmin到你本地

  • git是什么?git是和svn一样的版本管理工具。目前git主要应用的场景还是在开源领域。对于类似FastAdmin这样的开源项目而言,一般都是第一时间将最新的代码放到git的服务器上。通过git clone命令,就可以从git服务器下载最新的项目代码。
  • 这里面的git clone命令是运行在git bash客户端里面的。而git bash则需要在电脑里面安装git软件后才能使用。
  • git软件的官方网址如下:https://git-scm.com/ ,下载安装步骤和普通软件无异,基本上就是【下一步】就可以了。
  • git安装好后,在任何地方点击鼠标右键都会出现Git Bash Here命令选项,点击Git Bash Here后,就会出现git bash小黑窗。
  • 在哪里打开git bash小黑窗,git bash的当前目录就被确定在哪里。
    file
  • 所以呢,在你想要安装FastAdmin的目录下打开Git Bash小黑窗,然后运行命令,就可以将最新的FastAdmin代码下载下来了(注意:下载时会创建一个新的名为FastAdmin的目录):
    git clone https://gitee.com/karson/fastadmin.git

3.2 进入目录

待所有代码都下载完成后,打开一个cmd窗口,然后进入到刚刚生成的fastadmin目录中:

cd fastadmin

向下承接【A】(如果你的电脑已经有Node.js和bower环境)

3.3 下载前端插件依赖包

3.3.1 先安装npm

你想要使用bower的前提是你必须在机器上安装bower。而安装bower的时候需要使用npm,不仅是bower,下面的less也需要用npm来安装。
npm来自哪里呢?来自Node.js!
是不是快绕晕了?没事儿,再梳理下:

  1. 先在本机安装Node.js。具体安装方法见:http://www.moonlightgate.com/archives/278
  2. 我们安装Node.js其实不是为了用Node.js本身,而是为了用安装Node.js时候自动附带安装的npm(有点“买椟还珠”的意思)。有关npm命令的详细介绍,可以参考:http://www.moonlightgate.com/archives/359
  3. npm怎么用呢?打开cmd窗口,直接输入相关的npm命令即可。
3.3.2 理解bower是什么?
  • 先说一句以便更好理解:bower和下面的composer的用处是非常相似的。只不过bower用于管理前端资源,composer用于管理后端php资源。
  • 那么bower是什么呢?bower是一个前端资源的管理器。
  • 举个例子:你在开发网站的时候,会用到很多前端的库,比如:Jquery、Bootstrap、Less等等。在没有bower之前,这些东西你都要自己一个个下载好,然后放到你的项目目录里面。这样做一来麻烦,二来下载的版本很可能每次都不一样,容易出现版本兼容的问题。有了bower后,bower会在你的项目根目录保存一个bower.json文件,里面写明白了这个项目需要用到哪些前端库以及这些库的版本号。这样只需要运行bower命令,就可以自动将bower.json里面提到的前端库自动从bower的服务器上下载下来并放到指定的位置。这种管理机制是非常有用的。
3.3.3 安装bower

打开cmd窗口,输入以下命令:

cnpm install bower -g 
3.3.4 使用bower下载前端插件依赖包

向上承接【A】

bower install

这样FastAdmin依赖的前端资源就都安装好了。
向下承接【B】(如果你的电脑已经有composer环境)

3.4 下载PHP依赖包

3.4.1 安装composer

上面讲bower的时候也提到了,composer和bower的作用非常相似。只不过composer是用来管理php资源库的。
composer的安装方法请见:http://www.moonlightgate.com/archives/233
composer安装好后,在cmd窗口中就可以直接使用composer命令了。

3.4.2 下载PHP依赖包

向上承接【B】

composer install

这时候,FastAdmin全部的代码就都齐全了。

你肯定会问,这好麻烦啊!直接使用安装包解压不就好了吗?何必搞得这么麻烦?这个问题现在我如何说你也是不会理解的,你需要做一段时间开发后才能明白这么做的意义!

3.5 一键创建数据库并导入数据

首先,确保你的php已经加入了环境变量,这样可以直接在cmd中使用php命令。
然后打开cmd,输入如下命令:

php think install -u 数据库用户名 -p 数据库密码

这样数据库就导入到指定的数据库里面了。

3.6 添加虚拟主机并绑定到项目的public目录

具体方法见:http://www.moonlightgate.com/archives/413

3.7 为了安全,安装完成后会在public目录生成随机后台入口,请通过随机后台入口登录管理后台

3.8 安装less

3.8.1 什么是less

用更加类似程序化的语法去编写CSS,比如可以在less里面创建变量,实现循环等等。
less文件本身不能被浏览器识别,需要被编译成(转换成)CSS后才能运行。

3.8.2 安装

这个安装教程里面没有提,但是为了后面编译less文件方便。可以在cmd里面使用以下命令进行安装:

cnpm install less -g

如何将Joomla1.5升级至Joomla2.5

前言

本文转自我之前的博客,写于2012年。以下为文章原文:

近期接了一个荷兰的订单,主要的工作是将当前网站的Joomla1.5系统升级为Joomla2.5系统。

在进行升级工作之前,我曾经查阅了很多互联网上的文献,遗憾的是,国内没有一篇完整记录Joomla1.5升级至2.5的技术类文章。想起来还是我的英语帮了我大忙,经过不断的搜索,从Joomla官方网站上找到了Joomla1.5升级为Joomla2.5的权威文章。文章链接如下:http://docs.joomla.org/Migrating_from_Joomla_1.5_to_Joomla_2.5

为了方便不习惯看英文文档的技术ers,我将文章的精髓进行翻译,并补充各种我在实际升级过程中遇到的问题。

Joomla1.5升级至Joomla2.5神功现在开始!

一、升级之前的准备。

升级开始前,以下准备工作是必须的。

  1. 重新判断一下,你的Joomla是否真的要升级?当然,如果你是接单赚钱的话,没有真不真的问题,你肯定要做的。但是如果是你自己的网站,你真的要考虑一下,是否真的有升级的必要?因为升级就肯定存在风险,而且产生很多附带的工作量,对于这两点,你必须做好思想准备。
  2. 你的Joomla1.5是不是最新版本?这里的最新是针对Joomla1.5这个大版本号而言的,Joomla1.5的最新版本是1.5.26。如果你的Joomla1.5不是最新版本,则必须要将Joomla1.5升级至最新版本后才可以进行后面的操作。(原因:我们将会使用JUpgrade进行Joomla的升级工作,而JUpgrade支持Joomla1.5.26到Joomla2.5的升级,很多朋友都抱怨JUpgrade不好用,其实是因为自己的Joomla1.5版本不对)。
    经验之谈:至于如何将Joomla1.5升级至最新版本,请看这篇文章:how to update from Joomla! 1.5.x to the latest version(这篇文章也是英文的,但是内容比较简单,如果大家有问题可以随时联系我,我抽时间会将此文章也翻译一下)。
  3. 当前的Joomla插件是否支持Joomla2.5?这也是个不大不小的问题。某些在Joomla1.5下面安装的插件在升级后是不支持Joomla2.5的。因此先要对插件的情况进行一下了解。最理想的情况是在升级Joomla之前,现在Joomla1.5的环境下将所有插件都升级到最新版本,之后再进行Joomla的升级。
    经验之谈:在升级过程中,插件方面我是比较幸运的。我没有按照要求对插件进行升级,而是先对Joomla进行了升级,升级后发现,诸如“Acymailing”,“Community Builder”等插件是无法正常使用的。但好在这两个插件都有相关的补救办法,具体方法我再后面还会说明。
  4. 你是否更改了Joomla的核心文件?有关“核心文件”的定义并没有确切的界限,简单的说,凡是升级过程中会被新文件覆盖的文件都属于核心文件。这个问题我想大家不要过于纠结,因为从1.5升级至2.5是大版本号的升级,很多核心文件都会被替换,所以如果你确实修改了很多核心文件的话,我建议你还是考虑一下升级的必要性。
  5. 你当前使用的Joomla模版和Joomla语言包是否支持Joomla2.5,这个插件的兼容性基本上属于一个问题。还是那句话,既然进行大版本号的升级,就要做好一切准备。

二、备份、备份、一定要备份

首先还是要说,我的升级之路比较顺利,虽然遇到过问题,但是没有遇到哪些需要重新来过的大问题。但是对于每一个即将进行升级操作的人而言,我还是想各位说一句“一定要备份、备份、在备份”。这里包括数据库和代码的完整备份,如果哪位连怎么备份都不知道的话,我建议您还是不要升级了,您肯定搞不定接下来的事情。

三、开始升级

1. 首先需要下载升级工具jUpgrade。

地址如下:http://extensions.joomla.org/search?q=jupgrade。话说这个工具真是个神作,这里要特别重复一下,这个工具是绝对好用的,如果你使用的时候有异常,多半情况下是没有按照本文第一部分的要求将Joomla1.5升级至最新版本

2. 安装jUpgrade。

安装方法就是Joomla1.5通用扩展安装方法。

2.1 进入你的Joomla1.5后台,然后依次点击Extensions >> Install/Uninstall。
file
2.2 Browse >> Select com_jupgrade >> Upload File & Install
file
2.3 安装成功
file

3. 启动“Mootools Upgrade ”插件。

  • 进入 Extensions | Plugin Manager
  • 查找 "System - Mootools Upgrade"
  • 将此插件开启
    请确保Mootools Upgrade插件已经正确安装并开启, jUpgrade需要依靠此插件才能正常运行。

4. 对JUpgrade进行设置。

截止到本文编写时,JUpgrade的版本号是2.5,支持将Joomla从1.5升级至1.7或者2.5,并附带了众多的升级选项设置。具体设置位置在:Administrator > Components > jUpgrade > Parameters.Global

  • Distribution - 选择要升级到的Joomla版本号,1.7或是2.5
  • Prefix for old database - 当前Joomla网站的数据库表前缀
  • Prefix for new database - 升级后的Joomla网站的数据库表前缀

Skips
Skip checks - 略过升级前的检测
Skip download - 略过下载升级包(注意:当你已经自行下载了升级包,并将升级包放入temp文件夹中,才选择此选项)
Skip decompress - 略过解压缩(注意:当你自行下载升级包后,且将升级包放入temp文件夹中,并自行解压缩后,才选择此选项)

Templates
Keep original positions - 保留原始的目录结构

Debug
Enable Debug - 允许错误调试,当升级出现错误的时候,显示相关的错误信息。

以上信息配置完成后,保存即可。

5. 移植开始。

依次进入:Components >> jUpgrade
file
开始升级
file
file
这个时候要注意不要退出页面,直至所有加载条都完成加载后才可以关闭页面。
file

另一个注意事项,JUpgrade只将Joomla1.5的默认模版进行了升级,因此当你打开升级后的网站时,网站的默认模版是被选中的,需要在后台进行切换才可以。

四、升级之后

  1. 首先先要恭喜你经过了这个惊心动魄的过程。话说我在进行升级的过程中,每点击一个按钮时心都提到嗓子眼了,当发现没有报错,又会暗自狂喜一下。
  2. JUpgrade的升级过程实际上是非常安全的。JUpgrade在升级网站的时候,没有对原来的Joomla网站进行任何的修改,原来的数据库表、源文件还是在那里,JUpgrade实际是在原来网站的根目录里面创建了一个“jupgrade”文件夹,并将升级后的Joomla2.5网站文件保存在了这个文件夹里面。
  3. 依次检查一下下面的这些功能是否还是正常工作:
    Banners
    Categories
    Contacts
    Content
    Menus
    Modules
    Newsfeeds
    Users
  4. 了解了升级原理,并确认升级成功后,下面就可以对原有网站进行清楚了。清楚地方法也很简单,将数据库中Joomla1.5表前缀的数据表全部清除,并将网站根目录中除了jugrade文件夹的源文件全部删除,然后将jugrade文件夹中的文件转移至网站根目录即可。

五、有关“Acymailing”和“Community Builder”升级后的问题。

这两个插件在Joomla从1.5升级至2.5都出现了问题。问题描述和解决办法如下:

1. Acymailing

问题描述:升级后Acymailing在Component菜单下直接消失了。
解决方法:很简单,下载一个最新版的Acymailing插件,然后重新安装即可。可以放心,原来的数据都会保留。

2. Community Builder

问题描述:升级后点击Community Builder菜单后报错。
解决方法:也不难,下载一个最新版的CB,解压缩后按照里面的提示对CB进行升级即可,原来的数据库也会保留。