Freebsd6.1+Apache2.2.3+Mysql5.0.26+PHP5.1.6+phpMyAdmin2.9.0.2手工整合指南-程序员宅基地

技术标签: phpmyadmin  apache  Linux  freebsd  php  mysql  数据库  

Freebsd6.1+Apache2.2.3+Mysql5.0.26+PHP5.1.6+phpMyAdmin2.9.0.2手工整合指南

经过一晚上的操作,终于成功整合.写一篇文章和大家交流一下经验,什么问题可以联系我. 我使用的操作系统是FreeBSD最新版本6.1,如果是别的操作系统安装方法有少许不一样,请作适当处理.
说明:本文档系alone原创,经过辛勤实验,努力编辑而成,转载无妨,请不要修改任何内容。参考不少前辈文章,不一一列举,谨表感谢!如有错误,敬请好手斧正!费话少说,进入正题.

首先安装整合的工具必不可少.我整个过程用的到工具如下:
Freebsd6.1
下载地址:http://www.freebsd.org
Apache2.2.3
下载地址: http://www.apache.org
Mysql5.0.26 for freebsd
下载地址: http://dev.mysql.com/downloads/
Php5.1.6
下载地址: http://www.php.net/downloads.php
libxml2-2.6.19
下载地址:
http://ftp.gnome.org/pub/GNOME/s ... bxml2-2.6.19.tar.gz
libiconv-1.9.1
下载地址: http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.1.tar.gz
Phpmyadmin2.9.0.2 for nix
下载地址: http://www.mycodes.net/soft/6369.htm


一、 Freebsd的安装
安装FreeBSD就不讲了,熟悉linux的很容易上手,只要稍微定制一下就可以了,过程我就不说了。建议新手选择ALL安装方式。

二、 安装Apache

安装Apache要简单点,我这里安装的Apache版本是 httpd-2.2.3,下载回来的包叫做 httpd-2.2.3.tar.gz 我们放在 /usr/local/src目录下。如果没有该目录,就自己建一个。
首先进入目录后解压缩:
# cd /usr/local/src
# tar -zxvf httpd-2.0.50.tar.gz
然后就会得到 httpd-2.0.50目录,我们进入目录
# cd httpd-2.0.50
首先配置:
# ./configure --prefix=/usr/local/apache /--enable-module=so
/*--prefix指定我们要把Apache安装在那个目录,我们这里装在 /usr/local/apache下*/
/*--enable-module=so必设,不然后面配置php时要出问题*/
执行上面的命令,如果没有错误信息,证明配置成功,然后进行编译:
# make
一两分钟就编译完了,然后进行安装:
# make install
安装完成后,Apache就存放在 /usr/local/apache目录下了, bin是执行文件的目录,conf是配置文件目录,htdocs是网页的主目录,logs是日志目录.
Apache通过 bin/apachectl或者bin/httpd来控制启动或者停止.

# /usr/local/apache/bin/httpd -k start #启动apache
# /usr/local/apache/bin/httpd -k stop #停止apache
# /usr/local/apache/bin/httpd -k restart #重启apache

然后你可以通过 http://IP来测试apache是否安装成功,如果出现apache的页面则安装成功,否则请检查上面的步骤.

三、 安装MySQL

我使用的的Mysql是5.0.26二进制版,不需要编译。
把它下到/usr/local/src目录下,下载回来的包名字叫 mysql-5.0.26.tar.gz,然后我们把它解压出来:

# tar -zxvf mysql-5.0.26.tar.gz

解压后生成/usr/local/mysql目录,我们进入该目录:

# cd mysql

#pw groupadd mysql #建立mysql组
#pw useradd –g mysql mysql #建立mysql用户并且加入到mysql组中
#scripts/mysql_install_db --user=mysql #初试化表并且规定用mysql用户来访问
#chown -R root . #然后设置权限
#chown -R mysql data
#chgrp -R mysql .
设置完成后,基本上就装好了,好了,我们运行一下我们的mysql:

# /usr/local/mysql/bin/mysqld_safe --user=mysql &

如果没有问题的话,应该会出现类似这样的提示:
[1] 42264 # Starting mysqld daemon with databases from /usr/local/mysql/var
这就证明你安装成功了,如果出现:

[1] 42264
# Starting mysqld daemon with databases from /usr/local/mysql/var
062110 01:53:45 mysqld ended

