基于OpenBSD自带apache的discuz7.2论坛

在OpenBSD环境下搭建各种服务器的相关讨论。

版主: lionuxchenjun天地乾坤

回复
头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

基于OpenBSD自带apache的discuz7.2论坛

帖子 leo » 2010-01-21 12:38

discuz我就不多说了,是国内数一数二的论坛程序,速度快、我用过的社区程序里静态化部署做的最好的,界面怎样说呢?罗卜青菜各有所爱,我喜欢discuz6的风格,更像是论坛,如果您和我一样,可以使用discuz7.2,然后安装官方提供的discuz6的风格,需要了解的朋友请自己上www.discuz.com
先说一下我的安装环境:OpenBSD 4.6稳定版,i386平台,shell采用系统默认的ksh,未安装任何的package,为了节省时间我们采用Packages的安装方式,这也是OpenBSD官方推荐的第三方软件安装模式,这可以极大的缩短安装时间,节省系统资源,当然如果你需要控制编译过程,例如增加或删除某些选项,定制编译方式,你也可以采用ports的方式安装。另外本例中web服务器和mysql数据库在同一台主机上,否则你还要单独设置host文件。我们这里的设置的Packages路径为OpenBSD官方FTP服务器,以下是具体步骤,如果你使用的不是ksh请根据自己的shell:
一 . 设置packages路径

代码: 全选

# [color=darkorange]export PKG_PATH=ftp://ftp.openbsd.org/pub/OpenBSD/4.6/packages/i386/[/color] 
二 . 安装MySQL服务器

代码: 全选

# [color=darkorange]pkg_add mysql-server[/color] 
mysql-client-5.0.83: complete 
p5-DBD-mysql-4.010:p5-Net-Daemon-0.43: complete 
p5-DBD-mysql-4.010:p5-PlRPC-0.2018p0: complete 
p5-DBD-mysql-4.010:p5-DBI-1.607: complete 
p5-DBD-mysql-4.010: complete 
mysql-server-5.0.83: complete 
--- mysql-server-5.0.83 ------------------- 
You can find detailed instructions on how to install a database 
in /usr/local/share/doc/mysql/README.OpenBSD. 


安装完MySQL server后,会自动在系统上创建一个_mysql用户,让我们先来看一下:

代码: 全选

# [color=darkorange]userinfo _mysql[/color] 
login _mysql 
passwd ************* 
uid 502 
groups _mysql 
change NEVER 
class daemon 
gecos MySQL Account 
dir /nonexistent 
shell /sbin/nologin 
expire NEVER

从安装过程显示信息看,不但安装了mysql服务器,还安装了相关的一些依赖包,最后建议我们阅读/usr/local/share/doc/mysql/README.OpenBSD这个帮助文档以便熟悉如何在OpenBSD系统上设置MySQL服务器。

三 . 创建默认的数据库
因为我们是在系统上第一次安装MySQL,需要用下列命令先创建一个默认的数据库:

代码: 全选

# [color=darkorange]/usr/local/bin/mysql_install_db[/color]
四 . 启动数据库

代码: 全选

[color=darkorange][color=black]#[/color] mysqld_safe &[/color]
这里说明一下,最后的 & 符号是让mysql进程在后台运行,如果你在VMWARE里运行时MySQL无法切换到后台,直接按CTRL+C断开,此时MYSQL会仍在后台运行,不必担心。
五 . 设定数据库本地root密码
我们这里这里密码是9971us,读者请根据自己的情况调整:

代码: 全选

# [color=darkorange]mysqladmin -u root password '9971us'[/color]

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2010-01-21 12:38

六 . 设定数据库远程root密码
我们这里这里密码是9971us,读者请根据自己的情况调整:

代码: 全选

# [color=#ff6600]mysqladmin -u root -h test.gobsd.org password '9971us'[/color]

