在solaris 9上安装apache, php, mysql
在solaris 9上安装apache, php, mysql
?
由于pkgutil下载的速度太慢,因此安装apache, php , mysql等软件,是直接下载安装包,然后再用pkgadd安装。
这样其安装过程就比较麻烦,需要提前安装许多包。这些包可以从sunfreeware上下载得到。
1. 安装必要的包
bison-2.4.1-sol9-sparc-local.gz
bzip2-1.0.5-sol9-sparc-local.gz
coreutils-7.1-sol9-sparc-local.gz
curl-7.19.4-sol9-sparc-local.gz
flex-2.5.35-sol9-sparc-local.gz
gawk-3.1.6-sol9-sparc-local.gz
gcc-3.4.6-sol9-sparc-local.gz
gnupg-1.4.8-sol9-sparc-local.gz
gpg_key.txt
libiconv-1.11-sol9-sparc-local.gz
libidn-1.14-sol9-sparc-local.gz
libintl-3.4.0-sol9-sparc-local.gz
make-3.81-sol9-sparc-local.gz
mysql-5.1.31-solaris9-sparc-64bit.pkg
ncurses-5.6-sol9-sparc-local.gz
openldap-2.4.11-sol9-sparc-local.gz
openssl-0.9.8k-sol9-sparc-local.gz
pkgutil_sparc.pkg
readline-5.2-sol9-sparc-local.gz
sasl-2.1.21-sol9-sparc-local.gz
software_companion_sparc.iso
tar-1.21-sol9-sparc-local.gz
top-3.6-sol9-sparc-local
vnc-E4_4_3-sparc_solaris.pkg
wget-1.11.4-sol9-sparc-local.gz
zlib-1.2.3-sol9-sparc-local.gz
所有安装的方法相似:
1. #gzip -d *.*.*.gz
2. pkgadd -d *.*.* all
都是安装在/usr/local/bin目录下。
但是要注意安装顺序。有些包可能依赖其它的包,我的安装顺序如下:
以下是许多软件都需要的包:
gcc
make
zlib
wget
tar
bison
flex
gawk
ncurses
coreutils
以下是gnugp需要的:
bzip2-1.0.5
libidn
libiconv
libintl
readline
openssl-0.9.8k
curl
openldap
sasl
zlib
gnupg
对于VIM,需要安装如下包:
gtk+-1.2.10,
glib-1.2.10,
ncurses,
libiconv,
libintl
对于GTK:
atk,
glib,
pango,
libiconv,
xrender,
cairo,
render,
expat,
fontconfig,
freetype,
libpng,
jpeg,
tiff,
zlib,
renderproto,
1. 接下来就是安装MySQL,这个是用pkgadd安装的,注意需要配置mysql用户;
?
2. apache2的安装
在安装apache2的过程中,发生了小小的周折。首先是发现Solaris9已经自带了apache,首先查看其是否启动:
?#ps -eaf |grep apache
如果启动,需要停止。
然后下载了一个apache2.*.gz的包,利用pkgadd安装,但是在随后的php的安装过程中出现问题,而且在网上查到的资料似乎都是通过源码安装,这样利于配置。因此不得不将其卸载。
#pkginfo -d apache-2.0.59-sol9-sparc-local
application SMCap2059????? apache
其中application是类型,中间是名字,卸载用pkgrm:
#pkgrm SMCap2059
然后重新下载了一个源码的apache2:
#gunzip httpd-2.0.59.tar.gz
#tar -xvf httpd-2.0.59.tar
#PATH=$PATH:/usr/ccs/bin
这一步必须做,否则在make时会提示:make[3]: ar Command not found. 奇怪的是我直接修改/etc/profile就不行。
# ./configure --disable-nls --with-ld=/usr/ccs/bin/ld --with-as=/usr/ccs/bin/as --prefix=/usr/local/apache2 --with-charset=gb2312 --with-extra-charsets=all --with-config-file-path=/usr/local/apache2/conf --enable-so --enable-track-vars --enable-cgi --disable-nls
......
#make
#make install
接下来要修改配置文件:?
#vi /usr/local/apache2/conf/httpd.conf?
将Group #-1改为Group nobody?
#ServerName www.example.com:80
ServerName 135.252.160.51(笔者server的IP是135.252.160.51,添加完整的主机名也可以,如:dove.ans.lucent.com)
找到#AddType application/x-tar .tgz 这行,在下面加一行。前面不要加#号。?
AddType application/x-httpd-php .php?
找到下面一行在后面加上index.php,这表示网站的默认页也能够为index.php??
DirectoryIndex index.html index.html.var index.php??
3. 安装mysql,开始也是安装了一个64bit的版本,但是利用pkgadd安装,但安装php时总是提示找不到mysql的配置文件。
没办法,只能用pkgrm卸载之,再下载了一个mysql-5.0.22.tar.gz
???? shell> groupadd mysql
???? shell> useradd -g mysql mysql
???? shell> gunzip mysql-5.0.22.tar.gz
???? shell>? tar -xvf mysql-5.0.22.tar
???? shell> cd cd mysql-5.0.22
???? shell> ./configure --prefix=/usr/local/mysql
???? shell> make
???? shell> make install
???? shell> cp support-files/my-medium.cnf /etc/my.cnf
???? shell> cd /usr/local/mysql
?5.#chown -R root /usr/local/mysql
6.#chgrp -R mysql /usr/local/mysql
7.#chown -R mysql /usr/local/mysql/var
8.#chmod 777 /usr/local/mysql/lib/mysql/libmysqlclient.a
9.#cd /test/mysql-5.0.41
10.#cp support-files/my-medium.cnf? /etc/my.cnf
11.#cp /usr/local/mysql/share/mysql/mysql.server? /etc/init.d/mysqld
# 设置引导文件
12.#cd /etc/rc3.d
13.# ln -s ../init.d/mysqld S90mysql
14.# ln -s ../init.d/mysqld K90mysql
15.#ln -s /usr/local/mysql/include/mysql /usr/include/mysql?
16.#ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql?
17.#echo /usr/lib/mysql >> /etc/ld.so.conf?
# 启动数据库?
31.#cd /usr/local/mysql/bin?
32.#./mysqld_safe --user=mysql &
33.把libgcc包中所有的文件从/usr/local/lib拷贝到/usr/lib中,其中包含?
libgcc_s.so?
libstdc++.la?
libstdc++.so.5.0.5
libgcc_s.so.1?
libstdc++.so?
libstdc++.so.5.0.1?
libstdc++.a?
libstdc++.so.5?
libstdc++.so.5.0.2
34.#/etc/init.d/mysqld stop
35.#/etc/init.d/mysqld start
36.新安装mysql是要设置password的,
# /usr/local/mysql/bin/mysqladmin -u root password 123456
# cp /usr/local/lib/libncurses.so.5 /usr/local/mysql/lib/mysql
登录mysql数据库
# /usr/local/mysql/bin/mysql -uroot -p123456 (123456是默认数据库的密码,回车后直接进入mysql控制台)或
#/usr/local/mysql/bin/mysql -uroot -p
? ENTER PASSWORD:
输入123456回车后进入mysql控制台.
?
4. 安装php
下载php源代码,然后解压安装:
#gunzip php-5.2.6.tar.gz
#tar xvf php-5.2.5.tar
#cd php-5.2.5
#./configure --disable-nls --with-ld=/usr/ccs/bin/ld --with-as=/usr/ccs/bin/as --prefix=/usr/local/apache2 --with-charset=gb2312 --with-extra-charsets =all --with-config-file-path=/usr/local/apache2/conf --enable-so --enable-cgi --disable-nls
#make
#make install
这一步安装perl出现错误:"symbol xmlTextReaderGetAttribute: referenced symbol not found "
解决办法:
环境变量里,PATH中将 /usr/local/bin放在最前面,
LD_LIBRARY_PATH 中,将 /usr/local/lib 放在最前面
?编译PHP
?# vi /usr/local/apache2/conf/httpd.conf
?? #Add PHP as a application type??
?? AddType application/x-httpd-php .php .php3 .phtml??
?? AddType application/x-httpd-php-source .phps
?? //下面行好像会自动添加,如果没有,手动加之。
?? # Add this line for PHP module??
?? LoadModule php5_module modules/libphp5.so
#vi /usr/local/apache2/htdocs/index.php?
写入:<? phpinfo(); ?>;?
? #chmod 755 index.php?
? #/usr/local/apache2/bin/apachectl start?
但是在这一步,我却碰到N多问题,下面一一解答:
首先提示:
Syntax error on line 33 of /usr/local/apache/conf/httpd.conf:
module access_module is built-in and can't be loaded
开始以为安装有问题,搜索网上有人碰到过,一般是重装解决的。但是我决定试一试,根据提示,应该是access_module是内置的,已经加载。于是将其注释掉,接着又提示Auth_module已经加载,同样处理。接下来有几十个Module提示系统中不存在,
#ls /usr/local/apache2/modules
果然没有什么模块,只有一个libphp5.so。于是将其全部注释掉。
然后启动,提示:
Syntax error on line 275 of /usr/local/apache2/conf/httpd.conf:
Cannot load /usr/local/apache2/modules/libphp5.so into server: ld.so.1: httpd: fatal: relocation error: file /usr/local/apache2/modules/libphp5.so: symbol xmlTextReaderGetAttribute: referenced symbol not found。
这个问题碰到过,按照http://blog.csdn.net/aryang/archive/2007/08/28/1761891.aspx解决掉。
然后:
? #/usr/local/apache2/bin/apachectl start?
启动成功。
#ps -eaf|grep apache
然后在IE中输入ip,测试一下是否成功了。
http://ip/index.php
哈哈,一切OK了。
5. 安装论坛
将下载下来的包中discuz目录下的文件解压并考到APACHE的网页根目录
1. #unzip discuz.zip//在windows下将.rar格式改为.zip格式
或在 windows下解压后上传到server上也行,上传的目录是/usr/local/apache2/htdocs/bbs
2.将以下目录属性改为777。
??????? ./templates
??????? ./templates/default
??????? ./templates/default/*.*
??????? ./attachments
??????? ./customavatar
??????? ./forumdata
??????? ./forumdata/cache
??????? ./forumdata/template
我在安装的时候没有按照下面的步骤来,而是直接利用http://ip/insall来进行安装。中间碰到几个问题:
a. 提示root@hostname拒绝访问数据库的问题。因为我的Mysql安装在另外的机器上,而我是从远程用IE访问的。
因此必须修改权限,方法如下:
MySQL> grant all privileges on *.* to 'ucenter'@'hostname' identified by '****' with grant option;
注意上面的hostname写自己的主机名,而****就是你要为用户ucenter设定的密码了。
b. 接下来提示: Unknown character set: 'gbk'
显然是MySQL不支持GBK字符集的原因。
实际上在MySQL> status;
显示也是:
Server characterset:??? latin1
Db???? characterset:??? latin1
Client characterset:??? latin1
Conn.? characterset:??? latin1
#vi /etc/my.cnf
在此文件中相应位置加入
default-character-set = gbk
########################
[client]
default-character-set = gbk
[mysqld]
default-character-set = gbk
?
3.在mysql中创建一个数据库discuz: (要将discuz.sql导入数据库discuz)
? #/usr/local/mysql/bin/mysql -uroot -p
? ENTER PASSWORD:
? 输入123456回车后进入mysql控制台.
? mysql>create database discuz;
? Mysql>use discuz;//转到discuz这个数据库上
?
? Mysql>source /usr/local/apache2/htdocs/install/discuz.sql;// 将discuz.sql导入数据库discuz
? Mysql>grant create,drop,select,insert,update,delete on discuz.* to admin@localhost Identified by "123456";//给discuz数据库
?
? ctl+d退出控制台。
4.重启一下APACHE:
#/usr/local/apache2/bin/apachectl stop
#/usr/local/apache2/bin/apachectl start
5.配置好config.php文件里的相关信息,
$dbhost = '';?????????? // 数据库服务器^M
$dbuser = 'root';?????????????? // 数据库用户名^M
$dbpw = '123456';?????????????? // 数据库密码^M
$dbname = 'angel';????????????? // 数据库名^M
$adminemail = '4ngel@21cn.com'; // 论坛系统 Email^M
修改discuz字符集 (否则安装discuz时会报错:database_errno_1115 )
$dbcharset = 'latin1';????????? // MySQL 字符集, 可选 'gbk',
重起数据库
#/etc/init.d/mysqld restart
在IE地址栏输入:http://ip/bbs/index.php
出现论坛
Ref:
http://www.ixpub.net/thread-712236-1-1.html
http://www.sunfreeware.com/programlistsparc9.html#sasl
http://www.sun-sword.cn/article/sort015/sort039/info-3244.html
?
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/bennyfun79/archive/2009/05/18/4197866.aspx