最近需要在一台apache+tomcat的服务器上跑PHP,所以必须要让apache支持PHP了。另外现在环境一般PHP都会连mysql和postgresql,所以安装的时候需要把mysql和postgresql的功能加上。apache和php之间我直接选择模块模式,重庆电脑外包,重庆电脑维修,重庆打印机维修,没有使用fastcgi管理。
1、安装apache
这个不会的可以直接用我的一键脚本:http://download.chekiang.info/apache/ubuntu_apache.sh
了可以参考这篇文章 http://www.111cn.net/sys/linux/42130.htm
2、安装依赖
常用的依赖都放上,开始安装。
apt-get install libpq5 libpq-dev #为了支持postgresql
apt-get install zlib1g-dev libbz2-dev libcurl4-gnutls-dev libjpeg-dev libpng12-dev libfreetype6-dev libmcrypt-dev libxml2-dev
3、编译安装PHP
选择最新的PHP 5的源码包,下载解压。
wget http://cn2.php.net/distributions/php-5.5.36.tar.gz
tar zxvf php-5.5.36.tar.gz
编译
cd php-5.5.36
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-apxs2=/usr/local/apache2/bin/apxs --with-bz2 --with-curl --with-jpeg-dir --with-gd --enable-shared --enable-mbstring --with-mcrypt --enable-fpm --enable-bcmath --with-zlib --enable-zip --enable-ftp --with-gettext --enable-sockets --with-freetype-dir --with-iconv-dir --with-png-dir --with-libxml-dir=/usr --enable-xml --disable-rpath --disable-rpath --disable-rpath --disable-rpath --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --with-xmlrpc --enable-soap --disable-fileinfo --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pdo-pgsql --with-pgsql
安装
make && make install
安装完成之后可以看到apache的配置文件httpd.conf模块中增加了类似如下一行:
LoadModule php5_module modules/libphp5.so
4、修改PHP配置
cp php.ini-production /usr/local/php/etc/php.ini
sed -i 's/post_max_size = 8M/post_max_size = 50M/g' /usr/local/php/etc/php.ini
sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /usr/local/php/etc/php.ini
sed -i 's/;date.timezone =/date.timezone = PRC/g' /usr/local/php/etc/php.ini
sed -i 's/short_open_tag = Off/short_open_tag = On/g' /usr/local/php/etc/php.ini
sed -i 's/; cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /usr/local/php/etc/php.ini
sed -i 's/; cgi.fix_pathinfo=0/cgi.fix_pathinfo=0/g' /usr/local/php/etc/php.ini
sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /usr/local/php/etc/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 300/g' /usr/local/php/etc/php.ini
sed -i 's/disable_functions =.*/disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server/g' /usr/local/php/etc/php.ini
先复制php.ini-production文件到php的配置目录,然后修改几个常用参数。参考军哥的php安装脚本。
5、修改apache重启
添加以下内容,不然apache不认.php结尾的文件。
<IfModule mime_module>
AddType application/x-httpd-php .php
AddType applicaiton/x-httpd-php-source .phps
</IfModule>
最后还有不要忘记在DirectoryIndex中增加index.php。
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
一切没问题,重启apache后就能访问php项目了。