我们这里稍微解释一些,所谓的远程密码就是指从另一台计算机上登录到MYSQL数据库时的密码,你还需要设置本地的host文件,MySQL加密通过TCP连接发送的登录信息。
七 . 设置MySQL的配置文件my.cnf
这里还需要大致地说一下,在/usr/local/share/mysql/目录里包含了一系列MySQL的简单的配置文件:
my-small.cnf 内存小于64M仅运行MySQL服务器的主机使用这个配置文件。
my-medium.cnf 内存在32-64M之间,主要运行MySQL服务,或128M以上,MySQL和web服务器一起运行时使用这个配置文件。
my-large.cnf 内存是512M的重要运行MySQL使用这个配置文件。
my-innodb-heavy-4G.cnf 内存是1-2G,主要运行MySQL使用这个配置文件。
my-huge.cnf 内存4G以上,主要运行MySQL的主机使用这个配置文件。
读者请根据自己的情况用上述文件中的一个替换 /etc/my.cnf文件,如果你有特殊的需要,例如要修改socket或端口请自行调整。
我的主机是是512M,用my-media.cnf,所以使用下面的命令替换原来的My.cnf文件:
# cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf
有一点需要提醒读者的是,如果你的MySQL仅用于基于PHP的web服务器,或者说你的MYSQL数据库和WEB服务器在一台主机上,那么禁用TCP连接对安装MySQL来说是比较安全的。
具体做法是编辑 /etc/my.cnf 文件,将里面的内容

代码: 全选

# skip-networking

前面的注释符去掉变成这样:

代码: 全选

 skip-networking
然后保存退出。

八 . 在login.conf里增加相关项:
默认情况下,用户_mysql和mysqld进程运行的登录级别是"daemon",在一台非常繁忙的服务器上,将让用户_mysql和mysqld进程运行在自己的登录级别上很明智。
例如调整打开文件等,你必须将下列内容加入到/etc/login.conf文件内,以便登录时mysql有自己的登录级别,否则其无法运行。

代码: 全选

mysql:\
:openfiles-cur=1024:\
:openfiles-max=2048:\
:tc=daemon:
然后重建login.conf.db文件
# cap_mkdb /etc/login.conf
九 . 设置MySQL自动启动
在/etc/rc.local里加入如下内容:

代码: 全选

if [ -x /usr/local/bin/mysqld_safe ] ; then 
su -c mysql root -c '/usr/local/bin/mysqld_safe >/dev/null 2>&1 &' 
echo -n ' mysql' 
fi 

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2010-01-21 12:40

到这一步,我们重新启动一下系统,看看MySQL的设置是否正常.
重新启动主机后,我们输入命令:

代码: 全选

# [color=darkorange]top[/color] 
load averages: 0.17, 0.10, 0.09 08:01:49 
21 processes: 20 idle, 1 on processor 
CPU states: 0.0% user, 0.0% nice, 0.2% system, 0.0% interrupt, 99.8% idle 
Memory: Real: 24M/213M act/tot Free: 1342M Swap: 0K/502M used/tot 
PID USERNAME PRI NICE SIZE RES STATE WAIT TIME CPU COMMAND 
31656 root 18 0 556K 440K sleep pause 0:00 0.05% ksh 
19510 _mysql 2 0 41M 18M sleep poll 0:00 0.00% mysqld 
17223 _pflogd 4 0 560K 312K sleep bpf 0:00 0.00% pflogd 
............................................ 
大家看到了吧,这里面有一个mysqld,说明mysql已经运行了,为了方便拷贝屏幕内容以便给读者做解释,我是远程连接上的MySQl所在主机,
实际上如果你在本地启动时就可以看到启动信息里,有一行:

代码: 全选

mysqlstandard daemons:cron

这说明mysql已经启动了。
如果你的mysql没有启动,请仔细检查一下上面的步骤,看看有没有遗漏,如果有请不上,如果还不行试试这样:
先建立一个目录 /var/run/mysql/,并将其所属用户及组设置成_mysql,否则后面重新启动时MySQL无法启动:

代码: 全选

