方法一(官网方法):

useradd caluser ----为日历服务器建立一个新用户,方便管理

passwd caluser -----新用户更改密码

su caluser

mkdir ~/CalendarServer ---- 创建一个专门存放安装包的文件夹

cd ~/CalendarServer

svn co http://svn.calendarserver.org/repository/calendarserver/CalendarServer/trunk/ CalendarServer-------下载源代码

./run -s # 什么也没发生。。。

./run # 什么也没发生

感觉可能是python版本版本不对,目前是2.4. 只是感觉不对,没有依据。放弃此方法。

方法二(自强方法):

出处:http://www.productionmonkeys.net/guides/calendar-server/darwin-calendar-and-contact-server

1 修改文件系统格式

/etc/fstab

/dev/sda1 /                       ext3    defaults,user_xattr        1 1 
 
2 创建数据存放目录 (这些目录在第15步的xml配置文件中会用到)
mkdir -p /var/calData/documents
mkdir -p /var/calData/data
chown daemon:daemon /var/calData/documents
chown daemon:daemon /var/calData/data
 
3 安装依赖库
yum install libevent libevent-devel openssl-devel krb5-server krb5-workstation readline-devel python-devel openldap-devel
包含如下:
libevent
libevent-devel
openssl-devel
krb5-server
krb5-workstation
readline-devel
python-devel
openldap-devel
 
 
4 安装sqlite
cd /extra/src
wget http://www.sqlite.org/sqlite-autoconf-3071200.tar.gz  
tar zxf sqlite-autoconf-3071200.tar.gz
cd sqlite-autoconf-3071200
./configure
make
make install
 
 
5 提高python版本,从2.4到2.7
cd /extra/src
wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tgz 
tar zxf Python-2.7.3.tgz
cd Python-2.7.3
./configure --prefix=/usr
make
make install
echo '/usr/lib/python2.7' >> /etc/ld.so.conf.d/python2.7.conf
ldconfig
 
5.1 将yum的配置改回来,因为yum依赖于python2.4.否则会造成yum无法使用
/usr/bin/yum 首行改为 #!/usr/bin/python2.4
 
6 安装easyinstall
cd /extra/src
wget http://peak.telecommunity.com/dist/ez_setup.py 
python ez_setup.py
 
 
7 安装PyKerneros
cd /extra/src
svn co http://svn.calendarserver.org/repository/calendarserver/PyKerberos/trunk PyKerneros
cd PyKerneros
export PATH=$PATH:/usr/kerberos/bin
python setup.py build
python setup.py install
 
8 安装PyOpenDirectory
cd /extra/src
svn co http://svn.calendarserver.org/repository/calendarserver/PyOpenDirectory/trunk PyOpenDirectory
cd PyOpenDirectory
python setup.py build
python setup.py install
 
 
9 创建一个新用户
useradd -d /home/calendaruser -m -s /bin/bash calendaruser
passwd calendaruser
su calendaruser
 
10 下载源码
mkdir ~/calendar
cd ~/calendar
svn co http://svn.calendarserver.org/repository/calendarserver/CalendarServer/trunk CalendarServer
svn co http://svn.calendarserver.org/repository/calendarserver/CalDAVClientLibrary/trunk CalDAVClientLibrary
 
 
11 编译server
cd ~/calendar/CalendarServer
./run -s
 
12 运行 server
cd ~/calendar/CalendarServer
su calendaruser
./run
 
如果运行失败,可能会报找不到pysqlite2错误。
yum install sqlite-devel -y

wget peak.telecommunity.com/dist/ez_setup.py
python2.6 ez_setup.py
easy_install pysqlite
 
 
13.1 配置运行所需文件
su -
# setup installation root
mkdir -p /opt/CalendarServer/etc/caldavd
mkdir -p /opt/CalendarServer/var/run/caldavd
mkdir -p /opt/CalendarServer/var/log/caldavd
cd /home/calendaruser/calendar/CalendarServer
./run -v -i /opt/CalendarServer
 
13.2 拷贝运行配置
rm -rf /opt/CalendarServer/usr/caldavd/caldavd.plist
cp conf/servertoserver-test.xml /opt/CalendarServer/etc/caldavd/servertoserver.xml
cp conf/auth/accounts.xml /opt/CalendarServer/etc/caldavd/accounts.xml
cp conf/caldavd-test.plist /opt/CalendarServer/etc/caldavd/caldavd.plist
cp conf/sudoers.plist /opt/CalendarServer/etc/caldavd/sudoers.plist
 
