在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 = '[email protected]'; // 论坛系统 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

你可能感兴趣的:(apache,mysql,PHP,Solaris,Flex)