# [color=darkorange]mkdir -p /var/run/mysql[/color] 
# [color=darkorange]chown -R _mysql:_mysql /var/run/mysql/[/color]
这个目录应该是mysql自动建立的,你如果没有这个目录,手动建立一个再试试。还有一点需要注意的是,看一下你的/tmp目录,它的属性应该是777,也即是像这样:

代码: 全选

drwxrwxrwt 4 root wheel 512 Dec 19 17:58 tmp

如果你的文件权限不是这样,改改试试。
好了,现在我们测试一下mysql服务器:

代码: 全选

# [color=darkorange]mysql -p[/color] 
Enter password:[color=darkorange]9971us[/color] 
Welcome to the MySQL monitor. Commands end with ; or \g. 
Your MySQL connection id is 4 
Server version: 5.0.83-log OpenBSD port: mysql-server-5.0.83 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
登录成功输入命令,注意是以;结尾的。

建立一个数据库
好的,现在我们要为我们的discuz论坛建立一个的数据库,我们这里假设数据库的名字为discuz:

代码: 全选

mysql> [color=darkorange]create database discuz;[/color] 
Query OK, 1 row affected (0.01 sec) 
添加数据库用户
我们现在再向该数据库添加一个用户全权用户dzuser,密码是dztest:

代码: 全选

mysql> [color=darkorange]grant all on discuz.* to dzuser@localhost identified by 'dztest';[/color] 
Query OK, 0 rows affected (0.00 sec) 
这里注意,论坛真正运行时并不需要全部的权限,安装你完成后读者请根据自己的情况,自行消减该用户权限。
退出mysql:

代码: 全选

mysql> [color=darkorange]quit[/color]
Bye
#

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2010-01-21 12:40

九 . 安装php5-mysql

代码: 全选

# [color=#ff6600]pkg_add php5-mysql[/color] 
libiconv-1.13: complete 
gettext-0.17p0: complete 
libxml-2.6.32p2: complete 
php5-core-5.2.10: complete 
php5-mysql-5.2.10: complete 
--- php5-core-5.2.10 ------------------- 
To enable the php5 module please create a symbolic 
link from /var/www/conf/modules.sample/php5.conf 
to /var/www/conf/modules/php5.conf. 
ln -s /var/www/conf/modules.sample/php5.conf \ 
/var/www/conf/modules 
The recommended php configuration has been installed 
to /var/www/conf/php.ini. 
Don't forget that the default OpenBSD httpd is chrooted 
into /var/www by default, so you may need to create support 
directories such as /var/www/tmp for PHP to work correctly. 
--- php5-mysql-5.2.10 ------------------- 
You can enable this module by creating a symbolic 
link from /var/www/conf/php5.sample/mysql.ini to 
/var/www/conf/php5/mysql.ini. 
ln -fs /var/www/conf/php5.sample/mysql.ini \ 
/var/www/conf/php5/mysql.ini 
#

并根据提示,创建下面的符号链接:

代码: 全选

# ln -s /var/www/conf/modules.sample/php5.conf \ 
> /var/www/conf/modules 
# ln -fs /var/www/conf/php5.sample/mysql.ini \ 
> /var/www/conf/php5/mysql.ini
并建立一个 /var/www/tmp目录,并将其属性设置为777

代码: 全选

# mkdir /var/www/tmp 
# chmod 777 /var/www/tmp
十 . 设置apache
OpenBSD系统自带了修补过的apache1.3,所以我们只需在/etc/rc.conf.local里加上如下内容,系统每次启动时就可以自动启动apache了:

代码: 全选

httpd_flags=""
如果你需要ssl连接,请自行参照用户手册,这里就不再展开讨论了。
修改 /var/www/conf/httpd.conf 文件中的下列内容:
将原内容:

代码: 全选

DirectoryIndex index.html

修改为:

代码: 全选

DirectoryIndex index.php

并删除或改名index.html文件;
如果两个文件全需要,则修改为:

代码: 全选

DirectoryIndex index.php index.html

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2010-01-21 12:41

