您的位置:首页 > 数据库 > MySQL

ubuntu server 16.04下搭建redmine系统中配置、连接MySQL数据库相关问题解决

2017-08-15 17:53 701 查看
承接上篇ubuntu server 16.04下搭建redmine系统中ruby相关问题解决(http://blog.csdn.net/sss_phlight/article/details/77197656),相关环境可参考其中。

在此继续redmine的安装,按照安装目录下doc/INSTALL的流程引导,在第2步中需要Create an empty utf8 encoded database: "redmine" for example。

之前虽然学过数据库的操作,但确实又忘掉了,只能一边上网参考一边回忆了。


命令行中执行sudo mysql进入MySQL数据库。

执行数据库命令CREATE DATABASE redmine CHARACTER SET utf8;(注意有分号)创建一个采用utf8编码字符的数据库redmine。

退出数据库,在INSTALL中接下来的第6步中,执行命令bundle exec rake db:migrate RAILS_ENV="production" 自动配置数据库结构,结果提示失败。

寻找原因发现,之前在/config/database.yml中配置了相应用户的信息(用户名、密码),而至此数据库中并没有相关的用户信息,于是尝试在数据库中新建用户:

CREATE USER 'redmineuser' IDENTIFIED BY 'redminepw'; (这里的用户名、密码得跟database.yml中配置的相同,这样ruby环境就能连接MySQL数据库) 

退出数据库继续安装流程,再次执行命令bundle exec rake db:migrate RAILS_ENV="production" 还是提示失败,查看错误发现是由于权限不够,查资料想起原来需要给用户redmineuser分配数据库redmine的权限,不然ruby环境使用用户redmineuser没有权限访问数据库redmine。

进入数据库中执行授权命令 GRANT ALL PRIVILEGES ON redmine.* TO 'redmineuser'@'localhost' IDENTIFIED BY 'redminepw';  (注意有分号)

执行刷新权限命令 FLUSH PRIVILEGES;

退出数据库,执行命令bundle exec rake db:migrate RAILS_ENV="production" 成功。

继续安装流程,进入安装主目录redmine-3.4.2/,执行命令sudo chown -R redmine:redmine files log tmp public/plugin_assets 和sudo chmod -R 755 files log tmp public/plugin_assets 即可。

至此安装基本完成,主目录中执行命令 ruby bin/rails server -e production 启动系统。

访问http://localhost:3000/网址可测试,服务器可sudo apt install w3m安装w3m(w3m是个开放源代码的文字式网页浏览器,可以在命令行中简单浏览网页),执行 w3m http://localhost:3000/即可测试。

在虚拟机中测试成功,可以访问http://localhost:3000/,但在本机浏览器中访问http://localhost:3000/失败。

网上参考发现是因为装好的redmine系统并没有向外开放访问3000端口,只有系统所在本机可访问,网友给出的解决方法是在系统所在机器运行反向代理,使得可进行外部访问,具体方法如下:

网上查找方法发现使用Apache可以进行反向代理,正好之前装系统时安装了AMP(Apache+mysql+PHP)。

Apache软件目录在/etc/apache2/,进入软件目录,进入sites-available/ ,执行命令cp 000-default.conf 000-default.conf.backup备份配置文件。

执行命令vi 000-default.conf进行反向代理配置,修改其中内容为:

<VirtualHost *:80>
ServerName www.redmine.com
ServerAlias redmine.com
ProxyPreserveHost On
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://127.0.0.1:3000/ ProxyPassReverse / http://127.0.0.1:3000/ </VirtualHost>

配置完毕后重启Apache服务 service apache2 resload

实现的功能就是使得外部访问redmine系统机器的外部ip时,Apache进行代理访问http://127.0.0.1:3000/。

在本机进行外部访问测试,浏览器访问redmine所在虚拟机ip,成功访问redmine系统如下。

 


至此ubuntu server 16.04下搭建redmine系统的工作基本完成。

如有不足之处,请批评指正。

安装参考:
http://www.linuxidc.com/Linux/2012-08/67320.htm http://blog.csdn.net/zhaoxy_thu/article/details/44310677
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ubuntu redmine mysql 网络
相关文章推荐