Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3050248
  • 博文数量: 535
  • 博客积分: 15788
  • 博客等级: 上将
  • 技术积分: 6507
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-07 09:11
文章分类

全部博文(535)

文章存档

2016年(1)

2015年(1)

2014年(10)

2013年(26)

2012年(43)

2011年(86)

2010年(76)

2009年(136)

2008年(97)

2007年(59)

分类: LINUX

2008-11-05 15:26:02

一.安装apache
./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared="proxy proxy_http proxy_ftp proxy_connect headers rewrite expires"
make 
make install

二.安装mysql
安装mysql5.1的话查看另一篇关于nginx+php的文章里的mysql部分

//添加用于启动MySQL的用户及用户组
groupadd mysql
useradd mysql -g mysql

 tar -C /usr/local/ -xvzf mysql-5.0.67-linux-i686-glibc23.tar.gz
//建立符号链接,如果以后有新版本的MySQL的话,你可以仅仅将源码解压到新的路径,然后重新做一个符号链接就可以了。这样非常方便,

数据也更加安全。
ln -s /usr/local/mysql-5.0.67-linux-i686-glibc23/ /usr/local/mysql

//初始化授权表
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql

//修改MySQl目录的所有权
chown -R mysql.mysql /usr/local/mysql-5.0.67-linux-i686-glibc23/
chown -R mysql.mysql /usr/local/mysql

//启动Mysql
/usr/local/mysql/bin/safe_mysqld --user=mysql &

//配置系统启动时自动启动MySQl
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
chkconfig --add mysqld

//添加mysql命令到/usr/local/bin目录
echo "export PATH=/usr/local/mysql/bin:$PATH" >>/etc/profile
source /etc/profile

//添加libmysqlclient.so.15动态链接库到/usr/lib
ln -s /usr/local/mysql/lib/libmysqlclient.so.15 /usr/lib


更改mysql root 密码
use mysql 
update user set Password=password('newpassword') where User='root'; 
flush privileges;


三 安装PHP

先安装zlib,freetype,libpng,jpeg以便于让PHP支持GD库(Cacti的WeatherMap插件必须要较新GD库的支持)

//下载需要的库
     freetype-2.3.5.tar.gz,libpng-1.2.18.tar.gz,zlib-1.2.3.tar.gz
~dxy/solaris/jpegsrc/         jpegsrc.v6b.tar.gz
           gd-2.0.35.tar.gz
         fontconfig-2.6.0.tar.gz

1).安装zlib--- 可以先错过该步骤,如果在后面编译mysql时报关于zlib的错误了再回来安装。
tar zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure --prefix=/usr/local/zlib
make
make install


2).安装libpng
tar zxvf libpng-1.2.18.tar.tar
cd libpng-1.2.18
cp scripts/makefile.linux ./makefile
make
make install
注意,这里的makefile不是用./configure生成,而是直接从scripts/里拷一个


3).安装freetype
tar zxvf freetype-2.3.5 .tar.gz
cd freetype-2.3.5 
./configure --prefix=/usr/local/freetype
make
make install


4).安装Jpeg
tar -zvxf jpegsrc-1.v6b.tar.gz
cd jpeg-6b/
mkdir /usr/local/libjpeg
mkdir /usr/local/libjpeg/include
mkdir /usr/local/libjpeg/bin
mkdir /usr/local/libjpeg/lib
mkdir /usr/local/libjpeg/man
mkdir /usr/local/libjpeg/man/man1

./configure --prefix=/usr/local/libjpeg --enable-shared --enable-static
make 
make install
注意,这里configure一定要带--enable-shared参数,不然,不会生成共享库


5).安装Fontconfig
tar -zxvf fontconfig-2.6.0.tar.gz
cd fontconfig-2.6.0
./configure --with-freetype-config=/usr/local/freetype/bin/freetype-config
make
make install


6).安装GD--- 可以先错过该步骤,如果在后面编译mysql时报关于GD的错误了再回来安装。
tar -zxvf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure --prefix=/usr/local/libgd \
--with-png \
--with-freetype=/usr/local/freetype \
--with-jpeg=/usr/local/libjpeg \
--with-jpeg=/usr/local/libjpeg \
--with-zlib-dir=/usr/local/zlib
make
make install

编译时显示以下信息:
** Configuration summary for gd 2.0.34:

Support for PNG library: yes
Support for JPEG library: yes
Support for Freetype 2.x library: yes
Support for Fontconfig library: yes
Support for Xpm library: no
Support for pthreads: yes

make时出错
configure.ac:64: error: possibly undefined macro: AM_ICONV
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
需要安装以下的软件包
gettext-0.14.6-4.el5.i386.rpm
gettext-devel-0.14.6-4.el5.i386.rpm
分别在第2,3张光盘里


7).编辑/etc/ld.so.conf,添加以下几行到此文件中。
/usr/local/zlib/lib
/usr/local/freetype/lib
/usr/local/libjpeg/lib
/usr/local/libgd/lib
并执行ldconfig命令,使用动态装入器装载找到共享库

