[原创]在Centos7.2上源码安装PHP、Nginx、Zentao禅道
版本
- 操作系统:CentOS Linux release 7.2.1511 (Core)
- PHP:5.6.33
- Nginx:1.12.2
- MySQL:5.6.38(192.168.1.103的Windows)
- Zentao禅道:9.7.stable
安装路径
- 源码路径:/usr/local/src
- PHP:/usr/local/php
- Nginx:/usr/local/nginx
- Zentao禅道:/opt/zentao
安装PHP
- 安装php依赖
yum install gcc libxml2-devel openssl-devel curl-devel -y
- 上传php并解压,然后进入到php目录/usr/local/src/php-5.6.33
cd /usr/local/src
rz
tar -xzf php-5.6.33.tar.gz
cd php-5.6.33
- 源码安装三步走
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=nobody --with-fpm-group=nobody --enable-mbstring --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-curl --with-zlib --with-openssl
看到提示“Thank you for using PHP.”,就可以进行编译安装了。

编译安装时间比较久,可以喝杯咖啡慢慢等。
make

make install

4. 配置php
复制配置文件及执行文件
ln -s /usr/local/php/bin/php /usr/bin/php
cp /usr/local/src/php-5.6.33/php.ini-production /usr/local/php/etc/php.ini
ln -s /usr/local/php/etc/php.ini /etc/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/src/php-5.6.33/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
增加可执行权限
chmod +x /etc/init.d/php-fpm
修改配置文件php.ini
date.timezone = PRC
session.save_path="/var/lib/php/session"
记得要手动创建下这个目录
mkdir -p /var/lib/php/session
- 启动php-fpm
service php-fpm start
安装Nginx
- 安装依赖
yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
- 上传nginx并解压,然后进入到nginx目录/usr/local/src/
cd /usr/local/src
rz
tar -xzf nginx-1.12.2.tar.gz
cd nginx-1.12.2
- 源码安装三步走
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_gzip_static_module --pid-path=/usr/local/nginx/conf/nginx.pid --with-pcre

make && make install