则证明你的mysql运行不来,请查看错误日志: /usr/local/mysql/var/*.err 然后确定安装是否成功,如果没有成功,请检查上面的步骤是否正确

.
安装完成后,能够通过 /usr/local/mysql/bin/mysql 来连接mysql进行管理,如果你装了apache并且能够解析php的话,也能使用phpMyadmin来管

理你的mysql,记得装完后使用mysql或者mysqladmin来修改root的密码,这里我们就不说了,请参考相关的文章.

四、 安装php5脚本支持
去以下地址下载源代码包到/usr/local/src/下,
接着,安装libxml2 (安装php5必须,我们先不装,测试一下效果):
#cd /usr/local/src
#tar –zxvf php-5.1.6.tar.gz
#cd php-5.1.6
#./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-libxml-dir=/usr/local/libxml2 --enable-maintainer-zts --enable-memory-limit --enable-zend-multibyte
有关于zend 的参数 --enable-maintainer-zts --enable-memory-limit --enable-zend-multibyte
可见php内建对php加速软件zend的支持
checking whether to enable LIBXML support... yes
checking libxml2 install dir... no
configure: error: xml2-config not found. Please check your libxml2 installation.
出错啦
现在来装libxml2
#tar –zxvf libxml2-sources-2.6.19.tar.gz
# cd libxml2-2.6.19
# ./configure
#make;make install
再来配置:
# cd /usr/local/src/php-5.1.6
#./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --enable-maintainer-zts --enable-memory-limit --enable-zend-multibyte
显示:

configure: error: Please specify the install prefix of iconv with --with-iconv= ;

--with-iconv-dir=DIR XMLRPC-EPI: iconv dir for XMLRPC-EPI.
xmlrpc-epi is an implementation of the xmlrpc protocol in C. It provides an easy to use API for developers to serialize RPC requests to and from XML.

# cd /usr/ports/converters/iconv
# make all
# make install
===>; Installing for iconv-2.0_3
===>; iconv-2.0_3 depends on file: /usr/local/bin/perl5.8.5 - found
===>; Generating temporary packing list
===>; Checking if converters/iconv already installed
pkg_info: package bsdpan-DBD-mysql-2.9007 has no origin recorded
pkg_info: package bsdpan-DBI-1.48 has no origin recorded
===>; lib
install -C -o root -g wheel -m 444 libbiconv.a /usr/local/lib
install -C -o root -g wheel -m 444 libbiconv_p.a /usr/local/lib
install -s -o root -g wheel -m 444 libbiconv.so.2 /usr/local/lib
ln -fs libbiconv.so.2 /usr/local/lib/libbiconv.so
install -C -o root -g wheel -m 444 biconv.h /usr/local/include
install -o root -g wheel -m 444 biconv.3.gz /usr/local/man/man3
install -o root -g wheel -m 444 biconv_open.3.gz /usr/local/man/man3
install -o root -g wheel -m 444 biconv_close.3.gz /usr/local/man/man3
===>; ccs
cd /usr/ports/converters/iconv/work/iconv-2.0/ccs; install -o root -g wheel -m 444 big5.cct cns11643-plane1.cct cns11643-plane2.cct cns11643-plane14.cct cp775.cct cp850.cct cp852.cct cp855.cct cp866.cct gb_2312-80.cct iso-8859-1.cct iso-8859-2.cct iso-8859-4.cct iso-8859-5.cct iso-8859-15.cct jis_x0201.cct jis_x0208-1983.cct jis_x0212-1990.cct koi8-r.cct koi8-u.cct ksx1001.cct shift_jis.cct /usr/local/share/iconv; install -o root -g wheel -m 555 iconv_mktbl /usr/local/bin
===>; ces
cd /usr/ports/converters/iconv/work/iconv-2.0/ces && install -o root -g wheel -m 444 euc-jp.so euc-kr.so euc-tw.so gb2312.so iso-10646-ucs-2.so iso-10646-ucs-4.so ucs-2-internal.so utf-16.so /usr/local/libexec/iconv
===>; util
install -s -o root -g wheel -m 555 biconv /usr/local/bin
install -o root -g wheel -m 444 biconv.1.gz /usr/local/man/man1
{ echo "# BEGIN iconv"; cat /usr/ports/converters/iconv/work/iconv-2.0/ccs/charset.aliases /usr/ports/converters/iconv/work/iconv-2.0/ces/charset.aliases | /usr/ports/converters/iconv/work/iconv-2.0/iconv_builtin -n us-ascii utf-8 ucs-4-internal; echo "# END iconv"; } >; /usr/local/share/iconv/charset.aliases
===>; Running ldconfig
/sbin/ldconfig -m /usr/local/lib
===>; Registering installation for iconv-2.0_3

再装libiconv-1.9.1.tar.gz,把libiconv-1.9.1.tar.gz放到/usr/local/src/下
# tar -zvxf libiconv-1.9.1.tar.gz
# cd libiconv-1.9.1
# ./configure
#make;make install
# cd /php-5.0.4
#./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --enable-maintainer-zts --enable-memory-limit --enable-zend-multibyte
+--------------------------------------------------------------------+
| License: |
| This software is subject to the PHP License, available in this |
| distribution in the file LICENSE. By continuing this installation |
| process, you are bound by the terms of this license agreement. |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point. |
+--------------------------------------------------------------------+

到此php5成功配置完成. Thanks : )
#make
#make test
#make install
# cp /usr/local/src/php-5.0.4/php.ini-dist /usr/local/lib/php.ini

配置php.ini请参考手册

五、 phpMyAdmin的安装
phpMyAdmin是比较好的通过web访问方式来管理数据库的免费程序。
下载该程序后,通过flashfxp上传到/usr/local/apache/htdocs/目录下,执行如下命令:
#cd /usr/local/apache/htdocs
#tar –zvxf phpMyAdmin-2.9.0.2.tar.gz
mv –fi phpMyAdmin-2.9.0.2 phpmyadmin
www# cd phpmyadmin
www#cp config..simple.inc.php config.inc.php
修改config.inc.php文件如下:
(1)查找$cfg['PmaAbsoluteUri'] = ''; ,将该行内容更改为$cfg['PmaAbsoluteUri'] = 'http://IP/phpmyadmin/';
执行:wq!命令保存退出,在IE浏览器里输入http://IP/phpmyadmin/就可以访问了。
请注意其中的红色文字,默认的mysql数据库用户名root是没有密码的,这是一个安全漏洞,所以我们要修改数据库的密码,请执行如下步骤:
首先点“权限”,进入另一个页面
在新页面中,勾选三个用户,只剩下一个用户名为root、主机为localhost的用户,然后点“执行”来删除那三个勾选的用户,
只 剩下一个root用户了,勾选它,点“编辑”, 再点击“更改密码”下面的“密码”前的圆圈,选择它,然后敲入你的mysql数据库密码(比如789),再点“执行”。这样mysql的数据库密码就改变 了。当然了,我们也可以通过phpmyadmin来创建新的mysql数据库名,用户名等等,这些功能就要你自己去探索了。我们再点IE浏览器里的“刷 新”来刷新该页面,就会出现无法访问的情况。
出现上面的情况后,也不要着急,我们可以修改phpmyadmin的配置文件config.inc.php来解决这个问题,执行如下命令:
www#vi config.inc.php
更改内容如下:
(2)查找$cfg['Servers'][$i]['auth_type'] = 'config';
更改为$cfg['Servers'][$i]['auth_type'] = 'http';
$cfg['Servers'][$i]['controluser'] = '你的用户名';
$cfg['Servers'][$i]['controlpass'] = '你的密码';
然后重新在IE浏览器里输入http://IP/phpmyadmin/ 访问,敲入用户名“root”和密码后,点“确定”,就可以重新进入到phpmyadmin管理页面,至此,phpmyadmin安装完毕。


到些,整个过程完毕.你可以上传php网站程序、修改apache的httpd.conf文件配置一台高性能的web服务器,当然也不要忘了mysql数据库对数据库、用户相应的增减。在这里我就不说了。现在已经是凌晨3点,累就一个字。呼呼去咯……



后话:当然你也可以直接选择ports安装,更方便快捷。
附过程:
# cd /usr/ports/www/apache2
# make install clean

# cd /usr/ports/databases/mysql5X-server
# make install clean
# source ~/.cshrc
# mysql_install_db --user=mysql

# cd /usr/ports/lang/php5
# make install clean
在出现的界面中选中apache2, 如果要用zend,不要选debug

cp /usr/local/etc/php.ini-dist php.ini
vi /usr/local/etc/apache2/httpd.conf
添加
AddType application/x-http-php .php
AddType application/x-http-php-source .phps
在 DirectoryIndex 后加一个 index.php

# cd /usr/ports/lang/php5-extensions
# make config
在出现的界面中选种想要的
# make install clean

如果要装zend,去www.zend.com 下载相应的包,解压缩
# ./install.sh

就这么简单。
如果php要装GD libxml2 libxslt 等支持,源码都要自己装,用ports只要选一下就ok了~而且以后方便升级和维护。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lmss82/article/details/4008283

智能推荐

mongocollection java_Mongo 在Java中的增删改查操作-程序员宅基地

文章浏览阅读625次。看了网上好多的代码啊,真心看着乱乱乱啊,都没心情看了,自己整理了一下,请笑纳吧备注个官网上增删改查命令的网址吧,英文的http://docs.mongodb.org/manual/reference/crud/先给大家看下我导入的包包吧importjava.net.UnknownHostException;importorg.bson.types.ObjectId;importorg.jun..._java中mongocollection.updatemany

连接url后关闭连接_华为云&天翼云~关闭ssh连接,让程序继续运飞?-程序员宅基地

文章浏览阅读125次。这几天在用Sysbench工具测试天翼云&华为云MySQL数据的TPS/QPS性能指标,在测试性能之前需要批量导入数据,为了尽可能与阿里云、华为云的测试环境一致,创建测试表的数量设置为64个表,每个表要插入1000万条记录,64张表,总共要插入6.4亿条数据,算是大型数据库的规模了。我在导入数据时候,发现要完成64张表,需要耗时四五个小时,开启SSH窗口,很容易因各种原因退出,好不容易花了..._天翼云关闭海外ssh

iOS传值一属性传值,代理传值_ios代理传值-程序员宅基地

文章浏览阅读575次。iOS常用传值方法之属性传值,代理传值_ios代理传值

linux下expdp定时备份_Linux 自动备份 Oracle 数据库 Shell 脚本-程序员宅基地

文章浏览阅读755次。我们之前也介绍过,如何在 Linux 备份 MySQL 。作为一个后端开发人员,备份数据库是一个良好的习惯,虽然说数据库损坏或者数据丢失的概率很低,但是你不得不防,要不2019-9-11 10:23:4301.3k我是备份在本机,所以我采用 Oracle 自带的 expdp 功能进行备份;如需要异地的,则需要针对以下脚本进行加工,这里不阐述准备工作本机具有 Oracle 的 expdp 导出功能开..._expdp 备份写时间

android新浪微博登录获取用户信息_微博软件上是也有获取用户lp-程序员宅基地

文章浏览阅读2.6k次。第一步:准备工作 在新浪微博开发者平台http://open.weibo.com/apps/注册并上传应用各种信息(比较多)获取到appkey,关于签名信息最好使用新浪提供的工具省心些,默认的授权回调页https://api.weibo.com/oauth2/default.html要与代码中一致。第二步:下载新浪SDK添加到工程librepositories { flatDi_微博软件上是也有获取用户lp

python的pandas数据处理_pandas minor_xs用法-程序员宅基地

文章浏览阅读424次。1、numpy纯属组,有一维二维三维数组,但是无索引与列名,所以计算速度快2、series一维数组,有标签,(主要是用在时间序列的数据上)3、dataframe二维数据 表格里横向A B ,纵向A B4、panel三维数据 由items major_xs minor_xs 组成,可有multiindex多索引的数据格式(iteritem是每一列的加总,iterrow..._pandas minor_xs用法

随便推点

vue项目运行报错Proxy error: Could not proxy request “***UIRL” from “***” to “****”_vue proxytable 报错 proxy error: could not proxy req-程序员宅基地

文章浏览阅读6.7w次,点赞18次,收藏18次。今天在测试反向代理的时候,访问本地接口的时候报错Proxy error: Could not proxy request /miaomiao/cityList from localhost:8080 to http://10.12.0.111:3001.See https://nodejs.org/api/errors.html#errors_common_system_errors for more information (ECONNREFUSED).首先看编译器报错出现这种问题大致两种原因_vue proxytable 报错 proxy error: could not proxy request /upcp/user/info?met

java编程EXCEL导出,支持多sheet页导出_java excel多页签导出-程序员宅基地

文章浏览阅读1.4k次,点赞2次,收藏4次。excel导出工具类package com.phfund.common.dto;import java.util.Collection;/** * Excle导出参数列表实体类 */public class ExportExcleDTO<T> { * * @param title * 表格标题名 * @param head..._java excel多页签导出

ABBYY FineReader 12内置的自动化任务-程序员宅基地

文章浏览阅读171次。2019独角兽企业重金招聘Python工程师标准>>> ..._linux 12的finereader引擎

python中nonetype指什么_关于python:什么是’NoneType’对象?-程序员宅基地

文章浏览阅读1.2w次。当我运行python脚本时,我得到了这个错误:TypeError: cannot concatenate 'str' and 'NoneType' objects我很确定"str"是指字符串,但我不知道"nonetype"对象是什么。我的脚本停在第二行,我知道第一行有效,因为来自该行的命令如我所期望的那样在我的ASA中。起初我认为这可能是因为我在send_命令中使用变量和用户输入。"caps"中的..._nonetype

CSS3中强大的filter(滤镜)属性使用详细解说-程序员宅基地

文章浏览阅读662次。在CSS3新增加的属性中有一个属性较为特殊,那就是filter属性,该属性一般来说是用于元素本身的装饰,使页面产生更多的显示特效。今天我们就来详细了解该属性。亮度属性名称filter:b..._filter:brightness

YYText iOS17兼容问题-程序员宅基地

文章浏览阅读1.4k次。使用YYText ,1.0.7在iOS17会遇到如下崩溃主要原因是UIGraphicsBeginImageContext中的asert引发,而改接口早就标记为API_TO_BE_DEPRECATED,建议使用UIGraphicsImageRenderer替换。由于YYText早已没有维护,于是fork了一个自己的git进行修正,主要修正逻辑在textAsynLayer替换为。_yytext ios17

推荐文章

热门文章

相关标签