大家一起来学做网络服务

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
头像
gnix_oag
帖子: 1994
注册时间: 2005-05-19 18:38
来自: 湖南永州
联系:

大家一起来学做网络服务

#1

帖子 gnix_oag » 2005-06-19 19:17

用了这么久的linux,

却从来没有做过网络服务;

现在的 lamp 也非常流行

我想搞一个玩玩,

不知从何下手。
yongyi
帖子: 3025
注册时间: 2005-05-07 23:57
联系:

#2

帖子 yongyi » 2005-06-19 21:50

是啊!我也想玩玩linux的网络,可惜现在只有单机。。
独自看一看大海
总想起身边走在路上的朋友
Lenovo E290-420[Celeron-M420/256M/60G/Intel GMA950]
头像
firehare
帖子: 2625
注册时间: 2005-04-10 16:54
来自: 温州大学
联系:

#3

帖子 firehare » 2005-06-20 9:35

想学的话,就给你转个帖子吧!
不过是基于Debian的,由于同Ubuntu相差不大,所以基本上没什么太大问题
有些地方加了点自己的看法,希望能对你有用!!
================================
打造Linux下超级安全的LAMP服务器

创建时间:2004-09-04
文章属性:原创
文章提交:fatb (fatb_at_security.zz.ha.cn)

欢迎转载,请保留作者信息
包子@郑州大学网络安全园
http://secu.zzu.edu.cn

本文已经投稿到黑客防线03年11期的文章,讲的比较基础详细,有兴趣的朋友榨干了看吧:)

谨以此文献给郑州大学网络中心的领导和老师

并祝各位朋友、老师和同学们在新的一年里,身体健康,工作顺利,学业有成,新年新气象!


编前:本文全面细致的介绍了在Linux下加固apache+php+mysql的方法,通过仔细阅读本文,你可以快速掌握安全配置apache, php,和mysql的方方面面,还有chroot这个前沿而强悍的技术,依靠这些知识,完全可以让你的WWW服务器在层出不穷的SQL注射(SQL Injection)和CSS跨站脚本攻击(Cross Site Script)中屹立不倒

从动网的几个漏洞到独孤剑客的网站被黑,脚本攻击闹的沸沸扬扬,可见它在网络攻击中终于显现出他的重要性了。由于程序开发人员无意或有意的不小心,用 Perl、PHP、ASP等编写的脚本就会出现这样或那样的错误,轻则导致泄露路径,重则导致整个服务器被攻陷甚至蔓延到整个网络。难道我们就非得把所用的脚本读N遍,认真的分析?我相信不是人人都有这等功力的,就算有这样的功力也不会枉费那么多的时间和精力。
你可能会问:“我既想用网上免费的程序,又不想因此受到重创。难道就没有一个两全的办法?”

针对windows主机,我们可以使用IISLockdown,SecureIIS之类的

针对*nix主机给大家提出两个方案,一个就是给apache装上mod-security模块,另外一个办法就是把LAMP放置在一个chroot jail环境中。当然,最强的还是把两个方案结合在一起咯:)
下面,让我们一起来分享这两个方案
前提:我们只需要有普通的linux操作经验,包括vi的使用等

首先,我们先弄清楚几个概念

什么是Debian:一个完全自由的Linux操作系统,他最令我心仪的就是他的apt包管理工具,让你安装或者升级软件无忧!如果你是CERNET用户的话,推荐你到电子科大http://debian.ustc.edu.cn或者我的网站http://secu.zzu.edu.cn升级,CHINANET用户可以在http://mirror.gennkbone.org升级

什么是LAMP:就是Linux Apache MySQL Php的缩写,几乎是最强的架站组合

