在Openshift上搭建Movabletype
Openshift的免费账户提供的功能已经超过了许多便宜空间服务商的服务。本文介绍在Openshift上搭建Movabletype的步骤。由于Openshift的空间部分被GFW屏蔽,但是加密链接还可以正常访问,因此介绍的方法需要连接vpn进行设置。安装步骤所采用的本机操作系统为Mac os X,服务器操作系统为redhat,如要在其他系统环境下配置,请参考openshift相关帮助文档。安装的Movabletype版本为Movable Type Pro 6.0.3。
以下按照顺序介绍Movabletype的安装。示例代码中,可以替换的变量用斜体字表示。
1 创建应用
创建应用可以通过浏览器登录Openshift网站,进入网站设置页面创建,也可以使用rhc命令创建。使用rhc在本地创建一个名字为mt的perl应用命令如下:
$ rhc create-app mt perl-5.10 $ rhc set-env TZ=Asia/Beijing -a mt $ rhc add-cartridge mysql-5.5 -a mt $ rhc add-cartridge cron-1.4 -a mt
成功执行完这些命令后,在本地创建一个名为mt的文件夹。使用浏览器进入网站后台即可看到已经创建的应用。
2 安装Movabletype准备工作
进入应用本地文件夹,创建Movabletype依赖的perl模块。
$ cd mt/.openshift $ touch cpan.txt
cpan.txt为Movabletype依赖的Perl模块列表,内容如下:
# .openshift/cpan.txt ################################### CGI::Cookie LWP::Protocol::https LWP::UserAgent HTTP::Request::Common File::Spec Image::Size DBI DBD::mysql DBD::Pg Net::SSLeay IPC::Run Archive::Zip Net::SMTP::TLS Authen::SASL Storable List::Util CGI::PSGI Cache::Memcached Digest::SHA Cache::File Crypt::SSLeay GD Archive::Tar Safe CGI::Parse::PSGI File::Temp HTML::Parser XML::SAX Scalar::Util Crypt::DSA SOAP::Lite Text::Balanced Digest::MD5 HTML::Entities XML::Parser IO::Socket::SSL IO::Uncompress::Gunzip Digest::SHA1 IO::Compress::Gzip XML::Atom Net::SMTP MIME::Base64 Net::SMTP::SSL Imager ###################################
下载Movabletype安装文件,解压到mt文件夹,使用Git推送到服务器。
$ git add . $ git commit -m "first commit" $ git push
3 安装Movabletype
使用ssh登录服务器,获取相关环境变量并修改cgi脚本权限。
$ ssh [email protected]
进入服务器后,可以发现,Openshift的应用安装在app-root目录下。其中,执行的代码存放在app-root/runtime/repo目录,该目录每次提交代码会被覆盖,app-root/repo为指向app-root/runtime/repo的软链接,app-root/data目录则不受代码提交影响,可以作为数据的备份文件夹。
执行env命令获取数据库地址、端口、用户名、密码等信息,供安装应用使用。
$ env
进入代码存放目录,设置cgi脚本权限。
$ chmod 755 *cgi
在浏览器输入网站的地址:https://mt-veryword.rhcloud.com/index.html进行安装。结合运行env命令获取到的变量完成安装。必须输入包含index.html的网址,因为创建的应用是perl应用,默认的索引文件是index.pl,在按照提示安装完应用之后,可以修改.htaccess文件,指定首页默认索引文件为index.html。
4 安装后配置
安装完应用,可以创建用户,添加新的内容或者导入旧的Movabletype网站内容。
发布新文章并进行重建的时候,网站偶尔出现"504 Gateway Time-out"的错误,在整站重建的时候这个错误尤其频繁。这是因为服务器限制了脚本的运行时间。如果发布内容较少,刷新一下即可。如果发布内容较多,可以通过ssh进入网站的安装目录,删除所有Movabletype生成的旧的静态文件,减少脚本的判断时间,提高运行效率。
有时候,在提交代码完之后,访问网站会出现无法访问的错误,这可能的原因是应用没有启动,可以在本地重启应用。
$ rhc app restart -a mt
重建完之后,如果访问某个目录,找不到索引文件,需要修改.htaccess文件,增加以下内容:
DirectorIndex index.html
在安装并配置好之后,可以将服务器上app-root/runtime/repo文件夹备份到app-root/data目录下,因为每次重新提交代码都会把配置文件覆盖,需要重新安装的过程,如果不是涉及核心代码更新,用备份文件覆盖即可。
以上即为在Openshift上安装Movabletype的步骤及必要的配置。重建完毕后,可以发现,使用加密链接访问速度相当快。
Comments