ubuntu + subversion + apache2 设置

本文详细介绍了如何在Ubuntu系统中安装配置Subversion (SVN) 和 MySQL。包括SVN服务端的搭建,Apache2与SVN的集成,以及MySQL数据库的快速安装过程。此外还提供了设置权限和测试SVN服务的方法。

1.下载安装subversion,apache2

sudo apt-get update
sudo apt-get upgrade

sudo  apt-get install apache2
sudo apt-get install subversion
sudo a2enmod ssl
sudo a2ensite default-ssl

sudo apt-get install subversion libapache2-svn
sudo a2enmod dav_svn

 

/etc/apache2/mods-enabled下面有dav.load,dav_svn.load和dav_svn.conf三个文件


2. 设置apache2

sudo gedit /etc/apache2/mods-enabled/dav_svn.conf
编辑该文件使之如下:

<Location /svn>   (apache下的位置)
      DAV svn 
      SVNPath /home/svn/myproject   (指明资源库的路径)
      或
      SVNParentPath /home/svn   (如果有多个库,使用该选项)
      SVNListParentPath on     (打开这个选项可以列出ParentPath下面的所有库)

      AuthType Basic   (认证类型为基本认证 )
      AuthName "Subversion Repository"    (认证名称,将在IE界面弹出一个对话框,其标题)
      AuthUserFile /etc/apache2/dav_svn.passwd    (认证密码文件)
      # AuthzSVNAcessFile /etc/apache2/dav_svn.authz     (目录权限文件)

      Require valid-user    (要求验证用户,即不能匿名访问)
    </Location>

如果需要用户每次登录时都进行用户密码验证,就将<LimitExcept GET PROPFIND OPTIONS REPORT>与</LimitExcept>两行注释掉 

更改 /home/svn 到任何你要保存仓库的地址。如果没有的话就新建。

sudo mkdir /home/svn 
3.开启svn服务
sudo svnadmin  create /home/svn
 

4.是APache成为该仓库的所有者。 
sudo chown -R www-data /home/svn

5. 
建立密码文件     
sudo htpasswd -cm /etc/apache2/dav_svn.passwd abc (创建用户abc并按照提示设置密码,网页认证的时候使用该用户名和密码登录。后面再添加用户的时候去掉-c选项。)

abc是你想使用的用户名,然后输入两次密码。

6.重启Apache

sudo /etc/init.d/apache2 restart

 

7.测试

打开浏览器,

http://you.server/svn

 

导入版本库
把/var/www/下的内容导入版本号中:
sudo svn  import -m "第一次导入"  /var/www http://192.168.0.5/svn/project
========================================
系统提示:
认证领域: <http://192.168.0.5:80> myproject subversion repository
“root”的密码: 
认证领域: <http://192.168.0.5:80> myproject subversion repository
用户名: test
“test”的密码: 
增加           /var/www/index.html
-----------------------------------------------------------------------
注意!  你的密码,对于认证域:
   <http://192.168.0.5:80> myproject subversion repository

 

 

<Location /svn>

# Uncomment this to enable the repository
DAV svn

# Set this to the path to your repository
#SVNPath /home/svn
# Alternatively, use SVNParentPath if you have multiple repositories under
# under a single directory (/var/lib/svn/repo1, /var/lib/svn/repo2, ...).
# You need either SVNPath and SVNParentPath, but not both.
SVNParentPath /home/svn
SVNListParentPath on

# Access control is done at 3 levels: (1) Apache authentication, via
# any of several methods. A "Basic Auth" section is commented out
# below. (2) Apache <Limit> and <LimitExcept>, also commented out
# below. (3) mod_authz_svn is a svn-specific authorization module
# which offers fine-grained read/write access control for paths
# within a repository. (The first two layers are coarse-grained; you
# can only enable/disable access to an entire repository.) Note that
# mod_authz_svn is noticeably slower than the other two layers, so if
# you don't need the fine-grained control, don't configure it.

# Basic Authentication is repository-wide. It is not secure unless
# you are using https. See the 'htpasswd' command to create and
# manage the password file - and the documentation for the
# 'auth_basic' and 'authn_file' modules, which you will need for this
# (enable them with 'a2enmod').
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd

# To enable authorization via mod_authz_svn (enable that module separately):
#<IfModule mod_authz_svn.c>
#AuthzSVNAccessFile /etc/apache2/dav_svn.authz
#</IfModule>

# The following three lines allow anonymous read, but make
# committers authenticate themselves. It requires the 'authz_user'
# module (enable it with 'a2enmod').
#<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
#</LimitExcept>

</Location>

 

 

