注意组件安装顺序
一、MYSQL-5.0.27
用tar解压,并进入目录
pw groupadd mysql \\建立MYSQL用户组
pw useradd mysql -g mysql -s /nonexistent \\建立MYSQL用户
\\下面是关键的配置参数,大家一个字也不能错,不然出了问题不要找我
./configure –prefix=/usr/local/mysql –with-mysqld-user=mysql –with-extra-charsets=all –with-unix-socket-path=/usr/local/mysql/var/mysql.sock –with-charset=gbk -with-SKIP_DNS_CHECK –without-innodb –enable-thread-safe-client
make
make WITH_PROC_SCOPE_PTH=yes BUILD_OPTIMIZED=yes BUILD_STATIC=yes install \\建立权限表
./scripts/mysql_install_db –user=mysql
\\给目录授权,不然MYSQL不能启动
cd /usr/local/mysql
chown -R root .
chown -R mysql var
chown -R mysql var/.
chown -R mysql var/mysql/.
chgrp -R mysql .
\\把my.cnf文件拷过去
cp /var/ftp/bsd/mysql-5.0.27/support-files/my-medium.cnf /etc/my.cnf
ee /etc/my.cnf
在[mysqld]下加
max_connections=1000 \\增加连接,其他的优化,大家在网上搜,自行改之
\\把MYSQL启动脚本拷过去
cp /usr/local/mysql/share/mysql/mysql.server /usr/local/etc/rc.d/mysqld.sh
\\给脚本授权
chmod 755 /usr/local/etc/rc.d/mysqld.sh
\\运行MYSQL
/usr/local/etc/rc.d/mysqld.sh start
二、安装APACHE-2.2.4
tar zxvf httpd-2.2.4.tar.gz
cd httpd-2.2.4
\\下面的参数不能错,找了好久才找齐的,源码方式难处,就在这些参数难配,网上没一个齐全的,启用了APACHE WORKER模式。
./configure –prefix=/usr/local/apache –enable-so –enable-rewrite=shared –enable-cache –enable-disk-cache –enable-mem-cache –enable-file-cache –with-mpm=worker –enable-mods-shared=most
make
make WITH_APACHE_SUEXEC=yes WITHOUT_IPV6=yes WITH_THREADS=yes WITHOUT_SSL=yes install
\\ 下面是关于APACHE WORKER的参数设置 在底部加入以下选项(需要在
ee /usr/local/apache/conf/httpd.conf
ServerLimit 100
ThreadLimit 200
StartServers 5
MaxClients 3000
MinSpareThreads 50
MaxSpareThreads 200
ThreadsPerChild 100
MaxRequestsPerChild 0
\\大家自己根据机子的配置设定,同时记住公式,不然启动APACHE会报错
ServerLimit 16
//服务器允许配置的进程数上限。这个指令和ThreadLimit结合使用设置了MaxClients最大允许配置的数值。任何在重启期间对这个指令的改变都将被忽略,但对MaxClients的修改却会生效。
ThreadLimit 64
//每个子进程可配置的线程数上限。这个指令设置了每个子进程可配置的线程数ThreadsPerChild上限。任何在重启期间对这个指令的改变都将被忽略,但对ThreadsPerChild的修改却会生效。默认值是”64″.
StartServers 3
//服务器启动时建立的子进程数,默认值是”3″。
MinSpareThreads 75
//最小空闲线程数,默认值是”75″。这个MPM将基于整个服务器监视空闲线程数。如果服务器中总的空闲线程数太少,子进程将产生新的空闲线程。
MaxSpareThreads 250
//设置最大空闲线程数。默认值是”250″。这个MPM将基于整个服务器监视空闲线程数。如果服务器中总的空闲线程数太多,子进程将杀死多余的空闲线程。MaxSpareThreads的取值范围是有限制的。Apache将按照如下限制自动修正你设置的值:worker要求其大于等于MinSpareThreads加上ThreadsPerChild的和
MaxClients 400
//允许同时伺服的最大接入请求数量(最大线程数量)。任何超过MaxClients限制的请求都将进入等候队列。默认值是”400″,16(ServerLimit)乘以25(ThreadsPerChild)的结果。因此要增加MaxClients的时候,你必须同时增加ServerLimit的值。
ThreadsPerChild 25
//每个子进程建立的常驻的执行线程数。默认值是25。子进程在启动时建立这些线程后就不再建立新的线程了。
MaxRequestsPerChild 0
//设置每个子进程在其生存期内允许伺服的最大请求数量。到达MaxRequestsPerChild的限制后,子进程将会结束。如果MaxRequestsPerChild为”0″,子进程将永远不会结束。
将MaxRequestsPerChild设置成非零值有两个好处:
1.可以防止(偶然的)内存泄漏无限进行,从而耗尽内存。
2.给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。
注意
对于KeepAlive链接,只有第一个请求会被计数。事实上,它改变了每个子进程限制最大链接数量的行为。
ThreadLimit >= ThreadsPerChild
MaxClients <= ServerLimit * ThreadsPerChild 必须是ThreadsPerChild的倍数
MaxSpareThreads >= MinSpareThreads+ThreadsPerChild
\\让APAHCE开机自动启动
cp /usr/local/apache/bin/apachectl /usr/local/etc/rc.d/apache.sh
chmod 755 /usr/local/etc/rc.d/apache.sh
\\用下面的方法手动生成rewrite模块
cd modules/mappers
/usr/local/apache/bin/apxs -c mod_rewrite.c -lgdbm
gcc -shared -o mod_rewrite.so mod_rewrite.o
/usr/local/apache/bin/apxs -i -A -n rewrite mod_rewrite.so
\\加上rewrite规则
在httpd.conf 最后加上
RewriteEngine On
接着把规则加上即可
\\运行 apache
/usr/local/apache/bin/httpd -k start
三、安装PHP及其组件,顺序不要错
1、jpegsrc.v6b.tar.tar
解压并进入目录,以下都是一样
./configure –enable-shared
make
make install
2、zlib-1.2.3.tar.tar
./configure
make
make install
3、libpng-1.2.12.tar.gz
cd scripts
mv makefile.linux ../makefile
cd ..
make
make install
4、freetype-2.2.1.tar.gz
ee configure
把
GNUMAKE=make
改成
GNUMAKE=gmake
./configure
gmake
gmake install
5、 libxml2-2.6.27.tar.gz
./configure
make
make install
6、gd-2.0.33.tar.gz
./configure –with-png –with-freetype –with-jpeg –with-libxml2
make
make install
7、php-5.2.1.tar.gz
./configure –prefix=/usr/local/php –with-apxs2=/usr/local/apache/bin/apxs –with-mysqli=/usr/local/mysql/bin/mysql_config –with-mysql=/usr/local/mysql –disable-debug –with-libxml -enable-sockets –enable-short-tags –with-gd –with-zlib –with-jpeg –with-png –enable-mbstring=gb2312 –with-freetype –enable-memory-limit –with-config-file-path=/usr/local/lib
make
make install
cp php.ini-dist /usr/local/lib/php.ini \\把PHP.INI文件拷过去
\\让APACHE解析PHP文件
ee /usr/local/apache/conf/httpd.conf
找到
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
在下面加
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
找到 #ServerName www.example.com 这一行 把前面的#去掉,把后面的域名改成自己的网站的域名
另外别忘了加上 index.php
APACHE的安全设置,大家在网上搜,这个很多的
//重启下APACHE
/usr/local/apache/bin/httpd -k stop
/usr/local/apache/bin/httpd -k start
如果没错误,PHP安装成功了
试下PHP吧?
在apache/htdocs(这是默认的网页根目录,如果你改了就在你改的目录下)下面建立一个 php.php文件,内容如下
然后在,IE里输入 http://你服务器的IP/php.php
能执行,并出来内容,PHP就OK了
四、安装ZendOptimizer-3.2.6-freebsd6.0-i386.tar.gz
由于zend-3.2.6的一个BUG,要用到zend 3.0.2里的文件
我们先解开ZendOptimizer-3.0.2-freebsd6.0-i386.tar.gz
再解ZendOptimizer-3.2.6-freebsd6.0-i386.tar.gz
cp ZendOptimizer-3.0.2-freebsd6.0-i386/zui_files/dialog ZendOptimizer-3.2.6-freebsd6.0-i386/zui_files/
cd ZendOptimizer-3.2.6-freebsd6.0-i386
./install.sh \\执行安装脚本 按照提示点下一步及可。
五、安装phpMyAdmin-2.9.1-all-languages.tar.gz
解压phpMyAdmin-2.9.1-all-languages.tar.gz
\\把PHPMYADMIN移到网站目录下,默认是/usr/local/apache/htdocs ,这个可以在http.conf里改
mv phpMyAdmin-2.9.1-all-languages /usr/local/apache/htdocs/phpmyadmin
\\修改phpmyadmin的配置文档
ee /usr/local/apache/htdocs/phpmyadmin/libraries/config.default.php
把
$cfg[‘blowfish_secret’]=””
改成
$cfg[‘blowfish_secret’]=”cookie”
把
$cfg[‘Servers’][$i][‘auth_type’] = ‘config’;
改成
$cfg[‘Servers’][$i][‘auth_type’] = ‘cookie’;
把
$cfg[‘Servers’][$i][‘host’] = ‘localhost’;
改成
$cfg[‘Servers’][$i][‘host’] = ‘127.0.0.1’; \\由于mysql绑定到了127.0.0.1, 不认localhost,或改成localhost.domain.com (domain.com是你设置的域名,我没试过)
保存,退出
大家可以用 http://你的IP/phpmyadmin 登入MYSQL,删掉多余的用户,新建一个数据库及用户,为安装discuz论坛做准备
六、安装DZ论坛注意几点
大家上传到网站根目录时,先给所有文件授权
cd /usr/local/apache/htdocs
chmod -R a+rX .
然后
chmod 777 config.inc.php
还有几个目录要也给777权限,大家看DZ的文档