momo 发表于 2010-11-4 15:34:30

Nexus Project PHP Standard 1.5 bete 4简易安装说明

Nexus Project同时支持在Windows和Linux平台运行。为了获得更好的效率和安全性,建议使用Linux系统。

运行环境要求:
1、HTTP服务器,如Apache
2、MySQL
3、PHP 5 (由于PEAR组件HTTP_Request不兼容PHP 5.3,目前不要使用PHP 5.3版本)
4、PEAR
5、memached
6、SMTP服务器软件,如Postfix


以下配置说明以在Linux发行版Ubuntu Server 904为例,假设代码保存位置为/home/xxx/www,即index.php文件的完整路径为/home/xxx/www/index.php。假设你的网站域名为www.mynexuspt.com。
Apache配置:
修改Apache配置文件(通常名为Apache2.conf或httpd.conf。在Ubuntu Server 904,可修改/etc/apache2/sites-enabled/000-default):

1、ErrorDocument 403 http://www.mynexuspt.com/403.php
2、ErrorDocument 404 http://www.mynexuspt.com/404.php
3、ErrorDocument 500 http://www.mynexuspt.com/500.php
4、DocumentRoot “/home/xxx/www”
5、<Directory /home/xxx/www>
6、Options FollowSymLinks
7、AllowOverride None
8、Order allow,deny
9、Allow from all
10、</Directory>
11、<DirectoryMatch “/\.svn/”>
12、AllowOverride None
13、Order allow,deny
14、Deny from all
15、</DirectoryMatch>
16、<Directory /home/xxx/www/_db>
17、AllowOverride None
18、Order allow,deny
19、Deny from all
20、</Directory>
21、<Directory /home/xxx/www/config>
22、AllowOverride None
23、Order allow,deny
24、Deny from all
25、</Directory>
26、<Directory /home/xxx/www/client>
27、Options Indexes
28、Order allow,deny
29、Allow from all
30、</Directory>
31、<Directory /home/xxx/www/docs>
32、Options Indexes
33、Order allow,deny
34、Allow from all
35、</Directory>
36、<Directory /home/xxx/www/lang>
37、AllowOverride None
38、Order allow,deny
39、Deny from all
40、</Directory>
41、<Directory /home/xxx/www/cache>
42、AllowOverride none
43、Options -Indexes
44、Order allow,deny
45、Deny from all
46、</Directory>
复制代码

注意一:将www.mynexuspt.com替换成你的网站域名,将/home/xxx/www替换成你的代码保存路径。
注意二:以上配置中,关于访问权限的设置十分重要。尤其是/home/xxx/www/config这一路径的访问权限,如果不按以上设置,任何用户都可以通过浏览器看到你的配置文件内容,包括你的MySQL密码(在config/BASIC文件中)
PHP配置:
PHP要求gd,mbstring,memcache,mysql模块,这些模块在PHP默认安装中可能并不包含,需要另外安装。对于Ubuntu Server 904,可以通过以下命令安装这些模块:
sudo apt-get install php5-gd php5-memcache php5-mysql
修改PHP配置文件(通常名为php.ini,在Ubuntu Server 904,其路径为/etc/php5/apache2/php.ini):

1、short_open_tag = On
2、magic_quotes_gpc = Off
3、magic_quotes_runtime = Off
4、magic_quotes_sybase = Off
5、memory_limit = 128M
复制代码

注意一:short_open_tag必须设为On,否则代码无法正常使用。
注意二:magic_quotes相关内容必须全部设为Off。PHP的magic quotes功能已确认有bug,对于Nexus Project来说将导致hash错误,在PHP 6中magic quotes功能已确认将被去除。
注意三:memory_limit设置过小(默认为16 M)容易导致在上传体积较大(如1 MB以上)的torrent文件时出现内存不足错误。

MySQL配置及创建/导入数据库:
修改MySQL配置文件(通常名为my.cnf,在Ubuntu Server 904,其路径为/etc/mysql/my.cnf):
max_connections = 1000
注意一:max_connections设置过小(默认为100)容易在网站访问量较大时出现MySQL连接出错。

