REHEL5 LAMP整体环境搭建discuz.docx
- 文档编号:3519063
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:15
- 大小:126.41KB
REHEL5 LAMP整体环境搭建discuz.docx
《REHEL5 LAMP整体环境搭建discuz.docx》由会员分享,可在线阅读,更多相关《REHEL5 LAMP整体环境搭建discuz.docx(15页珍藏版)》请在冰豆网上搜索。
REHEL5LAMP整体环境搭建discuz
REHEL5LAMP整体环境搭建(discuz)
一、拷贝软件到服务器(Discuz、UCenter、mysql、php、apache、ZendOptimizer)
二、修改远程登录显示乱码
1.编辑:
/etc/sysconfig/il8n
2.把UTF-8改成GB18030
关闭selinux
使用文本编辑工具打开/etc/selinux/config
把SELINUX=enforcing注释掉:
#SELINUX=enforcing,然后新加一行为:
SELINUX=disabled
保存,关闭。
重启系统。
三、关闭不需要的服务(discuz可选)
#ntsysv
以下仅列出需要启动的服务,未列出的服务一律推荐关闭:
atd
crond
irqbalance
microcode_ctl
network
sendmail
sshd
syslog
snmpd(cacti时启用)
snmptrapd(cacti时启用)
四、重启
#init6
五、安装mysql
1.如果有老版本的rpm包,给他卸载了
#rpm-qa|grepmysql查看系统中是否已经安装了MySQL,如果是卸载所有以mysql开头的包.
#rpm-e--allmatches--nodepsmysql-5.0.77-4.el5_5.4
--nodeps:
参数安装和卸载的时候不考虑依赖关系
--allmatches:
卸载所有匹配的包,RPM可将同一软件的不同版本安装到系统中,这样如果想全部卸载掉,这时仅简单输软件名是不行的,将出现错误(适用于安装多个不同版本rpm包,或是同一个版本重复安装)
2.解压
#tar-zxvfmysql-5.0.56.tar.gz-C/usr/local/src/
-C:
解压到制定目录
3.进入目录
#cd/usr/local/src/mysql-5.1.30/
4.配置安装(配置前先建立一个mysql文件夹)
#./configure--prefix=/usr/local/mysql/\
>--with-extra-charsets=all\
>--sysconfdir=/etc配置文件的路径
(出现ThankyouforchoosingMySQL!
就成功了)
以下可选:
--localstatedir=/usr/local/mysql/data\数据库存放的路径(需要手动新建data文件夹)
>--enable-assembler\使用一些字符函数的汇编版本
>--with-mysqld-ldflags=-all-static\以纯静态方式编译服务端
>--with-charset=utf8\添加utf8字符支持
>--with-extra-charsets=all添加所有字符支持
--with-plugins=all如果从源代码编译安装mysql,缺省安装时,是没有innodb引擎的.所以,在configure的时候,要加入--with-plugins=all(或者max),这样才会支持innodb.在mysql里可以执行showengines命令来查看当前的mysql服务器所支持的存储引擎.
5make
6makeinstall
7拷贝一个配置文件,当作以后mysql的配置文件
#cp/usr/local/mysql/share/mysql/my-f/etc/f(出现cp:
overwrite`/etc/f'?
y问是否覆盖,因为rpm装过所以有一个原来的,选择y是)
!
这里添加一个选择项,如果没有用rpm装过,那么系统本身不会有mysql的用户和组,所以要自己建立。
groupaddmysql
useradd-gmysql-dm/usr/local/varmysql
注意:
f里注释掉skip-federated新版本不需要这个参数了。
如果需要这个引擎的在编译的时候要加上--with-plugins=federated,在f里用federated参数就行了。
先修改f,再初使化数据库,要不然过不去的。
8改Mysql用户的宿主目录
#vi/etc/passwd找mysql用户,把宿主目录的路径改成/usr/local/mysql/var(var文件夹要自己建立#mkdir/usr/local/mysql/var)
建立完了用ll-dvar/看下文件夹的属性,发现属主和属组不对,应该是mysql
9改mysql用户宿主目录的属主和属组
chown-Rmysql:
mysql/usr/local/mysql/var/
-R:
递归处理
10切换到mysql用户
#su-mysql
11初始化mysql服务器中的数据库,也就是安装数据库
$/usr/local/mysql/bin/mysql_install_db--user=mysql
12修改MySQL的最大连接数
#vi/etc/f
//添加以下行
[mysqld]
set-variable=max_connections=1000
set-variable=max_user_connections=500
set-variable=wait_timeout=200
//max_connections设置最大连接数为1000
//max_user_connections设置每用户最大连接数为500
//wait_timeout表示200秒后将关闭空闲(IDLE)的连接,但是对正在工作的连接不影响
13启动mysql
$/usr/local/mysql/bin/mysqld_safe&(出现Startingmysqlddaemonwithdatabasesfrom/usr/local/var,多按几下回车)
停止mysql
#/usr/local/mysql/bin/mysqladmin-uroot-pshutdown
13测试下是否运行
$netstat-tnl|grep3306(看到3306就是mysql的默认端口,显示3306端口表示成功启动了mysql)
14登陆mysql
1.如果在root用户下:
先给root用户设置密码:
/usr/local/mysql/bin/mysqladmin-urootpassword"这里写密码"
#/usr/local/mysql/bin/mysql-uroot-p(加-p参数是要求输入密码)
2.如果还在mysql用户下:
$mysql-uroot(如果找不到mysql命令,那么就用绝对路径/usr/local/mysql/bin/mysql-uroot)
3.显示所有数据库:
mysql>showdatabases;
4.创建数据库:
mysql>createdatabasecacti;cacti是数据库名字
5.删除数据库:
mysql>dropdatabasecacti;
6.给mysql的root用户设置密码,(默认root用户是没有密码的)
mysqladmin-urootpassword密码
这时,以后在登录就给用:
mysql-uroot-p然后输入密码的方式登录了。
\q:
退出
15设置自动启动
1.su-换成管理员身份
#echo"/usr/local/bin/mysqld_safe&">>/etc/rc.local
more/etc/rc.local查看是否添加成功
2.这是另外一种方法
在MySQL二进制包里面有一个叫myslq.server的启动脚本程序。
把它复制到/etc/rc.d/init.d目录里面
#cp/usr/local/src/mysql-5.0.56/support-files/mysql.server/etc/rc.d/init.d/mysqld(cp:
overwrite`/etc/rc.d/init.d/mysqld'?
y询问是否覆盖,选y是)
修改/etc/rc.d/init.d/mysqld文件的权限
#chmod700/etc/rc.d/init.d/mysqld
使用chkconfig
#chkconfig--level35mysqldon
#chkconfig--listmysqld
六、安装apache
1查看gcc环境:
#rpm-qgcc
2将源码包拷贝到/usr/local/src/目录下
#mvhttpd-2.2.9.tar.gzphp-5.2.6.tar.gz/usr/local/src/
3解压
#tarzxvfhttpd-2.2.9.tar.gz
4进入目录
#cdhttpd-2.2.9
5新建apache2文件夹
mkdir/usr/local/apache2
6编译前的配置
#./configure--prefix=/usr/local/apache2--enable-so--enable-rewrite
--prefix=:
指定apache安装的目录(如果不指定,就安装到=/usr/local目录下)
--enable-so:
开启动态加载模块功能
--enable-rewrite:
开启rewrite功能
--enable-ssl支持ssl套接字层
7编译程序
#make
8安装已编译好的程序
#makeinstall
9apache启动
#/usr/local/apache2/bin/apachectlstart
查看:
#ps-All|grephttpd
在浏览器测试一下,因该能看见:
Itworks!
安装GD库
七、以模块方式安装php
1解压
#tar-zxvfphp-5.2.6.tar.gz-C/usr/local/src/
-C:
配合tar命令,把源码包释放到指定目录
2进入目录
#cd/usr/local/src/php-5.2.6
3编译前配置
#cdphp-5.2.6/
[root@localhostphp-5.2.6]#./configure--prefix=/usr/local/php5\
>--with-apxs2=/usr/local/apache2/bin/apxs\
>--with-config-file-path=/usr/local/php5\
>--with-mysql=/usr/local/mysql/\
>--with-gd=/usr/local/libgd\
>--enable-gd-native-ttf\
>--with-ttf\
>--enable-gd-jis-conv\
>--with-libxml-dir=/usr/local/libxml2\
>--with-zlib-dir=/usr/local/zlib\
>--with-freetype-dir=/usr/local/freetype\
>--with-jpeg-dir=/usr/local/libjpeg
>--with-png-dir=/usr/local/libpng
>--enable-xml
>--enable-sockets
>--enable-mbstring
>--with-mcrypt
--with-apxs2:
设置php为apache服务器提供的模块安装的位置
--with-config-file-path:
设置php程序的配置文件所在位置。
--with-mysql=/usr/local/mysql/:
设置php为mysql提供模块的位置
--with-gd=/usr/local/libgd支持GD库
--with-ttf支持ttf
--enable-gd-native-ttf//激活对本地TrueType字符串函数的支持
--with-ttf//激活对FreeType1.x的支持
--with-freetype-dir=/usr/local/freetype//激活对FreeType2.x的支持
--with-jpeg-dir=/usr/local/libjpeg//激活对jpeg-6b的支持
--with-png-dir=/usr/local/libpng//激活对png的支持
--enable-xml//支持XML
--enable-sockets//支持套接字
--enable-mbstring//安装phpmyadmin时用
--with-mcrypt//安装phpmyadmin时用,php传输加密方法
4编译和安装
#make;makeinstall
5拷贝模板配置文件
因为安装完成后,还没有配置文件,所以把php源码包里的php.ini-dist文件拷贝出来
#cpphp.ini-dist/usr/local/php5/php.ini
6apache设置
打开apache配置文件:
/usr/local/apache2/conf/httpd.conf
看看是否存在这行:
LoadModulephp5_modulemodules/libphp5.so
再加入一行AddTypeapplication/x-httpd-php.php.php4.php5(加在AddTypeapplication/x-compress.Z
\\.php.php4.php5意思是以这些扩展名结尾的文件,在apache中用php解析器解析。
AddTypeapplication/x-gzip.gz.tgz下面就行)
再找到DirectoryIndex关键字:
添加index.php
7重启apache服务
[root@localhostphp5]#/usr/local/apache2/bin/apachectlstop
[root@localhostphp5]#/usr/local/apache2/bin/apachectlstart
8测试一下
在/usr/local/apache2/htdocs下建立test.php文件
php
phpinfo();
?
>
八安装ZendOptimizer
1解压
#tarzxvfZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz-C/usr/local/src/
2进入目录
#cd/usr/local/src/ZendOptimizer-3.3.0a-linux-glibc21-i386
3安装
./install
然后一路回车,看到这个,php.ini的路径,要写的是目录路径
然后再一路回车
4测试下,做个php测试页
#vi/usr/local/apache2/htdocs/testZend.php
5访问下看看
应该看到,红框里的内容
安装eaccelerato0.9.5
1.解压tarjxvfeaccelerator-0.9.5.3.tar.bz2-C/usr/local/src(因为是bz2包,所以要用j,而不用z)
2.进入解压目录
cd/usr/local/src/eaccelerator-0.9.5.3/
3.指定php所在路径
#exportPHP_PREFIX="/usr/local/php5"
#$PHP_PREFIX/bin/phpize
#./configure--enable-eaccelerator=shared--with-php-config=$PHP_PREFIX/bin/php-config
#make;makeinstall
这时会将eaccelerator安装到php目录中,屏幕会显示eaccelerator.so所在路径,例如:
Installingsharedextensions:
/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/ 记住这个路径。
4.修改php.ini在最后加入
[eaccelerator]
extension="/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so"
eaccelerator.shm_size="32"
eaccelerator.cache_dir="/data/cache/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
press="1"
press_level="9"
解释:
extension"/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so"
解释:
PHP扩展eaccelerator.so的路径。
就是上面要记下的绝对路径
--------------------
eaccelerator.shm_size="32"
解释:
eaccelerator可使用的共享内存大小(单位为MB)。
在Linux下,单个进程的最大内存使用量受/proc/sys/kernel/shmmax中设置的数字限制(单位为字节),例如CentOS4.4的shmmax默认值为33554432字节(33554432bytes/1024/1024=32MB)。
临时更改该值:
#echo字节数>/proc/sys/kernel/shmmax
按照以上方法更改,在每次重启系统时,该值会被自动还原。
如果想永久更改,可以修改/etc/sysctl.conf文件,设置:
kernel.shmmax=字节数
--------------------
eaccelerator.cache_dir="/data/cache/eaccelerator"
解释:
缓存路径,可以使用命令mkdir-p/data/cache/eaccelerator创建该目录,然后使用命令chmod0777/data/cache/eaccelerator设置该目录权限为0777
--------------------
eaccelerator.enable="1"
解释:
打开或者关闭eaccelerator。
"1"指打开,"0"指关闭。
默认值为"1"。
--------------------
eaccelerator.optimizer="1"
解释:
打开或者关闭代码优化,开启可以加快代码的执行速度。
"1"指打开,"0"指关闭。
默认值为"1"。
--------------------
eaccelerator.check_mtime="1"
解释:
当打开此项时,eaccelerator会在每次请求时检查php文件的修改时间,看其是否被修改过,这会耗费一点时间,如果php文件被修改过,eaccelerator会重新编译缓存该php文件。
当关闭此项时,如果php文件被修改,则需要手工删除eaccelerator缓存,才能显示被修改的php文件。
"1"指打开,"0"指关闭。
默认值为"1"。
--------------------
eaccelerator.debug="0"
解释:
打开或者关闭调试记录。
当打开时,eaccelerator会将对一个缓存文件的每次请求都写进log。
打开此项只对调试eaccelerator是否有BUG时有益处。
"1"指打开,"0"指关闭。
默认值为"0"。
--------------------
eaccelerator.filter=""
解释:
决定哪些PHP文件应该被缓存。
可以指定一个范围(比如"*.php*.phtml"),这样被指定的文件就会被缓存。
如果该范围以!
开头,被指定的文件就不会被缓存。
默认值为"",表示缓存所有的PHP文件。
--------------------
eaccelerator.shm_max="0"
解释:
一个用户使用例如eaccelerator_put之类的函数能够往共享内存中加载的最大数据。
默认值为"0",表示不限制。
(单位为字节)
--------------------
eaccelerator.shm_ttl="0"
解释:
当没有足够的空闲共享内存去尝试缓冲一个新脚本时,将删除至少在shm_ttl秒之前没有被访问过的文件。
默认值为"0",表示不尝试从共享内存中删除任何旧的脚本。
(单位为秒)
--------------------
eaccelerator.shm_prune_period="0"
解释:
当没有足够的空闲共享内存去尝试缓冲一个新脚本时,将删所有旧脚本,前提是这个尝试在超过shm_prune_period秒之前被执行过。
默认值为"0",表示不尝试从共享内存中删除任何旧的脚本。
(单位为秒)
--------------------
eaccelerator.shm_only="0"
解释:
打开或者关闭在磁盘上缓存编译过的脚本。
这个参数对会话数据和内容缓存没有效果。
默认值为"0",表示使用磁盘和共享内存来缓存。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- REHEL5 LAMP整体环境搭建discuz LAMP 整体 环境 搭建 discuz