设为首页 收藏本站
查看: 509|回复: 0

[经验分享] (原创)ubuntu x86_64下搭建redmine+svn+mysql+nginx+apache2

[复制链接]

尚未签到

发表于 2018-5-6 13:27:00 | 显示全部楼层 |阅读模式
  原创作品欢迎转载,转载请表明出处!准备一台64位的操作系统,初始化的安装Linux/ubuntu版本的Linux。

1、安装ruby
#apt-get install ruby
#apt-getinstallruby1.8-dev

2、安装apache2
#apt-get install apache2

3、安装mysql

#apt-get install mysql-server
#apt-get install mysql-client

4、安装php
#apt-get install php5
#apt-get install  php5-mysql
#apt-get install php5-fpm

5、安装rubygems-1.4.2
# tar zxvf rubygems-1.4.2.tgz
# cd rubygems-1.4.2/
# ruby setup.rb
# ln -s /usr/bin/gem1.8 /usr/bin/gem

6、redmine环境的初始化
#vim /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8..4.4
#gem install rails -v=2.3.5
#gem install mysql
#gem install i18n -v=0.4.2
#gem install rack -v=1.0.1
#gem install rake -v=0.9.2.2
#apt-getinstall libopenssl-ruby1.8
#apt-getinstall libmysqlclient-dev
#gem install passenger -v=3.0.7

7、建立数据库
#mysql -uroot -p
:password
>>create database redmine character setutf8;
>>grant all privileges on redmine.*to @'llocalhost'identifiedby 'redmine';


8、下载整理redmine
#tar zxvf  redmine-1.1.2.tar.gz
#mv redmine-1.1.2   /opt/redmine
#cd /opt/redmine/config
# cp database.yml.example database.yml
#vim database.yml
production:
  adapter: mysql
  database: redmine
  host: localhost
  username: redminename
  password: redminepassword
  encoding: utf8
#cd ../
#vim start.sh

#!/bin/bash
rake generate_session_store
RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data
nohup ruby script/server webrick -e production  &
#chmod a+x start.sh
#./start.sh
#chmod-R755 files log tmp public/plugin_assets

这样就能通过http://ip:3000访问一个初始话成功的redmine了
缺省的用户和密码均为admin

9、STMP的设置
#cd /opt/redmine/config
#cp configuration.yml.example  configuration.yml
#vim configuration.yml
production:
   email_delivery:
     delivery_method: :smtp
     smtp_settings:
       address: smtp.gmail.com
       port: 587
       authentication: :login
       domain: smtp.gmail.com
       user_name: mike@gmail.com
       password: testredmine
       tls: true


10、redmine与nginx的整合
#passenger-install-nginx-module(选择安装nginx,同时选择默认的路径/opt/nginx即可)
#cd /opt/nginx/conf
#vim nginx.conf
user  www-data;
worker_processes  1;
error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;
events {
    worker_connections  1024;
}
http {
    passenger_root /var/lib/gems/1.8/gems/passenger-3.0.15;
    passenger_ruby /usr/bin/ruby1.8;
    include       mime.types;
    default_type  application/octet-stream;
    access_log  /var/log/nginx/access.log;
    sendfile        on;
    keepalive_timeout  65;
    gzip  on;
    upstream  php-fpm  {
        server  unix:/tmp/php-fpm.sock;
    }
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
    }
#vim /etc/nginx/redmie.conf
server {
listen  192.168.3.26:80;
server_name  redmine.ethnicity.com;
    root /opt/redmine/public;
    passenger_enabled  on;
    client_max_body_size 100M;
    client_body_buffer_size 256k;
access_log  /var/log/nginx/redmine.ethnicity.com-access.log;
}

#vim /etc/init.d/nginx
#! /bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/opt/nginx/sbin/nginx
NAME=nginx
DESC=nginx
  
test -x $DAEMON || exit 0
  
# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
     . /etc/default/nginx
fi

set -e

. /lib/lsb/init-functions

test_nginx_config() {
   if $DAEMON -t $DAEMON_OPTS >/dev/null 2>&1
   then
     return 0
   else
     $DAEMON -t $DAEMON_OPTS
     return $?
   fi
}

case "$1" in
   start)
     echo -n "Starting $DESC: "
         test_nginx_config
     start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
         --exec $DAEMON -- $DAEMON_OPTS || true
     echo "$NAME."
     ;;
   stop)
     echo -n "Stopping $DESC: "
     start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
         --exec $DAEMON || true
     echo "$NAME."
     ;;
   restart|force-reload)
     echo -n "Restarting $DESC: "
     start-stop-daemon --stop --quiet --pidfile \
         /var/run/$NAME.pid --exec $DAEMON || true
     sleep 1
         test_nginx_config
     start-stop-daemon --start --quiet --pidfile \
         /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true
     echo "$NAME."
    ;;
   reload)
         echo -n "Reloading $DESC configuration: "
         test_nginx_config
         start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/$NAME.pid \
             --exec $DAEMON || true
         echo "$NAME."
         ;;
   configtest)
         echo -n "Testing $DESC configuration: "
         if test_nginx_config
         then
           echo "$NAME."
         else
           exit $?
         fi
         ;;
   status)
     status_of_proc -p /var/run/$NAME.pid "$DAEMON" nginx && exit 0 || exit $?
     ;;
   *)
     echo "Usage: $NAME {start|stop|restart|reload|force-reload|status|configtest}" >&2
     exit 1
     ;;
