My very first time setting up a perfect Fedora server

说来惭愧,我虽然知道 Linux 是王道,但迄今学得支离破碎,平时会用 SSH 玩几个 command line,一直没有亲密接触 Linux。今天终于有机会(需要静下心做这件事)开始安装 Fedora,我的目标是在 Vmware server 里安装 Fedora server,为 LAN 用户提供更多更快更稳定的应用。具体点讲,这台Fedora server将兼任

  1. DNS server
  2. Apache http / https server
  3. Ftp / Sftp server
  4. Mysql server
  5. Svn server
  6. Samba server

我的环境是 Windows XP Host 下的 Vmware Server 2.0.0,用Fedora Live CD 安装 Fedora 10。安装过程中遇到的问题和解决方案都记录在此。

我碰到的第一个问题:无法在Fedora guest OS 里安装 Vmware Tools

原因:need to install the kernel-source, kernel-devel, kernel-headers packages that matches your running kernel version

解决办法:root 用户运行yum install kernel-devel kernel-header

第二个问题:在运行yum install kernel-devel kernel-header
企图解决上一个问题时提示“Could not retrieve mirrorlist http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-10&arch=i386”

原因:Fedora DNS解析出错(这时 Fedora 虚拟网卡运行在 Bridge 模式,Fedora Firefox 已经可以访问 internet,DNS 解析出错的原因不明)

解决办法:在/etc/hosts文件里加入手动解析80.239.156.215        mirrors.fedoraproject.org

第三个问题:如何让 host OS 访问到 guest OS 的服务

解决办法:Fedora 虚拟网卡不可运行于 Bridge 模式,需改为 NAT 模式。Vmware server 修改 guest hardware 后必须重启 guest OS,然后 enable Fedora firewall 对应的端口。

第四个问题:Vmware 充当 DHCP 服务器,如何得知 Fedora IP address

解决办法:运行 ifconfig (看仔细了,是 ifconfig,不是 ipconfig)。

第五个问题:如何加载 .iso 文件

解决办法:GNOME 里双击 .iso 文件,太简单了(我老拿 Windows 的思维办事,很不好)。

第六个问题:安装 ISPConfig 3.0 时运行rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
提示 “import failed”

原因:不明,大概是gpg key无效。

解决办法:不用管它,继续执行 ISPConfig 安装命令,最后 ISPConfig 同样能成功安装。

第七个问题:无法在 Fedora 10 上安装 ISPConfig 3.0。提示错误:

PHP Notice:  Undefined variable: distver in /tmp/trunk/install/lib/install.lib.php on line 120
PHP Notice:  Undefined variable: distid in /tmp/trunk/install/lib/install.lib.php on line 120
PHP Notice:  Undefined variable: distbaseid in /tmp/trunk/install/lib/install.lib.php on line 120
Linux Distribution or Version not recognized.

原因:Fedora 10 新鲜出炉,ISPConfig developers 还没回过神来。

解决办法:自己动手做点小修改就可以了。目前 ISPConfig 能认出 Fedora 9,那就让它认为这是 Fedora 9 的环境。可以修改 Fedora /etc/redhat-release 文件,把其内容改为 Fedora release 9 (Sulphur)。但这不是好办法,有可能影响其它软件正确识别 OS 版本。另个办法是修改 ISPConfig install/lib/install.lib.php 文件,在 line 99-105 找到


if(stristr($content,'Fedora release 9 (Sulphur)')) {
	$distname = 'Fedora';
	$distver = '9';
	$distid = 'fedora9';
	$distbaseid = 'fedora';
	swriteln("Operating System: Fedora 9 or compatible\n");
}

改为


if (stristr($content, 'Fedora release 10 (Cambridge)')) {
	$distname = 'Fedora';
	$distver = '9';
	$distid = 'fedora9';
	$distbaseid = 'fedora';
	swriteln("Operating System: Fedora 10 or compatible\n");
}

elseif (stristr($content, 'Fedora release 9 (Sulphur)')) {
	$distname = 'Fedora';
	$distver = '9';
	$distid = 'fedora9';
	$distbaseid = 'fedora';
	swriteln("Operating System: Fedora 9 or compatible\n");
}

第八个问题:在安装 samba + openldap 过程中,执行 ldapadd 命令时提示“Bash: ldapadd: command not found”

原因:缺少 ldapadd 文件。

解决办法:有人说要装 ldap-utils package,但这不适用于 Fedora。我用了 yum install samba-client。

第九个问题:/etc/init.d/sshd restart 时出错,提示

compileuser is not in the sudoers file. This incident will be reported.

解决办法:
visodu
compileuser ALL=(ALL) ALL

第十个问题:/usr/bin/freshclam 出错,提示

ERROR: Please edit the example config file /etc/freshclam.conf.
ERROR: Can’t parse the config file /etc/clamd.conf

解决办法:
/etc/freshclam.conf
comment a line “Example”

Leave a Reply

Your email address will not be published. Required fields are marked *