[准原创]sol9_x86+apache+mysql+php+discuz

发表于:2007-05-26来源:作者:点击数: 标签:
环境:VM+Solaris9forx86 软件:httpd-2.0.52 mysql-4.0.16 php-4.3.9 Discuz-2.2F 参考的文档有: http://bbs.chinaunix.net/forum/viewtopic.php?t=343241highlight=sql_lex.cc http://bbs.chinaunix.net/forum/viewtopic.php?t=265341 http://bbs.chinaun

环境:VM+Solaris9 for x86
软件:httpd-2.0.52 
      mysql-4.0.16       
      php-4.3.9
      Discuz-2.2F
参考的文档有:
http://bbs.chinaunix.net/forum/viewtopic.php?t=343241&highlight=llzqq
http://bbs.chinaunix.net/forum/viewtopic.php?t=43778
http://bbs.chinaunix.net/forum/viewtopic.php?t=329698
http://bbs.chinaunix.net/forum/viewtopic.php?t=129215&highlight=sql_lex.cc
http://bbs.chinaunix.net/forum/viewtopic.php?t=265341
http://bbs.chinaunix.net/forum/viewtopic.php?t=193717
http://bbs.chinaunix.net/forum/6/040921/411198.html

所需安装的软件包括:
bison-1.875d
perl-5.8.5
ncurse-5.4
autoconf-2.59 
automake-1.9
make-3.80
zlib-1.2.1
gcc-3.4.1(libgcc-3.4.1在这其中)
上述软件可以从http://www.sunfreeware.com/下载


一、修改路径
vi /etc/profile
在最后写入:
PATH=$PATH:/usr/ccs/bin:/usr/local/lib:/usr/local/bin:/usr/lib:/usr/local/httpd/bin:/usr/local/mysql/share/mysql:/usr/local/mysql/bin


CC=gcc 
CFLAGS="-O6" 
CXX=gcc 
CXXFLAGS="-O6 -felide-constructors -fno-exceptions -fno-rtti"
保存退出
执行. /etc/profile
使修改立即生效。

二、编译MYSQL
useradd mysql
groupadd mysql
#./configure --prefix=/usr/local/mysql --with-mysqld-user=mysql --with-charset=gb2312 --with-extra-charsets=all 

--with-unix-socket-path=/usr/local/mysql/var/mysql.sock
如在编译过程中出现:
In file included from /usr/include/sys/reg.h:13, 
from /usr/include/sys/regset.h:24, 
from /usr/include/sys/ucontext.h:21, 
from /usr/local/lib/gcc/i386-pc-solaris2.9/3.4.0/include/sys/signal.h:249, 
from /usr/include/signal.h:27, 
from mysql.cc:40: 
/usr/include/ia32/sys/reg.h:300: error: `upad128_t' does not name a type 
/usr/include/ia32/sys/reg.h:301: error: `upad128_t' does not name a type 
/usr/include/ia32/sys/reg.h:331: error: `upad128_t' does not name a type 
make[2]: *** [mysql.o] Error 1 
make[2]: Leaving directory `/export/home/z3j/mysql-4.0.18/client' 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory `/export/home/z3j/mysql-4.0.18' 
make: *** [all] Error 2

请修改/usr/include/ia32/sys/reg.h 
在第245行 
写入
typedef union { 
long _q; 
uint32_t _l[4]; 
} upad128_t;


如果出现:
sql_lex.cc: In function `void lex_init()': 
sql_lex.cc:85: `symbols' undeclared (first use this function) 
sql_lex.cc:85: (Each undeclared identifier is reported only once 
sql_lex.cc:85: for each function it appears in.) 
sql_lex.cc:87: `sql_functions' undeclared (first use this function) 
sql_lex.cc: In function `int find_keyword(LEX *, unsigned int, bool)': 
sql_lex.cc:171: implicit declaration of function `int get_hash_symbol(...)' 
sql_lex.cc:171: initialization to `SYMBOL *' from `int' lacks a cast 