esac

exit 0

11、svn的安装设置
# ll /home/svn/repos/
drwxrwsr-x 7 www-data www-data 4096 2012-08-16 14:51 ./
drwxr-xr-x 7 root     root     4096 2012-08-16 14:51 ../
drwxrwsr-x 2 www-data www-data 4096 2012-08-16 14:51 conf/
drwxrwsr-x 3 www-data www-data 4096 2012-08-16 14:51 dav/
drwxrwsr-x 7 www-data www-data 4096 2012-08-16 14:40 db/
-r--r--r-- 1 www-data www-data    2 2012-08-16 14:51 format
drwxrwsr-x 2 www-data www-data 4096 2012-08-16 14:33 hooks/
drwxrwsr-x 2 www-data www-data 4096 2012-08-16 14:33 locks/
-rw-r--r-- 1 www-data www-data  229 2012-08-16 14:51 README.txt

# cat /home/svn/www/index.html
<!DOCTYPE HTML>
<html>
<head>
    <title>Subversion Repositories</title>
    <meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;>
</head>
<body>
    <ul>
        <li><a href=&quot;>
    </ul>
</body>
</html>

12、svn与redmine与mysql与apache2的整合
#passenger-install-apache2-module
#vim /etc/apache2/apache2.conf
ServerName localhost
LockFile ${APACHE_LOCK_DIR}/accept.lock
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>
<IfModule mpm_worker_module>
    StartServers          2
    MinSpareThreads      25
    MaxSpareThreads      75
    ThreadLimit          64
    ThreadsPerChild      25
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>
<IfModule mpm_event_module>
    StartServers          2
    MinSpareThreads      25
    MaxSpareThreads      75
    ThreadLimit          64
    ThreadsPerChild      25
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
AccessFileName .htaccess
<Files ~ &quot;^\.ht&quot;>
    Order allow,deny
    Deny from all
    Satisfy all
</Files>
DefaultType text/plain
HostnameLookups Off
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
Include mods-enabled/*.load
Include mods-enabled/*.conf
Include httpd.conf
Include ports.conf
LogFormat &quot;%v:%p %h %l %u %t \&quot;%r\&quot; %>s %O \&quot;%{Referer}i\&quot; \&quot;%{User-Agent}i\&quot;&quot; vhost_combined
LogFormat &quot;%h %l %u %t \&quot;%r\&quot; %>s %O \&quot;%{Referer}i\&quot; \&quot;%{User-Agent}i\&quot;&quot; combined
LogFormat &quot;%h %l %u %t \&quot;%r\&quot; %>s %O&quot; common
LogFormat &quot;%{Referer}i -> %U&quot; referer
LogFormat &quot;%{User-agent}i&quot; agent
Include conf.d/
Include sites-enabled/
#vim /etc/apache2/port.conf
NameVirtualHost *:8080
Listen 8080
<IfModule mod_ssl.c>
    Listen 443
</IfModule>
<IfModule mod_gnutls.c>
    Listen 443
</IfModule>
# vim /etc/apache2/sites-available/svn
<VirtualHost *:8080>
        ServerAdmin
    ServerName svn.ethnicity.com
        DocumentRoot /home/svn/www
        <Directory /home/svn/www>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
    <Location /repos>
        Dav svn
        SVNPath /home/svn/repos
        AuthType Basic
        AuthName &quot;Please use your Redmine account&quot;
        AuthBasicAuthoritative Off
        AuthUserFile /dev/null
        AuthMYSQL On
        AuthMySQL_Host localhost
        AuthMySQL_DB redmine
        AuthMySQL_User redmine
        AuthMySQL_Password redmineloginpassword
        AuthMySQL_Password_Table redmineuser
        AuthMySQL_Group_Table redminetable
        AuthMySQL_Username_Field username
        AuthMySQL_Password_Field passwd
        AuthMySQL_Encryption_Types SHA1Sum
        Require  valid-user
    </Location>
        ErrorLog /var/log/apache2/svn.ethnicity.com-error.log
        LogLevel warn
        CustomLog /var/log/apache2/svn.ethnicity.com-access.log combined
</VirtualHost>
#a2ensite svn
13、svn集成redmine的mysql表的认证
#aptitude install libapache2-mod-auth-mysql
#a2enmod dav_fs
#a2enmod dav
#a2enmod auth_mysql
#/etc/init.d/apache2 restart

14、svn和nginx的整合
#vim /etc/nginx/sites-enabled/svn.conf
server {
listen  192.168.3.26:80;
server_name  svn.ethnicity.com ;
    client_max_body_size 50M;
access_log  /var/log/nginx/svn.ethnicity.com-access.log;
location / {
        proxy_pass        http://svn.ethnicity.com:8080;
        proxy_set_header  X-Real-IP  $remote_addr;
}
}

15、测试
#cd /opt/redmine
#./start.sh
#/etc/init.d/nginx restart
#/etc/init.d apahe2 restart

最后即可实现,通过redmine页面往mysql里写入数据,而这些数据中的用户数据可以用于svn用户的验证。

配置成功的背后需要大量的错误和摸索来支撑,希望以后有时间推出下篇&quot;redmine+svn整合中的错误以及解决办法的集锦&quot;谢谢大家!


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-456603-1-1.html 上篇帖子: Ubuntu12.04安装和管理VirtualBox 下篇帖子: Ubuntu 12.04 ping 响应慢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表