CentOS7+ApacheServer2.4+MariaDB10.0+PHP7.0+禅道项目管理软件8.0环境部署
by:授客 QQ:1033553122
目录
一、 实践环境
CentOS 7操作系统(CentOS-7-x86_64-DVD-1503-01.iso)
下载地址:http://ftp.riken.jp/Linux/centos/7/isos/x86_64/
Apache HTTP Server(httpd-2.4.17.tar.gz)
下载地址1:http://pan.baidu.com/s/1c1pfUiW
下载地址2:http://httpd.apache.org/download.cgi
MariaDB 10.0(MariaDB-10.0.19-centos7-x86_64)
下载地址1:http://pan.baidu.com/s/1jH3gPbK
下载地址2:https://downloads.mariadb.org/mariadb/+releases/
PHP 7.0(php-7.0.0.tar.gz)
下载地址1: http://pan.baidu.com/s/1o7v7hou
下载地址2:http://php.net/downloads.php
禅道项目管理软件8.0.stable版本(ZenTaoPMS.8.0.stable.zip)
下载地址1:http://pan.baidu.com/s/1bolelv5
下载地址2:
http://sourceforge.net/projects/zentao/files/8.0/ZenTaoPMS.8.0.stable.zip/download
Apache Server安装相关依赖软件
apr(apr-1.5.2.tar.gz), apr-util(apr-util-1.5.4.tar.gz)
下载地址:http://mirrors.cnnic.cn/apache/apr/
pcre(pcre-8.37.tar.gz)
下载地址:http://pcre.org/
PHP安装相关依赖软件
libxml2(libxml2-2.6.27.tar.gz)
下载地址:http://download.chinaunix.net/download/0007000/6095.shtml
以上依赖软件包集合下载地址2:http://pan.baidu.com/s/1hrsv7nu
二、 安装操作系统
软件选择(SOFTWARE SELECTION):
磁盘分区(INSTALLATION
DESTINATION)
三、
安装MariaDB数据库
安装
[root@localhost
home]# ls
lost+found
MariaDB-10.0.19-centos7-x86_64-server.rpm
MariaDB-10.0.19-centos7-x86_64-client.rpm
MariaDB-10.0.19-centos7-x86_64-shared.rpm
MariaDB-10.0.19-centos7-x86_64-common.rpm
MariaDB-10.0.19-centos7-x86_64-test.rpm
MariaDB-10.0.19-centos7-x86_64-devel.rpm
[root@localhost
home]# rpm
-iUvh MariaDB*.*
warning:
MariaDB-10.0.19-centos7-x86_64-client.rpm: Header V4 DSA/SHA1
Signature, key ID 1bb943db: NOKEY
Preparing...
################################# [100%]
Updating /
installing...
1:MariaDB-common-10.0.19-1.el7.cent#################################
[ 14%]
2:MariaDB-client-10.0.19-1.el7.cent#################################
[ 29%]
started; log
sequence number 1616697
……(略)
PLEASE REMEMBER
TO SET A PASSWORD FOR THE MariaDB root USER !
To
do so, start the server, then issue the following
commands:
'/usr/bin/mysqladmin' -u root password 'new-password'
'/usr/bin/mysqladmin' -u root -h localhost.localdomain password
'new-password'
Alternatively you
can run:
'/usr/bin/mysql_secure_installation'
which will also
give you the option of removing the test
databases and
anonymous user created by default. This is
strongly
recommended for production servers.
……(略)
4:MariaDB-devel-10.0.19-1.el7.cento#################################
[ 57%]
5:MariaDB-shared-10.0.19-1.el7.cent#################################
[ 71%]
6:MariaDB-test-10.0.19-1.el7.centos#################################
[ 86%]
Cleaning up /
removing...
7:mariadb-libs-1:5.5.41-2.el7_0
################################# [100%]
编辑/etc/my.cnf文件,添加如下带背景色内容
[root@localhost
~]# vim
/etc/my.cnf
#
#
This group is read both both by the client and the
server
#
use it for options that affect everything
#
[client-server]
#
#
include all files from the config directory
#
!includedir
/etc/my.cnf.d
[mysqld]
user=mysql
~
~
启动数据库服务器
[root@localhost
home]# /usr/sbin/mysqld
--user=mysql
修改root用户密码
[root@localhost
home]# /usr/bin/mysqladmin
-u root password 'test1234'
进行安全设置
[root@localhost
home]# /usr/bin/mysql_secure_installation
NOTE: RUNNING ALL
PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP
CAREFULLY!
In
order to log into MariaDB to secure it, we'll need the
current
password for the
root user.
If you've just installed MariaDB, and
you haven't set
the root password yet, the password will be blank,
so
you should just press enter here.
Enter current
password for root (enter for none):
OK, successfully
used password, moving on...
Setting the root
password ensures that nobody can log into the MariaDB
root user without
the proper authorisation.
You already have
a root password set, so you can safely answer 'n'.
Change the root password? [Y/n] n
...
skipping.
By
default, a MariaDB installation has an anonymous user, allowing
anyone
to
log into MariaDB without having to have a user account created
for
them. This is intended only
for testing, and to make the installation
go
a bit smoother. You should remove them
before moving into a
production
environment.
Remove anonymous users? [Y/n] y
... Success!
Normally, root
should only be allowed to connect from 'localhost'. This
ensures that
someone cannot guess at the root password from the
network.
Disallow root login remotely? [Y/n] n
...
skipping.
By
default, MariaDB comes with a database named 'test' that anyone
can
access.
This is also intended only for testing, and should be
removed
before moving
into a production environment.
Remove test database and access to it? [Y/n] y
- Dropping test
database...
... Success!
- Removing privileges
on test database...
... Success!
Reloading the
privilege tables will ensure that all changes made so
far
will take effect
immediately.
Reload privilege tables now? [Y/n] y
... Success!
Cleaning
up...
All
done! If
you've completed all of the above steps, your MariaDB
installation
should now be secure.
Thanks for using
MariaDB!
创建用户与授权
[root@localhost
~]#
mysql -u root -ptest1234
Welcome to the
MariaDB monitor. Commands end with ; or
\g.
Your MariaDB
connection id is 5
Server version:
10.0.19-MariaDB MariaDB Server
Copyright (c)
2000, 2015, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or
'\h' for help. Type '\c' to clear the current input
statement.
MariaDB
[(none)]> create
user 'testacc'@'182.168.1.103' identified by
'test1234';
Query OK, 0 rows
affected (0.00 sec)
MariaDB
[(none)]> grant
all on *.* to 'testacc'@'%' identified by
'test1234';
Query OK, 0 rows
affected (0.00 sec)
> grant
all privileges on *.* to 'testacc'@'192.168.1.100'identified by
'test1234';
Query OK, 0 rows affected (0.00 sec)
> flush
privileges;
注:这里192.168.1.100为mysql客户端所在主机,即我本地主机
四、
安装Apache
Server
安装相关依赖软件
[root@localhost
tmp]# tar
-xvzf apr-1.5.2.tar.gz
……(略)
[root@localhost
tmp]# tar
-xvzf apr-util-1.5.4.tar.gz
……(略)
[root@localhost
tmp]# tar
-xvzf pcre-8.37.tar.gz
……(略)
1、安装pcre
[root@localhost
yum.repos.d]# yum
install gcc
……(略)
[root@localhost
yum.repos.d]# yum
install gcc-c++
……(略)
注:如果编译pcre时未安装gcc,gcc-c++,会分别报告如下错误
configure:
error: no acceptable C compiler found in $PATH
configure:
error: You need a C++ compiler for C++ support.
安装pcre
[root@localhost
tmp]# cd pcre-8.37
[root@localhost
pcre-8.37]# ./configure
--prefix=/usr/local/pcre
……(略)
[root@localhost
pcre-8.37]# make
&& make install
……(略)
2、安装apr
[root@localhost
tmp]# cd apr-1.5.2/
[root@localhost
apr-1.5.2]# ./configure
--prefix=/usr/local/apr
……(略)
[root@localhost
apr-1.5.2]# make
&& make install
……(略)
3、安装apr-util
[root@localhost
tmp]# cd apr-util-1.5.4/
[root@localhost
apr-util-1.5.4]# ./configure
--prefix=/usr/local/apr-util
--with-apr=/usr/local/apr
……(略)
[root@localhost
apr-util-1.5.4]# make
&& make install
……(略)
安装Apache
Server
[root@localhost
tmp]# tar
-xvzf httpd-2.4.17.tar.gz
[root@localhost
tmp]# cd
httpd-2.4.17/
[root@localhost
httpd-2.4.17]# ./configure
--prefix=/usr/local/apache --with-apr=/usr/local/apr
--with-apr-util=/usr/local/apr-util
--with-pcre=/usr/local/pcre
……(略)
[root@localhost
httpd-2.4.17]# make
&& make install
……(略)
简单配置与启动
编辑httpd.conf,找到ServerName,去掉注释符号,或者在其下新增一行
[root@localhost
httpd-2.4.16]# vim /usr/local/apache/conf/httpd.conf
启动服务
[root@localhost
httpd-2.4.16]# /usr/local/apache/bin/apachectl -k start
访问
注意:如果无法访问,关闭防火墙或者开放端口(临时),如下
[root@localhost
services]# systemctl
stop firewalld.service
[root@localhost
services]# iptables
-I INPUT -p TCP --dport 80 -j ACCEPT
注:建议先临时关闭防火墙,否则后面的数据库用户也无法远程连接,这会导致禅道安装失败
五、
PHP安装与配置
安装依赖包
[root@localhost
tmp]# tar
-xvzf libxml2-2.6.27.tar.gz
[root@localhost
tmp]# cd libxml2-2.6.27
[root@localhost
libxml2-2.6.27]# ./configure
--prefix=/usr/local/libxml12
……(略)
[root@localhost
libxml2-2.6.27]# make
&& make install
……(略)
安装php
[root@localhost
tmp]# tar -xvzf php-7.0.0.tar.gz
……(略)
[root@localhost
php-7.0.0]# yum
install php
……(略)
[root@localhost
php-7.0.0]# ./configure
--prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs
--with-libxml-dir=/usr/local/libxml12/ --with-pdo-mysql
……(略)
[root@localhost
php-7.0.0]# make
&& make install
……(略)
注:
--with-pdo-mysql非常重要,如果这里不指定该选项,安装禅道时可能会报错,如下,pdo_mysql扩展未加载
以下是php官网文档中的部分(也就是不用自己去单独编译安装PDO_MYSQL扩展了,网上关于这个的安装教程笔者试过,死活不行,各种错误)
For example, on
Ubuntu the php5-mysql package installs the ext/mysql,
ext/mysqli, and PDO_MYSQL PHP extensions. On
CentOS, the php-mysql package also installs these three PHP
extensions.
Alternatively,
you can compile this extension yourself. Building
PHP from source allows you to specify the MySQL extensions you want
to use, as well as your choice of client library for each
extension.
When compiling, use --with-pdo-mysql[=DIR] to install the
PDO MySQL extension, where the
optional [=DIR] is the MySQL base library. As of PHP
5.4, mysqlnd
is the
default library. For details about choosing a library, see
Choosing a MySQL library.
Optionally, the
--with-mysql-sock[=DIR] sets to location to the MySQL unix
socket pointer for all MySQL extensions, including PDO_MYSQL. If
unspecified, the default locations are searched.
Optionally, the
--with-zlib-dir[=DIR] is used to set the path to the libz
install prefix.
$
./configure --with-pdo-mysql
--with-mysql-sock=/var/mysql/mysql.sock
参考连接:http://php.net/manual/en/ref.pdo-mysql.php
配置php
[root@localhost
php-5.6.12]#
cp php.ini.dist /usr/local/php/lib/php.ini
注:如果没有php.ini.dist
则把php.ini-development
php.ini-production中的任何一个重命名为php.ini.dist即可
配置 httpd.conf
让apache支持PHP
# vim /usr/local/apache/conf/httpd.conf
找到 AddType
application/x-gzip .gz .tgz ,然后添加如下带背景颜色的内容(.前面有空格)
#################Added
by laiyu##################
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
#################################################
#AddType application/x-gzip .tgz
重启Apache
[root@localhost
php-7.0.0]# /usr/local/apache/bin/apachectl stop
[root@localhost
php-7.0.0]# /usr/local/apache/bin/apachectl start
测试php是否成功安装
写一个php测试页info.php,放到Apache的htdocs目录下。
在浏览器中输入:服务器地址/info.php,如:http://192.168.40.80/info.php
如果可看到php版本,系统等相关信息则表示成功了
修改改配置文件php.ini
1、找到如下带背景色内容,去掉注释符号“;”
extension=php_mysqli.dll
;extension=php_oci8_12c.dll ; Use with Oracle
Database 12c Instant Client
;extension=php_openssl.dll
;extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
2、找到如下带背景色内容,再其下新增如下内容
; The path can be defined
as:
;
;
session.save_path = "N;/path"
(注:以下带背景色内容为新增的)
;
added by shouke
session.save_path = "0;/var/lib/php/session/"
;
; where N is an
integer.
Instead of storing all the session files in
; /path, what this will do is
use subdirectories N-levels deep, and
; store the session data in
those directories. This is useful
if
; your OS has problems with
many files in one directory, and is
a more efficient layout for
servers that handle many sessions.
; NOTE 1: PHP will not create
this directory structure automatically.
;
You can use the script in the ext/session dir for that
purpose.
; NOTE 2: See the section on
garbage collection below if you choose to
;
use subdirectories for session storage
;
; The file storage module
creates files using mode 600 by default.
; You can change that by
using
;
;
session.save_path = "N;MODE;/path"
说明:如上,session.save_path
= "N;MODE;/path",其中,N
表示多级目录,值为数字,如果大于0,则不会执行自动垃圾回收,对于绝大多数站点,大于1或者2的值会不太合适——因为这需要创建大量的目录:例如,值设置为
3
需要在文件系统上创建
64^3
个目录,将浪费很多空间和
inode。仅仅在绝对肯定站点足够大时,才可以设置
N
大于2。MODE
表示创建的
Session
文件权限,默认使用
mode 600
创建文件。/path
表示
Session
存储路径
保存,重启Apache
找到; extension_dir =
"./",在其下新增一行,如下带背景色内容
;
http://php.net/extension-dir
;
extension_dir = "./"
extension_dir = "/usr/local/php/lib/php/extensions"
;
On windows:
;
extension_dir = "ext"
说明:这一步修改操作或许可以不执行,
修改会话存储目录权限
[root@localhost
session]# chmod
o=rwx -R /var/lib/php/session/
注:如果这里进行修改权限操作,那么安装禅道时可能会报如下错误
六、
安装禅道项目管理系统(PMS)
[root@localhost
tmp]#unzip
ZenTaoPMS.8.0.stable.zip
……(略)
[root@localhost
tmp]#mv
zentaopms /usr/local/apache/htdocs/
接着打开浏览器访问
http://192.168.1.103/zentaopms/www/index.php
打开后会出现一个界面,上面有一个大大的安装按钮,点击安装按钮开始安装(不好意思,这一步忘记截图了)
如上,勾选协议,点击【下一步】,
如上,点击下一步
如上,填写数据库相关信息,注意这里的信息必须准确填写,,点击【保存】
如上,点击【下一步】
如上,输入公司名称,超级管理员帐号和密码信息,点击【保存】
如上,安装成功,有必要的话删除安装文件install.php,点击【登陆禅道管理系统】
登陆,查看
查看数据库
注:要么关闭防火墙,要么开放相关端口并写入静态配置文件,不然会出现无法访问的情况。
接下来的问题:
1.假如以上部署在内网,咋让外网的人员也可以访问呢?
2.数据备份
pdf版下载:
CentOS7+ApacheServer2.4+MariaDB10.0+PHP7.0+禅道项目管理软件8.0环境部署.pdf