8).安装PHP

PHP下载地址:

./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/conf \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-jpeg-dir=/usr/local/libjpeg \
--enable-fastcgi \
--enable-fpm \
--enable-force-cgi-redirect \
--with-gd \
--with-png-dir \
--enable-gd-native-ttf \
--with-freetype-dir=/usr/local/freetype \
--with-libxml-dir \
--with-curl \
--with-curlwrappers \
--with-zlib \
--with-pear \
--enable-mbstring \
--enable-exif \
--disable-debug \
--disable-rpath \
--without-pdo-sqlite \
--without-sqlite \
--without-iconv

对于使用rpm安装的mysql,不需指定--with-mysql=/usr/local/mysql,而应该为--with-mysql



对php编译选项的解释:
--prefix=/usr/local/php //指定PHP的安装目录
--with-apxs2=/usr/local/apache2/bin/apxs //支持Apache模块
--with-mysql=/usr/local/mysql //支持MySQl
--with-gd=/usr/local/libgd //支持GD库
--enable-gd-native-ttf //激活对本地 TrueType 字符串函数的支持
--with-ttf //激活对 FreeType 1.x 的支持
--with-freetype-dir=/usr/local/freetype //激活对 FreeType 2.x 的支持
--with-jpeg-dir=/usr/local/libjpeg //激活对 jpeg-6b 的支持
--with-png-dir=/usr //激活对 png 的支持
--with-zlib-dir=/usr/local/zlib //激活对zlib 的支持
--enable-mbstring //激活mbstring模块
--enable-gd-jis-conv //使JIS-mapped可用,支持日文字体
--with-mail //支持Mail函数
--enable-xml //支持XML
--enable-sockets //支持套接字
make
make test   //(6)
make install

cp php.ini-recommended /usr/local/php/lib/php.ini
注:修改 short_open_tag=off为 short_open_tag=on 这个选项经常造成php错误。

vi /usr/local/apache/conf/httpd.conf
查找AddType application/x-compress .Z
在其下加入 
AddType application/x-tar .tgz
AddType application/x-httpd-php .php
AddType image/x-icon .ico

修改DirectoryIndex 行,添加index.php

# vi /usr/local/apache/htdocs/test.php

添加以下行:

//php标记(用<代替[)


Phpinfo();

?>

wq保存退出。

测试: 出现php版本相关信息,则表示OK


关于启动apache时报错:
httpd: Syntax error on line 61 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
原因:selinux造成的
解决:
方法1:关闭selinux
vi  /etc/sysconfig/selinux 
SELINUX=enforcing 改为SELINUX=disable
方法2:更改php5.so的selinux属性
chcon -t texrel_shlib_t /usr/local/apache/modules/libphp5.so
说明: chcon:change security context  




四、配置XCache
1、安装xcache模块
wget
tar -xvzf xcache-1.2.2.tar.gz
cd xcache-1.2.2
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --enable-xcache --enable-xcache-optimizer
make
make install

2、计算密码的md5值
echo -n "password"|md5sum
5f4dcc3b5aa765d61d8327deb882cf99

3、配置XCache
;注: zend_extension,用来加载zend的扩展,是绝对路径,
extension是相对路径,相对于extension_dir的相对路径,非zend扩展
如果你更改路径以后,一定要apachectl stop后再start,而不要restart。
vi /usr/local/php/etc/php.ini

[xcache-common] 
zend_extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/xcache.so 
[xcache.admin] 
; Change xcache.admin.user to your preferred login name 
xcache.admin.user = "admin" 
; Change xcache.admin.pass to the MD5 fingerprint of your password 
; Use md5 -s "your_secret_password" to find the fingerprint 
xcache.admin.pass = "5f4dcc3b5aa765d61d8327deb882cf99" 
[xcache] 
; Change xcache.size to tune the size of the opcode cache 
xcache.size = 24M 
xcache.shm_scheme = "mmap" 
xcache.count = 2 
xcache.slots = 8K 
xcache.ttl = 0 
xcache.gc_interval = 0 
; Change xcache.var_size to adjust the size of variable cache 
xcache.var_size = 8M 
xcache.var_count = 1 
xcache.var_slots = 8K 
xcache.var_ttl = 0 
xcache.var_maxttl = 0 
xcache.var_gc_interval = 300 
xcache.test = Off 
xcache.readonly_protection = On 
xcache.mmap_path = "/tmp/xcache" 
xcache.coredump_directory = "" 
xcache.cacher = On 
xcache.stat = On 
xcache.optimizer = Off 
[xcache.coverager] 
xcache.coverager = On 
xcache.coveragedump_directory = ""

5、重启PHP模块
正常load之后,
在phpinfo显出的信息内
Zend这快应该会加上XCache的内容






