由于近期公司众多项目拖延严重,继续一款在线的项目管理软件,让众多不同部门实现各自不同的项目进度管理,于是开始网上疯狂搜索各种项目管理软件,只是搜到的大多数都是在线的,虽然省去了部署的烦恼,不过由于数据非保存于本地,担心可能会有泄露的风险,于是都没有实际用于生产,还好最后在GitHub上找到了这款免费的开源项目管理软件,Jitamin。j_0003.gif

        由于网上的搭建教程过少.......能找到的也只有GitHub上的官方教学,整个搭建过程遇到了不少小坑,不过幸好最后完美部署成功~乘着还有点记忆,抓紧写份部署详情吧j_0006.gif

      本教程是基于CentOSmini版搭建的,包含了数据库、nginx、php的部署安装,所以整个搭建用到了不少阿里的yum,所以推荐搭建的时候尽量放在有外网的地方吧,搭建完成后再迁移到内网。

该项目GitHub上的路径https://github.com/jitamin/jitamin

【基础系统搭建】

首先由于官方默认yum源属于国外域名,顾先下载按照阿里云的官方yum源

阿里云官方镜像源:http://mirrors.aliyun.com/

mv /etc/yum.repos.d/CentOS-* /tmp                      //备份本地源
cd /etc/yum.repos.d/
wget  http://mirrors.aliyun.com/repo/Centos-7.repo    //下载阿里CentOS repo文件到yum目录
yum clean all              //清楚yum缓存
yum makecache                  //生成yum缓存

安装git、vim、curl等常用软件

yuminstall -y git vim curl          //使用yum安装软件
mkdir /team        //创建项目文件夹
cd  /team
yuminstall –y autoconf automake imake libxml2-devel expat-devel cmake gcc gcc-c++libaio libaio-devel bzr bison libtool ncurses5-devel wget 
                         //安装常用软件包

【安装sql】  

参考:http://www.ttlsa.com/

cd /usr/local/src/
wget -c http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.14-linux-glibc2.5-x86_64.tar.gz/from/http://cdn.mysql.com/-O mysql-5.6.14-linux-glibc2.5-x86_64.tar.gz
            //下载sql安装包
tar zxvf mysql-5.6.14-linux-glibc2.5-x86_64.tar.gz -C ../     //解压mysql安装包
cd  /usr/local/
ln-s mysql-5.6.14-linux-glibc2.5-x86_64/ mysql               //创建软连接
mkdir-p /data/mysql_data_3306                      //创建Mysql用户组和用户,及数据库存放目录
mkdir -p /data/mysql_log
mkdir -p /data/log-bin
groupadd mysql
useradd mysql -g mysql -M -s /sbin/nologin
chown -R mysql.mysql /data/mysql_data_3306 /data/mysql_log /data/log-bin
chown -R mysql.mysql /usr/local/mysql-5.6.14-linux-glibc2.5-x86_64

cp /etc/my.cnf /etc/my.cnf.bak
vim /etc/my.cnf        //可将附件提供的sql配置文件复制替换
cp -af /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql_3306

vim /etc/init.d/mysql_3306    //修改以下两处位置
basedir=/usr/local/mysql
datadir=/data/mysql_data_3306

chmod 755/etc/init.d/mysql_3306
chkconfig --addmysql_3306
chkconfig --level 345 mysql_3306 on

cd /usr/local/mysql                    //初始化数据库
./scripts/mysql_install_db--user=mysql --defaults-file=/etc/my.cnf
servicemysql_3306 start               //启动数据库进程
servicemysql_3306 status       //查看数据库状态,显示SUCCESS!MySQL running (2256)即为正常
  wKiom1lmxVuzkfoyAAAKc9miw2Y495.png


【安装nginx】

安装nginx常用包

yum install pcre*               //安装依赖包
yum install openssl*
groupadd nginx                  //创建nginx组
useradd -g nginxnginx              //创建nginx用户
cd /team/
wget -c      //下载nginx安装包 
tar -zxvf nginx-1.12.0.tar.gz        //解压安装包
cd  nginx-1.12.0
./configure        //生成 Makefile
make && make install        //编译及安装
whereis nginx
cd /usr/local/nginx/sbin/
./nginx
ps aux |grep nginx    //查看nginx进程是否启动
vim /etc/rc.local                //添加自启动文件
/usr/local/nginx/sbin/nginx

关闭防火墙

systemctlstop firewalld.service
systemctl disable firewalld.service

关闭SELinux

vim /etc/selinux/config
将SELINUX=permissive修改为SELINUX=disabled
该命令需重启生效
重启后使用sestatus–v命令查看输出是否显示为
SELinuxstatus:  disabled

wKioL1lmyPjx0SQxAAAHuZ-2nas125.png

此时若是在ip游览器输入该服务器ip地址即可看到nginx的默认主页面

wKiom1lmycTAq4LYAABVmJJmUoA327.png-wh_50

【安装php-fpm】

