Apache-2.0.45+php-4.3.1+mysql-4.1.0 在 Solaris 9.0 for x86 下的安装说明

2024-01-15 18:18

本文主要是介绍Apache-2.0.45+php-4.3.1+mysql-4.1.0 在 Solaris 9.0 for x86 下的安装说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://gceclub.sun.com.cn/NASApp/sme/jive/thread.jsp?forum=13&thread=13489

作 者: songyupo   短消息   2004-8-25 下午2:04   回复
本文将说明安装Apache-2.0.45+php-4.3.1+mysql-4.1.0 for Solaris 9/x86,使用的php能提供最大20M 的文件上载功能,支持 session 。
由于本人将所有软件的源代码放置在目录 /bak 下 ,安装目录为 /usr/local ,下载后的源代码包在/bak目录下,故执行以下操作:
注:1。用记事本打开本文档时,最好取消‘自动换行’,以便看清楚每一条命令。
2。本文也是在参看软件文档、论坛网友的帮助下实现的。

环境
--------------
hardware: C900+128MB+nVida16MB+Mator30GB+40xCDROM+rtl8139netcard+1.44MBfloppy
software: Solaris 9 for x86 (Plus OEM 2077MB)

准备工作
---------------
ftp://ftp.sjtu.edu.cn/public/Solaris/sunfreeware/sparc/
首先要安装solaris 9的编译环境,去http://www.sunfreeware.com/下载一下软件:
1.autoconf-2.13-sol9-intel-local.gz
2.automake-1.4-sol9-intel-local.gz
3.bison-1.28-sol9-intel-local.gz
4.gcc-3.2.2-sol9-intel-local.gz
5.gzip-1.3-sol9-intel-local
6.make-3.79.1-sol9-intel-local.gz
7.tar-1.13-sol9-intel-local.gz
8.libgcc-3.2.2-sol9-intel-local.gz
9.ncurse
10.flex-2.5.4-sol9-intel-local.gz
11.sed-4.0-sol9-intel-local.gz

设置环境变量:
vi /etc/profile
PATH=/usr/local/sbin:/usr/local/bin:/usr/ccs/bin:/usr/sbin:/sbin:/bin:/usr/local/mysql/bin:/usr/bin:/usr/dt/bin:/usr/openwin/bin:/usr/ucb

退出重启系统使变量生效,按照下列步骤安装软件:
1.pkgadd -d gzip-1.3-sol9-intel-local
2.gunzip autoconf-2.13-sol9-intel-local.gz
3.gunzip automake-1.4-sol9-intel-local.gz
4.gunzip gcc-3.2.2-sol9-intel-local.gz
5 gunzip bison-1.28-sol9-intel-local.gz
6.pkgadd -d autoconf-2.13-sol9-intel-local
7.pkgadd -d automake-1.4-sol9-intel-local
8.pkgadd -d gcc-3.2.2-sol9-intel-local
9.pkgadd -d make-3.79.1-sol9-intel-local
10.pkgadd -d tar-1.13-sol8-local
pkgadd -d nucrse
pkgadd -d flex
10.gunzip tar-1.13.tar.gz
11.tar xvf tar-1.13.tar
12.cd tar-1.13
13../configure --prefix=/usr/local/gnutar
14. make
15. make install
16. cp /usr/local/gnutar/bin/tar /usr/local/bin/gtar

把libgcc包中所有的文件从/usr/local/lib拷贝到/usr/lib中,可以解决这个问题,其中包含
libgcc_s.so
libstdc++.la
libstdc++.so.5.0.0
libgcc_s.so.1
libstdc++.so
libstdc++.so.5.0.1
libstdc++.a
libstdc++.so.5
libstdc++.so.5.0.2

1、安装
-----------------------------
### 软件下载
分别下载以下软件(均为源代码):
Apache-2.0.45 (www.apache.org)
php-4.3.1 (www.php.net)
mysql-4.1.0 (www.mysql.com)

*************以下内容可编入setup.sh脚本文件中再运行它**************
#### 准备安装 ####
mkdir /bak
mkdir /usr/local/mysql
mkdir /usr/local/apache

# 建立mysql组及用户
groupadd -g 201 mysql
useradd -u 1001 -g mysql -d /export/home/mysql -m -s /bin/tcsh -c "MySQL Administrator" mysql
passwd mysql //设置用户口令

# 复制文件
cp mysql*.gz /bak/
cp httpd*.gz /bak/
cp php*.gz /bak