关于安装phpmyadmin
phpmyadmin是用php编写的MySQL管理程序,作为一个典型的B/S软件没有什么要安装的,只要在放到网站的某个目录就可以了

1)安装libmcrypt
libmcrypt-2.5.8.tar.gz
下载:
./configure --prefix=/usr/local/libmcrypt
make
make install

vi /etc/ld.so.conf
/usr/local/libmcrypt/lib
添加上面的配置,并执行命令
ldconfig

2)安装mash
下载:
./configure 
make 
make install

3)安装mcrypt
下载:
./configure LD_LIBRARY_PATH=/usr/local/lib  --prefix=/usr/local/mcrypt --with-libmcrypt-prefix=/usr/local/libmcrypt
make 
make install

测试
[root@localhost ~]# /usr/local/mcrypt/bin/mcrypt 
mcrypt: Encrypted data will not be written to a terminal.
Redirect the output instead.
Use the --help parameter for more help.
上面的输出是正常的
about error:
[root@localhost ~]# /usr/local/mcrypt/bin/mcrypt 
/usr/local/mcrypt/bin/mcrypt : error while loading shared libraries: libmhash.so.2: cannot open shared object file: No such file or directory
解决:建立一个软连接
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2

4)安装PHP
注意红色字体的部分是需要添加的。
./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/conf \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-jpeg-dir=/usr/local/libjpeg \
--enable-fastcgi \
--enable-fpm \
--enable-force-cgi-redirect \
--with-gd \
--with-png-dir \
--enable-gd-native-ttf \
--with-freetype-dir=/usr/local/freetype \
--with-libxml-dir \
--with-curl \
--with-curlwrappers \
--with-zlib \
--with-pear \
--enable-mbstring \
--enable-exif \
--disable-debug \
--disable-rpath \
--without-pdo-sqlite \
--without-sqlite \
--without-iconv \
--with-mcrypt=/usr/local/libmcrypt \
--with-mhash=/usr/local/mhash

make
make test
make install

5)安装phpmyadmin
下载:
tar -xvzf phpMyAdmin-3.1.1-all-languages.tar.gz
mv phpMyAdmin-3.1.1-all-languages /usr/local/apache/htdocs/phpmyadmin

6)一些常用配置的说明:
一、登录MySQL的方式:
1.config -- 直接在配置文件中写入一个能登录mysql的帐号和密码,只要浏览这个datamgr目录就可以直接以这个写入配置文件的mysql帐号进行管理mysql的操作。特点是方便,缺点是没有安全性。
 
2.http   -- 利用web服务器的验证功能,浏览datamgr这个目录前会跳出一个身份验证窗口,只要mysql帐号对得上就可以有datamgr目录的访问权。这样比较安全,不过用cgi或fastcgi的方式配置php将无法使用该功能,因为cgi不会想服务器发送一些验证信息变量。
 
3.cookie -- 和http一样也会跳出一个验证窗口,不过这个不是用web服务器的验证功能,直接是php写的一个普通登录窗口,只要浏览器支持cookie就行,21世界的浏览器都应该支持cookie这个基本功能,所以我们一般选择cookie验证方式。
 
这些字段和config.default.php对应的是

$cfg['Servers'][$i]['auth_type'] = 'cookie';  (valid choices: config, http, HTTP,signon or cookie)
$cfg['Servers'][$i]['user'] = 'root'; // MySQL user
$cfg['Servers'][$i]['password'] = ''; // MySQL password (only needed

 
config要三处都要填完,http填auth_type为http就行了,cookie的话除了填这里,还要填写一个加密用的私钥,往配置文件的上面找
 

$cfg['blowfish_secret'] = 'bowbowgooo';

 
blowfish_secret随便填写一些字符就行了。
二、数据备份和恢复

默认的数据导出、和导入最大文件有2M的最大限制。如果要操作大于2M的数据库备份文件就需要预先将文件上传到phpmyadmin的某个目录。

1.首先在phpmyadmin个跟目录建立一个目录,比如叫ports

2.在config.default.php中搜$cfg['UploadDir'],这个变量定义保存导入文件存放的目录,它下面的$cfg['SaveDir']定义的是数据导出文件的存放目录,我们都定义为ports

$cfg['UploadDir'] = 'ports';                    
$cfg['SaveDir'] = 'ports';

要注意的是ports目录的权限,saveDir只要能让php脚本往里边写东西。最后的就是操作完了,务必清空改目录,防止数据被别有用心的人下载。

三、界面美化

本来字体是可以任意调节的,但是我想这个功能对使用一台正常电脑的正常人没有什么意义,还不如直接将字体大小定死,一般认为11px是比较好看的字体。全局的字体可以在css\phpmyadmin.css.php中调整,将这个文件的html段的font-size由原来的一段php代码改为11px就行了

html {
    font-size: 11px;
}



7)安装完成,登陆






阅读(1951) | 评论(0) | 转发(1) |
0

上一篇:脚本编程编码风格

下一篇:about LVS

给主人留下些什么吧!~~