什么是chroot:是change root的缩写,就是把一个进程守护程序限制在某个特定的root环境中执行,这个被chroot了的程序几乎接近无法访问任何超出了这个root的任何文件或空间,这个root目录(也就是下面我们说到的jail)包含了执行进程守护程序所需要的所有文件,在你正确配置之后,绝大多数的入侵者是不可能跳出jail而接触到外面的文件的。这样我们就可以最大限度的限制入侵者保护自己。



本文主要涉及到的软件

makejail http://www.floc.net/makejail/
是一个自动把建立jail所需要的程序放到jail内的软件,使用python编写,他有debian和openbsd的版本

Zend Performance Suit http://www.zend.com
Zend公司开发的一套给PHP加速的东西,包括一个代码优化器(optimizer)和一个加速器(accelerator),还有cache功能,很好使的,有了他,php程序跑起来就跟飞一样!可以申请30天试用版本的,如果你觉得好用的话就买下来吧:)

mod-security http://www.modsecurity.org/
他是apache的一个模块,他有请求过滤,日志审计等功能,可以防止SQL Injection,跨站脚本攻击,很不错的一个模块

OK,动手
我们假设我们手头上有一个装好的debian woody,并且已经正确设置了了apt源

二话不说,先升级到debian sarge,也就是testing版本,我觉得这个版本还是不错的,因为他的软件比较新,而且有security支持,最主要这个版本的软件列表包含makejail这个软件

首先su到root升级系统并安装apache,php,mysql,gd
更新apt源,我在教育网,所以使用中科大的apt源debian.ustc.edu.cn速度很快
[root@debian /]apt-get update (在这里Ubuntu要在前面加sudo了,只要看到有[root@debian]的话,就表示是在根目录下操作,前面要加sudo,下同!)
再更新所有软件包
[root@debian /]apt-get dist-upgrade


[root@debian /]apt-get install apache php4 php4-gd2 php4-mysql mysql-server mysql-client
并且把extension=gd.so和extension=mysql.so加到php.ini中
你的系统就已经装上了apache-1.3.27,php-4.1.2,mysql-4.0.13
这样一个基本的LAMP就起来了,简单吧。
再加一个系统用户,这个用户是我们等会chroot要用的
[root@debian /]adduser --home /chroot/apache --shell /dev/null --no-create-home --system --group chrapax

接着我们编辑httpd.conf文件并做一些修改,删除多余的apache模块并激活php模块

[root@debian /]vi /etc/apache/httpd.conf

注释掉除了mod_access,mod_auth,mod_dir,mod_log_config,mod_mime,mod_alias之外的所有模块
去掉注释LoadModule php4_module /usr/lib/apache/1.3/libphp4.so以支持PHP (Ubuntu中似乎没这么麻烦,会自动修改好的,不过还是确认一下保险,呵呵)

设置ServerAdmin fatb@zzu.edu.cn
设置ServerName secu.zzu.edu.cn
(这里,就按你们自己的改了)

把下面的Options Indexes Includes FollowSymLinks MultiViews的Indexes去掉,这样避免被别人索引目录
把用户和组改成chrapax
User chrapax
Group chrapax
在下面加上index.php如下

DirectoryIndex index.php index.html index.htm index.shtml index.cgi

默认使用中文字符集
AddDefaultCharset gb2312
(这一点很重要,不然的话,出来的都是乱码,每看一页都要改查看编码)

加出错重定向,这样当出现下面的错误的时候,用户就会被重顶向到到你指定的页面
ErrorDocument 404 http://secu.zzu.edu.cn/index.php
ErrorDocument 402 http://secu.zzu.edu.cn/index.php
ErrorDocument 403 http://secu.zzu.edu.cn/index.php
ErrorDocument 500 http://secu.zzu.edu.cn/index.php
(这是为了定制自身的出错信息)

把signature关掉
ServerSignature Off
如果signature打开的话,当有人访问到一个被禁止或者不存在的页面的话,会出现一些错误信息的
这样的信息,不好,去掉他
如果不需要cgi支持的话,删除