# 解压缩文件
cd /bak
/usr/local/gnutar/bin/tar -zxvf /bak/mysql-4.1.0.tar.gz
/usr/local/gnutar/bin/tar -zxvf /bak/httpd-2.0.45.tar.gz
/usr/local/gnutar/bin/tar -zxvf /bak/php-4.3.1.tar.gz

#### 安装配置过程 ####

# 安装 mysql-4.1.0
cd /bak/mysql-4.1.0
CC=gcc CFLAGS="-O6" CXX=gcc CXXFLAGS="-O6 -felide-constructors -fno-exceptions -fno-rtti"
./configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --disable-nls --prefix=/usr/local/mysql --with-mysqld-user=mysql --with-charset=gb2312 --with-extra-charsets=all

/usr/local/bin/make
/usr/local/bin/make install
/usr/local/mysql/bin/mysql_install_db

chown -R root /usr/local/mysql
chgrp -R mysql /usr/local/mysql
chown -R mysql /usr/local/mysql/var

chmod 777 /usr/local/mysql/lib/mysql/libmysqlclient.a
cp support-files/my-medium.cnf /etc/my.cnf

# 设置引导文件
cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysqld
cd /etc/rc3.d
ln -s ../init.d/mysqld S90mysql
ln -s ../init.d/mysqld K90mysql

# load lib
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
echo /usr/lib/mysql >> /etc/ld.so.conf
ldconfig

# 启动数据库
cd /usr/local/mysql/bin
./mysql_safed --user=mysql &

# 连接测试
cd /uca/local/mysql/bin
./mysql -u root

Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 1 to server version: 3.23.44

Type 'help;' or '/h' for help. Type '/c' to clear the buffer.

mysql>

##############################################
# mysql 安装完毕
##############################################

### 安装 Apache-2.0.45
cd /bak/httpd-2.0.45
CC=gcc CFLAGS="-O6" CXX=gcc CXXFLAGS="-O6 -felide-constructors -fno-exceptions -fno-rtti"
./configure --disable-nls --with-ld=/usr/ccs/bin/ld --with-as=/usr/ccs/bin/as --prefix=/usr/local/apache --with-charset=gb2312 --with-extra-charsets=all --enable-so --disable-nls
make
make install

# 创建符号连接
cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
ln -s /etc/init.d/httpd /etc/rc3.d/S90http
ln -s /etc/init.d/httpd /etc/rc3.d/K90http
ln -s /usr/local/apache/bin/apachectl /bin/apache
ln -s /usr/local/mysql/bin/mysql /bin/mysql

### 安装php-4.3.1
cd /bak/php-4.3.1
CC=gcc CFLAGS="-O6" CXX=gcc CXXFLAGS="-O6 -felide-constructors -fno-exceptions -fno-rtti"
./configure --with-charset=gb2312 --with-extra-charsets=all --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --enable-track-vars --enable-force-cgi-redirect --enable-pic --enable-inline-optimiation --enable-memory-limit --enable-bcmath

### ./configure --disable-nls --with-ld=/usr/ccs/bin/ld --with-as=/usr/ccs/bin/as --with-charset=gb2312 --with-extra-charsets=all --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/apache/conf --enable-track-vars --enable-force-cgi-redirect --enable-pic --enable-inline-optimiation --enable-memory-limit --enable-bcmath --enable-shmop --enable-versioning --enable-calendar --enable-dbx --enable-dio --enable-mcal

make
make install
cp php.ini-dist /usr/local/lib/php.ini
###cp php.ini-dist /usr/local/apache/conf/php.ini


*************以上内容已编入setup.sh脚本文件中**************

### 修改配置文件
----------------------
vi /usr/local/apache/conf/httpd.conf
# 加入以下行(装载php4模块并指定.php 文件)
# LimitRequestBody (指定php处理的请求数据大小,以下指定为 20M)

LoadModule php4_module modules/libphp4.so
<Files *.php>
SetOutputFilter PHP
SetInputFilter PHP
LimitRequestBody 20971520
</Files>

#注解以下行(在文本前加#),使apache显示中文,具体原因未知
ForceLanguagePriority Prefer Fallback
AddDefaultCharset ISO-8859-1

#加入默认的引导文件index.php(找到DirectoryIndex,修改如下:)
DirectoryIndex index.php index.html index.html.var

# 设置你的服务器的域名或IP地址及监听端口
ServerName 192.168.0.10:80