wget -O php7.tar.gz http://cn2.php.net/get/php-7.1.1.tar.gz/from/this/mirror
mv php7.tar.gz /team/
cd /team/
tar zxvf php7.tar.gz
cd php-7.1.1/
yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel 
    //安装依赖包

安装到一半弹出告警:

mcrypt.h notfound. Please reinstall libmcrypt

经查看是由于版权的原因CentOS源没有自带mcrypt的包,有两种解决方法:

一、安装第三方yum源

wget  http://www.atomicorp.com/installers/atomic
sh ./atomic
yum install  php-mcrypt  libmcrypt  libmcrypt-devel
      输入y即可安装

      二、使用源码安装

wget  
tar -zxvf  libmcrypt-2.5.8.tar.gz
cd  /usr/local/src/libmcrypt-2.5.8
./configure--prefix=/usr/local
make & make install

 


再使用./configure编译php源代码

./configure --prefix=/usr/local/php --with-config-file-path=/etc --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-soap --with-libxml-dir --with-xmlrpc --with-openssl --with-mcrypt --with-mhash --with-pcre-regex --with-sqlite3 --with-zlib --enable-bcmath --with-iconv --with-bz2 --enable-calendar --with-curl --with-cdb --enable-dom --enable-exif --enable-fileinfo --enable-filter --with-pcre-dir --enable-ftp --with-gd --with-openssl-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --enable-gd-native-ttf --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --enable-json --enable-mbstring --enable-mbregex --enable-mbregex-backtrack --with-libmbfl --with-onig --enable-pdo --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib-dir --with-pdo-sqlite --with-readline --enable-session --enable-shmop --enable-simplexml --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-libxml-dir --with-xsl --enable-zip --enable-mysqlnd-compression-support --with-pear --enable-opcache

若无报错即可使用make编译安装

make && make install
vim/etc/profile

在文件最末尾添加一下内容

PATH=$PATH:/usr/local/php/bin
export PATH
保存退出后输入以下命令将配置立即生效
source  /etc/profile

复制php-fpm默认配置文件至安装目录,并赋予权限

cp php.ini-production /etc/php.ini   
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
cp /usr/local/php/etc/php-fpm.conf.default  /usr/local/php/etc/php-fpm.conf
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
/etc/init.d/php-fpmstart          //启动php-fpm服务

也可使用以下命令启动php-fpm服务

/usr/local/php/sbin/php-fpm

查询nginx服务是否开启,返回下图显示即为正常

wKioL1lm0oXD3-HDAAAsJwNjgk0694.png

【搭建jitamin服务】

git clone https://github.com/jitamin/jitamin.git      //使用git命令克隆jitamin的版本库
cd jitamin/config/
cp config.default.php config.php
vim config.php                   //修改配置文件
将'db_driver' => 'sqlite',修改为'db_driver' => 'mysql',

wKiom1lm2XCB3HrgAAAKTvmjlfw920.png

cd ..
curl -sS https://getcomposer.org/installer | php      //下载安装composer
php composer.phar install -o --no-dev  
/usr/local/mysql/bin/mysql-p -uroot -S /data/mysql_data_3306/mysql.sock    //登录sql,由于未设置密码,在显示输入密码处直接回车空密码进入
CREATE DATABASE jitamin                //创建jitamin表
ctrl + c               //退出sql
vendor/bin/phinx migrate                 //同步数据库

此时如下图告错显示“There was a problem connecting to the database:SQLSTATE[HY000] [2002] No such file or directory”显示无数据库文件

wKioL1lm2mXC4sMdAABFWbsy3yk215.png

这里纠结了很久查过数据库状态写入读取均是正常的。最后发现是jitamin的配置文件写的是localhost将他修改为ip地址后导入文件即正常。

      下方贴出配置文件的所有配置。

wKiom1lm2t7A2u1RAABzdYvl_kw322.png

wKioL1lm2t6Tu8ZJAABRctauyDg745.png

 其实需要修改的地方只有db_driver及mysql的host部分,若是数据库有添加过密码,则mysql的password部分也需做相应的修改。

vendor/bin/phinxmigrate          //再次输入即可创建数据表

     

wKioL1lm3CXBy9l8AABJ6FDRybM662.png

.............

wKioL1lm3CXRzHdTAAAnZQw0LBw643.png

   

vendor/bin/phinx seed:run                //安装初始数据

wKiom1lm3iKSJdKPAAA-K4aHbg8969.png

chmod -R 0777 bootstrap/cache       //确保bootstrap/cache和storage目录可写。
chmod-R 0777 storage

【启动jitamin】

vim /usr/local/nginx/conf/nginx.conf          //修改nginx配置,开启php功能修改网站路径

wKiom1lm307SXrUhAAB-1h2NarU725.png

cp -f /usr/share/zoneinfo/Asia/Shanghai/etc/localtime      //将系统时区改为亚洲上海
date            //查看时间是否正确
服务器重启后需要输入以下命令开启nginx和php服务,也可将以下任务改为开机自启动减少运维
/usr/local/php/sbin/php-fpm
/usr/local/nginx/sbin/nginx