代码: 全选

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

    AllowOverride None
    Options ExecCGI -MultiViews
    Order allow,deny
    Allow from all
这行的注释去掉,因为我们需要PHP支持
把AddType application/x-httpd-php .php
最后把多余的Alias,Directory,Location都去掉,保存退出
OK,apache算是配置完毕,我比较喜欢干净的配置文件,下面的命令可以去掉httpd.conf里#打头的行
[root@debian /]mv httpd.conf httpd.conf.bak
[root@debian /]grep -v '#' httpd.conf.bak > httpd.conf
(不推荐这种做法,注释行有助于查找及修改。另:httpd.conf在修改之前,最好先备份,而不是要修改之后)
到此为止,apache配置文件编辑完毕

接着我们开始加固php,我们打开php.ini
[root@debian /]vi /etc/php4/apache/php.ini
首先打开安全模式,打开他的好处就是PHP文件只能访问所有者和PHP文件所有着一样的文件,即使在chroot环境下也无法访问jail中属主不一样的文件,类似于php shell这样的后门就没用武之地了哦,phpshell是很流行的php后门,他可以执行系统命令,就象他的名字一样,和shell很接近(如图 phpshell.jpg)
safe_mode = On

如果php程序没有指明需要register_globals的话,最好把register_globals设置为Off,这样可以避免很多安全问题的
举个例子吧,我们有一个这样的PHP文件片段叫做test.php

// 前面的代码
if ($authorised) {
// 执行一些受保护的动作
}
// 其余的代码
}
?>
如果register_globle是打开的话,入侵者可以通过提交这样一个请求来绕过验证
http://www.test.com/test.php?authorised=1
当然,如果你非得使用register_globle的话,我们在后面同样可以使用mod-security来限制一下的

open_basedir =/var/www/
上面的设置就限制了fopen(), file()等函数可以操作的目录范围,避免了入侵者非法读取文件,一定要在/var/www后面加"/",否则/var/wwww下的文件也能被访问

禁止使用phpinfo和get_cfg_var函数,这样可以避免泄露服务信息
disable_functions = phpinfo,get_cfg_var(在确认PHP能正常工作之后再关闭)
如果我们使用了被禁止使用的phpinfo函数的话,我们可以看到这样的错误

Warning: phpinfo() has been disabled for security reasons in /var/www/info.php on line 1


设置php程序错误日志,这样我们可以很清楚的知道程序问题所在
error_reporting = E_ALL
log_errors = On
error_log = /var/log/php_err.log


默认display_error是打开的,我们在jail没弄好之前还是打开他,或许出错信息可以给我们一点提示的,但是在完工之后记得关闭这个选项啊,因为他显示出的一些出错信息有可能会暴露你的物理路径的。
在这个过程中,最需要注意的就是不能使用root做为php程序的属主,否则php程序就可以随意访问他的属主,也就是root所有的文件了,这样就完全失去了safe_mode的意义了

禁止打开远程地址,记得最近出的php include的那个漏洞吗?就是在一个php程序中include了变量,那么入侵者就可以利用这个控制服务器在本地执行远程的一个php程序,例如phpshell,所以我们关闭这个
allow_url_fopen = Off


OK,保存退出
到此为止,针对php的安全优化基本上完毕,下面我们开始给mysql"做手脚"吧

Debian下用apt装的mysql默认已经禁止从网络连接mysql了的,我们可以从他的配置文件my.cnf里看出来,但是得注意一下, RedHat的RPM,FreeBSD的ports安装,skip-networking是注释掉了的,也就是监听3306端口了,要是mysql出了什么问题,别人就可以有机会利用了
[root@debian /]grep net /etc/mysql/my.cnf
# The skip-networkin option will no longer be set via debconf menu.
# You have to manually change it if you want networking i.e. the server
skip-networking
在这个方面Debian做的不错,但是Debian和Freebsd下系统装的mysqld是动态链接的,而RedHat的RPM安装的就是静态的,我们可以通过下面的命令来查看
[root@debian ~]file `which mysqld`
/usr/sbin/mysqld: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.0, dynamically linked (uses shared libs), stripped
我们可以看到"dynamically linked"字样,这样在chroot mysql的时候就比较麻烦了,因为要复制很多的共享库,不过在debian下我们有makejail:)等会我们就可以看到他的威力了

