一.安装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就行了
7)安装完成,登陆
阅读(1951) | 评论(0) | 转发(1) |