解决办法: 
cd sql 
make gen_lex_hash 
./gen_lex_hash > lex_hash.h (如果提示xx文件找不到,就把/usr/local/lib/的xx文件cp到/usr/lib下)
make

# cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
# /usr/local/mysql/bin/mysql_install_db
# chmod -R 1777 /usr/local/mysql/var
# chown -R mysql /usr/local/mysql/
# chgrp -R mysql /usr/local/mysql/
启动MYSQL:
# /usr/local/mysql/share/mysql/mysql.server start
# /usr/local/mysql/bin/mysqladmin -u root password 123456
# cp /usr/local/lib/libncurses.so.5 /usr/local/mysql/lib/mysql
# /usr/local/mysql/bin/mysql -uroot -p123456



三、编译APACHE

#./configure --prefix=/usr/local/httpd --enable-track-vars --enable-cgi --with-config-file-path=/usr/local/httpd/conf 

--with-charset=gb2312 --with-extra-charsets=all --enable-so;make;make install

修改配置文件:
vi /usr/local/httpd/conf/httpd.conf
将Group #-1改为Group nobody

找到#AddType application/x-tar .tgz 这行,在下面加一行。前面不要加#号。
AddType application/x-httpd-php .php

找到下面一行在后面加上index.php,这表示网站的默认页也能够为index.php 

DirectoryIndex index.html index.html.var index.php 

在行AddDefaultCharset ISO-8859-1下加入:
AddDefaultCharset GB2312 
并注释掉AddDefaultCharset ISO-8859-1



四、编译PHP
#./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/httpd/bin/apxs --enable-track-vars 

--enable-force-cgi-redirect --with-config-file-path=/usr/local/php/etc;make;make install

vi /usr/local/httpd/htdocs/index.php
写入:<? phpinfo(); ?>
#chmod 755 index.php
#apachectl start
然后在IE中输入ip,测试一下是否成功了。


五、安装Discuz论坛
将下载下来的包中的Discuz!目录下的文件考到APACHE的网页根目录
在mysql中创建一个数据库bbs:
mysql>create database bbs;
重启一下APACHE:
#apachectl restart
在IE地址栏输入:http://ip/install.php
按提示操作:
# chmod 707 config.php
# chmod 777 ./tem*
# chmod 777 ./for*
# chmod 777 ./foru*/templ*
# chmod 777 ./foru*/cache
接下来自己看提示操作就OK了。
最后删除网页根目录下的install.php

这是我的第一个准原创吧(参考了一下DX们的贴子,然后总结出来的),大家鼓励一下吧!:)

 phpcool 回复于:2004-09-29 16:46:47
不错不错。

 steellyz 回复于:2004-09-29 17:40:28
好东东!我来学习一下!

 llzqq 回复于:2004-09-29 20:03:12
应该鼓励一下,楼主进步很快啊

 tnyx2004 回复于:2004-09-29 23:06:26
你的个性我喜欢
对windows和Linux的对比很形象!!
有问题的时候请多多的指教!!

 Linux@初学者 回复于:2004-09-30 18:07:46
[quote:f5639af6ae="llzqq"]应该鼓励一下,楼主进步很快啊[/quote:f5639af6ae]
谢谢大哥鼓励,主要是装这个遇到的问题比较多,所以才这么执 :em02: 著的!

 zero-B 回复于:2004-10-01 00:07:33
辛苦辛苦,顶一个ing

没想到你进步神速,是不是又熬了多个通宵的?

 Linux@初学者 回复于:2004-10-01 00:19:28
不算休息时间,全算下来,有一天时间吧!主要是在VM下编译比较慢!!

 Macolex 回复于:2004-10-01 00:49:10
sol9_x86+apache+mysql+php 都是好东西
可为什么是discuz

 Linux@初学者 回复于:2004-10-04 08:48:16
[quote:acf4d1e33d="Macolex"]sol9_x86+apache+mysql+php 都是好东西
可为什么是discuz[/quote:acf4d1e33d]
www.discuz.com
这是中国人开发的PHP论坛程序啊!怎么了?很烂吗?我只是试验一下啊,不做商用哟! :em02:

原文转自:http://www.ltesting.net