4. 修改nginx.conf
cd /usr/local/nginx/conf/
vi nginx.conf
以下是nginx.conf的修改内容
worker_processes 4;
pid conf/nginx.pid;
location / {
root /opt/zentao/www;
index index.php index.html index.htm;
}
location ~ \.php$ {
root /opt/zentao/www; fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
- 启动nginx并在防火墙上开放80端口
# 启动nginx
/usr/local/nginx/sbin/nginx
# 开放80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
检查Php和Nginx的安装和配置
- 创建test.php
mkdir -p /opt/zentao/www
cd /opt/zentao/www
vi test.php
test.php的内容
<?php
phpinfo()
?>
- 访问http://192.168.1.111/test.php

安装禅道
- 上传禅道源码
cd /usr/local/src/
rz
unzip ZenTaoPMS.9.7.stable.zip
cp -R zentaopms/* /opt/zentao/
- 访问http://192.168.1.111/index.php,进行禅道到安装。
- 根据安装向导,修改以下三个文件夹到访问权限
chmod o=rwx -R /opt/zentao/tmp/
chmod o=rwx -R /opt/zentao/www/data
chmod o=rwx -R /var/lib/php/session

- 如果最后一步提示,ERROR: 您访问的域名 192.168.1.111 没有对应的公司,则需要修改session.save_path的拥有者。执行以下命令,然后删除my.php,重新安装即可。
chown -R nobody:nobody /var/lib/php
service php-fpm restart
/usr/local/nginx/sbin/nginx -s reload

5. 最后一步,成功撒花~~~

6. 安装成功,就可以通过禅道对项目进行管理了。


[原创]在Centos7.2上源码安装PHP、Nginx、Zentao禅道的更多相关文章
- 在ConoHa上Centos7环境下源码安装部署LNMP
本文记录了从源码,在Centos 7上手动部署LNMP环境的过程,为了方便以后对nginx和mariadb进行升级,这里采用yum的方式进行安装. 1.建立运行网站和数据库的用户和组 groupadd ...
- 完美原创:centos7.1 从源码升级安装Python3.5.2
(原创)完美原创:centos7.1 从源码升级安装Python3.5.2 下载Python3.5.2源码:https://www.python.org/downloads/release/pytho ...
- Centos6.6上源码安装Nodejs V4版本
本来就是想在vps上装一个Ghost博客,这个博客依赖的是Nodejs,然后推荐的是V4版本.然后我就对着官网的步骤安装,发现根本没有Centos6 i386的资源了(64位的还是有的), 我只能在那 ...
- nginx在Centos7.5下源码安装和配置
安装nginx 安装nginx依赖包 yum install -y pcre-devel zlib-devel openssl-devel wget gcc tree vim 进入目录/root/se ...
- centos上源码安装clang 3.8
之前想在centos系统上安装clang 3.6版本,由于yum上版本太低,想通过源码编译安装.按照网上说的源码安装步骤,下好llvm.clang.clang-tools-extra和compiler ...
- 在Ubuntu Server上源码安装OpenERP 8.0,并配置wsgi和nginx运行环境
原文: How to install OpenERP 8.0 Alpha on a fresh Debian / Ubuntu server. OpenERP的安装,可以有多种方式,通过添加源,到 h ...
- 源码安装python +NGINX 的坎坷路 +uwsgi安装 部署django 的CRM项目
一.Nginx安装(基于ubuntu17.10 版本) 首先我们是基于源码安装,主要有如下步骤 1.安装依赖包 1.安装gcc g++的依赖库 sudo apt-get install build-e ...
- 国产化设备鲲鹏CentOS7上源码安装Python3.7
具体编译过成与正常的Python源代码在x86平台上的过程无异,此篇随笔仅当用作复制黏贴的备忘录.不得不说在一个老旧系统上安装一个老旧的Python版本,从头编译一个Python还是一个较为稳健的选择 ...
- centos7上源码安装mysql5.7.11
由于初学,安装这玩意搞了三天,其间各种报错难以解决,网上各种解答误导.最好的办法还是使用官方的英文文档,建议初学者一定要使用官方的文档,特别是下面两个页面作为初学者一定要细看: Installing ...
随机推荐
- 二、spring Boot构建的Web应用中,基于MySQL数据库的几种数据库连接方式进行介绍
包括JDBC.JPA.MyBatis.多数据源和事务. 一.JDBC 连接数据库 1.属性配置文件(application.properties) spring.datasource.url=jdbc ...
- 《跟我学IDEA》三、实用配置(行号、提示、代码等)
上一篇博文我们介绍了idea如何配置一个maven,git,tomcat等,这一篇我们来进行一些常用设置,这些也正是idea可爱之处,大大提高了开发的效率. 第一节:idea常用配置显示行数.显示方法 ...
- 自学Zabbix3.6.1-触发器triggers创建
1. 触发器概念 触发器(triggers)是什么?触发器使用逻辑表达式来评估通过item获取到得数据是处于哪种状态,item一收回数据,讲解任务交给触发器去评估状态,明白触发器是怎么一回事了把?在触 ...
- On-Heap与Off-Heap
和C#里的托管代码.非托管代码类似
- IIS 5.x与ASP.NET
转自:http://www.cnblogs.com/artech/archive/2009/06/20/1507165.html 我们先来看看IIS 5.x是如何处理基于ASP.NET资源(比如.as ...
- mysql主从备份+keepalived自动切换
数据库这一层需要做到避免单点故障可以是主从备份和主主备份,主主备份可能有性能损耗和数据同步的问题.这里记录下主从备份, mysql进行备份之前确保mysql的版本是一样的,我这里用的都是mysql5. ...
- DeepLearning.ai学习笔记(四)卷积神经网络 -- week1 卷积神经网络基础知识介绍
一.计算机视觉 如图示,之前课程中介绍的都是64* 64 3的图像,而一旦图像质量增加,例如变成1000 1000 * 3的时候那么此时的神经网络的计算量会巨大,显然这不现实.所以需要引入其他的方法来 ...
- JS中数组的方法
1. join() Array.join() 是 String.split() 的逆向操作 var arr = [1, 2, 3] arr.join()// "1,2,3" arr ...
- 为什么说Python 是大数据全栈式开发语言
欢迎大家访问我的个人网站<刘江的博客和教程>:www.liujiangblog.com 主要分享Python 及Django教程以及相关的博客 交流QQ群:453131687 原文链接 h ...
- centos 命令
1.查看占用端口的进程 netstat -lnp|grep 3000(3000为端口号) Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statis ...