1.原来 GitStack 是安装在局域网的,为了更好开展工作,迁移到公网的服务器。(安全性未知)
2.公网服务器已经在运行一个 Apache 2.4 (占用80端口);
3.GitStack 2.3.8 安装时要求停止掉占用80端口的应用,安装完后把80端口改为其他,再启动原来使用80端口的应用。这可不行啊,运行中的网站,不能中断,于是想到了绿色版;
4.因为之前有过安装绿色版 Apache 的经验,然后翻看了 GitStack 的结构,有 PHP 和 Python ,都可以使用绿色版,于是我在本地安装好,制作了个绿色安装包;
5.本地安装一路 NEXT 即可。但是搬到服务器发现了几个问题,经过几番折腾,终于搞定了,记录下几个步骤。
5.1. 安装 Apache 为 Windows 服务,用 cmd 打开 D:GitStackapahcein ,命令:httpd.exe -k install -n "GitStack" -w,这个时候提示“找不到不到MSVCR100.dll组件”的错误,经过各种查询,在这篇文章(http://www.upupw.net/website/n3.html)参考下,解决了。原因有我的服务器是64位的,而 GitStack 所带的 Apache 2.2 编译后是32位的(即便我已经安装了 Apache 2.4 ),必须使用Microsoft Visual C++ 2010 SP1(x86)来解决;
5.2. 好不容易把 Apache 安装到系统服务中,赶紧使用命令检查下配置: httpd.exe -n "GitStack" -t ,提示无法加载模块:
LoadModule wsgi_module modules/mod_wsgi.so
查阅资料以及对比本地机器,发现需要在系统变量的 Path 中加入相关 Python 的路径:
D:GitStackpython;D:GitStackpythonScripts;D:GitStackphp;D:GitStackgitcmd;D:GitStackgitin
wsgi.so载入正常了,但是又出现如下情况:
D:GitStackapachein>httpd.exe -n "GitStack" -t [Sat May 21 17:59:02 2016] [warn] module rewrite_module is already loaded, skipp ing httpd.exe: Could not reliably determine the server's fully qualified domain name , using 2002:3a43:9cbe::3a43:9cbe for ServerName Syntax OK
rewrite模块重复了,加个#注释掉,第二个加个 ServerName 即可。
检查配置,终于提示 Syntax OK。
5.3. 打开 ApacheMoniter 来启动,却提示无法启动,查看 erorr.log 发现了如下错误:
ImportError: No module named site [Sat May 21 18:17:58 2016] [crit] (OS 6)句柄无效。 : master_main: create child process failed. Exiting.
度娘后发现,还是 Python 的引用问题。需要加上两个系统变量:
变量名:PYTHONHOME
变量值:D:GitStackpython
变量名:PYTHONPATH
变量值:D:GitStackpythonlib
至此,终于完成了 GitStack 2.3.8 绿色版的安装和配置及启动。
6.接下来要做的是,把局域网的仓库迁移到公网。做了个试验,同步管理员账号密码,以及组和用户,只需要复制data目录下的三个文件:data.dbgroupfilepasswdfile 。
同步代码仓库,肯定是同步repositories文件夹了,另外需要将D:serverGitStackapacheconfgitstack epositories目录下的所有.conf文件也同步到新的服务器。
这样就可以使用原来的用户和密码管理原先的代码仓库,只有主机地址需要修改而已。
- The End -