ubuntu上安装mysql非常简单只需要几条命令就可以完成。

  1. sudo apt-get install mysql-server
 
  2. apt-get isntall mysql-client
 
  3.  sudo apt-get install libmysqlclient-dev
 
  安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功:
 
  sudo netstat -tap | grep mysql
 
  通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。
 
  登陆mysql数据库可以通过如下命令:
 
  mysql -u root -p 
 
  -u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql
 

GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'admin' WITH GRANT OPTION;
FLUSH PRIVILEGES;

 

 

转载于:https://www.cnblogs.com/hujihon/p/5677109.html

<think>好的,我需要帮助用户在Ubuntu系统上部署Redmine并配置Apache2作为Web服务器。首先,我需要回顾用户提供的引用资料,看看有哪些相关的步骤和建议。 根据引用[2],安装必要的软件包括subversionapache2、mysql-server、libapache2-mod-passenger、redmine和redmine-mysql。这应该是基础步骤。引用[1]提到安装Apache和mod-passenger,还有MySQL,所以需要确保这些包都正确安装。引用[5]也提到Redmine是建立在Ruby on Rails上的,可能需要相关的依赖。 接下来,用户需要配置数据库。引用[4]提到导入数据库的方法,可能需要创建数据库用户和数据库,并设置权限。这里可能需要指导用户如何通过MySQL命令行操作。 然后是配置Apache。引用[3]提到使用Passenger安装Nginx,但用户这里需要的是Apache,所以应该参考引用[1]和[2]中关于mod-passenger的配置。可能需要配置虚拟主机,将Apache指向Redmine的public目录,并启用Passenger模块。 此外,引用[5]还提到Redmine的备份和数据迁移,可能后续需要指导用户如何进行备份,但当前问题主要是部署和配置。 现在需要整理步骤:更新系统,安装必要软件,配置MySQL数据库,安装Redmine并配置,调整Apache设置,最后重启服务。需要注意各个步骤中的命令是否正确,比如安装软件包时是否包含所有依赖,配置数据库时的权限设置,以及Apache虚拟主机的正确路径。 还需要考虑可能出现的错误,比如Passenger模块是否启用,目录权限是否正确,SELinux或AppArmor是否阻止访问。可能需要指导用户检查日志文件,如Apache的error.log,来排查问题。 最后,生成相关问题,帮助用户进一步优化或解决常见问题,比如性能调优、备份恢复、HTTPS配置等。</think>以下是在Ubuntu系统上部署Redmine并配置Apache2作为Web服务器的分步指南: --- ### **一、系统更新与依赖安装** 1. 更新软件包列表: ```bash sudo apt update && sudo apt upgrade -y ``` 2. 安装必要依赖包(包含Apache、MySQL、Passenger模块): ```bash sudo apt install -y apache2 libapache2-mod-passenger mysql-server redmine redmine-mysql ``` --- ### **二、数据库配置** 1. 登录MySQL并创建Redmine数据库: ```bash sudo mysql -u root ``` ```sql CREATE DATABASE redmine CHARACTER SET utf8mb4; CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost'; FLUSH PRIVILEGES; EXIT; ``` --- ### **三、Redmine配置** 1. 修改数据库配置文件: ```bash sudo nano /etc/redmine/default/database.yml ``` 填入以下内容(根据实际密码修改): ```yaml production: adapter: mysql2 database: redmine host: localhost username: redmine password: your_password encoding: utf8 ``` 2. 初始化数据库: ```bash sudo redmine rake db:migrate RAILS_ENV=production sudo redmine rake redmine:load_default_data RAILS_ENV=production ``` --- ### **四、Apache2集成** 1. 创建符号链接将Redmine部署到Apache目录: ```bash sudo ln -s /usr/share/redmine/public /var/www/html/redmine ``` 2. 配置Apache虚拟主机: ```bash sudo nano /etc/apache2/sites-available/redmine.conf ``` 添加以下内容: ```apache <VirtualHost *:80> ServerName your_domain.com DocumentRoot /var/www/html/redmine PassengerEnabled on PassengerAppRoot /usr/share/redmine <Directory /var/www/html/redmine> AllowOverride All Options -MultiViews Require all granted </Directory> </VirtualHost> ``` 3. 启用配置并重启服务: ```bash sudo a2ensite redmine.conf sudo a2enmod passenger sudo systemctl restart apache2 ``` --- ### **五、验证安装** 访问 `http://your_server_ip` 或 `http://your_domain.com`,应看到Redmine登录界面。默认管理员账号:`admin`/`admin`[^5]。 --- ### **常见问题排查** - **权限错误**:检查`/var/www/html/redmine`目录权限: ```bash sudo chown -R www-data:www-data /usr/share/redmine ``` - **Passenger未加载**:确认模块已启用: ```bash sudo apache2ctl -M | grep passenger ``` - **数据库连接失败**:检查`database.yml`文件格式与密码是否正确[^4]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值