PHP(Hypertxt Preprocessor,超文本预处理器)是一种通用的开源脚本语言,发明于1995年,它吸取了C语言、Java语言及Perl语言的很多优点,具有开源、免费、快捷、跨平台性强、效率高等优良特性,是目前Web开发领域最常用的语言之一.
在安装php之前要解决PHP的程序包和其他软件的依赖关系
1.关闭防火墙
setenforce 0
iptables -F
iptables -Z
iptables -X
2.安装yasm yasm源码包是一款常见的开源汇编器
解压、进入目录、编译、生成二进制、安装yasm
Cd /usr/local/src
tar zxvf yasm-1.2.0.tar.gz
cd yasm-1.2.0
./configure
Make
make install
3.安装libmcrypt libmcrypt源码包是用于加密算法的扩展库程序
解压、进入目录、编译、生成二进制、安装libmcrypt
cd ..
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make
make install
4.安装libvpx libvpx源码包是用于提供视频编码器的服务程序,libvpx-v1.3.0.tar.bz2,则此处解压方式为:tar xjvf
解压、进入目录、编译、生成二进制、安装libvpx
cd ..
tar xjvf libvpx-v1.3.0.tar.bz2
cd libvpx-v1.3.0
./configure --prefix=/usr/local/libvpx --enable-shared --enable-vp9
make
make install
5.安装tiff tiff源码包是用于提供标签图像文件格式的服务程序
解压、进入目录、编译、生成二进制、安装tiff
tar zxvf tiff-4.0.3.tar.gz
cd tiff-4.0.3
./configure --prefix=/usr/local/tiff --enable-shared 设置安装目录
make
make install
6.安装libpng libpng源码包是用于提供png图片格式支持函数库的服务程序
解压、进入目录、编译、生成二进制、安装libpng
tar zxvf libpng-1.6.12.tar.gz
cd libpng-1.6.12
./configure --prefix=/usr/local/libpng --enable-shared 设置安装目录
make
make install
7.安装freetype freetype源码包是用于提供字体支持引擎的服务程序
解压、进入目录、编译、生成二进制、安装freetype
tar zxvf freetype-2.5.3.tar.gz
cd freetype-2.5.3
./configure --prefix=/usr/local/freetype --enable-shared 设置安装目录
make
make install
8.安装jpeg jpeg源码包是用于提供jpeg图片格式支持函数库的服务程序
解压、进入目录、编译、生成二进制、安装jpeg
tar zxvf jpegsrc.v9a.tar.gz
cd jpeg-9a
./configure --prefix=/usr/local/jpeg --enable-shared
make
make install
9.安装libgd libgd源码包是用于提供图形处理的服务程序
在编译libgd源码包时,请记得写入的是jpeg、libpng、freetype、tiff、libvpx等服务程序在系统中的安装路径,即在上面安装过程中使用--prefix参数指定的目录路径
解压、进入目录、编译、生成二进制、安装libgd
tar zxvf libgd-2.1.0.tar.gz
cd libgd-2.1.0
./configure --prefix=/usr/local/libgd --enable-shared --with-jpeg=/usr/local/jpeg --with-png=/usr/local/libpng --with- freetype=/usr/local/freetype --with-fontconfig=/usr/local/freetype --with-xpm=/usr/ --with-tiff=/usr/local/tiff --with-vpx=/usr/local/libvpx
make
make install
10.安装t1lib t1lib源码包是用于提供图片生成函数库的服务程序
安装后把/usr/lib64目录中的函数文件链接到/usr/lib目录中,以便系统能够顺利调取到函数文件:
解压、进入目录、编译、生成二进制、安装t1lib
tar zxvf t1lib-5.1.2.tar.gz
cd t1lib-5.1.2
./configure --prefix=/usr/local/t1lib --enable-shared
make
make install
ln -s /usr/lib64/libltdl.so /usr/lib/libltdl.so 设置软链接
cp -frp /usr/lib64/libXpm.so* /usr/lib/ 复制到/usr/lib中
11.安装php服务
tar -zvxf php-5.5.14.tar.gz
cd php-5.5.14
export LD_LIBRARY_PATH=/usr/local/libgd/lib
Make
Make install
12.在php源码包程序安装完成后,需要删除当前默认的配置文件,然后将php服务程序目录中相应的配置文件复制过来
rm -rf /etc/php.ini
ln -s /usr/local/php/etc/php.ini /etc/php.ini
cp php.ini-production /usr/local/php/etc/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
ln -s /usr/local/php/etc/php-fpm.conf /etc/php-fpm.conf
13.修改配置文件/usr/local/php/etc/php-fpm.conf
vim /usr/local/php/etc/php-fpm.conf
25 pid = run/php-fpm.pid
148 user = www
149 group = www
14.脚本文件复制到/etc/rc.d/init.d中,赋予755权限,php-fpm服务程序加入到开机启动项中
cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
chmod 755 /etc/rc.d/init.d/php-fpm
chkconfig php-fpm on
15.由于php服务程序的配置参数直接会影响到Web服务服务的运行环境,因此,如果默认开启了一些不必要且高危的功能(如允许用户在网页中执行Linux命令),则会降低网站被入侵的难度,入侵人员甚至可以拿到整台Web服务器的管理权限。因此我们需要编辑php.ini配置文件,在305行的disable_functions参数后面追加上要禁止的功能。
vim /usr/local/php/etc/php.ini
16.编辑Nginx服务程序的主配置文件
vim /usr/local/nginx/conf/nginx.conf
2 user www www;
45 index index.html index.htm index.php;
65 location ~ .php$ {
66 root html;
67 fastcgi_pass 127.0.0.1:9000;
68 fastcgi_index index.php;
69 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
70 include fastcgi_params;
71 }
17.重启服务
systemctl restart nginx
systemctl restart php-fpm
18.搭建Discuz论坛
cd /usr/local/src/
unzip Discuz_X3.2_SC_GBK.zip
rm -rf /usr/local/nginx/html/{index.html,50x.html}*
mv upload/* /usr/local/nginx/html/
chown -Rf www:www /usr/local/nginx/html
chmod -Rf 755 /usr/local/nginx/html