接着我们修改mysql数据库里的东西,不过不管怎么样,我们首先得给mysql设置一个密码并修改管理员用户名(默认是root),但一定得记得,无论怎么样修改密码,都会有记录的,如果通过mysqladmin修改,shell的历史记录会有的,如果登陆了mysql之后再修改,在 ~/.mysql_history会记录的,所以我们一定得处理这两个历史记录文件,我们把他们删了,再从/dev/null做个软连接过来就可以解决问题了
[root@debian /]cd ~
[root@debian ~]ll
total 13K
-rw------- 1 root root 1.8K Sep 28 21:05 .bash_history
-rw------- 1 root root 14 Sep 29 09:29 .mysql_history
我们可以看到这两个文件里面都记录了东西的,下面我们处理他们
[root@debian ~]rm .bash_history
[root@debian ~]rm .mysql_history
[root@debian ~]ln -s /dev/null .bash_history
[root@debian ~]ln -s /dev/null .mysql_history
我们再看看
[root@debian ~][root@debian ~]ll
total 10K
lrwxrwxrwx 1 root root 9 Sep 29 09:29 .bash_history -> /dev/null
lrwxrwxrwx 1 root root 9 Sep 29 09:29 .mysql_history -> /dev/null
现在可以放心的设置密码了
(如果你想保留History的话,那么一定要把类似“GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "xxxxxxxx" WITH GRANT OPTION;”删除)
[root@debian ~]mysqladmin -u root password mypasswd
这样我们以后root就得通过"mypasswd"这个密码来访问mysql数据库了

然后我们删除多余的数据库并去掉匿名帐号
[root@debian ~]mysql -u root -p
Enter password:XXXXXX

mysql> drop database test;
mysql> use mysql;
mysql> delete from db;
mysql> delete from user where not (host="localhost" and user="root");
mysql> flush privileges;

然后修改默认的管理员帐号root为你喜欢的,我这里改成fatb

mysql> update user set user="fatb" where user="root";
mysql> flush privileges;
以后我们就得通过fatb帐号访问mysql数据库了
[root@debian ~]mysql -u root -p
Enter password:
ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)
[root@debian ~]mysql -u fatb -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 14 to server version: 4.0.13-log
到这里,mysql的安全设置基本上完毕了

现在我们安装mod-security,debian下同样很简单,并且自动把模块加到httpd.conf里
[root@debian /]apt-get install libapache-mod-security
默认这个模块是没激活的,编辑一下httpd.conf文件并去掉下面这行的注释
LoadModule security_module /usr/lib/apache/1.3/mod_security.so
接着在httpd.conf的末尾加上

