- 论坛徽章:
- 0
|
obs(opensuse build system)是meego源码编译的重要工具,也可以说是必备工具,有了它我们可以方便的对源码中各个包进行编译,进而做出meego镜像,所以搭建一个自己的obs系统是meego开发的中国要部分。 首先我们建立一个opensuse11.2的虚拟机,然后将我们将要用到的工具源添加到openSUSE的repo中。
- cd /etc/zypp/repos.d/;
-
wget http://download.opensuse.org/repositories/openSUSE:/Tools/openSUSE_11.2/openSUSE:Tools.repo
-
zypper ref
安装obs-server和相关的包
- zypper in obs-server obs-signd obs-utils createrepo nfs-client obs-api memcached lighttpd
设置数据库
默认开机开启:
- chkconfig --add mysql
-
rcmysql start
使用系统提供的工具安装数据库:
- /usr/bin/mysql_secure_installation
在这里可以输入自己数据库密码,默认是空的 创建数据库:
- mysql -u root -p
-
mysql> create database api_production;
-
mysql> create database webui_production;
将obs的用户信息加到数据库中:
- GRANT all privileges
-
ON api_production.*
-
TO 'obs'@'%', 'obs'@'localhost' IDENTIFIED BY 'obspasswd';
-
GRANT all privileges
-
ON webui_production.*
-
TO 'obs'@'%', 'obs'@'localhost' IDENTIFIED BY 'obspasswd';
-
FLUSH PRIVILEGES;
在这里设置obs的密码:obspasswd
为了使用数据库,需要配置OBS:
- vi /srv/www/obs/api/config/database.yml
-
#change the production section
-
production:
-
adapter: mysql
-
database: api_production
-
username: obs
-
password: obspasswd
- vi /srv/www/obs/webui/config/database.yml
-
#change the production section
-
production:
-
adapter: mysql
-
database: webui_production
-
username: obs
-
password: obspasswd
填充数据库:
- cd /srv/www/obs/api/
-
RAILS_ENV="production" rake db:setup
-
-
cd /srv/www/obs/webui/
-
RAILS_ENV="production" rake db:setup
- 设置lighttpd
- 网页形式显现出来
- # vi /etc/lighttpd/lighttpd.conf
-
include_shell "cat /etc/lighttpd/vhosts.d/*.conf"
- vi /etc/lighttpd/vhosts.d/obs.conf
$SERVER["socket"] == ":80" { rails_app = "webui" rails_root = "/srv/www/obs/webui" rails_procs = 3 # production/development are typical values here rails_mode = "production" log_root = "/srv/www/obs/webui/log" include "vhosts.d/rails.inc" } $SERVER["socket"] == ":81" { rails_app = "api" rails_root = "/srv/www/obs/api" rails_procs = 3 # production/development are typical values here rails_mode = "production" log_root = "/srv/www/obs/api/log"
include "vhosts.d/rails.inc" } $SERVER["socket"] == ":82" { server.name = "127.0.0.1" # 这里设置的是虚拟机的IP地址,一般虚拟机就是localhost 即127.0.0.1 server.document-root = "/srv/obs/repos/" dir-listing.activate = "enable" } - # vi /etc/lighttpd/modules.conf
server.modules = ( "mod_access", # "mod_alias", # "mod_auth", # "mod_evasive", # "mod_redirect", "mod_rewrite", # "mod_setenv", # "mod_usertrack", )
## ## mod_magnet ## include "conf.d/magnet.conf"
## ## FastCGI (mod_fastcgi) ## include "conf.d/fastcgi.conf"
服务器地址确认,将相关文件的服务器地址修改为虚拟机所在地址:
- # vi /srv/www/obs/webui/config/environments/production.rb
-
FRONTEND_HOST = "127.0.0.1"
-
FRONTEND_PORT = 81
-
FRONTEND_PROTOCOL = 'http'
-
BUGZILLA_HOST = nil
-
DOWNLOAD_URL = "http://127.0.0.1:82"
-
ICHAIN_MODE = "off"
-
BASE_NAMESPACE = nil
- # vi /srv/www/obs/api/config/environments/production.rb
SOURCE_HOST = "127.0.0.1"
设置服务器开机启动选项
- chkconfig --add memcached lighttpd obsapidelayed obswebuidelayed
- chkconfig --add obsrepserver obssrcserver obsscheduler obsdispatcher obspublisher obswarden obssigner
修改网页使用权限
- chown -R lighttpd.lighttpd /srv/www/obs/{api,webui}
配置obs服务器
- # vi /usr/lib/obs/server/BSConfig.pm
- my $hostname = '127.0.0.1';
- our $repodownload = "http://$hostname:82/";
启动obs服务器
- # rcmemcached start
-
# rclighttpd start
-
# rcobsapidelayed start
-
# rcobswebuidelayed start
这里就可以在网页上打开我们的obs了(http://127.0.0.1), 80端口是主界面,81端口是接口,82端口是仓库(现在还没任何数据产生)
|
|