MAMP Pro 搭建 Typecho 本地环境踩坑实录

请注意,本文编写于 844 天前,最后修改于 842 天前,其中某些信息可能已经过时。

1,为什么用 MAMP Pro ?

MAMP 这几个首字母代表 Mac OS X 系统上的MacintoshApacheMySQLPHP

MAMP 内含 Apache 伺服器、PHP 安装套件以及 MySQL 安装套件。(其实同时支持 Windows 和 Mac OS)。

  • 支持`PHP多版本切换
  • Imagemagick图形处理工具
  • 动态`DNS
  • 虚拟服务器
  • phpMyAdmin等等工具
  • 支持一键安装WordPress, Joomla, Drupal等开源应用.

简单点来说,就是一键配置,想改就改,开箱即用。让你可以专注于业务。避免 环境搭建从开始到放弃尴尬局面。下面记录的是我为了研究大佬熊猫小 A 开发的VOID 主题而搭建的“Typecho”本地环境的过程以及坑。

2,MAMP 的一般配置。

2.1 下载安装

打开 官网 选择 Free Download 下载完成后得到一个 pkg 文件。一路Next 遇到 AgreeAgree 遇到该输密码就输密码。 提示安装成功以后。你会见到下图。

主界面
主界面

点击一下右侧黄色框选里面的箭头。能看到下图,说明配置成功了。

2.2 配置虚拟机(MAMP Pro 功能)

MAMP Pro 一项独有的功能就是虚拟主机。虚拟主机可以实现项目之间彼此隔离。下面我们新建一个虚拟主机blog.com

点击​2.1节中图一,中栏下角的 + 号。弹出如下界面。

建立虚拟主机
建立虚拟主机

在黄色框中填入我们的虚拟主机域名 blog.com, 点红圈选择网站目录(最好为全英文路径)。然后勾选蓝框中的,create a database 选项。

 建立数据库
建立数据库

输入你的数据库名字,例如如typecho。点击红框里的人头,选择已有的账号root

3,安装 Typecho

安装typecho 前,我们需要了解一下默认的环境。点击2.1节 中图1 右上角被红色框选的小飞机,在打开的界面 能看到 PHP配置和SQL 配置。

image-20190409192351286
image-20190409192351286

记下一些我们一会要用的信息。
/***********************
* Host     : localhost *
* Port     : 3306      *
* User     : root      *
* Password : root      *
************************/

由于typecho 最新稳定版更新于 2017 年,已经不支持最新的PHP7.0+,本着装新不装旧的原则。我选择从typecho github 官网,下载最新的开发版(直接 git clone 项目或者下载 zip 包解压)。

git clone https://github.com/typecho/typecho.git

把其中的文件整体复制到我们上一节建立虚拟机时候选择网站根目录。启动MAMP 后直接在浏览器打开

blog.com

点击我准备好了,开始下一步,填入上一节刚才获取的信息。

tyoecho 配置下
tyoecho 配置下

点击下一步,如果看到这个就说明你安装成功了。

<img class=">

但是生活总不是一帆风顺的,总是遇到大大小小的问题和坎坷,摔倒了怎么能快速爬起来?我给你们准备了,FAQ。 别问我怎么发现的,问就是睿智。

FAQ

Q1 我想用 Nginx,但是每次 Apache 都会自动启动,怎么关闭?

A:如图

然后点 SAVE。 如果你想 Nginx 默认启动进入标签后相反操作即可。

Q2 怎么改 SQL 数据库密码?

A:Q1 中图片,选 MySQL 标签,右侧有change my password ,如果为灰色无法更改,请先点右上角电源键关闭服务。

Q3 启动服务里选 Nginx 以后无法选择 PHP 版本怎么办?

A:标签 PHP 里面 Mode改成CGI Mode .

Q4 怎么改端口?

A:Ports 标签里面有设置。

Q5 无法连接库怎么办?

A: 请确认,库名,密码是否填错。然后把下面勾上。

Q6 Typecho 除了主页一直404 怎么办?

A:这是由于Nginx对pathinfo支持不够的问题,需要手动添加地址重写代码.Hosts 页面选自己虚拟主机,在Nginx 标签 内的 Custom 内填入下面代码。

if (-f $request_filename/index.html){
    rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
    rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
    rewrite (.*) /index.php;
}

Q8 为什么打开的不是我的本地站而是外部网站?

A :是不是 终端下 ping 返回的是 127.0.0.1 但是就是浏览器打开的不对?

关了你右上角的小火箭

Q9 这软件这么贵,我不想花钱又想要全功能怎么办?

A:洗洗睡吧,或者点这里

END