以下是本人以centos5.3下安装配置php5的整个过程的记录。整理好,以方便自己日后查阅,有需要者可参阅。 (须先安装好了gcc) 需要的软件列表:
ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz curl-7.19.5.tar.gz freetype-2.3.9.tar.gz gd-2.0.35.tar.gz httpd-2.2.13.tar.gz jpegsrc.v7.tar.gz libmcrypt-2.5.8.tar.gz libpng-1.2.40.tar.gz libxml2-2.6.30.tar.gz libxslt-1.1.22.tar.gz mcrypt-2.6.8.tar.gz mhash-0.9.9.9.tar.gz mysql-5.1.30.tar.gz php-5.3.0.tar.gz phpMyAdmin-3.1.2-all-languages.tar.gz zlib-1.2.3.tar.gz
把以上软件下载到 ~/software目录下。再创建解压目录~/software/unzip/, 在~/software目录下执行:
tar -zxvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz -C unzip/ && tar -zxvf curl-7.19.5.tar.gz -C unzip/ && tar -zxvf freetype-2.3.9.tar.gz -C unzip/ && tar -zxvf gd-2.0.35.tar.gz -C unzip/ && tar -zxvf httpd-2.2.13.tar.gz -C unzip/ && tar -zxvf jpegsrc.v7.tar.gz -C unzip/ && tar -zxvf libmcrypt-2.5.8.tar.gz -C unzip/ && tar -zxvf libpng-1.2.40.tar.gz -C unzip/ && tar -zxvf libxml2-2.6.30.tar.gz -C unzip/ && tar -zxvf libxslt-1.1.22.tar.gz -C unzip/ && tar -zxvf mcrypt-2.6.8.tar.gz -C unzip/ && tar -zxvf mhash-0.9.9.9.tar.gz -C unzip/ && tar -zxvf mysql-5.1.30.tar.gz -C unzip/ && tar -zxvf php-5.3.0.tar.gz -C unzip/ && tar -zxvf phpMyAdmin-3.1.2-all-languages.tar.gz -C unzip/ && tar -zxvf zlib-1.2.3.tar.gz -C unzip/
将所有软件解压到unzip/目录下。
进入unzip/目录,开始安装: 1.安装jpeg cd jpeg-7/ && ./configure --prefix=/usr/local/jpeg7 --enable-shared --enable-static && make && make install && cd ..
2.安装libpng cd libpng-1.2.40/ && ./configure --prefix=/usr/local/libpng && make && make install && cd ..
3.安装freetype cd freetype-2.3.9/ && ./configure --prefix=/usr/local/freetype && make && make install && cd ..
4.安装zlib cd zlib-1.2.3/ && ./configure --prefix=/usr/local/zlib && make && make install && cd .. 5.安装gd 5.1 安装gd必须先检查一下 gd-2.0.35/gd_png.c 文件,对png.h的引用路径是否正确。 用vi打开此文件 : vi gd-2.0.35/gd_png.c 在第16行: ======== #include "png.h" ======== 把它改为你的libpng安装路径下的png.h。若libpng按上面第2步安装的,那么应该改为: ======== #include "/usr/local/libpng/include/png.h" ======== 这样在编译过程中就不会出现以下错误: =========== aclocal:configure.ac:64: warning: macro `AM_ICONV' not found in library ... =========== 5.2 修改完保存退出后,继续安装gd: cd gd-2.0.35/ && ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg7 --with-zlib-dir=/usr/local/zlib --with-png=/usr/local/libpng --with-freetype=/usr/local/freetype && make && make install && cd ..
6.安装libxml2 cd libxml2-2.6.30/ && ./configure --prefix=/usr/local/libxml2 && make && make install && cd ..
7.安装libxslt cd libxslt-1.1.22/ && ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2 && make && make install && cd ..
8.安装apache 8.1 安装: cd httpd-2.2.13/ && ./configure --prefix=/usr/local/apache --enable-modules=so --enable-rewrite && make && make install && cd ..
8.2 检测。安装完后运行:/usr/local/apache/bin/apachectl -k start 启动apache,再打开浏览器进入http://localhost,若显示"It works!",则表示apache已经安装好了。 (若执行启动命令时,打印错误“httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName”, 暂时可以不管,这是由于未配置好ServerName,后面有apache的配置说明)
9.安装mysql 9.1 安装: cd mysql-5.1.30/ && ./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-extra-charsets=all && make && make install
9.2 用mysql_install_db创建MySQL授权表初始化: /usr/local/mysql/bin/mysql_install_db --user=root
9.3 添加MySQL配置文件: 如果你想要设置一个选项文件,使用support-files目录中的一个作为模板。在这个目录中有4个模板文件,是根据不同机器的内存定制的。 cp support-files/my-medium.cnf /etc/my.cnf
9.4 启动mysql: /usr/local/mysql/bin/mysqld_safe --user=root &
9.5 检测是否启动: /usr/local/mysql/bin/mysql -u root 如果能显示: ============= Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> ============= 则表明 mysql 已经正常启动。输入exit;退出。
9.6 设置root密码。默认安装密码为空,为了安全,最好把密码修改掉 /usr/local/mysql/bin/mysqladmin -uroot password yourpassword
10. 安装PHP 10.1 安装: cd php-5.3.0/ && ./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --with-gd=/usr/local/gd2 --with-jpeg-dir=/usr/local/jpeg7 --with-zlib-dir=/usr/local/zlib --with-png-dir=/usr/local/libpng --with-freetype-dir=/usr/local/freetype --enable-mbstring=all --enable-mbregex --with-config-file-path=/usr/local/php5 --enable-soap --with-xsl=/usr/local/libxslt --enable-sockets && make && make install 10.2 复制配置文件: cp php.ini-development /usr/local/php5/php.ini 10.3 用vi打开 查找date.timezone 去掉前面的分号,并改为date.timezone =PRC
11.配置apache: 11.1 用vi打开/usr/local/apache/conf/httpd.conf 11.2 查找 LoadModule 可以看到 LoadModule php5_module modules/libphp5.so 这是安装时设置好的,但也务必检查一下。 11.3 查找 AddType 在“AddType application/x-gzip .gz .tgz” 下面添加一行:AddType application/x-httpd-php .php 11.4 查找DirectoryIndex,在DirectoryIndex index.html 后加上index.php(用空格隔开) 11.5 查找#ServerName,把#去掉,后面的IP改成你的IP或localhost 11.6 查找 DocumentRoot 把 "/usr/local/apache/htdocs" 修改成你的php文件存放路径,也可以不改.但必须保证你的apache用户(参看11.7)对此目录可读可写。 11.7 查找 User ,把User daemon修改成你的apache用户(只需保证此用户对DocumentRoot可读可写即可) 11.8 重启 apache ,若报以下错误: =========== httpd: Syntax error on line 53 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 =========== 这是因为Linux有一个SELinux保护模式引起的。 有两种解决办法: 1)关闭SELINUX : 用vi打开 /etc linux/config 将SELINUX=enforcing 改成SELINUX=disabled 需要重启。 2)不关闭SELINUX的方法: 执行以下shell(可能需要以root用户来执行): setenforce 0 && chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so && setenforce 1 再重新启动apache.
至此所有基本的LAMP环境安装完毕。 以下是选装的,可装可不装:
12. 安装ZendOptimizer(zend加速引擎) 12.1 安装: cd ZendOptimizer-3.3.3-linux-glibc23-i386/ && ./install && cd .. 然后像在windows下安装软件一样,一路OK或yes下去,直到“Enter the location of your php.ini file”,输入你的php.ini文件所在的目录,即/usr/local/php5/, 再接着OK/yes,直到安装完成。
13. 为了方便管理mysql数据库,可以安装phpMyAdmin: 13.1 直接把unzip/目录下的phpMyAdmin-3.1.2-all-languages 移动到/usr/local/apache/htdocs/ 下,并把它改为apache用户及组所属。 mv phpMyAdmin-3.1.2-all-languages/ /usr/local/apache/htdocs/phpmyadmin chown -R yourApacheUser.yourApacheGroup /usr/local/apache/htdocs/phpmyadmin/ 13.2 配置: cd /usr/local/apache/htdocs/phpmyadmin/ cp config.sample.inc.php config.inc.php (把配置示例复制一份,作为正式配置文件) 用vi打开config.inc.php , 查找blowfish_secret,随便填入一个字符串值,只要保证这变量不为空就行; 再查找controluser及controlpass 分别填入你的mysql用户名及密码 13.3 打开浏览器,浏览http://localhost/phpmyadmin,输入用户名及密码,即可登录mysql进行数据库管理。
14.以上进入phpmyadmin时可能会有提示: ========== 无法载入 mcrypt 扩展,<br />请检查 PHP 配置 ========== 这是因为没有安装mcrypt 导致的。mcrypt是一个功能强大的加密算法扩展库。 在此顺便介绍一下如何安装PHP扩展。 安装PHP mcrypt扩展,必须先安装libmcrypt 及 mhash ,这两个请直接安装在/user/local目录,否则后面安装mcrypt时会提示找不到相关文件。 14.1 安装libmcrypt : cd libmcrypt-2.5.8/ && ./configure && make && make install && cd .. 14.2 安装mhash: cd mhash-0.9.9.9/ && ./configure && make && make install && cd .. 14.3 安装mcrypt: cd mcrypt-2.6.8/ && LD_LIBRARY_PATH=/usr/local/lib ./configure --prefix=/usr/local/mcrypt --with-libmcrypt-prefix=/usr/local && make && make install cd .. (LD_LIBRARY_PATH=/usr/local/lib 是指定libmcrypt及mhash的库文件所在目录,编译时与下面的./configure...之间不能用 “&&”号,只能用空格隔开。 ) 14.4 编译php 中的mcrypt扩展: cd php-5.3.0/ext/mcrypt && /usr/local/php5/bin/phpize && ./configure --with-php-config=/usr/local/php5/bin/php-config --with-mcrypt=/usr/local/mcrypt && make && make install 14.5 修改php.ini: 用vi打开 /usr/local/php5/php.ini 查找extension,在一大堆extension=*.dll下面追加一行:extension=mcrypt.so (注意extension=mcrypt.so 前面不能加“;”),保存,退出并重启apache 再刷新一下http://localhost/phpmyadmin,就会发现,没有mcrypt警告提示了,表明mcrypt已经安装好。
|