13.3 更改权限,让新用户可以访问
chmod 600 /opt/CalendarServer/etc/caldavd/*
 
14 做一个简单的链接
ln -s  /opt/CalendarServer/etc/caldavd /etc/caldavd
 
15 初始化配置文件 /etc/caldavd/caldavd.plist
<!-- Data root -->
<key>DataRoot</key>
<string>/var/calData/data</string>
<!-- Document root -->
<key>DocumentRoot</key>
<string>/var/calData/documents</string> <!-- XML File Directory Service -->
<key>DirectoryService</key>
<dict>
<key>type</key>
<string>twistedcaldav.directory.xmlfile.XMLDirectoryService</string> <key>params</key>
<dict>
<key>xmlFile</key>
<string>/opt/CalendarServer/etc/caldavd/accounts.xml</string>
</dict>
</dict> <!-- Principals that can pose as other principals -->
<key>SudoersFile</key>
<string>/opt/CalendarServer/etc/caldavd/sudoers.plist</string> <!-- Wikiserver authentication (Mac OS X) -->
<!-- COMMENT THIS SECTION OUT
<key>Wiki</key>
<dict>
<key>Enabled</key>
<true/>
<key>Cookie</key>
<string>sessionID</string>
<key>URL</key>
<string>http://127.0.0.1/RPC2</string>
<key>UserMethod</key>
<string>userForSession</string>
<key>WikiMethod</key>
<string>accessLevelForUserWikiCalendar</string>
</dict>
--> <key>LogRoot</key>
<string>Logs</string> <!-- Apache-style access log -->
<key>AccessLogFile</key>
<string>/opt/CalendarServer/var/log/caldavd/access.log</string>
<key>RotateAccessLog</key>
<false/> <!-- Server activity log -->
<key>ErrorLogFile</key>
<string>/opt/CalendarServer/var/log/caldavd/error.log</string> <!-- Server process ID file -->
<key>PIDFile</key>
<string>/opt/CalendarServer/var/run/caldavd/caldavd.pid</string> <!--
Process management
--> <key>UserName</key>
<string>daemon</string> <key>GroupName</key>
<string>daemon</string> <!-- iSchedule protocol options -->
<key>iSchedule</key>
<dict>
<key>Enabled</key>
<false/>
<key>AddressPatterns</key>
<array>
</array>
<key>Servers</key>
<string>/opt/CalendarServer/etc/caldavd/servertoserver.xml</string>
</dict> <!-- For child-master IPC. [empty = use tcp] -->
<key>ControlSocket</key>
<string>/opt/CalendarServer/var/run/caldavd/caldavd.sock</string> <!--
Twisted
--> <key>Twisted</key>
<dict>
<key>twistd</key>
<string>/opt/CalendarServer/usr/bin/twistd</string>
</dict>

16 启动!

/opt/CalendarServer/usr/bin/caldavd -T /opt/CalendarServer/usr/bin/twistd -f /etc/caldavd/caldavd.plist -X

17 运行时

.....CalendarServer/run -n

可能遇到的问题是

1 python2.7.3  ImportError: No module named twisted.scripts.twistd————安装twisted,或者指定twisted路径

2 python2.7.3 找不到_sqlite3模块——重装安装sqlite-devel之后,重新编译安装python2.7.3

centos 搭建 darwin calendar 服务器的更多相关文章

  1. 测试darwin calendar 服务器

    cd CalDAVTester README.txt中说的明白—— QUICKSTART Edit the serverinfo.xml file to run the test against yo ...

  2. centos搭建java web服务器

    1.安装jdk7 //检查jdk是否已经安装 [root@iZwz9catu2mrq92b07d1d0Z ~]# yum list installed | grep java java--openjd ...

  3. CentOS 搭建LNMP服务器和LAMP服务器

    CentOS 搭建LNMP服务器 方法一:yum安装 1.更新YUM源 wget http://www.atomicorp.com/installers/atomic   #下载atomic自动更新Y ...

  4. 在CentOS搭建Git服务器 转

    在CentOS搭建Git服务器 来自 :http://www.jianshu.com/p/69ea5ded3ede 前言 我们可以GitHub发布一些开源代码的公共仓库,但对于私密仓库就需要收费了.公 ...

  5. [记录]CentOS搭建SVN服务器(主从同步)

    CentOS搭建SVN服务器(主从同步)1.安装步骤如下: 1)安装: #yum install subversion 2)查看安装位置: #rpm -ql subversion 3)查看版本: #/ ...

  6. CentOS搭建Git服务器及权限管理

    声明:本教程,仅作为配置的记录,细节不展开,需要您有一点linux的命令基础,仅作为配置参考. 1. 系统环境 系统: Linux:CentOS 7.2 64位 由于CentOS已经内置了OpenSS ...

  7. CentOS 7下搭建配置SVN服务器

    CentOS 7下搭建配置SVN服务器 1. 安装 CentOS通过yum安装subversion. $ sudo yum install subversion subversion安装在/bin目录 ...

  8. CentOS 6.9搭建的网关服务器不经过静态路由表的问题解决(没有开启路由转发功能)

    场景: 1.使用CentOS 6.9搭建的网关服务器,下面的机器都设置用这个网关,搭建参考:http://www.cnblogs.com/EasonJim/p/8289618.html 2.配置了静态 ...

  9. (转)CentOS6.5安装Darwin Streaming Server搭建RTSP流媒体服务器

    参考: 1,CentOS6.5安装Darwin Streaming Server搭建RTSP流媒体服务器 http://www.yimiju.com/articles/567.html

随机推荐

  1. 解决EnableVisualStyles Bug

    一位朋友碰到了一个WinForm的问题,在网上搜了一通,没找到能解决问题的方案, 正好我以前以碰到过,在这里把解决方案呈上,以便有遇到此问题的朋友能有帮助. 问题是这样的,当启用了虚拟样式后,设置好的 ...

  2. node.js:怎样同时执行多条SQLs,且只有一个回调

    本文主要介绍开源node.js库mysql-queries,其可以同时执行多条SQLs,且只有一个回调.同时抛砖引玉,与大家交流node.js开发经验. node.js很大的特点就是事件驱动.非阻塞和 ...

  3. app配置智能硬件的解决方案

    随着越来越多的智能硬件产品上市,越来越多的硬件都戴上了智能的帽子,什么智能插座,智能音箱,智能称等等.凡是所谓的智能,都是通过wifi或者蓝牙来连接互联网,其中蓝牙也只能算是手机的附属品吧.主要还是硬 ...

  4. javascript 面向对象技术

    面向对象术语 对象 ECMA-262 把对象(object)定义为“属性的无序集合,每个属性存放一个原始值.对象或函数”.严格来说,这意味着对象是无特定顺序的值的数组. 尽管 ECMAScript 如 ...

  5. 让Ecshop网店系统用户自动登陆

    让Ecshop网店系统用户户自动登陆,打开ecshop includes/init.php文件,可以发现Ecshop系统判断用户的SESSION不存在的时候会去读取存储在COOKIES里面的值.如下代 ...

  6. OCP考试之052

    Oracle Database 11g:Administration I 考试时间:90分钟 考试题目:70题 考试语言:英语 考试分数:66% 考试内容: 了解Oracle数据库体系结构 解释的内存 ...

  7. u3d 2d序列动画代码

    using UnityEngine; using System.Collections; public class AniSprite : MonoBehaviour { private float ...

  8. 【转】C#路径/文件/目录/I/O常见操作汇总

    文件操作是程序中非常基础和重要的内容,而路径.文件.目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供 ...

  9. 软件测试 -- 软件缺陷记录的5C原则

    Correct(准确):每个组成部分的描述准确,不会引起误解: Clear(清晰):每个组成部分的描述清晰,易于理解: Concise(简洁):只包含必不可少的信息,不包括任何多余的内容: Compl ...

  10. Xcode免证书打包ipa

    1,创建证书 打开“钥匙串访问”创建证书 填写好内容后点击继续,之后的步骤什么都不用改,一路点击“确定”和“继续”,最后完成这个向导就可以了. 我们创建的证书是不被信任的,右键点击证书选择“显示简介” ...