#指定网站目录(假设为 /apache 目录)
DocumentRoot "/apache"

#把Group改一下,改成
Group=nobody
默认的是Group=-1,在SOLARIS上不行。


###编辑php.ini配置文件
-------------------------
vi /usr/local/apache/conf/php.ini
#找到并修改以下参数
max_execution_time = 600 ;最大运行时间 600 秒
max_input_time = 600 ;最大输出时间 600秒
memory_limit = 20M ;最大内存限制 20M
file_uploads = On ;允许上载文件
upload_max_filesize = 20M ;最大文件大小 20M
post_max_size = 20M ;php可接受的 post 方法大小 20M
session.auto_start = 1 ;session自动启动


### 安全性
-------------------------
提高mysql的安全性

1.修改/etc/init.d/mysqld,使其只监听localhost的埠,将如下的一行
$bindir/safe_mysqld --datadir=$datadir --pid-file=$pid_file&
修改为:
$bindir/safe_mysqld --datadir=$datadir --pid-file=$pid_file --bind-address=127.0.0.1&
2.为mysql的root账号设置密码
# /usr/local/mysql/bin/mysqladmin -u root password "root用户的密码"
# /usr/local/mysql/bin/mysqladmin -u root reload

提高apache的安全性

1.新建包含文件目录inc_doc:
# mkdir /usr/lcoa/apache/inc_doc
2.设置PHP初始化文件的搜索路径,使PHP程序在inc_doc目录中搜索包含文件:
# vi /usr/local/apache/conf/php.ini
添加或修改:
include_path="/usr/local/apache/inc_doc"
或添加或修改:
include_path="other/include_doc/path:/usr/local/apache/inc_doc"



### 运行
---------------------
#启动mysql
/usr/local/mysql/bin/safe_mysqld --user=mysql &
#停止mysql
/usr/local/mysql/bin/mysqladmin shutdown

#启动apache
/etc/init.d/httpd start
#停止apache
/etc/init.d/httpd stop

### 测试:
mkdir /apache
echo "<?" >/apache/index.php
echo "phpinfo();" >>/apache/index.php
echo "?>" >>/apache/index.php
#生成/apache/index.php 文件

在浏览器上输入 solaris 机器网址,php 的配置信息将显示出来。

一切OK!

这篇关于Apache-2.0.45+php-4.3.1+mysql-4.1.0 在 Solaris 9.0 for x86 下的安装说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/609781

相关文章

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

MySQL 中的 CAST 函数详解及常见用法

《MySQL中的CAST函数详解及常见用法》CAST函数是MySQL中用于数据类型转换的重要函数,它允许你将一个值从一种数据类型转换为另一种数据类型,本文给大家介绍MySQL中的CAST... 目录mysql 中的 CAST 函数详解一、基本语法二、支持的数据类型三、常见用法示例1. 字符串转数字2. 数字

Mysql实现范围分区表(新增、删除、重组、查看)

《Mysql实现范围分区表(新增、删除、重组、查看)》MySQL分区表的四种类型(范围、哈希、列表、键值),主要介绍了范围分区的创建、查询、添加、删除及重组织操作,具有一定的参考价值,感兴趣的可以了解... 目录一、mysql分区表分类二、范围分区(Range Partitioning1、新建分区表:2、分

MySQL 定时新增分区的实现示例

《MySQL定时新增分区的实现示例》本文主要介绍了通过存储过程和定时任务实现MySQL分区的自动创建,解决大数据量下手动维护的繁琐问题,具有一定的参考价值,感兴趣的可以了解一下... mysql创建好分区之后,有时候会需要自动创建分区。比如,一些表数据量非常大,有些数据是热点数据,按照日期分区MululbU

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

MySQL中查找重复值的实现

《MySQL中查找重复值的实现》查找重复值是一项常见需求,比如在数据清理、数据分析、数据质量检查等场景下,我们常常需要找出表中某列或多列的重复值,具有一定的参考价值,感兴趣的可以了解一下... 目录技术背景实现步骤方法一:使用GROUP BY和HAVING子句方法二:仅返回重复值方法三:返回完整记录方法四:

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满

java中新生代和老生代的关系说明

《java中新生代和老生代的关系说明》:本文主要介绍java中新生代和老生代的关系说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、内存区域划分新生代老年代二、对象生命周期与晋升流程三、新生代与老年代的协作机制1. 跨代引用处理2. 动态年龄判定3. 空间分

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优