Tag Archives: apache

小空间VPS安装Apache和MariaDB (MySQL)内存不够的问题

我的是Linode 1G空间的VPS,CentOS 7系统。上面目前安装了SS、Web(Apache)、MariaDb(MySQL)、PHP、Wordpress等服务。前两天在安装一个WP插件时,突然发现WP提示连接不上数据库。还以为是插件把WP弄掉了,看了一下日志,发现MySQL down了。

所以ssh上去,systemctl start mariadb.service,没成功,查看其log,发现InnoDB out of memory字样的提示。 Continue reading

地球共享网从apache web server到iis的移植

地球共享网从apache web server到iis的移植
tong# cngis.org
 
由于服务器资源有限,地球共享网西北分节点需与我们正开发的西部数据中心同处一个服务器,而西
部数据中心的开发团队熟悉iis,并打算使用 asp.net来开发。因此我们要做的,是将地球共享网从原
来的apache环境移植到win2k3/iis。
1. 移去apache server
2. 将jdk 1.4.2_06移去,升级成jdk 1.4.2_08(这是由于西部数据中心采用的arcims server要求至
少是08以上),jsr升级到 update 6
 
3.0 备份 原tomcat下的webapps/ROOT目录下内容(由于定制主页更改过)。保留c:subCenter目录不
变。
3.1 移去 tomcat 5.0,升级成tomcat 5.5,其中jsr选定最新的 jsr 1.5.0.60(即update 6),安装
成service
3.2 将5.5下的webapps/ROOT改名为tomcat-ROOT,将3.0备份的ROOT全部移进 webapps目录下
 
4. 安装iis 6
5. 新建站点 westdc.geodata.cn,将端口号改为 8087,以后westdc.geodata.cn将通过 8087进行访问,而西部数据中心占用原有的80端口。新站点可以指向任何地方,在实际运行时,通过 jk2导至
tomcat的root目录下。我使用了 wwwroot目录。
 
6. 从tomcat.apache.org下载jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip(使用了jk2——
由于它的配置复杂,已经不被tomcat官方支持——是由于jk2支持不同端口的uri映射,如6.2
workers2.properties [uri:*:8087/*]所示,至少现在我不知道如何使用jk来达到同样的目的)
6.1 将zip包里的 isapi_redirector2.dll和install4iis.js 复制到 tomcat 5.5的bin目录下
6.2 将 tomcat 5.5/conf下的 workers2.properties改成 workers2.properties-bak,创建新的
workers2.properties,内容如下:
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1
 
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
 
[uri:*:8087/*]
worker=ajp13:localhost:8009
[uri:/tomcat-docs/*]
worker=ajp13:localhost:8009
 
7. 将westdc.geodata.cn网站暂时改名为 Default Web Site,然后cmd进入命令窗口,cd到 tomcat
5.5/bin下,执行cscript install4iis.js,将为 jk2创建必要的配置。将Default Web Site重新改回
westdc.geodata.cn。(我测试的时候,使用了 install4iis.js -s命令指定网站名,没有成功,所以
使用其缺少的网站名,创建可以成功)。创建结束后请检查如下内容:
7.1 注册表项应包括如下内容:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREApache Software FoundationJakarta Isapi Redirector2.0]
"extensionUri"="/jakarta/isapi_redirector2.dll"
"serverRoot"="C:Program FilesApache Software FoundationTomcat 5.5"
"workersFile"="C:Program FilesApache Software FoundationTomcat 5.5
confworkers2.properties"
"authComplete"="0"
"threadPool"="20"
(路径根据 tomcat所在目录不同可能不同)
7.2 在westdc.geodata.cn的属性isapi tab里应该加了 一项指向 isapi_redirector2.dll条目,名字
可以随便,比如 Jakarta Filter等
7.3 在westdc.geodata.cn下创建了一个名为 jakarta的虚拟目录,权限为脚本和可执行
7.4 在iis 6里的服务扩展里添加了 isapi_redirector2.dll,命名任意
 
8. 打开C:Program FilesApache Software FoundationTomcat 5.5webappsROOTWEB-INFclassesconfsecInfo.xml,将里面的原先的 本机ip改成 ip:8087字样
 
9. 在tomcat 5.5 /conf下的 server.xml里的 localhost Host下,添加:
 <Context path="/DCenterWebService" docBase="C:subCenterDCenterWebService" />
  
 <Context path="/Metadata" docBase="C:subCenterWebShare" />
 <Context path="/Manage" docBase="C:subCenterDataCenterM" />
 
10. 重启www服务
11. 检查 http://localhost:8087,应该已经搞定,iis从8087上收到的request会被redirect到 tomcat的 8009执行
 
12. 西部数据中心也加载了isapi_redirector2.dll(由于西部数据中心将采用arcims,而arcims是需要 jsp的支持),现在使用 80端口,且 localhost/tomcat-docs 也会被redirect tomcat下面。所以,如果没有 jk2根据端口的pattern match,那么来自任何端口的虚拟server的根目录都会被重定位到 westdc.geodata.cn下,这不是我们想要的。

subVersion 1.2.3 & Apache 2.0.54

1. 下载apache 2.0.54-win32 installer版 (http://httpd.apache.org/download.cgi),安装
note: 如果已开iis,先禁止之。

2. 下载svn-win32-1.2.3.zip,

http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
2.1 解压缩至 c:program filessvn-win32-1.2.3目录
2.2 将sharelocale下面的删除掉,zh-CN在xp下运行不正常

3. 创建repository
svnadmin create d:/projects/pm

4. copy bin/mod_authz_svn.so 和bin/mod_dav_svn.so 到C:Program FilesApache

GroupApache2modules目录下
将bin/*.dll 复制 %apachedir%bin(实际上只要/bin/libdb43.dll复制过去就可以)

4.1 打开C:Program FilesApache GroupApache2conf下的httpd.conf
4.2 在# Dynamic Shared Object (DSO) Support段下,增加
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
note: 这两句必须加在 LoadModule dav_module modules/mod_dav.so之后,如果该语句被注释,则去掉注释;将dav_fs_module modules/mod_dav_fs.so的注释也去掉。

4.3 配置repository
htpasswd -cm d:/svn/svn-auth-file tong
new password:
confirm password:
htpasswd -m d:/svn/svn-auth-file new_user

在httpd.conf最后增加
#configuration for subVersion
<Location /svn>
    DAV svn
    SVNParentPath d:/svn
    AuthType Basic
    AuthName "Subversion repository"
    AuthUserFile d:/svn/svn-auth-file
    Require valid-user
    AuthzSVNAccessFile d:/svn/svn-access-file   
</Location>

svn-access-file结构

[svn1:/]               //这表示,仓库svn1的根目录下的访问权限
harry = rw             // svn1仓库harry用户具有读和写权限
sally = r               // svn1仓库sally用户具有读权限
[svn2:/]               //svn2仓库根目录下的访问权限
harry = r               // harry用户在svn2仓库根目录下只有读权限
sally =               // sally用户在 svn2仓库根目录下无任何权限
#[/]               // 这个表示在所有仓库的根目录下
#* = r               // 这个表示对所有的用户都具有读权限
#[groups]               // 这个表示群组设置
#svn1-developers = harry, sally           // 这个表示某群组里的成员
#svn2-developers = sally
#[svn1:/]           
#@svn1-developers = rw       // 如果在前面加上@符号,则表示这是个群组权限设置

5. 重启apache server
http://503.mygis.org/svn/测试

本文参考subversion 3.1.2 INSTALL, README
Qt中文论坛(qtcn.org)"Subversion版本管理器简单配置说明" by XChinux