# 打开或者关闭过滤引擎
SecFilterEngine On
# 设置缺省的动作
SecFilterDefaultAction "deny,log,status:404"
# 把设置传递给字目录
SecFilterInheritance Off
# 检测URL编码是否正确
SecFilterCheckURLEncoding On
# 检测内容长度以避免堆溢出攻击
SecFilterForceByteRange 32 126
# 日志文件的位置和名字
SecAuditLog logs/audit_log
# debug设置
SecFilterDebugLog logs/modsec_debug_log
SecFilterDebugLevel 0
# 检测POST数据
SecFilterScanPOST On
# 当匹配sh的时候,重新定向到一个特殊的页面,让攻击者知难而退
SecFilter sh redirect:http://secu.zzu.edu.cn/hack/fu.htm
# Only check the body of the POST request
#过滤一些敏感的东西,我们使用*是为了攻击者使用/etc/./passwd来绕开检测
SecFilter /etc/*passwd
SecFilter /bin/*sh
# 防止double dot攻击,也就是类似http://www.test.com/openfile.php?path=/../../..,虽然这个漏洞看似弱智,但是很多网站都有的,比如CERNET某大学某图片站:)
SecFilter "../"
# 防止跨站脚本(CSS)攻击
SecFilter "<( | )*script"
SecFilter "<(.| )+>"
# 防止SQL插入(SQL Injection)攻击
SecFilter "delete(空格| )+from"
SecFilter "insert(空格| )+into"
SecFilter "select(空格| )+from"
SecFilter "union(空格| )+from"
# 下面是限制了upload.php文件只能用来上传jpeg.bmp和gif的图片

SecFilterInheritance Off
SecFilterSelective POST_PAYLOAD "!image/(jpeg|bmp|gif)"


用好了mod-security,可以使你的网站的安全性大大的提高的,在他带的manual里你可以找到更多的设置的,在光盘中附带了更加详细的规则
(mod-security.rule.txt)



然后我们装Zend Performance Suit,在安装的时候,他问你使用的用户的时候,记得写chrapax而不是www-data

order allow,deny
allow from 211.43.125.63(你的IP)
deny from all
Options All



下面重头戏到了,chroot,非常重要的一步,但可能还是比较简单的一步,先把几个python写的配置文件复制到/etc/makejail下
[root@debian /etc/makejail]cp /usr/share/doc/makejail/examples/apache.py ./
然后编辑apache.py文件添加修改相应的信息
users=["chrapax"]
groups=["chrapax"]
packages=["apache","apache-common","php4","php4-gd","mysql-common","libapache-mod-security"]
然后执行makejail命令
[root@debian /etc/makejail]makejail apache.py
完成之后,我们得先做个软连接并把chrapax从passwd和group文件分离出来
[root@debian /etc/makejail]ln -s /var/chroot/apache /apache
[root@debian /etc/makejail]grep chrapax /etc/passwd > /apache/etc/passwd
[root@debian /etc/makejail]grep chrapax /etc/group > /apache/etc/group
[root@debian /etc/makejail]cp /etc/mime.types /apache/etc/
然后在/etc/init.d里建一个叫chrapax的文件并让他可执行,内容详见光盘中的chrapax
[root@debian /etc/makejail]cat > /etc/init.d/chrapax
[root@debian /etc/makejail]chmod +x /etc/init.d/chrapax
接着使用rcconf命令让他在系统启动的时候启动(如图rcconf.bmp)
[root@debian /etc/makejail]rcconf
启动chroot的apache
[root@debian /etc/makejail]/etc/init.d/chrapax start
先测试一下php和mysql连接是否有问题
[root@debian /etc/makejail]cat > /apache/var/www/mysql.php
$conn = mysql_connect("localhost", "fatb", "urpassword")
or die;
print "php can work with mysql now";
mysql_close($conn);
phpinfo();
?>
结果浏览器返回
Warning: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /var/www/mysql.php on line 2

但是我们可以看到在/var/run/mysqld/下的确有mysqld.sock文件,其实就是因为我们已经chroot apache了,他只能访问apache root jail里的东西,也就是/var/chroot/apache下面的东西,而mysqld.sock明显在jail外面,所以连接不上当然是很正常的了,解决这个问题的方法也很简单,做个硬连接就是了
[root@debian /apache/var/run/mysqld]ln /var/run/mysqld/mysqld.sock mysqld.sock
再访问一下mysql.php看看,果然OK了吧(如图ok.bmp)

做硬连接很麻烦,而且在访问mysqld的时候导致apache用资源好厉害,解决的办法就是在mysqld的配置文件里加上bind-address 127.0.0.1这样就通过tcp连接而不是通过socket连接了

经过我们这样一弄,整个LAMP服务器就安全的多了,就算万一php程序编写的不安全或者apache,php出了什么漏洞,想入侵进来并且跳出root jail还是非常困难的


参考:
security apache step by step
security php step by step
security mysql step by step
(不知道为什么在家里上网搜索不到这三个文章了,在www.securityfosuc.com的,有兴趣的可以去看看)
mod-security manual

san的php安全配置
http://www.xfocus.net/articles/200111/304.html

版本信息
v1@2003.11 初始版
v2@2004.1 解决chroot后php程序连接mysql的时候apache耗用大量资源的问题
修正ustc.edu.cn为电子科大而不是中科大:)
v3@2004.9 增加allow_url_fopen = Off
增加mod-security对sql injection的过滤
我心无畏,源自于我心无知。
图片
头像
gnix_oag
帖子: 1994
注册时间: 2005-05-19 18:38
来自: 湖南永州
联系:

#4

帖子 gnix_oag » 2005-06-20 11:47

谢谢了
yongyi
帖子: 3025
注册时间: 2005-05-07 23:57
联系:

#5

帖子 yongyi » 2005-07-05 19:02

按上面这篇文章安装,
立刻
#sudo gedit /var/www/testphp.php
# 在新建立的文件内加入下面这一行
<?php phpinfo(); ?>

# http://localhost/testphp.php

但没有运行,而弹出窗口下载php文件。

然后继续按上面文章做下去,到了
这行的注释去掉,因为我们需要PHP支持
把AddType application/x-httpd-php .php
最后把多余的Alias,Directory,Location都去掉,保存退出
OK,apache算是配置完毕,我比较喜欢干净的配置文件,下面的命令可以去掉httpd.conf里#打头的行
[root@debian /]mv httpd.conf httpd.conf.bak
[root@debian /]grep -v '#' httpd.conf.bak > httpd.conf
(不推荐这种做法,注释行有助于查找及修改。另:httpd.conf在修改之前,最好先备份,而不是要修改之后)
到此为止,apache配置文件编辑完毕
停止。

再找来一个blog程序,运行一下,还是下载php文件哦。如图。

应该怎么配置呢?

我看这篇东东也太强了。还是一步步来,先能运行,才想安全吧。
附件
Screenshot-正在打开 setup.php.png
Screenshot-正在打开 setup.php.png (10.08 KiB) 查看 7309 次
独自看一看大海
总想起身边走在路上的朋友
Lenovo E290-420[Celeron-M420/256M/60G/Intel GMA950]
头像
lyreopera
帖子: 771
注册时间: 2005-05-23 13:38
来自: gdsz

#6

帖子 lyreopera » 2005-07-05 21:34

yongyi 写了:是啊!我也想玩玩linux的网络,可惜现在只有单机。。
用vmware虚拟一个系统,

把linux配置为服务器,

虚拟机通过虚拟的网络来连接linux……
……
yongyi
帖子: 3025
注册时间: 2005-05-07 23:57
联系:

#7

帖子 yongyi » 2005-07-05 22:04

lyreopera 写了:
yongyi 写了:是啊!我也想玩玩linux的网络,可惜现在只有单机。。
用vmware虚拟一个系统,

把linux配置为服务器,

虚拟机通过虚拟的网络来连接linux……
谢谢提醒,
不过,当前之急是解决一下我上面的问题。

难道linux下的网络不同于windows下的?本机不可以访问本机的服务器?这没什么可能吧?
独自看一看大海
总想起身边走在路上的朋友
Lenovo E290-420[Celeron-M420/256M/60G/Intel GMA950]
头像
oneleaf
论坛管理员
帖子: 10441
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04

#8

帖子 oneleaf » 2005-07-05 22:09

少安装了 php4-cgi
当净其意如虚空,远离妄想及诸取,令心所向皆无碍
yongyi
帖子: 3025
注册时间: 2005-05-07 23:57
联系:

#9

帖子 yongyi » 2005-07-06 12:40

oneleaf 写了:少安装了 php4-cgi
把它装上后,马上再去试试,还是弹出窗口下载PHP文件。 :evil:
独自看一看大海
总想起身边走在路上的朋友
Lenovo E290-420[Celeron-M420/256M/60G/Intel GMA950]
头像
oneleaf
论坛管理员
帖子: 10441
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04

#10

帖子 oneleaf » 2005-07-06 12:56

他的文档有些问题,我找个时间重新写一下。
当净其意如虚空,远离妄想及诸取,令心所向皆无碍
yongyi
帖子: 3025
注册时间: 2005-05-07 23:57
联系:

#11

帖子 yongyi » 2005-07-06 15:38

oneleaf 写了:他的文档有些问题,我找个时间重新写一下。
也许是我安装错了,因为我在网上搜索时,看到原来安装过程要回答一些问题的,而我当时是没理会过安装过程的。
并且我发现既有apache又有apache2!并且感觉好像都没安装完整的。

我觉得问题应试出在安装命令:

代码: 全选

[root@debian /]apt-get install apache php4 php4-gd2 php4-mysql mysql-server mysql-client 
中的 php4-gd2 应该是 php4-gd 吧?
独自看一看大海
总想起身边走在路上的朋友
Lenovo E290-420[Celeron-M420/256M/60G/Intel GMA950]
yongyi
帖子: 3025
注册时间: 2005-05-07 23:57
联系:

#12

帖子 yongyi » 2005-07-06 16:11

猜测失败!
软件包 php4-gd2 是一个由下面的软件包提供的虚拟软件包:
php4-gd 4:4.3.10-10ubuntu3.1
请您明确地选择一个来进行安装。
还有,Ubuntu是不是把Debian改得太多了,Debian在上述安装过程会让你回答一些问题,而Ubuntu 没有,什么都按它自己的意思设置去了。

唉,看来上次删除时没有把配置文件也删除了,现在重新安装一遍仍是以前的配置的!仍是不行。Debian 的文章不能用在Ubuntu上。这点真的不好。


后来按照这里:
http://www.ubuntu.org.cn/support/docume ... D%E5%8A%A1
大概是把apache 改成了 apache2 了。难道 源中的 apache 有问题?
:?:
独自看一看大海
总想起身边走在路上的朋友
Lenovo E290-420[Celeron-M420/256M/60G/Intel GMA950]
yongyi
帖子: 3025
注册时间: 2005-05-07 23:57
联系:

#13

帖子 yongyi » 2005-07-06 17:47

testphp.php可以了。
但我在/var/www/下建立一个/blog,并把blog 的文件放进行,运行
http://localhost/blog/setup.php
还是出现上面的下载窗口?
我已经按照blog 的安装说明改了文件权限的了,这个blog 我直接在空间上运是没问题的。
独自看一看大海
总想起身边走在路上的朋友
Lenovo E290-420[Celeron-M420/256M/60G/Intel GMA950]
头像
firehare
帖子: 2625
注册时间: 2005-04-10 16:54
来自: 温州大学
联系:

#14

帖子 firehare » 2005-07-08 13:11

这几天出差去了,上网的时间很短,这样吧,我找个时间在Ubuntu下重做一遍该文档,整理好再发一次好了!因为毕竟是基于Debian的,虽然在大体上没问题,在小细节上还是有点出入的!
我心无畏,源自于我心无知。
图片
yongyi
帖子: 3025
注册时间: 2005-05-07 23:57
联系:

#15

帖子 yongyi » 2005-07-08 13:16

我还是不明白为什么/var/www下的子目录中的php文件不能运行,而是下载。目录已经是777的了。
独自看一看大海
总想起身边走在路上的朋友
Lenovo E290-420[Celeron-M420/256M/60G/Intel GMA950]
回复