免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2255 | 回复: 1
打印 上一主题 下一主题

【原创】linux+apache+php+mysql+discuz! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-18 11:17 |只看该作者 |倒序浏览
(通过自己安装的proftpd上传软件,总是出问题,后来才知道,windows和linux传文件的时候,要在登录后,执行命令:bin ,要不然文件传的有问题)
必备软件:(tar.gz):
                        Apache: httpd-2.2.3.tar.gz
            Php:php-4.4.8.tar.gz
                        Mysql: mysql-standard-4.1.22.tar.gz
                        Zend: ZendOptimizer-3.2.0-linux-glibc21-i386.tar.gz
                        PHPMyAdmin:phpMyAdmin-2.10.0.2-all-languages.tar.gz
                        Zlib:zlib-1.2.3.tar.gz
                        Libpng:libpng-1.2.12.tar.gz
                        Freetype:freetype-2.2.1.tar.gz
                        Jpeg:jpegsrc.v6b.tar.gz
                        GD:gd-2.0.33.tar.gz
                        Discuz!:Discuz!_5.0.0_SC_UTF8.zip
1、准备工作:
由于Discuz!的水印功能需要调用GD库实现,所以请先确定你的系统中已经安装了GD环境:
QUOTE:
# rpm -qa | grep zlib
# rpm -qa | grep libpng
# rpm -qa | grep freetype
# rpm -qa | grep jpeg
# rpm -qa | grep gd
如果没有安装的话,可以按照下面的步骤手动安装:
(1)        安装zlib
# tar zxvf zlib-1.2.3.tar.gz
# cd zlib-1.2.3
# ./configure
# make
# make install
(2) 安装libpng
# tar zxvf libpng-1.2.12.tar.tar
# cd libpng-1.2.12
# cd scripts/
# mv makefile.linux ../makefile
# cd ..
# make
# make install
注意,这里的makefile不是用./configure生成,而是直接从scripts/里复制一个。
(3) 安装freetype
# tar zxvf freetype-2.2.1.tar.gz
# cd freetype-2.2.1
# ./configure
# make
# make install
(4) 安装Jpeg
# tar zxvf jpegsrc.v6b.tar.gz
# cd jpeg-6b/
# ./configure --enable-shared
# make
# make test
# make install
注意:这里configure一定要带--enable-shared参数,不然,不会生成共享库
安装Jpeg 执行make install命令的时候有个错误:
/usr/bin/install -c -m 644 ./cjpeg.1 /usr/local/man/man1/cjpeg.1
/usr/bin/install: cannot create regular file `/usr/local/man/man1/cjpeg.1': No s                 uch file or directory
make: *** [install] Error 1

这是因为在/usr/local/man 下没有man1的目录造成的,建立相应的目录即可。
(5)安装GD
# tar zxvf gd-2.0.33.tar.gz
# cd gd-2.0.33
# ./configure --with-png --with-freetype --with-jpeg
# make
# make install


2.安装Mysql
# groupadd mysql        //添加mysql用户组
# useradd -g mysql mysql        //添加用户及属于哪个组
# tar zxvf mysql-5.0.32.tar.tar
# cd mysql-5.0.32
# ./configure --prefix=/usr/local/mysql --sysconfdir=/etc \
  --localstatedir=/var/lib/mysql
# make
# make install

//prefix=/usr/local/mysql mysql安装的目标目录
//sysconfdir=/etc my.ini配置文件的路径
//localstatedir=/var/lib/mysql 数据库存放的路径


初始化数据库
# cd /usr/local/mysql/bin
# ./mysql_install_db
会显示如下信息:

Installing all prepared tables
Fill help tables

To start mysqld at boot time you have to copy support-files/mysql.server
to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/local/mysql//bin/mysqladmin -u root password 'new-password'
/usr/local/mysql//bin/mysqladmin -u root -h lvuis.lll password 'new-password'
See the manual for more instructions.

You can start the MySQL daemon with:
cd /usr/local/mysql/ ; /usr/local/mysql//bin/mysqld_safe &

You can test the MySQL daemon with the benchmarks in the 'sql-bench' directory:
cd sql-bench ; perl run-all-tests

Please report any problems with the /usr/local/mysql//bin/mysqlbug script!

The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com

修改目录的权限:
chown -R mysql:mysql /var/lib/mysql

如果还是启动不了,再慢慢调试权限,一般启动不了都是权限的问题。
下面的步骤我没有做就启动了mysql,如果不能启动的时候再执行:
chown -R root /usr/local/mysql
chgrp -R mysql /usr/local/mysql
chown -R root /usr/local/mysql/bin
chgrp -R mysql /usr/local/mysql/bin
chgrp -R mysql /var/lib/mysql
chmod 777 /var/lib/mysql
chown -R root /var/lib/mysql/mysql
chgrp -R mysql /var/lib/mysql/mysql
chmod 777 /var/lib/mysql/mysql
chown -R root /var/lib/mysql/mysql/*
chgrp -R mysql /var/lib/mysql/mysql/*
chmod 777 /var/lib/mysql/mysql/*
chmod 777 /usr/local/mysql/lib/mysql/libmysqlclient.a

启动mysql:
# cd /usr/local/mysql/bin
# ./msyqld_safe --user=mysql start &

用ps –A 命令查看下
6142 pts/0    00:00:00 mysqld_safe
6160 pts/0    00:00:00 mysqld

链接数据库:
# ./mysql -u mysql

# cd mysql-4.0.26
# cp support-files/my-medium.cnf /etc/my.cnf

实现 mysql 随开机启动:
mysql的开机运行根据安装不同也有多种方式,我是利用脚本方式启动的mysql

# vi /etc/rc.d/rc.local
加入:
./usr/local/mysql/bin/mysqld_safe -u mysql &
3.安装Apache
# tar zxvf httpd-2.2.3.tar.gz
# cd httpd-2.2.3
# ./configure --prefix=/usr/local/apache/ --enable-module=most
# make
# make install

启动apache
# cd /usr/local/apache/bin
# ./apachectl start &

通过IE访问,可以看到apache正在工作

随机启动:
# vi /etc/rc.d/rc.local
加入:
./usr/local/apache/bin/apachectl start &

配置Apache:
# vi /usr/local/apache/conf/httpd.conf
以下只列出httpd.conf需要改动和配置的地方,其他地方暂时不用改动,略过。
ServerAdmin 将此处改为服务器管理员的E-Mail地址(例如:webmaster@lvuis.lll.com
ServerName 将此处改为服务器的域名(例如:127.0.0.1)
DocumentRoot 将此处改为你的网站根目录(例如:"/var/www")

4.安装配置PHP

# tar zxvf php-4.4.8.tar.gz
# cd php-4.4.8
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql --with-config-file-path=/usr/local/php/etc --with-gd --enable-gd-native-ttf --enable-gd-jis-conv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --enable-xml --enable-mbstring
# make
# make install
# cp php.ini-recommended /usr/local/php/etc/php.ini

与apache整合,编辑httpd.conf :
找到:
  DirectoryIndex
在后面的默认文件中增加 index.php
找到:
  AddType application/x-gzip. gz. Tgz
在下面添加:
  AddType application/x-httpd-php .php
  AddType application/x-httpd-php .php3
  AddType application/x-httpd-php .phtml
  AddType application/x-httpd-php-source .phps
(我看到有的人的文章里没有加下面三行)

5.安装 Zend Optimizer
# tar zxvf ZendOptimizer-3.2.0-linux-glibc21-i386.tar.gz
# cd ZendOptimizer-3.2.0-linux-glibc21-i386
# ./install.sh

安装过程很简单,但在输入 php.ini 文件路径时必须正确输入 (/usr/local/php/etc/)
安装完成后,Zend Optimizer 会自动重新启动Apache

6.安装配置 phpMyAdmin

# tar zxvf phpMyAdmin-2.10.0.2-all-languages.tar.gz
将解压后的目录移动到网站的根目录中(网站的根目录为 /www)
# mv phpMyAdmin-2.10.0.2-all-languages /www/phpMyAdmin

配置 phpMyAdmin:

# cd /www/phpMyAdmin
# vi config.inc.php   (我装的phpMyAdmin里没有这个文件,只有config.sample.inc.php,我把它复制为 config.inc.php)


修改:
$cfg['PmaAbsoluteUri'] = 'http://www.yourdomain.com/phpMyAdmin'; (写出访问phpMyAdmin的绝对URL)(我的phpMyAdmin 里没有这个项,可能版本的关系吧)
$cfg['blowfish_secret'] = 'cookie'; (使用cookie加密)
$cfg['Servers'][$i]['connect_type']  = 'socket';  (以socket方式连接MySQL)
$cfg['Servers'][$i]['compress']      = TRUE; (启用压缩以提高速度,如果访问不正常请改回FALSE)
$cfg['Servers'][$i]['auth_type']     = 'cookie'; (使用cookie进行身份验证)
保存退出。


至此,论坛的环境构建完毕,可以上传discuz!论坛程序开始安装论坛了。

(引用别人的话:对于环境的优化由于因环境而异,所以请各位自己找一些优化文档看看,一定要根据自己的硬件配置和服务器负载有进行针对性的优化,不要生搬硬套,否则可能适得其反的。)


上传了discuz!论坛程序后,准备配置phpMyAdmin,开始的时候可以进入,后来在phpmyadmin里修改了下 root@localhost 的密码,结果进不去了,而且我记得mysql的root密码我也没有修改。我再去修改mysql的root密码,发现无法修改了,我到网上查了下。
以下是网上查找到的,解决了phpMyAdmin的问题:

装好了PhpMyadmin以后,却发现输入正确的密码却无法登陆MYSQL
错误MySQL 返回:
#1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client
出现这种问题也只有在MYSQL4.1.x以上版本,用4.0.x就没问题了
原因是因为你使用的mysql服务器版本中使用了新的密码验证机制,这需要客户端的版本要在4.0以上,原来的密码函数被改为old_password ();,这样使用password()生成的密码在旧的版本上的客户端就不好使了,而PHP中的MYSQL客户端都是3.23的(当然,mysqli的扩展除外),问题就在这了。
目前已知解决方法:
1、        进入命令行下,转到MYSQL目录的BIN目录下,进入MYSQL命令行模式:
        例:d:\mysql\bin>mysql -uroot -p123        (用户root,密码123)
2、输入命令:
        mysql>set password for 'root'@'localhost'=old_password('123');        (注意冒号不能少)
3、退入MYSQL命令行:
        mysql>\q

但是现在问题依然存在,就是输入地址,论坛无法看到。显示的错位代号为1146。
1146的错误是指数据不存在,是否恢复从备份数据。我想起,当时填写config.inc.php时,我的数据库是随便填的,自然是没有数据了。
进入phpMyAdmin增加一个新的数据库discuz,然后修改config.inc.php,数据库一项填写discuz(就是我刚才新建里的数据库)。

以后的工作可以参照网上discuz论坛提供的安装详细流程来操作了。
至此,结束论坛的安装。

注:有些地方是引用网上的文章,但是这些都是我一边做一边写的

论坛徽章:
0
2 [报告]
发表于 2008-06-18 22:49 |只看该作者
谢谢楼主!
好东西!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP