(1).安装libxml2
cd libxml2-2.7.8/
./configure --prefix=/usr/local/libxml2
make && make install
(2).安装libmcrypt
cd ../libmcrypt-2.5.8/
./configure --prefix=/usr/local/libmcrypt
出错: configure: error: C++ compiler cannot create executables See `config.log' for more details.
解决方法:apt-get install g++
./configure --prefix=/usr/local/libmcrypt
make && make install
(3).安装zlib
cd ../zlib-1.2.5/
./configure --prefix=/usr/local/zlib
make && make install
(4)安装libpng
cd ../libpng-1.5.5/
./configure --prefix=/usr/local/libpng
出错:configure: error: zlib not installed
解决方法:重新安装zlib到系统
cd ../zlib-1.2.5/
./configure
make && make install
cd ../libpng-1.5.5/
./configure --prefix=/usr/local/libpng
make && make install
(5)安装jpeg8
cd ../jpeg-8b/
./configure --prefix=/usr/local/jpeg8/ --enable-shared --enable-static
make && make install
(6)安装freetype
cd ../freetype-2.4.5/
./configure --prefix=/usr/local/freetype
make
make install
出错:rmdir: usr/local/freetype/include/freetype2/freetype/internal: 没有那个文件或目录
解决办法: mkdir /usr/local/freetype/include/freetype2/freetype/internal
make install
(7)安装autoconf
cd ../autoconf-2.68/
./configure //安装到系统库即可
出错:configure: error: no acceptable m4 could be found in $PATH. GNU M4 1.4.6 or later is required; 1.4.14 is recommended
解决方法:apt-get install m4
./configure
make && make install
(8)安装GD库
cd ../gd-2.0.35/
./configure --prefix=/usr/local/gd2/ --with-jpeg=/usr/local/jpeg8/ --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype/ --with-zlib=/usr/local/zlib/
make && make install
出错:gd_png.c:16:53: fatal error: png.h: No such file or directory
解决方法:vim gd_png.c
将
#include “png.h”
替换成:
#include “/usr/local/libpng/include/png.h”
make && make install
(9)安装apache
cd ../httpd-2.2.21/
./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --with-zlib=/usr/local/zlib --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support
make && make install
配置:vim /etc/httpd/httpd.conf
将ServerName www.example.com:80 改为:ServerName localhost:80 并将前面的注释去掉
(10)安装MySql
A.安装
mysql 5.5.16安装时需要用cmake编译,所以首先要安装cmake
cd cmake-2.8.7
./configure
make && make install
安装mysql5.5.16
groupadd mysql
useradd -r -g mysql mysql
cd ../mysql-5.5.16/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306
出错:CMake Error at cmake/readline.cmake:83 (MESSAGE):
Curses library not found. Please install appropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
解决方法:
apt-get install libncurses5-dev
rm CMakeCache.txt
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306
make && make install
B.配置
cd /usr/local/mysql
chown -R mysql .
chgrp -R mysql .
scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data
报错:
FATAL ERROR: Could not find mysqld
解决方法:
ln -s /usr/local/mysql/bin/mysqld /usr/sbin/mysqld
scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data --force
又报错:
FATAL ERROR: Could not find errmsg.sys
解决方法:
mkdir -p /usr/share/mysql/english/
将源码包中的errmsg.sys中的这个文件拷贝到这个目录下
cp sql/share/english/errmsg.sys /usr/share/mysql/english/
scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data --force
出错:
FATAL ERROR: Could not find fill_help_tables.sql
解决方法:
将源码包下 scripts下的sql文件复制到/usr/share/mysql/
cp scripts/*.sql /usr/share/mysql/
scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data --force
chown -R root .
chown -R mysql data
cp support-files/my-medium.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysql
C.开启mysql
/usr/local/mysql/bin/mysqld_safe --user=mysql &
说明:‘&’表示在后台运行
或: /etc/init.d/mysql.server start
//查看3306是否开启
netstat -tnl
//查看mysql版本信息
/usr/local/mysql/bin/mysqladmin version
//查看所有mysql参数
bin/mysqladmin variables
D.安全性
进入mysql 此时密码为空
/usr/local/mysql/bin/mysql -uroot
查看mysql 用户权限信息
select * from mysql.user G
删除非localhost的主机
DELETE FROM mysql.user WHERE Host!='localhost' AND User='';
DELETE FROM mysql.user WHERE Host='localhost.localdomain';
刷新授权表
FLUSH PRIVILEGES;
为root用户添加密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');
开启root用户的远程访问(如果是本地开发的话)
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "yourpassword";
刷新授权表
FLUSH PRIVILEGES;
'%'表示任何主机都可以访问,最后面的‘yourpassword’为密码
F.关闭MySQL数据库
/usr/local/mysql/bin/mysqladmin -u root –p shutdown(如果有密码则-p 没有不需要写)
(11)安装PHP
A.安装
cd php-5.3.8
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2/ --with-png-dir=/usr/local/libpng/ --with-jpeg-dir=/usr/local/jpeg8/ --with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/gd2/ --with-zlib-dir=/usr/local/zlib/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-openssl=/usr/local/openssl-fips-2.0.5 --enable-soap --enable-mbstring=all --enable-sockets --enable-pcntl --enable-shmop
make && make install
B.生成配置文件
cp php.ini-development /usr/local/php/etc/php.ini
C.配置
vim /etc/httpd/httpd.conf
添加下面代码
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php .phtml .php3
AddType application/x-httpd-php-source .phps
重启apache
/usr/local/apache2/bin/apachectl restart
D.遇到错误
a.httpd: Syntax error on line 57 of /etc/httpd/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server: /usr/local/apache2/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
原因:是Linux有一个SELinux保护模式引起的。
解决办法:
关闭SELINUX的方法:
vim /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled 需要重启 :
b.设置php.ini时区
用phpinfo() 测试
报错:
Warning: phpinfo() [function.phpinfo]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Chongqing' for 'CST/8.0/no DST' instead in /usr/local/apache2/htdocs/test.php on line 2
解决方法:
在php.ini中设置date.timezone的值为PRC,设置好以后的为:date.timezone=PRC,同时取消这一行代码的注释,即去掉前面的分号就可以了。然后重启apache
(12)安装Memcached
A.安装
cd memcache-2.2.6
/usr/local/php/bin/phpize
./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
make && make install
B.将memcache加入php扩展
注意:安装完后会出现:Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
在php.ini最后加入下面两行,需在END之前
vim /usr/local/php/etc/php.ini
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"
extension=memcache.so
C.重启apache
/usr/local/apache2/bin/apachectl restart
D.用phpinfo();进行测试
(13)安装curl扩展
A.安装curl
cd curl-7.22.0/
./configure --prefix=/usr/local/curl
make && make install
B.生成curl.so
cd ../php-5.3.8(未编译时的源码包)
cd ext/curl
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
出错:error: Please reinstall the libcurl distribution
解决办法:sudo apt-get install libcurl4-gnutls-dev
./configure --with-php-config=/usr/local/php/bin/php-config
make
cp modules/curl.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626
C.修改php.ini
vim /usr/local/php/etc/php.ini
在extension=memcache.so后添加
extension=curl.so
D.重启apache
/usr/local/apache2/bin/apachectl restart
查看phpinfo();
(14)安装phpmyadmin
cp -a phpMyAdmin-3.4.5-all-languages/ /var/www/html/phpmyadmin
cd /var/www/html/phpmyadmin
cp config.sample.inc.php config.inc.php
打开浏览器,在地址栏里输入:http://localhost/phpmyadmin/index.php
(16) 安装ssh2扩展
A.安装openssl
cd openssl-1.0.0e
./config
make && make install
B.安装libssh2
cd ../libssh2-1.3.0/
./configure
make && make install
C.安装ssh2
cd ../ssh2-0.11.3/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-ssh2
make
cp modules/ssh2.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
D.修改php.ini
vim /usr/local/php/etc/php.ini
在extension=curl.so后面添加:extension=ssh2.so
E.重启apache
/usr/local/apache2/bin/apachectl restart
(16)安装mongodb扩展
A.安装mongodb
unzip mongodb-mongo-php-driver-1.2.9-126-gab9a960.zip
cd mongodb-mongo-php-driver-ab9a960/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
cp modules/mongo.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
B.修改php.ini
vim /usr/local/php/etc/php.ini
在extension=ssh2.so后面添加:extension=mongo.so
(17)安装imagick
A.安装ImageMagickcd
ImageMagick-6.6.7-9/
./configure --prefix=/usr/local/imagemagick
查看编译是是否支png jpg,如果不支持,需要把(4)(5)(6) 装到系统里
make && make install
测试convert --version
如果出错:convert: error while loading shared libraries: libMagickCore.so.4: cannot open s
解决方法:vim /etc/ld.so.conf 添加一行/usr/local/lib
执行:/sbin/ldconfig -v 是指生效
再次测试convert --version 应该没问题了
B.安装imagick
cd ../imagick-3.0.1/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-imagick=/usr/local/imagemagick
make
cp modules/imagick.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
vim /usr/local/php/etc/php.ini
在extension=mongo.so后面添加:extension=imagick.so