MySQL数据库操作说明。此说明针对的读者是有一定MySQL管理经验的用户。假设你的MySQL服务器和HTTP服务器架设于同一主机(即localhost)、MySQL使用默认用户root且其密码是’nexusrocks’(不包含引号)。
1.输入以下命令进入MySQL命令行管理工具:
mysql -u root -p nexusrocks -h localhost
注意:将’root’,’nexusrocks’,’localhost’分别替换成你的MySQL用户名、密码、主机地址。
2.在MySQL命令行管理工具中运行以下命令创建一个新的数据库,假设数据库名为nexus:
CREATE DATABASE nexus;
3.在MySQL命令行管理工具导入Nexus Project的数据库文件:
SET NAMES utf8;
SOURCE /home/xxx/www/_db/dbstructure.sql;
注意一:将/home/xxx/www/_db/dbstructure.sql替换成你的实际dbstructure.sql文件路径。
4.退出MySQL命令行管理工具:
quit;

安装PEAR及HTTP_Request包:
Nexus Project需要使用PEAR的HTTP_Request包,因此需要安装PEAR(全称PHP Extension and Application Repository,网址为http://pear.php.net)。在Windows平台,PHP一般会附带go-pear.bat脚本自动安装PEAR。在Linux平台中,可以安装PEAR的软件包,如在Ubuntu Server 904中可通过以下命令安装PEAR:
sudo apt-get install php-pear
在PEAR安装完成后,需要安装PEAR的HTTP_Request包,使用以下命令(Windows平台和Linux平台都是此命令):
pear install HTTP_Request
在本文撰写时HTTP_Request已经被标记为superseded,在安装时会有Warning提示,请不要理会。

memcached安装和运行:
memcached官方并不支持Windows平台,如在Windows平台,请使用memcached for Win32项目(网址为http://jehiah.cz/projects/memcached-win32/)。对于Linux平台,可以安装memcached的软件包,如在Ubuntu Server 904中可通过以下命令安装memcached:
sudo apt-get install memcached
对于Nexus Project,目前memcached必须在localhost运行,监听默认的端口11211,在Linux平台使用以下命令以daemon方式运行memcached:
memcached -d

Postfix安装:
如果你已经有一个SMTP服务器,你可以在Nexus Project的“站点设定->SMTP设定”中选择使用“外部”模式使用它。如果你没有外部的SMTP服务器,又需要开启Nexus Project发送邮件的功能(如验证用户注册邮箱),你必须在本地安装一个SMTP服务器软件。在Linux平台中,Postfix是个很好的选择。在Ubuntu Server 904中可通过以下命令安装Postfix:
sudo apt-get install postfix

重启MySQL和Apache服务
在修改软件配置文件后,需要重启相应服务才能使新配置生效。在Ubuntu Server 904中可通过以下命令重启Apache和MySQL:
sudo /etc/init.d/apache2 restart
sudo /etc/init.d/mysql restart
如果你不明白如何重启服务,可以重启操作系统。

Nexus Project设置:
在所有环境软件安装配置完成后,最后是Nexus Project代码的设置。很遗憾,目前Nexus Project没有提供安装程序,需要手动配置安装,方法如下:
Nexus Project代码的所有配置文件在config/目录中,为文本文件,可使用文本编辑器编辑(注意,请使用较高级的文本编辑器,一些简单的文本编辑器如notepad可能强制在文本文件中添加其它字符导致配置文件读取失败。在Windows平台可选择EditPlus,UltraEdit)。在架设中,你只需要修改config/BASIC文件。
config/中的配置文件使用的是bencode编码方式。其中数据规则如下:
<type>:<length>:<value>;
其中<type>为数据类型,如s表示是string(字符串);<length>为数字,表示<value>的字长(即字符数,如abcde的字长为5);<value>为值。
两个相邻的数据构成一个“配置名=配置值”的项目。以config/BASIC为例:
a:7:{s:10:”mysql_host”;s:9:”localhost”;s:10:”mysql_user”;s:4:”root”;s:10:”mysql_pass”;s:10:”

nexusrocks”;s:8:”mysql_db”;s:5:”nexus”;s:8:”SITENAME”;s:5:”Nexus”;s:7:”BASEURL”;s:17:”

www.mynexuspt.com”;s:12:”announce_url”;s:30:”www.mynexuspt.com/announce.php“;}
通过读取这个配置文件获取的配置内容为:

mysql_host=localhost //MySQL主机
mysql_user=root //MySQL用户名
mysql_pass=nexusrocks //MySQL用户密码
mysql_db=nexus //MySQL数据库名
SITENAME=Nexus //网站名
BASEURL=www.mynexuspt.com //网站地址(不包含http://)
announce_url=www.mynexuspt.com/announce.php //网站Tracker地址(不包含http://)
复制代码

在网站架设时,必须填写正确的项目是mysql_host,mysql_user,mysql_pass,mysql_db和BASEURL。注意在修改这些项目的值时其对于的<length>也必须同步修改正确。如将mysql_pass修改为’nexusisgreat’,则配置文件中的
s:10:”mysql_pass”;s:10:”nexusrocks”;
部分要修改为
s:10:”mysql_pass”;s:12:”nexusisgreat”;
注意”nexusrocks”对应的<length>为10,修改为”nexusisgreat”后其<length>变成了12。
在修改完config/BASIC后,如果一切顺利,网站就可以访问。

设置文件权限:
在Linux平台,需要设置代码文件的访问权限,最简单是的方式是将所有文件权限开放。命令如下:
chmod -Rf 777 /home/xxx/www
注意:将/home/xxx/www替换成你的实际代码路径。

注册一个新用户并将其设为最高等级:
很遗憾,目前Nexus Project没有提供安装程序,对于最高权限的管理员,必须手动操作数据库来指定。方法如下:
1.使用正常方式在网站注册一个新用户,假设用户名为admin。
2.输入以下命令进入MySQL命令行管理工具:
mysql -u root -p nexusrocks -h localhost
注意:将’root’,’nexusrocks’,’localhost’分别替换成你的MySQL用户名、密码、主机地址。
2.在MySQL命令行管理工具输入以下命令:
USE nexus;
UPDATE users SET class=’16′ WHERE username=’admin’;
注意:将以上命令中的’nexus’替换成你的数据库名,将’admin’替换成你注册的用户名。
3.退出MySQL命令行管理工具:
quit;

常见错误:
1.Error! Cannot read configuration file XXX
你的代码配置文件(在config/中)配置错误,请仔细检查。
2.Fatal error: Class ‘Memcache’ not found in ….
PHP没有安装memcache模块。
3.Warning: Memcache::connect() : Can’t connect to localhost:11211, Connection refused (111) in /home/xxx/www/classes/class_cache.php on line 223
memached没有在运行。
4.Fatal error: require_once() : Failed opening required ‘HTTP/Request.php’…
没有安装PEAR的HTTP_Request包或PHP配置参数include_path设置错误。

其实最重要的就是这几步:

sudo apt-get install apache2
sudo apt-get install mysql-server
sudo apt-get install php5-gd
sudo apt-get install php5-mysql
sudo apt-get install phpmyadmin
sudo apt-get install php-pear
pear install HTTP_Request
sudo apt-get install memcached
sudo apt-get install php5-memcache
memcached -d
复制代码

可能的话,打开root的权限

sudo passwd root
复制代码

再输入新的密码

注销当前用户,切换至root,启用memcache

memcached -u root -d
复制代码

www文件目录


下载 (49.64 KB)
2010-6-4 21:38
Windows下的Memcache安装:
1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached
2. 在终端(也即cmd命令界面)下输入 ‘c:\memcached\memcached.exe -d install’ 安装
3. 再输入: ‘c:\memcached\memcached.exe -d start’ 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。
4.下载php_memcache.dll,请自己查找对应的php版本的文件
5. 在C:\winnt\php.ini 加入一行 ‘extension=php_memcache.dll’
6.重新启动Apache,然后查看一下phpinfo,如果有memcache,那么就说明安装成功!

来自本论坛版主的blog
http://duangx.cn/1229.html

fttbcm 发表于 2011-2-17 18:02:57

更新一下,
其实最重要的就是这几步: sudo apt-get install apache2
sudo apt-get install mysql-server
sudo apt-get install php5-gd
sudo apt-get install php5-mysql
sudo apt-get install phpmyadmin
sudo apt-get install php-pear
      pear install HTTP_Request
sudo apt-get install memcached
sudo apt-get install php5-memcache
      memcached -d


以上在ubuntu10.04中测试成功。

wm1245 发表于 2013-7-10 19:38:42

{:soso_e100:},过来学学东西
页: [1]
查看完整版本: Nexus Project PHP Standard 1.5 bete 4简易安装说明