十一 . 让MySQL运行在chroot环境内
因为OpenBSD自带的apcahe是chroot在 /var/www 目录内的,所以我们必须将MySQL运行所在的部件设置在这个目录下。根据FAQ上的说明:

代码: 全选

# [color=darkorange]mkdir -p /var/www/var/run/mysql[/color]

然后授权:

代码: 全选

# [color=darkorange]chown -R _mysql:_mysql /var/www/var/run/mysql/[/color]

因为运行环境变化了,还需要修改一下默认的mysql配置文件 /etc/my.cnf,把下面socket的地址更换为:/var/www/var/run/mysql/
原先的内容:

代码: 全选

# The following options will be passed to all MySQL clients 
[client] 
#password = your_password 
port = 3306 
socket = /var/run/mysql/mysql.sock 
# Here follows entries for some specific programs 
# The MySQL server 
[mysqld] 
port = 3306 
socket = /var/run/mysql/mysql.sock

更换后的内容:

代码: 全选

# The following options will be passed to all MySQL clients 
[client] 
#password = your_password 
port = 3306 
[color=#6699cc]socket = /var/www/var/run/mysql/mysql.sock[/color] 
# Here follows entries for some specific programs 
# The MySQL server 
[mysqld] 
port = 3306 
[color=#6699cc]socket = /var/www/var/run/mysql/mysql.sock[/color]

十二 . 安装discuz 7.2
我们先将原htdocs目录改名为htdocs.old,当然你也可以直接删除,我们这里采用改名的方式:

代码: 全选

# [color=darkorange]cd /var/www/[/color] 
# [color=darkorange]mv htdocs htdocs.old[/color] 
# [color=darkorange]mkdir htdocs[/color]

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2010-01-21 12:43

安装discuz:
读者可自行到http://www.discuz.com下载最新版的discuz论坛程序,这里注意你必须下载带UCcenter版的,否则可能安装有麻烦,我下载的是Discuz! 7.2_FULL(含UCenter) UTF8版,解压后将upload目录里的内容上传至/var/www/htdocs目录下,另外请注意如果你下载的是GBK版的,安装时会说你数据库编码设置的不对头。
先将 /var/www/conf/php.ini中的 short_open_tag 设置为 On,否则无法安装。
找到:
; be sure not to use short tags.
short_open_tag = Off
将其改为:
; be sure not to use short tags.
short_open_tag = On
重新启动php或重新启动主机,比便载入新配置。
在浏览器内输入服务器地址:
[url]http://你服务器的IP地址/install/index.php,[/url]
安装界面终于出来了。
图片
继续后发现这个提示:
图片
按提示将这类文件和目录更改后,可以了
图片

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2010-01-21 12:43

安装数据库
图片
安装过程
图片
安装完成后可以掠过如下步骤直接登录论坛后台进行设置。
图片
发一个测试帖,成功。

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2010-01-21 12:43

因为后面的步骤因人而异,这里就不发新安装的图了,来一张以前论坛的:
图片
到此为止,discuz的安装步骤我们就介绍完了。
下面根据本论坛的实际情况,说一下论坛转码的问题,以避免朋友们走弯路:
目前我们论坛的编码是gbk,因为这是discuz推荐的,前几天想转换为UTF-8以便国外的用户可以方便的访问,论坛数据库转码失败的原因是,虽然将数据库强制保存为utf-8格式,但是论坛采用了非默认风格,风格文件的编码是GBK的,导入后全是乱码,所以如果风格为不同编码的不要导入,另外原来论坛在“全局"-“优化设置”-“搜索引擎优化”-“启用 Archiver”,点击所有链接全没有(当时经验不足,以为数据全部丢失了,加上没有备份......),因为在新安装的服务器上还没有静态目录,所以需要在后台先关闭这个功能,再将URL 静态化也取消,总之恢复成默认安装时的状态,这样所有的帖子就出来了,然后再反操作重新生成静态化。此外原来的附件目录还需要上传,这样论坛的所有链接才不会失效。此外注意的是不要修改DZ分卷备份的长度,否则可能会还原不成功。
以上方法在本地的服务器上转码还原成功,但还没有用在我们的论坛上,我先观察几天再说。如果一切正常今后的转码也不会有太多的问题,目前发现的,仅是头像未恢复,目录暂时还未考上去,仅是观察一下论坛的数据和注册情况。

[email protected]


=======================================================

关于附件图片的补充说明

如果要生成附件图片的缩略图及显示缩略图,请您自行安装php5-gd和ImageMagick,根据您选择的缩图方式是GD还是ImageMagick。

我们这里以ImagegMagick为例,因为apache工作在chroot的环境下,所以我们要处理一下:

代码: 全选

#!/bin/sh
IMAGEMAGICK="/usr/local/bin/composite /usr/local/bin/convert /usr/local/bin/identify"
 
if [ ! -d /var/www/usr/local/bin ]; then mkdir -p /var/www/usr/local/bin ;fi
if [ ! -d /var/www/usr/local/lib ]; then mkdir -p /var/www/usr/local/lib ;fi
if [ ! -d /var/www/usr/libexec ]; then mkdir -p /var/www/usr/libexec; fi
if [ ! -d /var/www/usr/lib ]; then mkdir -p /var/www/usr/lib ;fi
 
LOCALBIN=`ldd $IMAGEMAGICK | grep -v : | grep usr | awk '{print $7}' | grep bin`
LOCALLIB=`ldd $IMAGEMAGICK | grep -v : | grep usr | awk '{print $7}' | grep local | grep -v libexec | grep lib`
LIB=`ldd $IMAGEMAGICK | grep -v : | grep usr | awk '{print $7}' | grep -v local | grep -v libexec | grep lib`
LIBEXEC=`ldd $IMAGEMAGICK | grep -v : | grep usr | awk '{print $7}' | grep libexec`
 
for x in $LOCALBIN
do
if [ ! -x /var/www${x} ]; then
cp -p $x /var/www${x}
echo Copied $x
else 
echo /var/www$x already executable
fi
done
 
for x in $LOCALLIB
do
if [ ! -r /var/www${x} ]; then
cp -p $x /var/www${x}
echo Copied $x
else 
echo /var/www$x already readable
fi
done
 
for x in $LIB
do
if [ ! -r /var/www${x} ]; then
cp -p $x /var/www${x}
echo Copied $x
else
echo /var/www$x already readable
fi
done
 
for x in $LIBEXEC
do
if [ ! -r /var/www${x} ]; then
cp -p $x /var/www${x}
echo Copied $x
else
echo /var/www$x already readable
fi
done

此外需要注意的是你的后台里可能设置了按月保存discuz的附件,这样的话随着时间的推移会生成一些新目录,请注意这些新的附件目录是否有写权限。

如果点击注册总是显示“加载中”先到后台把登录浮动窗口取消.......

有点时间没有碰DZ了,估计以后也会越来越少,趁着现在还有点记忆,赶快写下来,总之,仔细看看discuz的说明吧。

头像
crzyfish
镍 Ni
帖子: 195
注册时间: 2010-02-05 20:11

帖子 crzyfish » 2010-02-27 4:12

你好,
安装phpbb后更新GD和ImageMagick是可以正常使用的,
但是安装discuz后更新这2个,只有GD能用,
想请leo有时间看一下看是什么原因~

十分感谢~

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2010-02-27 9:12

crzyfish 写了:你好,
安装phpbb后更新GD和ImageMagick是可以正常使用的,
但是安装discuz后更新这2个,只有GD能用,
想请leo有时间看一下看是什么原因~

十分感谢~
您好,我无法猜测您的详细情况,太笼统了,我只能推测您的意思:
第一句是说phpbb安装后更新GD库和ImageMagick后可正常使用——那就好,实际上我还想知道您怎样做的“更新”或安装过程。
第二句是说discuz的ImageMagick有问题——什么问题? 具体的表现是什么?或错误信息,也就是您怎么看出不能正常使用了?
第三是让我分析问题——真的很抱歉,您的前题我都搞不明白,实在是不敢瞎支招。:(

ps:请您有时间时先看一眼《社区公告》 ,这样也便于解决问题。

头像
crzyfish
镍 Ni
帖子: 195
注册时间: 2010-02-05 20:11

帖子 crzyfish » 2010-02-27 11:25

不好意思,上次没说清楚,向你道歉啦~
phpbb 更新完ImageMagick-6.4.5.6-no_x11.tgz和php5-gd-5.2.10-no_x11.tgz后,管理界面缺少ImageMagick和GD 的提示就没了,因为在pbpbb怎么使用这两个东西我还不太懂,不过没提示貌似是没问题了。

discuz更新完ImageMagick和php5-gd 有X的和no_x11的我都试过了,但是管理员界面测试GD通过,测试ImageMagick老是通不过,
#convert --version //现实出版本了,各个ImageMagick在本机的功能都没问题,
#which convert
/usr/local/bin/convert

我就在discuz的ImageMagick路径写了/usr/local/bin/
一直不能测试缩图成功~

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2010-02-27 11:54

crzyfish 写了:不好意思,上次没说清楚,向你道歉啦~
phpbb 更新完ImageMagick-6.4.5.6-no_x11.tgz和php5-gd-5.2.10-no_x11.tgz后,管理界面缺少ImageMagick和GD 的提示就没了,因为在pbpbb怎么使用这两个东西我还不太懂,不过没提示貌似是没问题了。

discuz更新完ImageMagick和php5-gd 有X的和no_x11的我都试过了,但是管理员界面测试GD通过,测试ImageMagick老是通不过,
#convert --version //现实出版本了,各个ImageMagick在本机的功能都没问题,
#which convert
/usr/local/bin/convert

我就在discuz的ImageMagick路径写了/usr/local/bin/
一直不能测试缩图成功~
1.先禁用apache的默认chroot看看(-u 参数),是否为chroot的问题?(别忘了mysql的路径还要还原。)
2.哪里的缩图不能成功?您可否贴张图上来?
3.如果您是指帖子中附件的缩略图,不是头像或别的(我又瞎猜了),discuz的附件目录的可写权限是否已经给了?我记得discuz的附件目录是可以选择为随日期变化的,如果做了类似选择请检查一下新生成的目录的可写权限。

头像
crzyfish
镍 Ni
帖子: 195
注册时间: 2010-02-05 20:11

帖子 crzyfish » 2010-02-27 15:05

就是全局->附件设置->图片附件 那里

因为GD的更新包是:php5-gdXXX 这样的格式的,
安装完这个包会在/var/www/conf/php/下出现gd.ini,并在/var/www/lib/php/modules/下生成gd.so,
mysql类似,
但是ImageMagick没生成这两个,我尝试将ImageMagick的core改成imagick.so并添加imagck.ini也无济于事,

难道是discuz的问题?附件上传是没问题的呀。
附件
discuz.JPG

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2010-02-27 16:26

crzyfish 写了:就是全局->附件设置->图片附件 那里

因为GD的更新包是:php5-gdXXX 这样的格式的,
安装完这个包会在/var/www/conf/php/下出现gd.ini,并在/var/www/lib/php/modules/下生成gd.so,
mysql类似,
但是ImageMagick没生成这两个,我尝试将ImageMagick的core改成imagick.so并添加imagck.ini也无济于事,

难道是discuz的问题?附件上传是没问题的呀。


应该对ImageMagick的chroot没有成功,你没有尝试一下我说的第一步吗?——
也就是先禁用apache的chroot功能,如果这时候可以显示缩略图则说明是你的ImageMagick的没有正确放进chroot环境内,ImageMagick的chroot比较麻烦,涉及的文件和库比较多,虽然网上有执行chroot的脚本,但是如果这样做也就失去chroot的意义了,要是这样折腾不如使用apache2了。
我一般只用GD,适应的范围广,因为并非所有的虚拟主机全给你提供ImageMagick的。

如果你非要使用chroot的ImageMagick,参这里:
http://www.mail-archive.com/misc@openbs ... 42646.html

此外根据FAQ上的说明这种chroot的apache仅适用于不可写的web服务器,也就是说实际上安装论坛程序已经有些牵强了,也许这种情况下apache2更适合,探讨。:)

抱歉,现在没有OB环境,做不了测试,只能你自己试试了。

头像
crzyfish
镍 Ni
帖子: 195
注册时间: 2010-02-05 20:11

帖子 crzyfish » 2010-02-27 16:45

谢谢leo,
可能没有翻墙的缘故
这个网址没打开,
昨天我也试过一个chroot脚本,可能是OB版本升级了的缘故,很多文件都no found,不过也许真的不是没什么必要一定要用ImageMagick吧,暂时没想用太强大的机器做网站。

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2010-02-27 16:48

crzyfish 写了:谢谢leo,
可能没有翻墙的缘故
这个网址没打开,
昨天我也试过一个chroot脚本,可能是OB版本升级了的缘故,很多文件都no found,不过也许真的不是没什么必要一定要用ImageMagick吧,暂时没想用太强大的机器做网站。
国内这个全屏蔽?寒,脚本在这里:

代码: 全选

#!/bin/sh
IMAGEMAGICK="/usr/local/bin/composite /usr/local/bin/convert /usr/local/bin/identify"

if [ ! -d /var/www/usr/local/bin ]; then mkdir -p /var/www/usr/local/bin ;fi
if [ ! -d /var/www/usr/local/lib ]; then mkdir -p /var/www/usr/local/lib ;fi
if [ ! -d /var/www/usr/libexec ];   then mkdir -p /var/www/usr/libexec; fi
if [ ! -d /var/www/usr/lib ];       then mkdir -p /var/www/usr/lib ;fi

LOCALBIN=`ldd $IMAGEMAGICK | grep -v : | grep usr | awk '{print $7}' | grep bin`
LOCALLIB=`ldd $IMAGEMAGICK | grep -v : | grep usr | awk '{print $7}' | grep local | grep -v libexec | grep lib`
LIB=`ldd $IMAGEMAGICK | grep -v : | grep usr | awk '{print $7}' | grep -v local | grep -v libexec | grep lib`
LIBEXEC=`ldd $IMAGEMAGICK | grep -v : | grep usr | awk '{print $7}' | grep libexec`

for x in $LOCALBIN
do
if [ ! -x /var/www${x} ]; then
cp -p $x /var/www${x}
echo Copied $x
else 
echo /var/www$x already executable
fi
done

for x in $LOCALLIB
do
if [ ! -r /var/www${x} ]; then
cp -p $x /var/www${x}
echo Copied $x
else 
echo /var/www$x already readable
fi
done

for x in $LIB
do
if [ ! -r /var/www${x} ]; then
cp -p $x /var/www${x}
echo Copied $x
else
echo /var/www$x already readable
fi
done

for x in $LIBEXEC
do
if [ ! -r /var/www${x} ]; then
cp -p $x /var/www${x}
echo Copied $x
else
echo /var/www$x already readable
fi
done

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2010-02-27 16:53

crzyfish 写了:谢谢leo,
可能没有翻墙的缘故
这个网址没打开,
昨天我也试过一个chroot脚本,可能是OB版本升级了的缘故,很多文件都no found,不过也许真的不是没什么必要一定要用ImageMagick吧,暂时没想用太强大的机器做网站。
此外不见得是OB的问题,也许ImageMagick自己升级了,这个恐怕要去其网站查了,可惜这个脚本是2007年的,不知道能不能用了。

头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

帖子 leo » 2010-02-28 0:39

经在虚拟机上测试,上面的脚本可用,如果想使用ImageMagick的朋友运行一下这个脚本就可以了。

回复

在线用户

正浏览此版面之用户: 没有注册用户 和 1 访客